Fast-Forward Fast-Forward는 직역하자면 빨리감기이다. Fast-Forward 병합은 혼자 개발할 때 사용한다. 혼자 개발할 때 commit은 순차적으로 생성된다. commit이 순차적으로 발생한 경우 사용하는 병합 방식이 Fast-Forward이다. 혼자 작업 할 때 새로운 기능을 추가하기위해서 새로운 브랜치를 생성한다고 하자. commit들은 그림에서 볼수 있듯 순차적으로 생성된다. 해당 commit들은 Fast-Forward 방식으로 병합한다면 아래의 그림과 같이 병합될 것이다. 여기서 가장 큰 특징은 분기가 시작된 브랜치, 즉 main 브랜치에 아무런 변경도 없어야 한다. main commit 이후로는 어떤 commit도 없기 때문에 fast-forward 병합이 가능했다. 3-..
clean untracked 파일들을 clean 명령어를 통해서 제거할 수 있다. new라는 이름의 텍스트 파일을 생성했다. 해당 파일은 Untracked files, 즉 추적되지 않는 파일이다. 단순히 git clean 입력시 실행되지 않고 추가적인 옵션을 덧붙여야 한다. git clean -help를 실행하면 git clean 관련한 추가적인 옵션들이 출력된다. git clean -n을 입력하면 어떤 파일들이 제거될지 알 수 있다. n 옵션과 함께 d 옵션을 주면 어떤 디렉토리도 제거될지 알려준다. gitignore에 new2.txt 파일을 추가해 주었다. x, X 옵션이 없을 때 gitignore에 있는 파일은 제거 대상이 아니다. x (소문자 x) 옵션이 추가된다면 gitignore에 있는 파일 ..
Java와 Kotlin의 클래스 public class Person { private final String name; public Person(String name) { this.name = name; } public String getName() { return name; } } 위는 Java 문법으로 작성된 Person 클래스이다. 필드로 문자열 name을 가지고 생성자와 getter를 가진다. 이 클래스를 Kotlin으로 변환을 해보자. class Person(val name: String) 코틀린 코드로 변환된 Person 클래스이다. 코틀린은 기본적으로 public 가시성을 가진다. 따라서 public은 생략가능하다. IntelliJ에서 Java → Kotlin 변환 코틀린 코드로 변환하고 싶..
스태시 스태시는 완료되지 않은 작업들을 임시로 저장할 수 있게 도와주는 기능이다. 스태시를 통해서 워킹 디렉토리의 작업을 스택 영역에 임시로 보관할 수 있다. 스태시를 사용하면 마지막 커밋 이후로 작업한 내용은 임시 저장되고 마지막 커밋 상태로 돌아간다. 변경사항이 남아 있을 때 git checkout으로 브랜치를 변경할 수 없다. 변경 작업을 도중 완료되지 않은 상태에서 브랜치를 변경해야 할 때 스태시 기능을 사용하면 된다. 실습 stash - 변경 내용 저장 새로운 브랜치에서 stash.txt라는 파일을 변경한 뒤 변경내용을 저장하지 않고 main 브랜치로 변경할 때 main 브랜치로 변경되지 않고 error가 출력된다. "Please commit your changes or stash them be..
이 글은 단순히 생각 정리를 위한 글이지 정답을 위한 글이 아닙니다! 최근 Spring api를 개발하고 코드 리뷰를 받았다. DTO 변환 관련하여 코드 리뷰에서 피드백을 받았고 이에 대해서 기록하는 글이다. @Entity @Table(name = "post") public class Post { public PostDto toPostDto() { return new PostDto(id, title, content, createAt, user.getId()); } } 위의 코드들은 피드백을 받았던 문제의 그 코드(일부만 가져 왔다!)이다! Entity는 데이터베이스의 테이블과 매핑되는 클래스이고, DTO는 계층간의 데이터 전달을 위해 사용하는 객체이다. Entity의 값을 통해서 DTO 객체를 생성할 때..
이 글은 이펙티브 자바를 읽고 정리한 글입니다. 클래스의 인스턴스를 생성하는 방법 public 생성자 정적 팩터리 메서드 (static factory method) 클래스는 public 생성자 외에도 정적 팩터리 메서드를 제공하여 객체를 생성할 수 있게 해준다. 정적 팩터리 메서드의 장점 1. 이름을 가질 수 있다 public 생성자를 사용해서 인스턴스를 생성할 때 생성자와 생성자에 넘기는 매개변수로는 객체의 특성을 제대로 설명하기 어렵다. new BigInteger(int, int, Rnadom)과 BigInteger.probablePrime으로 BigInteger 객체를 생성한다고 했을 때, 후자의 이름을 보면 소수인 BigInteger를 생성하는 것을 알 수 있다. 하나의 시그니처(접근 제어자, 클..
Hello, Kotlin! fun main(args: Array) { println("Hello, Kotlin") } 위 코드는 코틀린에서 "Hello, Kotlin"을 출력하는 코드이다. 위의 코드에서는 다음과 같은 코틀린의 특성을 발견할 수 있다. 함수 선언시 fun 키워드를 사용한다. 파라미터 뒤에 파라미터의 타입을 쓴다. 함수가 클래스 밖에서도 존재할 수 있다. 배열은 클래스(Array 클래스)로 표현된다. System.out.println 대신 println을 사용한다. 표준 자바 라이브러리 함수를 간결한 문법으로 제공하는 wrapper를 코틀린 표준 라이브러리가 제공한다. 줄 끝에 세미콜론(;)을 붙이지 않아도 된다. 함수 fun max(a: Int, b: Int): Int { return i..
코틀린의 특성 특성 1: 대상 플랫폼 - 서버, 안드로이드 등 자바가 실행되는 모든 곳 코틀린의 주목적은 자바가 실행되고 있는 곳에 적합하고 간결하고 생산적이며 안전한 언어를 제공하는 곳이다. 자바는 Spring 같은 백엔드나 안드로이드의 모바일 애플리케이션을 제작하는 데 사용되는데 코틀린은 자바의 역할을 대체해 줄 수 있다. 특정 2: 정적 타입 지정 언어 자바와 마찬가지로 코틀린도 정적 타입(statically typed) 지정 언어이다. 정적 타입의 특징은 프로그램 구성 요소의 타입을 컴파일 시점에 알 수 있고, 객체의 필드나 메서드를 사용할 때 컴파일러가 타입을 검증해준다. 자바 10부터 자바도 var 키워드를 사용해서 변수의 타입을 명시할 필요가 없다. 코틀린도 자바 var과 같이 코틀린 컴파일..
웹 애플리케이션 아키텍처의 정의 애플리케이션 구성 요소, 미들웨어 시스템, 사용자 인터페이스, 데이터베이스 간의 상호 작용에 대한 레이아웃. 상호 작용을 통해 응용 프로그램이 동시에 함께 작동할 수 있음. 검색 사이트에 검색을 하고 결과의 링크를 누르면 클라이언트에서 서버로 요청이 간다. 그러면 서버는 요청에 대한 응답을 클라이언트에게 보낸다. 이런 식으로 간단하게 웹 애플리케이션은 상호 작용을 한다. 웹 애플리케이션 아키텍처의 구조 DNS DNS는 Domain Name System의 두문자어이다. DNS를 통해 도메인 이름으로 IP 주소를 알 수 있다. Load Balancer Load Balancer는 수평적 확장을 처리한다. 그림의 가운데 있는 Web app servers를 보면 알 수 있듯이 일반..
SOLID 객체 지향 설계 프로그래밍 및 설계의 다섯 가지 기본 원칙의 두문자어 SRP (Single Responsibility Principle): 단일 책임 원칙 OCP(Open Closed Principle): 개방 폐쇄 원칙 LSP (Liskow Substitution Principle): 리스코프 치환 원칙 ISP (Interface Segregation Principle): 인터페이스 분리 원칙 DIP (Dependency Inversion Principle): 의존 역전 원칙 ⇒ 응집도는 높이고 (High Cohesion), 결합도는 낮추는 (Loose Coupling) 고전 원칙을 을 객체 지향의 관점에서 재정립한 것 결합도 어떤 모듈이 다른 모듈에 의존하는 정도 응집도 모듈 내부의 기능이..
- Total
- Today
- Yesterday
- 코틀린
- 확장 함수
- python3
- java
- downTo
- postman
- 2차 인터뷰
- DGS Framework
- Python
- hashcode
- pm.test
- 주생성자
- squash merge
- 1차 인터뷰
- git
- github
- Squash and merge
- solidity
- Kotlin
- mysql
- graphql
- postman tests
- Kotlin In Action
- postman collection
- 코딩테스트
- go 특징
- 네이버 2022 공채
- Basic Type
- string
- pm.expect
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |