
push한 commit을 취소하고 싶을 때가 있습니다. 이번 포스팅에서는 push한 commit을 취소하는 것에 대해서 다뤄볼 예정입니다. 배경 다른 포스팅을 위해 github에 push를 했었는데, 오타가 있는걸 발견했습니다. push한 해당 커밋을 취소하고 재배포해보겠습니다. 1. git log를 통해 삭제할 커밋을 찾습니다. 오른쪽 하단을 보시면 09cda43c가 커밋입니다. 2. git reset을 통해 commit을 삭제해줍니다. 다음 명령어는 해당 커밋을 삭제해줍니다. git reset 09cda43c^ 제가 취소하려는 커밋이 맨위에 있으므로 git reset HEAD^를 사용하셔도 됩니다. 보통은 soft reset이라고 해서 그 커밋에 있던 변경사항은 다시 되돌려줍니다. 위 이미지를 보시면..

스프링으로 개발하면서 yaml 파일 관련해서 공부한 내용을 포스팅해봤습니다. 개발 환경은 다음과 같습니다. Spring Boot Version : 3.0.1 Java Version : 17 Kotlin Version : 1.8.21 https://github.com/laboratory-kkoon9/kotlin-spring 배경 데이터베이스를 docker 올려서 개발하려고 spring에서 yaml로 환경설정 방법을 알아봤습니다. 스프링 부트 2.4 버전부터 application.yml 하나의 파일로 여러 환경변수를 관리할 수 있게 되었습니다. 자세한 내용은 아래 블로그에서 확인해보시면 됩니다. http://honeymon.io/tech/2021/01/16/spring-boot-config-data-migr..

재직 중인 회사에서 airflow를 사용하여 공부 후 정리한 포스팅입니다. Airflow의 주요 기능 Airflow는 python 기반의 workflow 스케줄러입니다. workflow는 DAG과 task라는 단위로 다양하게 구성 가능합니다. DAG은 Directed Acyclic Graph는 약자로, 어떤 task들의 모임으로 구성되는데, task들의 순서를 정해줄 수 있습니다. Acyclic이므로 순환 구조는 가질 수 없습니다. DAG와 DAG를 연결해줄 수도 있습니다. 스케줄러와 워커가 나뉘어져 있기 때문에 워커를 확장할 수 있고 이 때문에 수많은 workflow를 실행하고 관리할 수 있습니다. 즉, DAG이 아무리 많아지더라도 관리가 가능하다는거죠. 또한 Airflow는 Web UI 관리 툴이 있..

(변경에 유연한 코드 설계 | 프리온보딩 BE 챌린지 9월)을 참여하면서 겪었던 에러를 정리한 포스팅입니다. 변경에 유연한 코드 설계 | 프리온보딩 BE 챌린지 9월 | 원티드 무료로 양질의 교육을 들어보세요! 챌린저만을 위한 다양한 혜택을 제공해드리고 있습니다. www.wanted.co.kr 개발 환경은 다음과 같습니다. Spring Boot Version : 3.1.2 Java Version : 17 다음은 관련 코드 소스입니다. https://github.com/kkoon9/wanted-preonboarding-challenge-backend-13/tree/feature/kkoon9 배경 RequestBody에 들어가는 정보는 다음과 같습니다. amount : 관람객이 가진 돈 when : 초대권을..

코프링으로 개발하면서 리팩터링 내성 관련해서 공부한 내용을 포스팅해봤습니다. 개발 환경은 다음과 같습니다. Spring Boot Version : 3.0.1 Java Version : 17 https://github.com/laboratory-kkoon9/kotlin-spring 배경 비밀번호 암호화를 하는 과정에서 다음과 같은 테스트 코드를 작성했습니다. package com.laboratorykkoon9.kotlinspring.common import io.kotest.core.spec.style.BehaviorSpec import io.kotest.matchers.shouldBe import io.kotest.matchers.shouldNotBe internal class ExtensionsTest..
카프카와 관련해서 받은 면접 질문을 정리한 포스팅입니다. 제가 경험한 면접 질문에 대한 대답을 정리하다보니 저만의 대답 방식으로 인해 간결할 수 있는 점 양해바랍니다. Kafka의 장점(특징) (출처) 프로듀서와 컨슈머의 분리하고, 하나의 토픽에 여러 프로듀서와 여러 컨슈머들이 접근 가능합니다. 또한 메시지를 디스크에 영속적으로 저장하여 유실을 방지할 수 있고, 높은 처리량을 자랑하는 걸로 알고 있습니다. 프로듀서와 컨슈머의 분리 각자 역할이 완벽하게 분리되면서, 어느 한쪽 시스템에서 문제가 발생하더라도 연쇄작용이 발생할 확률이 낮아집니다. 멀티 프로듀서와 멀티 컨슈머 하나의 토픽에 여러 프로듀서 또는 여러 컨슈머들이 접근 가능한 구조입니다. 메시지를 디스크에 영속적으로 저장 이는 메시지 유실을 방지하고..

commit을 하나로 합치는 방법을 여러가지가 있습니다. 이번 포스팅에서는 squash에 대해서 다뤄볼 예정입니다. 배경 제가 squash를 쓰게된 배경은 다음과 같습니다. 작업을 하다보면 커밋이 여러 개로 쪼개질 수 있습니다. 또한 pr을 올린 다음, 코드 리뷰를 반영하면 커밋이 여러 개로 될 수 있죠. 이 때 저는 suqash and merge를 사용합니다. 이걸 적용해주면 위에서 봤던 5개의 커밋을 하나의 커밋으로 만들어줄 수 있습니다. 단, 5개의 커밋은 사라지니 주의해주세요. develop 브랜치에 있는 5개의 커밋이 master 브랜치에서 보면 1개의 커밋으로 바뀌어져 있습니다. 결론 확실히 master 브랜치 커밋이 깔끔해지니, 버전관리가 좀 더 쉽다고 느껴집니다. 여러분들도 master 브..

QueryDsl이란? Querydsl은 JPA 기반의 데이터베이스 조회 및 조작을 위한 라이브러리입니다. 복잡한 쿼리(ex 동적 쿼리)를 더 쉬운 작성을 도와줍니다. CustomRepository CustomRepository 인터페이스는 Querydsl을 사용하여 데이터베이스 작업을 수행하는 데 도움을 주는 방법 중 하나입니다. @Repository interface MenuRepository: JpaRepository, CustomMenuRepository interface CustomMenuRepository { fun findByCafeId(cafeId: Long) } class CustomMenuRepositoryImpl: CustomMenuRepository { override fun find..
- Total
- Today
- Yesterday
- 객체지향
- 백준
- BOJ
- 클린 코드
- 이펙티브 자바
- node.js
- 이팩티브 자바
- kkoon9
- JPA
- MSA
- C++
- 테라폼
- Kotlin
- BAEKJOON
- Algorithm
- 클린 아키텍처
- kotest
- 코테
- 정규표현식
- programmers
- AWS
- Olympiad
- Effective Java
- Spring Boot
- Spring
- 디자인 패턴
- 디자인패턴
- Java
- 프로그래머스
- 알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |