| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
- 리액트 네이티브
- 세션
- 안드로이드
- TDD
- 개발방법론
- Flutter
- useEffect
- Synonym
- apply
- 타임리프
- 코틀린
- 플러터
- closure
- Git
- 인텐트
- 스프링
- Android
- kotlin
- IntelliJ
- React-Native
- Thymeleaf
- 앱개발
- 테스트주도개발
- Spring
- 시노님
- Intent
- ios
- Session
- 스크래치
- 깃 플로우 전략
- Today
- Total
목록전체 글 (15)
okerry.md
스크래치 파일은 프로젝트 파일을 생성하지 않고, 편집기에서 코드 실험이나 간단한 프로토타입을 작성할 수 있도록 제공되는 임시 파일이다. 프로젝트 구조에 영향을 주지 않고빠르게 테스트하거나 메모용으로 사용하기 좋다. 생성 방법 (단축키)WindowsCtrl + Alt + Shift + InsertMacCmd + Option + Shift + Insert단축키를 누른 후, 사용할 언어를 선택하면 스크래치 파일이 생성된다.
1. ${} 안에서 값에 접근하는 여러 방법Thymeleaf에서 모델 데이터를 출력할 때 보통 이렇게 쓴다. 아래와 같은 표현도 함께 등장한다.${user.name}${user['name']}${user?.name}모두 객체 접근 방식이지만, 각각 사용 목적이 다르다. ${user.name} – 기본 프로퍼티 접근java getter 방식 (getName()) ${user['name']} – Map 접근user가 Map 일 때 사용 ${user?.name} – null-safe 접근 (Spring EL)user가 null이어도 에러 없이 처리 2. 모델 데이터 참조 – ${}홍길동 3. 값 출력 – th:text, th:valueHTML 요소의 텍스트나 속성 값을 동적으로 설정한다.이름th:text →..
1. TDD 개념TDD는 테스트를 먼저 작성하고, 테스트를 통과시키는 방향으로 코드를 구현하는 개발 방식이다. 일반적인 개발 흐름은 다음과 같다.기능 구현서버 실행디버그로 흐름 확인테스트 작성(선택)TDD는 이 순서를 뒤집는다.실패하는 테스트부터 작성테스트를 통과할 만큼만 코드 작성필요 시 리팩토링이 과정을 Red → Green → Refactor 이라고 부른다.Red: 테스트 실패Green: 테스트 통과Refactor: 구조 개선 (기능 변경 없음)TDD의 핵심은 완성된 코드를 한 번에 만드는 것이 아니라 동작을 하나씩 확정해 나가는 방식이라는 점이다. 2. TDD 없이 로직을 작성할 때 발생하는 문제보통 로직은 구현부터 시작한다.public int calculateDeliveryFee(int orde..
Flutter 개발 환경을 세팅한 후 아래 명령어를 실행하면현재 개발 환경 상태를 한 번에 확인할 수 있다.flutter doctor하지만 처음 Flutter를 설치한 상태에서는대부분 몇 가지 에러 메시지가 함께 출력된다.이번 글에서는 flutter doctor 실행 시 실제로 발생한 에러를 기준으로원인과 해결 방법을 정리한다. 1. Android toolchain 오류1-1 cmdline-tools component is missing[!] Android toolchain - develop for Android devices✗ cmdline-tools component is missing.이 에러는 Android SDK의 Command Line Tools가 설치되지 않았다는 의미이다.Flutter는 A..
자바스크립트를 공부했을 때 당시 가장 이해하기 어려웠던 개념이 클로저였라는 개념이었다.단어 자체가 멋있어서 자주 검색해 봤던 것 같은데... 당시 이해했던 클로저의 개념을 기록하고자 한다. 잘못된 정보라면 비공개 처리 예정이다. 1. 렉시컬 환경(Lexical Environment)자바스크립트는 렉시컬 환경을 가진다고 한다.코드가 실행되면 스크립트 내에 선언된 변수들은 렉시컬 환경에 올라가게 된다. 위 내용을 예시로 설명하자면 아래와 같다.let x = 10;function test(y){ alert(x + y);}test(5); // 15;위 코드가 실행되면 렉시컬 환경이 생성되고 x = 10과 text 함수가 렉시컬 환경에 올라간다. 이후에 코드가 한 줄 한 줄 실행되면서 test(5); 를 ..
1. useEffect useEffect는 컴포넌트가 렌더링될 때마다 특정 작업을 수행할 수 있도록 해준다.쉽게 말해 컴포넌트가 보여졌을 때(마운트), 사라졌을 때(언마운트), 업데이트 될 때(props가 바뀔 때)를 캐치해 각 상황별로 작업을 처리할 수 있게 한다. 기본적으로 아래와 같은 형태를 가지고 있다.useEffect(() => { // 마운트 return () => { // 언마운트 };}, []);위 코드에서 "마운트" 부분은 컴포넌트가 렌더링 될 때 호출 된다.그리고 "언마운트" 부분은 컴포넌트가 화면에서 사라질 때 호출된다. 추가로 두번째 파라미터에 의존성 배열을 두어 해당 배열에 포함된 값들이 변경될 때마다 useEffect가 실행되도록 할 수 있다.useEffect(() ..
1. useState useState는 React와 React Native 개발에서 상태 관리를 위해 사용되는 기본적인 Hooks 중 하나다.함수형 컴포넌트에서 상태를 가질 수 있게 해주며, 이를 통해 컴포넌트를 동적으로 관리할 수 있다. useState는 두 가지 요소를 배열 형태로 반환한다. 기본 형태는 아래와 같고 여기서 initialState는 상태의 초기값, state는 현재 상태의 값, setState는 상태를 업데이트하는 함수다. useState를 사용함으로써 컴포넌트의 상태를 함수 내부에서 관리할 수 있게 되고 이 상태가 변경될 때마다 컴포넌트가 리렌더링된다. import React, { useState } from 'react';const [state, setState] = useSta..
1. Node.js 설치 https://nodejs.org/en Node.jsNode.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.nodejs.org위 페이지에서 LTS버전을 선택해 설치하면 된다. LTS 버전은 Long Term Support라고 해서 소프트웨어의 장기 지원 버전을 의미한다.안정성과 보안에 중점을 두고 오랜 기간 동안 업데이트와 보안 패치를 제공해 보다 안정적인 환경서 작업할 수 있다. 현재 시점에서 최신 버전은 20.11.1로 보이는데 다른 버전이 필요하다면 아래 링크로 이동해 보면 된다.https://nodejs.org/download/release/ Index of /download/release/ no..
처음 Git을 사용할 때는 대부분 단순히 소스 코드를 보관하는 용도로만 활용했었다.하지만 업무를 진행하면서, Git Branch라는 개념을 알게 되었고 코드의 버전 관리뿐만 아니라 여러 사람과의 협업 과정에서 Git Branch 전략이 중요하다는 것을 깨닫게 되었다. 1. Git Branch 전략Git Branch 전략은 프로젝트의 소스 코드를 효과적으로 관리하기 위해 브랜치를 어떻게 생성, 사용, 병합할지에 대한 규칙을 정하는 것이다.내가 이해하기 위해 생각했던 예시를 적어보자면 대규모 건설 프로젝트를 생각하면 쉬웠다.각 분야별로 전문가(용접, 전기 등)들이 동시에 다양한 부분은 작업하면서도, 전체적으로는 구조가 통합되고 조화를 이루게 된다.Git Branch 전략은 위와 같은 과정을 코드에서 가능하게..
1. apply apply 함수는 코틀린의 확장 함수 중 하나로, 객체의 속성을 초기화하거나 설정하는 데 사용된다.이 함수는 수신 객체 람다 패턴을 사용하여, 호출된 객체(수신 객체)를 람다 식 내부에서 this로 참조한다.이를 통해서 객체 내부의 속성이나 함수를 블록 내에서 직접 접근하고 수정할 수 있게 해 준다.가장 큰 특징은 apply가 처리를 마친 후에 객체 자신을 반환해 체이닝을 지원한다, 이를 통해서 연속적인 메소드 호출이 가능해진다. 2. apply 사용 이유 apply 함수를 사용하는 주된 이유는 코드의 간결성과 가독성을 향상시키기 위함이다.객체를 생성하고 바로 이어서 여러 속성을 설정해야 할 때, 각 속성을 개별적으로 설정하는 대신 apply 블록 내에서 모든 설정을 연속적으로 수행할 ..