Pinned
-
IntelliJ 내가쓰는 25가지 플러그인 목록
IDE의 첫글로 어떤게 좋을까 하다가... 남들도 다 썼긴 하겠지만, 그래도 혹시나 이 중에서 모르는 사람도 있을 수 있으니 나도 플러그인을 써보려고한다! 일단 쓰는 목록을 적어보면 Atom Meterial Icons (필) Code Screenshots (선택) CodeGlance (필) Codota AI Autocomplete for Java and Javascript (필) GitToolBox (필) Indent Rainbow (선택) JWT(JSON Web Token) Analyzer (선택) Key Promoter X (선택) Korean Lanugage Pack / 한국어 언어 팩 (선택) Nyan Progress Bar (필) / Pokemon Progress / Mario Progress ..
2021.06.09
-
삶의 지도 - 과거부터 현재까지
이 글은 글쓰는 개발자 모임, 글또 10기를 지원하기 위해 작성한 글이기도 하며, 제가 한번쯤은 적고 싶었던 제 일대기에 관한 글입니다1992.05 ~ 2024.09(now)1~7살[탄생~유치원](1992~1998)Hello World! But...나는 이 세상에 37주 미만에 태어난 미숙아임과 동시에 2.2kg인 저출생체중아로 태어났다인큐베이터에 꽤 오랜 시간을 있었다고 한다...ㅠ약하게 태어난 탓일까... 어머니가 말씀하시길 나는 3살 초까지 먹는것들 대부분을 게워내기 일쑤였고, 말하는 것도 늦었다고 했다이러나저러나 애기였던 나는 그래도 태어난 김에 살고싶었나보다..ㅎ 그래도 조금씩은 건강을 회복해 나아갔다하지만 태어날 때 미숙아여서 그런진 몰라도 위 사진에 첨부한 안 좋은 특성중에 몇개가 있는 것 ..
2024.09.22
-
JPA SoftDelete 적용하기(feat. 최신버전 + JPA/Hibernate/JDSL)
정말 오랜~~~만의 글이다..ㅠㅠ 쓸 거리들 넘쳐나니까 딱 기다려요! Soft Delete?일단 Soft Delete란 논리적으로 필드를 생성해서 지워주는 방식이다.반대로 Hard Delete는 실제로 DB상에서 물리적으로 레코드를 지우는 방식이다. 예전 버전 방식(Deprecated) @Where 어노테이션을 예전에는 사용했지만.... 스프링 버전이 엄청 올라오면서 stater로 끌어당기는 JPA내부에 있는 Hibernate 버전도 같이 올라가서 저 어노테이션은 deprecated 되었다. @SQLRestriction 사용@SQLRestriction("is_active = true")@Table(name = "users")@Entityclass UserEntity( @Column(unique = fa..
2025.08.08
-
Primitive type의 Call By Value 살펴보기(feat. JNI)
최근에 다시 자바공부를 하다가 이런 면접 질문이 있는 것을 봤다 Java는 Call by Value 일까요? 아님 Call by Reference 일까요?사실 이 질문 자체로는 틀린 질문이라 생각한다일단 맞는 질문으로 변환해보면Call by Value 와 Call by Reference 의 차이점에 대해서 말해주세요그럼, Java는 Call by Reference 방식을 지원할까요?라는 꼬리질문식 질의문이 되어야 맞는다고 생각한다 다른 글에서 쓴 내용이긴 하지만 영어 자체를 하나하나 짤라서 해석해보자 Call 이란 무엇일까?내가 vba다음으로 배운 언어인.. C언어를 예로 들어본다C언어를 배울때 나오는 것은 함수의 선언/호출/정의부 용어가 나온다영어로는 Declaration/Call/Definition라..
2024.08.20
-
혹시... 아직도 Java-Faker 쓰세요?(Vulnerabilities을 무시하고 있지는 않으신가요?)
Java/Kotlin Spring 진영에서 테스트코드 혹은 실제와 비슷한 더미데이터를 생성할때 쓰는 라이브러리가 있다[ 보통 테스트 코드에서 사용하는 Fixture나 대표/운영진분들이 투자자분들한테 실제와 같은 데이터로 시연화면을 보여주고 싶을때 사용 ] 그것은 아마 자바 대상혁(Java-Faker) 라이브러리일것이다..(너..롤하냐? 왜 기습숭배를..)이 라이브러리의 시초는 루비이며, 거기서 파생되어 나온 프로젝트이다( Maven Repository에서 무려 1833위인 라이브러리 )인터넷에 몇몇 글들 혹은 개발 강의를 보면 이 라이브러리를 가져다 쓰는 곳을 볼 수 있다나름 버전관리도 꽤 한 모습이다(0.18에서 왜 갑자기 1.0으로..?)하지만 가장 최근 버전을 눌러보면9개의 취약성을 갖고 있다는 것..
2024.09.17
-
MySQL Select 쿼리 실행 순서 알아보기(feat. EXPLAIN, ANALYZE)
조금은 쉬운 Q&A일수도 있다하지만 종종 면접에도 나오는 질문이기때문에 손으로 직접 실행해보면서 알아보기로 한다 Q. SELECT 쿼리문 실행 순서일단 개발자의 숙명: 검색을 이용하면 결과는 이렇게 나온다(요즘엔 구글링에서 프롬프팅으로 넘어가는 추세이지만...) FROM AND JOIN🔽WHERE🔽GROUP BY🔽HAVING🔽SELECT🔽ORDER BY🔽LIMIT 테스트 테이블 & 데이터 준비일단 이걸 검증하기 위한 employee, department_info 테이블 2개를 만들었다예제 쿼리이런 느낌들로 쭉 쿼리를 실행해볼 예정이다/* FROM */SELECT *FROM employee;일단 employee 테이블의 전체 데이터가 출력되는 쿼리를 실행시켰다* 쿼리 실행결과가 에디터 내부에 나..
2024.11.21
-
it, 그것을 찾아서
코틀린에서 람다식을 사용할때 인자가 하나인 경우에 it으로 사용할 수 있다 2024년 11월 19일 기준 코틀린 최신버전인 2.021문서를 살펴보면 위의 내용이 나와있다it: implicit name of a single parameter-> 번역: 단일 매개변수의 암시적 이름 it의 활용 예시를 들기 위해.. 간단한 코드를 만들어봤다* 간단한 포스팅용 코드이므로, Assertion이 없다고 불편해하지 마시라!ㅠ. 학습용 테스트도 테스트의 일부일 수 있는것처럼package bokiimport org.junit.jupiter.api.Testclass ItTest { data class Person( val name: String, val age: Int, ) @Te..
2024.11.19
-
코루틴 개념 정리, 디버깅 or 출력해보기(feat. IntelliJ Configuration Template)
2023년 회사에서 코틀린을 썼지만, 쓰자마자 코루틴을 바로 사용하지는 않았었다2024년쯤 코루틴을 공부하고 백엔드 코드에 조금씩 사용하는 영역을 넓혀갔다간단하게 코루틴 기본 개념과 활용까지 블로깅을 조금씩 해보려고 한다로니콜먼도 아마 코루틴을 사용해본 경험이 있는 것 같다. 왜냐하면 "Light Weight Baby!!"라고 외치며 헬스를 했으니 말이다 코루틴(Coroutine)이란?코루틴이란 Light-Weight Thread(경랑스레드)라고도 불리며, 스레드와는 독립적으로 실행되는 비동기 작업의 단위이다 내부적으로는 Continuation이라는 객체에 현재 작업(Job)의 진행 상태를 저장하고, suspend와 resume을 통해 작업을 일시 중단하거나 재개할 수 있다이 특성 때문에 코루틴은 스레드..
2024.12.02
-
JPA 특징 + 1차 캐시(feat. EntityManager.clear())
먼저 JPA를 사용할때의 장/단점, 특징, 용어 등을 알아야 한다 JPA란?JPA: 데이터베이스와 객체지향 프로그래밍 간의 매핑을 제공하는 ORM(Object-Relational Mapping) 기술특징데이터베이스를 객체로 매핑하여 SQL을 직접 작성하지 않아도 데이터베이스 작업이 가능영속성 컨텍스트를 통해 엔티티의 상태를 관리트랜잭션 범위 내에서 1차 캐시를 통해 데이터베이스 부하를 줄이고 엔티티의 동일성을 보장. 이 글에서는 JPA의 1차 캐시(First Level Cache)를 중심으로 다룬다 캐시, 캐싱이란?캐시(Cache): 데이터나 값을 미리 복사해 놓는 임시 장소캐싱(Caching): 캐시된 영역에서 데이터를 저장하거나 조회하는 접근 방식 1차 캐시란?1차 캐시(First Level Cach..
2024.11.23
-
Hibernate(JPA) 탐구 - 1편(feat. FlushEvent와 Action Queue)
일단 문제를 함께 풀어보자ㅎㅎUser엔티티부터!(사실 서적에서는 엔터티라고 부르던데..난 엔티티가 편하다)QuizGivenJPA를 공부하셨고 구현체인 Hibernate의 ActionQueue에 대해서 들어보셨다면.. 다음 코드의 성공/실패 결과를 예측해보자 문제1테스트코드라 사실 뭐..given , when, then// given...// when & thenval exception = assertThrows { ...}테스트코드라 사실 뭐..given , when, then 그리고 예외를 잡는부분까지 있어야하지만 간단하게 저 테스트가 초록불이 뜰지 주황/빨간불이 뜰지 정도만 예측해보자 답은?답은.. ActionQueue로 혼동을 주긴 했지만, 이건 delete로 인해 준영속화된 엔티티(id가 nu..
2024.11.25
-
Hibernate(JPA) 탐구 - 2편(feat. save() 메서드 분석)
서론지난 1편https://code-boki.tistory.com/266 FlushEvent와 Action Queue의 동작 방식으로 알아보는 Hibernate(JPA) 1편일단 문제를 함께 풀어보자ㅎㅎUser엔티티부터!(사실 서적에서는 엔터티라고 부르던데..난 엔티티가 편하다)QuizGivenJPA를 공부하셨고 구현체인 Hibernate의 ActionQueue에 대해서 들어보셨다면.. 다음code-boki.tistory.com에 이은 2편이다이번에는 save() 메서드를 깊이 파보면서 JPA의 동작방식을 이해해보자ㅋㅋ 진짜 삽질 엄청 많이했다...참고로 이 글은 불친절하게 작성되어 있다나는.. Internet Explorer의 호환성은 싫어했지만, Explorer라는 뜻은 좋아한다탐험가라는 뜻이다...
2024.12.11
-
Connection을 제어해!! 밑단부터 알아보는 Database와 Application(Security, Management, Application, OSIV) + TCP, JDBC, LazyConnectionDataSourceProxy, JPA
2월에 아버지가 돌아가시고, 장례식을 치룬 뒤의 첫 글또 글이자, 글또 10기수의 10번째 글이다..작년 12월부터 아버지를 병간호하느라 너무 힘들었기때문에 신체적, 정신적, 시간적 여유가 없었다ㅠㅠ 목표1. JDBC를 사용한 MySQL Connection Secure code & 수립 과정 살펴보기2. Connection 비용3. Spring/Springboot의 Connection Management4. JPA(Hibernate)에서의 OSIV와 Connection과 상관관계 잡설최근에는 JDBC Example를 검색해서 시작하는 경우가 많이 없는 느낌이다.물론 Page Rank 알고리즘에 의해서 조회수가 높은 글이 나오는건 맞지만, 2018~2021년 글이 1페이지 최상단에 검색된다.현재 2025년..
2025.03.02
-
개발자의 필수덕목 1.Debugging(디버깅)
문제를 조사하는 방법에는- 사전조사(Preliminary Investigation)- 사후조사(Postmortem Investigation)- 런타임&라이브 조사(Runtime/Live Investigation)이 있다. 이번에는 JVM위에서 작동하는 애플리케이션을 만드는 개발자로서 알아야 할디버깅, 샘플링, 프로파일링, 모니터링 / GC(개념)中 디버깅에 대해서 조금 깊게 알아보려고 한다. # 디버깅1) Line breakpoint 활용디버깅이란? 디버깅의 유래에 대해 AWS 문서에서 찾아봤다.https://aws.amazon.com/ko/what-is/debugging/ 디버깅이란 무엇인가요? - 디버깅 설명 - AWS컴퓨터 프로그래밍은 추상적이고 개념적인 활동인 만큼, 버그와 오류가 발생하기 마련입..
2025.03.16
-
IntelliJ에서 Spring 프로젝트(Spring MVC. Not Spring boot) 생성하기
요즘은 Spring Boot로 바로 개발한다.하지만 Spring을 제대로 알려면 Servlet부터 Spring, Spring Boot 순서로 배워야 잘 배운거라 생각한다!옛날 포스팅된 글들 혹은 이클립스, STS로 스프링프로젝트를 만드는 글들은 많으니IntelliJ로 Spring 프로젝트를 만드는 방법을 포스팅해볼까 한다~~![ IntelliJ Version 2021.1.2 Ultimate Version ] 으로 작성됨1. File -> 새 프로젝트에서 Maven을 선택하고 SDK버전을 선택하고(본인은 1.8 = 8), archetype은 체크하지 않고 다음으로 넘어간다2.프로젝트명을 적어주고 완료를 누른다GroupId, ArtifactId, Version은 여기서 생략했다.GroupId는 작성하는 것을..
2021.06.29
인기글
-
IntelliJ 내가쓰는 25가지 플러그인 목록
IDE의 첫글로 어떤게 좋을까 하다가... 남들도 다 썼긴 하겠지만, 그래도 혹시나 이 중에서 모르는 사람도 있을 수 있으니 나도 플러그인을 써보려고한다! 일단 쓰는 목록을 적어보면 Atom Meterial Icons (필) Code Screenshots (선택) CodeGlance (필) Codota AI Autocomplete for Java and Javascript (필) GitToolBox (필) Indent Rainbow (선택) JWT(JSON Web Token) Analyzer (선택) Key Promoter X (선택) Korean Lanugage Pack / 한국어 언어 팩 (선택) Nyan Progress Bar (필) / Pokemon Progress / Mario Progress ..
2021.06.09
-
원격 서버 접속하기(6) - Termius를 이용해서 원격 서버 접속하기
https://code-boki.tistory.com/143 원격 서버 접속하기(5) - telnet, ssh 차이점(feat. wireshark) https://code-boki.tistory.com/135 원격 서버 접속하기(1) - telnet/ssh입사를 해서 회사 일을 해보면, 이런 단어들을 들어볼 수 있을 것이다 로컬 서버, 개발 서버, 스테이징 서버, 배포 서버, 테스트 서버 등 code-boki.tistory.com 앞선 글에 이어서 ssh 접속을 다른 방법으로 해본다 바로 Termius라는 MacOS전용 프로그램을 사용하는 것이다 언제 지원하는 플랫폼이 늘었지!? 2022년 기준으로는 MacOS에서밖에 사용을 못했던거같은데... 회사가 커졌나부다 대체품: MobaXterm, PuTTY(W..
2024.01.04
-
Naver DAN24 행사 후기
올해 대형 기업들의 컨퍼런스들이 연달아 이어지고 있다나는 그 중 네이버의 DAN24 행사에 선착순으로 신청을 했었는데 운좋게 Day1, Day2 둘 다 당첨되게 되어 이번에 월요일, 화요일에 네이버 행사를 다녀온 이야기를 풀어볼까한다 What is DAN?행사기간: 2024.11.11~2024.11.12 Day1코엑스에 도착해서 네이버페이 월렛에 있는 NFT로 인증을 하고 입장을 했다등록을 마치면서 제공해주는 담요를 받았다위치는 Coex Grand Ballroom등록을 끝내고 돌아오니 대형 디스플레이가 반겨줬다로켓..단! 아니지 네이버..단!일단 급하게 세션에 참여하는 것보다, 1/2/3F를 다 가보고 부스를 방문해보는 것을 먼저 하기로 했다나중에 알고보니 2층에도 있었지만, 3층에서 먼저 발견하게 된 ..
2024.11.17
-
VSCode Project단위 Settings & Extensions
JetBrains 계열을 주로 써온 내가 요즘에는 VScode를 쓰게 되었다 VScode에서 프로젝트를 시작할때는 다른 팀원들과의 VSCode IDE 설정, Extensions 설정, Prettier/ESLint(Frontend) 설정 등을 Sync해줘야 한다 - Settings VSCode의 전역설정(Global Settings) 말고 작업공간별 설정(WorkSpace Settgins)를 설정해주면 된다 일단 VScode를 열어서 code command를 시스템에 설치를 하자(현재 위치를 Root Working Directory로 만들어서 VScode를 열게 해준다) code command는 VSCode에서 시스템에 설치가 가능하다 (cmd + shift + P 를 누르고 code를 검색해서 설치하자)..
2023.05.17
-
UTM Virtual Machine으로 M1 Mac에서 Windows 11 설치하기(2023.06)
목차 1. UTM Install 2. Windows 11 ISO Image Download 3. UTM에 인스턴스 만들기 4. 윈도우 설치 5. 마우스 스크롤 반대 설정 6. 한글 키보드 입력 설정 7. 디스플레이 크기 변경 8. 다크 테마(옵션) 9. 공유폴더 설정 1. UTM Install https://mac.getutm.app/ UTM Securely run operating systems on your Mac mac.getutm.app dmg파일을 download 받는다 열어서 설치한다 2. Windows 11 ISO Image Download https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewARM64 Download..
2023.06.03
-
MacOS 터미널 좀 더 잘쓰기(feat. 단축키)
개발용으로 macOS를 사용중이라면 터미널을 한번쯤은 사용할 것이다! 보통 기능이 많은 iTerm 등을 쓴다지만, 나는 기본 터미널을 zsh를 다운받아서 바꿔서 쓰고 있다 지금부터 터미널 단축키에 대해 조금 더 알아본다 최대한 iTerm과 기본터미널 둘 다 호환되는 단축키로 포스팅하려고 한다 ps명령어와 tty명령어로 현재 두개의 프로세스(터미널 2개)를 띄워둔 상태이다 내가 무슨 키를 누르는지 모르기 때문에 keyboard viewer를 이용해서 입력되는 키를 보이게 해준다 윈도우(창) 및 작업 탭 아래의 단축키중에서 새 창 열기/창 닫기, 창 이동, 새 탭 열기/탭 닫기, 탭 이동은 크롬, VScode, IntelliJ 등 다 적용되는 전역적인 MacOS 단축키이다 폰트 키우기: cmd + plus(..
2023.11.15
-
2023 플러터 앱 핸드폰에 설치해서 실행해보기(iOS)
아이폰은 안드로이드보다 많이 복잡하다..ㅎ 1. 아이폰 직접 연결 우선 아이폰을 컴퓨터에 직접 연결한다 이 표시가 뜨면 신뢰를 누른다 그럼 맥북의 Finder→위치에 본인의 아이폰이 보일 것이다 이 기기에 한번도 연결한 적이 없다면, iPhone 백업을 암호화하라는 창이 뜬다. 이 부분은 백업에 관한 설정인데, 암호화를 하지 않으면 중요 데이터는 빼고 백업이 되고, 백업 암호화를 하면 중요데이터를 포함한다 연결된 상태에서 Finder의 일반 탭에서 아래로 내려서 Wi-Fi에 연결되어 있을 때 이 아이폰 보기를 체크해준다 2. 아이폰 개발자 도구 활성화 핸드폰에서 개인정보 보호 및 보안으로 들어간다 아래의 개발자 도구를 끔→켬으로 바꿔준다 (재부팅) 재시동 3. iOS Dev 계정 - team(개인) 등록..
2023.01.12
-
인텔리제이 프로젝트명 수정하기
1. 파일 - Project Structure(맥 기준: Cmd + ;) 프로젝트 이름 수정 2. settings.gradle안에서 rootProject.name = 수정 3. 새로 고침
2022.01.16
-
원격 서버 접속하기(4) - ssh 접속(feat. 개인키/공개키로 접속)
먼저 https://code-boki.tistory.com/141 원격 서버 접속하기(3) - ssh 접속(feat. 개인키/공개키 파일 생성) 먼저 https://code-boki.tistory.com/140 원격 서버 접속하기(2) - ssh 접속(feat. ID/PW) https://code-boki.tistory.com/135 원격 서버 접속하기(1) - telnet/ssh 입사를 해서 회사 일을 해보면, 이런 단어들을 들어볼 수 있을 code-boki.tistory.com 이 글을 보고 오면 좋을 것 같다 일전의 테스트와 같이 내 개인 맥북 2개로 SSH를 실습하며 동작과정을 알아볼 것이다 현재 맥북(SSH 클라이언트) - 192.168.123.101 whoami ifconfig | grep i..
2023.12.01
-
2023 플러터 앱 핸드폰에 설치해서 실행해보기(Android)
1. 안드로이드 개발자 모드 활성화 설정 → 휴대전화 정보 → 소프트웨어 정보 로 들어간다 빌드번호를 여러번 클릭한다 xx 1단계 전입니다에서 한번 더 클릭하면 비밀번호를 입력하라고 나온다 비밀번호를 입력하면 ‘개발자 모드를 켰습니다’ 메시지가 나온다 그리고 다시 설정으로 가보면 맨 아래에 개발자 옵션 메뉴가 생긴 것을 볼 수 있다 클릭을 해서 들어가자 아래에 디버깅 탭에서 USB 디버깅을 활성화해주자 2. 핸드폰 연결 Mac 유저의 경우 허용 핸드폰에서 뜨는 메세지 USB 디버깅 항상 허용을 체크하고 확인을 한다 3. Android Studio 핸드폰을 연결한 채로 안드로이드를 켜준다 우측 상단 타겟에서 안드로이드 기기를 선택한다 그리고 오른쪽의 Run을 누른다 Running Gradle task 'a..
2023.01.12
-
자바에서의 다양한 문자열 포맷팅 방법(feat. MessageFormat)
복잡한 거 아니니깐 빠르게 알아보자!1. String 더하기단순하지만 강력한 방법이다다만.. 복잡시럽게 보일 수 있다는 단점 존재2. printfC언어를 배웠다면 익숙한 그 printf문법당연히 패딩넣기도 된다.다만 %p, %x등의 메모리 관련 포맷형식을 사용하면 UnknownFormatConversion 예외가 발생한다자바만의 특이점으로는 %h를 통해 메모리해시값을 얻을 수 있다. 슬프지만 당연하게도 Primitive type은 메모리주소를 알 수 없다3. String.format()printf와 비슷하게 형식을 지정할 수 있다그럼 차이점이 뭐야? 할 수 있는데, printf는 포맷팅 동시에 출력이 되는 방식이고, String.format은 반환형인 String으로 만들어서 재사용한다던지, 좀 더 가공..
2024.08.29
-
IntelliJ Honey Tips
1. 멀티모듈) 프로젝트의 정보들이 너무 길 때 나는 이 프로젝트의 - ~/ 같은 경로도 보고 싶지 않고, 실제로 개발하다보면 깔끔함을 추구하고싶다 그럴때에는 여기 화살표를 눌러주자 그리고 패키지를 선택해주면! 난 이정도도 깔끔해진거같다! 또 다른 옵션으로는 프로덕션 / 테스트로도 볼 수 있다 실제로 테스트 코드만 볼 수 있다! 매우 좋음 짱짱 2. 멀티모듈, MSA 방식일때 내가 쓰고 있는 DTO가 어디에 있는건지 찾고 싶을 때가 있다. 파일은 열려잇는데, 이게 어느 모듈, 위치에 있는지 알고 싶을때가 있다. 이럴때 이 옵션을 체크하면 된다 이걸 체크해주면 현재 열려있는 파일이 어느 위치에 있는지 열리게 된다 현재 열려있는 AuthController를 프로젝트 경로에서 어디있는지 바로 열어준다 현재 C..
2022.03.06
-
협업을 위한 - 커밋 규칙과 이슈번호 사용 그리고 템플릿 만들기
Git conventional commits with issue numberGit Commit메시지 작성시에는 Convention을 정해놓고 지켰었다구글에 git conventional commit라고 검색을 해보면 나오는 몇개의 Top 링크 결과물이다1. https://www.conventionalcommits.org/en/v1.0.0/ Conventional CommitsA specification for adding human and machine readable meaning to commit messageswww.conventionalcommits.org 2. https://gist.github.com/qoomon/5dfcdf8eec66a051ecd85625518cfd13 Convention..
2024.07.25
-
Github repository 이쁘게 그룹화하기
취준생 시절을 벗어나... 혼자 사이드 프로젝트나, POC(Proof Of Concept) 등을 한다던지 등등 작업을 하다보니 어느덧.. Github Repo가 50개정도가 되어버렸다..! 이정도는 적은편에 속한다 근데 아래의 내 레포들을 보면... 참 다양한 언어들로 프로젝트들을 만들었다... 키키 근데 왜 Flutter프로젝트도 있는데 Dart가 없는가..!! 이정도로 너무 다양해지니깐, 이게 PoC를 위한 프로젝트였는지, Side프로젝트였는지, 그냥 재미삼아 만든거였는지, 백엔드/프론트엔드/데브옵스 등에 관련한 프로젝트였는지 모르게되어버렸다 위처럼 최근에 활동내역이 있는 프로젝트부터 보인다고 하더라도 관련 프로젝트들을 모아보기는 어렵다 그럴때 깃허브에서 제공하는 Star를 이용할 수 있다 보통 St..
2023.11.21
-
네이버 행사 D-1 [DAN 24]
TEAM NAVER CONFERENCE `DAN 24`왜 이름이 DAN인가 궁금했었는데... 플랫폼을 순 우리말로 하면 DAN이라고 표현한단다 이번 해에 여러 행사들에 참여했지만 TOSS의 SLASH24, KAKAO의 IF KAKAO 2024, 우아한형제들의 WOOWACON 2024에는 참가하지 못했었다 그래도 팀 네이버 행사에 Day 1, 2 둘 다 참가하고 기술워크샵까지 참석하게 되어서 매우 기쁘다 두근두근...!! 다녀와서 또 이런저런 재미난 이야기 보따리를 올릴 예정이다! 가보자고!
2024.11.10
-
Github에서 코드리뷰하기(feat. 멘티분들의 프로젝트 Live Review)
Q. 여러분들은 코드리뷰 어떻게 하시나요?A. - 회의실 들어가서 해요 -> you out1번) git clone받아서 개발툴(IntelliJ/VScode)에서 합니다!회사에서 사용하는 개발도구인 IntelliJ나 WebStorm, VSCode 등에서 프로젝트를 열어서 특정 버전의 파일 히스토리를 클릭해서수정/추가/삭제된 부분이 있는지 비교하고, 이 커밋의 수정담당자한테 왜 이렇게 바뀌었는지 설명해달라고 요청하는 방식(이슈트래킹이 잘 되고 작은 팀 단위로 소통이 잘되면 예상가능한 커밋들은 skip하는경우도 있다) 2번) gitlab이나 github의 commits 클릭하고 날짜 Range를 선택 후(datepicker) 해당 기간(ex:1주일)의 커밋들을 모아서 어느 부분이 삭제됐고, 추가됐는지에 대한..
2024.09.29
-
파이콘 Korea 2024 / KSUG 2024 가을 세미나 참여 후기
PYCON KOREA 2024한빛미디어에서 8명, 인프런에서 7명을 추첨해서 파이콘에 무료로 갈 수 있는 이벤트를 열었다! 파이콘 2024 무료 초대 이벤트그 중 인프런 스터디원 대상으로 하는 이벤트에는 떨어지고, 한빛미디어에서 파이콘 무료 초대 이벤트에는 당첨됐다행사 참여강북구 -> 수원 광교 너무 멀었다...ㅠ 수원컨벤션센터 3층으로 향했다크다 커...!! 입장 체크를 하러 갔다이세계에선 한빛미디어...? 사전에 파이썬 티셔츠도 구매하겠다는 의사를 밝혔기 때문에 티셔츠 구매권도 함께 받았다(선입금)인포메이션 부스에서 티셔츠를 수령할 수 있었다 그리고 파란색 옷을 입고 계신 분은 현재 당근에 계신 Subin Kim님!! 2023년에 열린 GopherCon에서 토스에 재직중일 당시 발표도 했었다 수빈님을..
2024.11.03
-
협업을 위한 - Gitmoji 도입해보기
왜 도입을..?항상 팀단위(모르는 사람끼리 하는 프로젝트, 학교 선후배간, 회사에서)에서의 프로젝트에서 무언가를 도입하거나 바꾸려고 할때는 Why?를 먼저 생각해봐야한다그래서 왜 도입을 하려고 하는지에 대해서 생각해보면... 장점글자를 읽을 필요 없이 어떤 커밋을 했는지 이모지를 보고 파악이 가능하다커밋 기록이 아이콘으로 남게 되어서 귀엽다ㅋ단점은 맨 밑에서 다룰 예정이다일단 이건 기술적으로 스택이나 아키텍처나 바뀌는게 아닌 거기때문에 일단 도입해보고 나중에 회고해보자 Gitmoji란?Gitmoji는 눈치채신 분들도 있겠지만 Git + Emoji의 합성어이다모든 커밋 앞에 이모지를 붙이는 행위를 뜻한다깃모지를 사용하면 커밋의 목적이나 의도를 쉽게 파악 가능하다고 한다그리고 이모지가 이모티콘이 아닌가? 라..
2024.07.25
-
혹시... 아직도 Java-Faker 쓰세요?(Vulnerabilities을 무시하고 있지는 않으신가요?)
Java/Kotlin Spring 진영에서 테스트코드 혹은 실제와 비슷한 더미데이터를 생성할때 쓰는 라이브러리가 있다[ 보통 테스트 코드에서 사용하는 Fixture나 대표/운영진분들이 투자자분들한테 실제와 같은 데이터로 시연화면을 보여주고 싶을때 사용 ] 그것은 아마 자바 대상혁(Java-Faker) 라이브러리일것이다..(너..롤하냐? 왜 기습숭배를..)이 라이브러리의 시초는 루비이며, 거기서 파생되어 나온 프로젝트이다( Maven Repository에서 무려 1833위인 라이브러리 )인터넷에 몇몇 글들 혹은 개발 강의를 보면 이 라이브러리를 가져다 쓰는 곳을 볼 수 있다나름 버전관리도 꽤 한 모습이다(0.18에서 왜 갑자기 1.0으로..?)하지만 가장 최근 버전을 눌러보면9개의 취약성을 갖고 있다는 것..
2024.09.17
-
자바에서 두 변수 값 바꾸기(Swap, Generic, Wrapper)
앞의 글들을 보고 왔다면 자바에서의 Call By Value때문에 특정 메서드 내에서 지지고 볶아도 값이 바뀌지 않는다는 것을 알 수 있을 것이다Call by Value with primitive type - 잘못된 사용- 실행결과두 값이 바뀔 수 있도록 해보자!! Custom Wrapper Class 사용(Call by Value with mutable reference type)임시로 값을 담을(Wrapping) 클래스를 정의하자잘 바꼈다!!근데 뭔가 좀 아쉽다.. 더 개선할 수 있는 부분이 없을까?? IntegerWrapper를 GenericWrapper로 변환자바의 Generic을 활용해 어떤것이든 담을 수 있게 해보자Generic으로 담았기 때문에 Integer, Long타입 둘 다 값이 바뀌는..
2024.08.24
-
Primitive type의 Call By Value 살펴보기(feat. JNI)
최근에 다시 자바공부를 하다가 이런 면접 질문이 있는 것을 봤다 Java는 Call by Value 일까요? 아님 Call by Reference 일까요?사실 이 질문 자체로는 틀린 질문이라 생각한다일단 맞는 질문으로 변환해보면Call by Value 와 Call by Reference 의 차이점에 대해서 말해주세요그럼, Java는 Call by Reference 방식을 지원할까요?라는 꼬리질문식 질의문이 되어야 맞는다고 생각한다 다른 글에서 쓴 내용이긴 하지만 영어 자체를 하나하나 짤라서 해석해보자 Call 이란 무엇일까?내가 vba다음으로 배운 언어인.. C언어를 예로 들어본다C언어를 배울때 나오는 것은 함수의 선언/호출/정의부 용어가 나온다영어로는 Declaration/Call/Definition라..
2024.08.20
-
혼공네트 6주차 - 실습, 네트워크 심화(Wireshark 패킷/프로토콜 분석, 다중화, 로드밸런싱, 암호화, 무선 네트워크)
시작하기 전에..내가 직접 씀) 이번 주차에서 나올 Wireshark를 통한 패킷 분석은 개인적으로 집에서만 실시하자공공장소 또는 회사내에서 패킷 분석을 하는것은 불법이라고 알고 있다 독서 & 스터디드디어 마지막주 혼공네트 스터디이다!!책의 챕터로는 6~7 챕터, 총 2개 챕터를 다룬다 6-1 와이어샤크 설치 및 사용법와이어샤크 설치맥OShttps://www.wireshark.org/download.html Wireshark · DownloadWireshark: The world's most popular network protocol analyzerwww.wireshark.org나는 macOS의 Arm 아키텍처 버전을 사용하고 있기때문에 macOS Arm Disk Image로 다운받았다 맨 위에 있는 ..
2024.08.17
-
프로젝트 파일 구조 명령어 - tree
기본적으로 mac에는 tree명령어가 없다 그래서 homebrew가 설치되었다는 가정하에 brew install tree 로 tree를 설치해준다 tree 설치 brew install tree 이제는 tree명령어를 사용할 수 있다 사용하기 전에 앞서서 도움말을 보자 tree 도움말 tree -help 또는 man tree 참고로 man(manual) 명령어를 이용한다면 q를 입력해서 나가야한다 tree 사용 cd(change directiory) 명령어로 위치를 옮겨서 실행하자 왜나하면 엄청..많이 나오기 때문에! 현재 경로의 폴더들은 이런 상황이다 tree 기본적으로 tree는 폴더를 만나면 recur(재귀)를 진행해서 가장 내부의 파일까지 출력한다 그럴때는 위에 tree -help 에서 봤었던 -L..
2023.03.03
-
JPA SoftDelete 적용하기(feat. 최신버전 + JPA/Hibernate/JDSL)
정말 오랜~~~만의 글이다..ㅠㅠ 쓸 거리들 넘쳐나니까 딱 기다려요! Soft Delete?일단 Soft Delete란 논리적으로 필드를 생성해서 지워주는 방식이다.반대로 Hard Delete는 실제로 DB상에서 물리적으로 레코드를 지우는 방식이다. 예전 버전 방식(Deprecated) @Where 어노테이션을 예전에는 사용했지만.... 스프링 버전이 엄청 올라오면서 stater로 끌어당기는 JPA내부에 있는 Hibernate 버전도 같이 올라가서 저 어노테이션은 deprecated 되었다. @SQLRestriction 사용@SQLRestriction("is_active = true")@Table(name = "users")@Entityclass UserEntity( @Column(unique = fa..
2025.08.08
-
볼트 X 커피챗 참여 후기(feat. 토스증권 서버 리드분과의 슈퍼커피챗)
행사 안내 문자 수신8/19일에 볼트X에서 행사 안내 문자를 수신받았다3개 기업이 참여하고, 테크리드분들을 만나뵙고 슈퍼커피챗 기회도 얻을 수 있다는 행사라고 한다관심이 있었기에 아래의 이벤터스 링크로 들어가서 신청했다행사 소개행사 신청이벤터스를 통해 행사를 신청했다항상 추첨 방식 또는 선착순으로만 행사를 참여했었는데 이번에는 이력서를 제출하고 3개 기업이 수락한 사람들 중에서 총 100명만 행사를 참여할 수 있었다또한 토스증권, 라포랩스, 스윙에서 제출된 이력서들을 미리 보고 관심가는 단 20명을 뽑아서 테크 리드와의 슈퍼커피챗 기회를 주는 선발형 이벤트도 있었다행사 3일 전까지만 해도 참가대기 상태였다가, 참가확정이 되었다. 확정이 되었다는 안내 메일 또한 받았다 토스증권 서버 리드분과의 슈퍼커피챗 ..
2024.08.30
-
원격 서버 접속하기(5) - telnet, ssh 차이점(feat. wireshark)
https://code-boki.tistory.com/135 원격 서버 접속하기(1) - telnet/ssh입사를 해서 회사 일을 해보면, 이런 단어들을 들어볼 수 있을 것이다 로컬 서버, 개발 서버, 스테이징 서버, 배포 서버, 테스트 서버 등등 큰 기업에 가면 xx서버에 접속해서, 변화점이 있는 파일code-boki.tistory.com이 글에서 간단하게 telnet과 ssh의 차이점에 대해서 알 수 있다 https://code-boki.tistory.com/142 원격 서버 접속하기(4) - ssh 접속(feat. 개인키/공개키로 접속)먼저 https://code-boki.tistory.com/141 원격 서버 접속하기(3) - ssh 접속(feat. 개인키/공개키 파일 생성) 먼저 https://..
2023.12.04
-
Mac Node.js, Npm(Node Package Manager) 버전 LTS로 업데이트 하기
LTS:(Long Term Support) 긴 시간동안 업데이트도 하며 지원하는 버전이다 version 확인 npm -v node -v n 모듈 설치 sudo npm install -g n Node.js LTS 버전으로 업데이트 sudo n lts 다시 버전 확인 NPM 재설치 sudo npm install -g n 결과 Node.js v.16.16.0 → v.18.13.0 NPM v8.11.0 → v.8.19.3
2023.01.11
-
IntelliJ에서 Vue.js프로젝트 만들기
사실 프론트엔드분들은 VScode -> WebStorm 순으로 IDEA를 많이 쓸 것 같지만 나는...쪼렙 초보이기때문에 IntelliJ로 프론트를 개발한다(사실은 회사에서 인텔리제이 라이센스만 줘서.. + 내 돈으로 웹스톰 결제하기 싫..ㅋㅋ) 그래서 인텔리제이로 뷰를 공부해보려고 한다 내 인텔리제이 버전은 2022.4 Ultimate Edition이다 기본적으로 인텔리제이에서 새 프로젝트를 만들면 뷰 프로젝트가 안보인다 아마 내 기억으로 WebStorm은 뷰 프로젝트가 있던 것 같다 그럼 인텔리제이는 어떻게 해야하나..? 일단 플러그인에서 Vue.js 플러그인을 검색해서 설치하자 그리고 새 프로젝트를 만들어보면... 아래 Vue.js를 만드는 프로젝트가 보일것이다 이거로 새 프로젝트를 만들자..! 일..
2022.12.08
-
재택 개발을 위한 셋업 아이템 목록
1. 허리 받침쿠x에서 샀다. 사실 뒤에 걸어서 의자에 걸어두는건데 귀차나서 이렇게 뒀다그렇게 허리를 지탱해준다는 느낌은 없는데, 그냥 엉덩이 위부터 기대고 있기 편한 느낌을 만들어준다 2. 발 받침대 얘도 쿠x인가 네이x에서 샀다일반 목재는 아무래도 나무 껍질이 발에 박힐수도(이런 일은 거의 없을거야..사포질 하기때문에) 있고, 맨발에는 느낌이 별로라서얘로 쓰고있다짧은다리...라서 그런건 절대 아니고!!의자에 앉아서 발 올리고 있음 세상 편하다 3. LED 모니터 스탠드오늘 아침 새벽에 출근도 전에 배송이 왔는데.. 대충 조립해놓고 출근했다 유튜브에서 이거 쓰시는분들을 봐서 나도 함 써보고 싶었다그리고 거실에서 아버지가 주무시는데, 코딩쟁이들은 새벽에도 코딩하거나 컴퓨터를 하지 않는가...혼자 사는 자..
2022.11.16
-
IntelliJ Honey Tips 4 - 필수!(feat. 협업하기 위한 셋업)
개발에 대한 포스팅이 꽤나 늦었다 ㅎㅎ 회사에서 이리 치이고 저리 치이고 야근도 한다고! 자, 우리 개발자들은 다른 사람의 코드를 보기도 하고 내가 수정하기도 하고, 내가 만든 코드를 다른 사람이 보게 된다 면접때 면접관이 중요하게 보는 포인트 중에 하나는 팀프로젝트 경험이 있는가(취준생인 경우), 회사를 다녀본 경우는 다른 팀원들과 소통의 오류를 겪었을 때 어떻게 해결했는가?(이직인 경우) 이다 이 두 질문의 Main Context는 협업이다! 코드레벨에서의 협업은 Git Commit Message Convention, Camel/Kebab/Pascal Case Convention, variable Convention, JavaDoc작성, Hard Wrap(IDEA), ESLint or TSLint, ..
2022.10.23
-
1줄 팁 맥에서 IntelliJ 자동완성 되게 하기
윈도우 분들은 아마 Ctrl + Space누르면 자동완성을 아주 잘 해줄것이다 근데 맥 사용자들은 Ctrl + Space누르면 아무 동작도 안한다 왜냐? OS단축키랑 충돌이 나기때문이지.. 결론은 이 사용하지도 않는 친구 때문에 인텔리제이 자동완성이 되지 않고 있었다는 것!! 첫번째를 Uncheck 하도록하자 Ctrl + Space의 결과 매우 잘된다^^
2022.07.27
-
PostMan의 여~~~~러 가지 사용방법
스킨 색 변경하기 난 개인적으로 검은색을 선호한다 밤에 코딩해도 눈이 안아프고 뭔가 멋있짜놔~~ 우측 상단의 톱니바퀴를 눌러주자 Settings 클릭 후 테마에서 오른쪽 선택 사용방법 Collection을 만든다 Folder 또는 Http Request를 만든다 PathVariable, QueryString, ReqeustBody, Header/Authroization을 추가하는 방법을 익힌다 Tests에 js코드를 추가해서 포스트맨 전역, 환경 변수로 갖고 있는 방법을 익힌다 Import 또는 Export를 해서 다른 사용자한테 내 json 데이터를 넘겨주거나, 혹은 다른 사용자의 json 컬렉션 데이터를 받아올 수 있다 + 문서보기 0. Workspaces를 만든다 개인/팀별 작업 공간을 만들 수 있..
2022.03.15
-
Hibernate(JPA) 탐구 - 1편(feat. FlushEvent와 Action Queue)
일단 문제를 함께 풀어보자ㅎㅎUser엔티티부터!(사실 서적에서는 엔터티라고 부르던데..난 엔티티가 편하다)QuizGivenJPA를 공부하셨고 구현체인 Hibernate의 ActionQueue에 대해서 들어보셨다면.. 다음 코드의 성공/실패 결과를 예측해보자 문제1테스트코드라 사실 뭐..given , when, then// given...// when & thenval exception = assertThrows { ...}테스트코드라 사실 뭐..given , when, then 그리고 예외를 잡는부분까지 있어야하지만 간단하게 저 테스트가 초록불이 뜰지 주황/빨간불이 뜰지 정도만 예측해보자 답은?답은.. ActionQueue로 혼동을 주긴 했지만, 이건 delete로 인해 준영속화된 엔티티(id가 nu..
2024.11.25
-
이제 막 Web을 공부하는 학생, 취준생들에게... (feat. Spring)
어떤 Developer 개발자 방에서의 대화A분: jsp 혐 나: 전 jsp쓰는 회사를 다녀보진 않았지만, 서블릿 컨테이너부터 jsp, 스프링, 스프링부트 순으로 공부했었는데현재처럼 server, client side로 분리된게 XMLHttpRequest가 나오면서 부터였어요 페이지를 전체깜빡임에서 부분리프레시만 가능하게하는 기능이 나온거죠. 이후에 ajax라는 이름을 갖게 됐죠.이때는 JSP(java servlet page), ASP(Active Server Pages), PHP등이 힘을 얻었어요그리고 이후에 AngularJS로 출현으로 CSR이 도입되면서 client, server side의 구분이 명확해지며 이후에 React.js, Vue.js, Angular2가 나오게 됐어요.어떤 기술의 출현으로..
2024.07.22
-
원격 서버 접속하기(1) - telnet/ssh
입사를 해서 회사 일을 해보면, 이런 단어들을 들어볼 수 있을 것이다 로컬 서버, 개발 서버, 스테이징 서버, 배포 서버, 테스트 서버 등등 큰 기업에 가면 xx서버에 접속해서, 변화점이 있는 파일들을 수집하고, 자동으로 배포하는 등등.. 이런 과정들이 원클릭으로 구성되어 있을 것이다 그리고 회사에서는 이런 서버에 접속하기 위해 특정 IP만을 허용하는 허용리스트(AllowList)를 만들어서 VPN 프로그램을 사용하는 등의 방법으로 접속을 허용/제한한다 (UFW, IPTables, Firewalld, ZeroTier, WireGuard, pfSense 사용) 이 글에서는 방화벽에 대한 내용보다는 원격 서버에 접속하는 방법, 내가 사용하는 방법에 대해서 포스팅해보려고 한다 Telnet 로컬 네트워크에서 리..
2023.11.20
-
Shell(셸, 쉘) 종류 및 특징
Why is it called Shell? - 왜 셸(쉘)이라 부르는가? Shell은 영어 단어로 하면 껍질, 껍데기란 뜻이다 Q. 왜 OS에서 터미널, cmd등을 쉘이라고 부르는가? A. 사용자와 운영체제의 내부(커널) 사이의 인터페이스를 감싸는 층이기 때문에 그러한 이름이 붙었다 What Shell is... - 셸(쉘)이란... 셸(shell)은 사용자와 컴퓨터 운영체제간의 대화형 인터페이스를 말한다. 사용자는 셸을 통해 컴퓨터에 명령을 입력하고, 셸은 그 명령을 운영체제가 이해할 수 있는 형태로 변환하여 전달한다. 그리고 운영체제는 이 명령을 실행하고 결과를 사용자에게 보여준다. Kind of Shells - 셸(쉘)의 종류 인터페이스별 명령줄 인터페이스(CLI - Command Line Inte..
2023.11.08
-
Whitespace Characters 제거하기 + 여러가지
Whitespace Characters는 공백문자 그리고 이 WhiteSpace Character의 종류에는 1. 가로 크기를 차지하는 공백 문자(눈에 보임) 2. 세로 크기를 차지하는 공백 문자(눈에 보임) 3. 1 또는 2지만 눈에 보이지 않는 공백 문자가 있다 특히 3번의 경우는 일부러 사용하는 경우도 있고(화면에 보여줄 때), 일부러 제거하는 경우도 있다(서버에서 받을 때) 아니 3번같은게 어디 있어~? 라고 말씀하시는 분들은 아래에 더블클릭으로 보라돌이 뚜비 나나 뽀를 선택해보자 NORMAL의 경우는 전체가 블록으로 지정되고, SPACE의 경우는 공백마다 블록 지정, ZERO_WIDTH_SPACE의 경우에는 눈에는 NORMAL이랑 비슷하지만 [보라돌이]를 누르면 보라돌이만 선택되고 [뚜비]쪽을 ..
2022.11.26
-
예전 블로그에 있던 화면가리기 For Windows 파일
티스토리로 넘어오기 전 운영했던.. 지킬 블로그에 올린 C# 윈폼으로 만든 간단한 프로그램이다컴퓨터를 종료해도 마지막에 저장한 크기값을 저장하기 위해 registry값을 새로 만드는 정도랑썸네일/닫기/창 크기조정/글자 크기조정 을 할 수 있는 프로그램이다항상 모든 창 위에 떠서 동작하기때문에 불필요하게 보여주고 싶지 않은 화면의 정보가 있다면 유용하다유튜브에도 설명을 올려놨는데 음질도 구지고, 유튜브 운영을 하지않아서 그냥 써보는것을 추천한다..깃허브에 코드를 올려놓을껄.. 졸업하고 심심풀이로 그램 노트북 쓸때 만든거라 지금은 프로젝트 파일도 없고 맥이라 실행할수도없다 하하 실행하면 이렇게 검은색 작은 화면이 뜨고, 4가지 기능을 사용할 수 있다 https://lsb530.github.io/2020/..
2022.06.26
-
개발자의 필수덕목 1.Debugging(디버깅)
문제를 조사하는 방법에는- 사전조사(Preliminary Investigation)- 사후조사(Postmortem Investigation)- 런타임&라이브 조사(Runtime/Live Investigation)이 있다. 이번에는 JVM위에서 작동하는 애플리케이션을 만드는 개발자로서 알아야 할디버깅, 샘플링, 프로파일링, 모니터링 / GC(개념)中 디버깅에 대해서 조금 깊게 알아보려고 한다. # 디버깅1) Line breakpoint 활용디버깅이란? 디버깅의 유래에 대해 AWS 문서에서 찾아봤다.https://aws.amazon.com/ko/what-is/debugging/ 디버깅이란 무엇인가요? - 디버깅 설명 - AWS컴퓨터 프로그래밍은 추상적이고 개념적인 활동인 만큼, 버그와 오류가 발생하기 마련입..
2025.03.16
-
오랜만의 근황 알림...
2025년 1월 어느날, 119에 전화를 해서 구급차를 불렀다.집에 계시던 아버지가 위급한 상황이 왔었기 때문이다.난생 첨 만나본 구급대원들과 구급차였는데..위급한 상황이라 신발을 벗으실 새도 없이 아버지를 들것에 실었다.어머니와 나는 함께 구급차를 탔고, 엠뷸런스를 타고 가는길에 평소에 가시던 병원에 연락해서 그쪽 응급실로 방향을 틀었다.아버지는 응급실에 계시다가 이런저런 검사를 마친 뒤, 호스피스 병동으로 이동을 하시게 됐다.호스피스 병동은 보호자 1명이 필수라, 나와 어머니가 번갈아가며 아버지를 케어했다.또한 바로 옆이 장례식장과 이어져 있어 이 병동은 임종을 대기하는 그런 곳이다. 아버지는 이미 암이 전신으로 다 퍼지신 상태여서 항암치료의 단계를 스탑했었고 마약성 진통제로 견디고 계셨었다.호스피스..
2025.02.10
-
인프런 워밍업 스터디 클럽 2기 백엔드(클린코드/테스트코드) 수료식 참여 및 후기(feat. 우수러너 선정 😎)
인프런 워밍업 클럽 스터디 2기 오프라인 수료식 신청 🌱1달 동안 이어진 인프런 스터디에서 오프라인으로 수료식에 참여할 사람들을 모집하고 있길래, 냉큼 신청했다스터디원들이 있는 디스코드 채팅방에서 만났던 분들, 내 블로그를 보고 수료식때 꼭 만나고 싶다는 분도 있었고 인프랩 사무실 안에 방문해볼 기회가 얼마나 있을까 싶었다가는길에 저번 판교 퇴근길 밋업 - HTTP에서 후기를 올려서 당첨받은 스벅 아아쿠폰으로 목마름을 달래고 갔다..!!인프랩 직원분들 정말 감사합니다 :) 인프랩 도착 & 수료식 참여(11/01)판교테크노밸리스타트업캠퍼스 3동 5F에 있는 인프랩으로 갔다저번에 왔던 퇴근길 밋업은 1동 2층 더링크에서 열렸었다오픈되어 있는 인프랩 회사 문으로 당당하게 입장!!입구부터 초록초록한게 이뻤다...
2024.11.03
-
DEVCON 2024 at 한빛앤 사옥
https://festa.io/events/5916 DEVCON 2024 | Festa!Festa에서 당신이 찾는 이벤트를 만나보세요.festa.io그동안 삶이 바빴던 관계로 13일이나 지났지만, 이제야 후기를 올려본다10/7 월요일에 당근 테크밋업을 다녀오고, 10/12 토요일에는 한빛앤 사옥에서 열린 DEVCON 2024에 참여했다 Festa 플랫폼에서 결제해서 참여했고, 총 300명이나 지원할 정도로 꽤 큰 행사였다! K-DEVCON나는 한빛미디어 내부에서 열린 개발자 행사인줄 알았다! 하지만 K-DEVCON은 대전, 세종을 중심으로 운영중인 개발자 커뮤니티다 실제로 홈페이지에 들어가보면 꽤 괜찮은 개발 책 추천 글도 볼 수 있다! Time Table 다 듣고 싶었지만, 내 체력과 시간과 타협해서 ..
2024.10.25
-
Spring boot 3.x.x(Spring 6.x.x)의 API 호출방법 with openFeign
Node.js 환경에서는 fetch, ajax, axios를 활용해서 비동기로 특정 api의 경로를 호출할 수 있다back: express, nest / front: react, vue, angular 등에서 필요한 의존성을 추가하면 사용할 수 있다 Spring에서는 전통적으로 RestTemplate를 사용했고(동기 호출만 지원), Reactive한 처리 또는 비동기 처리가 필요한 경우 WebClient를 사용했다RestTemplate는 Spring 3.x.x 버전부터 도입되었고(스프링 부트 아님), spring-boot-starter-web 패키지에 포함되어 있었다WebClient는 Spring 5.x.x(다시 한번, 스프링 부트 아님), spring-boot-starter-web 패키지가 아닌 spr..
2024.10.13
-
Kotlin IN ACTION 2nd : 원서를 읽어보자
Kotlin In Action 2nd 원서를 구입했다 from. Yes24무려 82,390원이나 주고 구매했다Kotlin In Action 2판은 2024년 4월에 해외에 출판됐다 현재 국내에 있는 번역서인 Kotlin In Action은 2017년 10월 31일에 나온 1판이다 그동안 코틀린은 많은 업데이트를 거쳐 2024년 9월 29일 현재 2.0.20까지 나온 상태이다그렇기때문에 변한 것도 많을것이다!나는 항상 궁금했다.번역된 해외 IT책을 읽으면서 공부하는 몇몇 개발자들은 "해석이 잘못됐네", "의역이 너무 심하다" 등등 몇몇 불만이 있는 개발자들을 봤다그럴거면 원서 사서 보면 되잖아... 역자도 물론 무료로 봉사한건 아니지만..!! 나도 원서는 대학교때 전공서적빼고는 직접 처음으로 구매해본다영..
2024.09.29
-
JSCODE 스터디 후기(자바 1기)
JSCODE라는 채널을 구독하고 보고 있었고, 커뮤니티에 스터디를 모집한다는 글을 보게 됐다그리고 여러 과목들이 있었지만, 자바가 1기란 소식을 듣고 스터디를 신청했다 JSCODE 스터디 신청https://code-boki.tistory.com/192 JSCODE 스터디 신청Youtube - JSCODE종종 영상이 올라오면 즐겨보는 IT 유튜브 채널이다네이버, 채널톡 등의 회사에서 지인들에게 인터뷰를 하는 영상이 눈길이 갔고최근에는 인프런에서 비전공자나 취준생들을 위한code-boki.tistory.com그리고 총 5주간의 스터디를 진행했다(매주 금요일 오후 8~10시 + a)스터디 과정은 1주씩 개인블로그에 공부해서 올리고, 이 내용을 토대로 온라인으로 모의면접을 하는 방식이었다모르는 사람들과 화상으로..
2024.09.17
-
Reference type(Mutable Object)의 Call By Value 살펴보기 2
이전 글에서는 Reference Type 인자로 전달될때 Call By Value의 동작에 관해서 JNI로 살펴보면서 Integer, AtomicInterger를 통해 객체 타입이 불변/가변으로 나뉠 수 있다는 것을 배웠다 이번 글에서는 Reference Type으로 전달 가능한 가변 객체에는 어떤 것들이 있는지 살펴본다 Call By Value와 가변 객체를 활용해서 객체를 넘기고 외부의 메서드에서 객체의 상태(값)을 변경하는 예시코드를 더 살펴보자 - Array- List- Map- Set - Custom Object(Custom Wrapper Class)이건 내부 구현 로직에 따라 가변or불변으로 구현할 수 있다. 여기서는 가변객체로 만들어본다 > 가변 Custom Object값이 변한 것을 볼 수..
2024.08.23
-
Reference type의 Call By Value 살펴보기(feat. JNI, Immutable/Mutable)
저번 Primitive type글에 이어서 작성한다저번 글을 못봤다면, 여기 Java 카테고리에 있는 이전 글을 살펴보면 된다 이전 글의 서두를 옮겨와봤다최근에 다시 자바공부를 하다가 이런 면접 질문이 있는 것을 봤다Java는 Call by Value 일까요? 아님 Call by Reference 일까요?사실 이 질문 자체로는 틀린 질문이라 생각한다일단 맞는 질문으로 변환해보면Call by Value 와 Call by Reference 의 차이점에 대해서 말해주세요그럼, Java는 Call by Reference 방식을 지원할까요?라는 꼬리질문식 질의문이 되어야 맞는다고 생각한다 자, 그럼 왜 저런 질문을 하는걸까?일단 질문의 의도는 2가지이다1. 헷갈리게 만들기2. Java의 기본 동작과정을 잘 이..
2024.08.21
-
혼공네트 4주차 - 전송 계층(Port, NAPT, ICMP, TCP, UDP, 3-way handshake, 오류/흐름/혼잡 제어)
시작하기 전에..이 책에서 정의한 TCP/IP 모델중 전송계층을 공부한다! 이제 응용계층만 남았다~~!전송계층은 참고로 면접때 자주 등장하는 TCP와 UDP의 차이점. 그리고 TCP 특징이 중요하다 독서 & 스터디 패드로 시작해서... 집에서는 컴퓨터로 보고, 이동시에는 폰으로 보다가 결국 노트북으로 이번 챕터도 정독했다그리고 또 한빛미디어의 도메인 주도 개발 - 최범균 책에 꽂혀서 보고 있다 2년전에 나온 책인데 이것도 정말 좋은 내용을 담고있다백엔드로 개발하시는 분들은 한번쯤 읽어보면 좋겠다. 대신 DDD, 아키텍처, 멀티모듈 이런거에 너무 파묻히지만 않으면 베스트다 네트워크 계층의 IP 한계 -> 전송 계층 필요네트워크 계층의 IP 한계신뢰할 수 없는 통신비연결성 통신전송 계층 역할신뢰할 수 있는 ..
2024.07.28
-
2023년 개발 회고
벌써 2024년 1월1일이 훌쩍 지난 중순이다티스토리는 2021년에 만들었고, 벌써 3번째 회고글이다!2022년도 중반에 내 개발자 커리어 ~ 2022.09까지의 첫번째 글을 썼고, 2023년 1월에 2021~2022년도의 두번째 회고글을 작성했었다돌아보면 2023년 한 해는 정말 많은 발전이 있었다!!찍먹을 지각에 비유해본다면,, 여러 영역들에 있어서 지각~맨틀 사이정도의 그 어딘가쯤 지식을 쌓았던 것 같다(맨틀은 엄청 깊다(?)) 프론트엔드/데이터베이스/프로그래밍 언어/백엔드/아키텍처/Ops/기타(취미)에 대해서 느낀점, 배운 점을 작성을 해보려고 한다 - FrontEnd -상반기에 이직을 해서 Vue를 최신 문법으로 접해봤다남들은 React로 시작을 해서 쭉 쓰는데..난 Angular로 시작해서 V..
2024.01.19
-
Kill -9(SIGINT) vs Kill -15(SIGTERM) 테스트(feat.graceful kill)
UNIX계열 OS인 Linux(ex. ubuntu, macOS-BSD, Darwin)는 커널단에서 시그널을 사용하여 프로세스에 다양한 명령을 내릴 수가 있다 macOS에서 테스트해보려고 한다 일단 macOS에서 가능한 kill 옵션(인자)를 확인해보자 kill -l 손으로 일일이 세도 되지만 깔쌈하게 몇개의 인자를 갖고 있는지 아래의 명령어로 확인해보자 kill -l | tr ' ' '\n' | tee /dev/tty | wc -l | xargs echo "total command count:" macOS에서는 kill 관련 31개의 인자를 쓸 수 있다 이중 프로세스 종료와 관련된 것은 1(HUP), 2(INT), 3(QUIT), 6(ABRT), 9(KILL), TERM(15) 이렇게 있다 SIG라는 것..
2023.10.27
최신 글
-
기본에 충실한 30만원대 가성비 노트북 베이직북S/태블릿PC 실사용 후기
※ 본 글은 소정의 원고료를 제공받았지만 모든 내용은 개인 경험을 바탕으로 작성한 후기입니다.# 가성비 노트북 베이직스이번에 평소에 들고 다닐 노트북 또는 태블릿이 필요하게 되었다.IT 기기, 특히 노트북을 구매하기에 앞서 가장 중요한 것 중 하나는 휴대성과 가격이라는 생각이 들었다.(나는 노트북으로는 게임을 하지 않고, 모바일로만 게임을 즐긴다.)노트북하고 태블릿을 따로 사야하나...?이런 생각을 하던 차에 이곳저곳 검색을 하다 보니까 베이직스(basic-s)라는 브랜드를 알게 되었다.예전에 인스타그램 광고에서도 본 것 같은데? 싶으면서도 이름부터가 기본을 중요시하는 것 같아서 마음이 좀 동했다!1달 전인 25년 9월 22일 기준으로 벌써 누적 판매 20만 대를 달성했다는 기사도 있었고, 기술평가 우수..
2025.10.19
-
누구나 아는 나만 모르는 챗GPT 서평
"한빛미디어 서평단 활동을 위해서 책을 협찬받아 작성된 서평입니다." 요즘 AI와 챗GPT 이야기가 뉴스, 유튜브, 회사 회의에서까지 끊임없이 등장한다.개발자로서 나는 이미 업무 중 GPT를 활용해왔지만, 주변에서 "그거 어려운 거 아니야?", "어디서부터 써야 돼?"라는 질문을 정말 자주 받았다.그래서 이번에는 '누구나 아는 나만 모르는 챗 GPT & AI 입문서'라는 책을 읽고, AI의 입문과 활용을 어려워하는 주변인분들에게 도움이 될까 싶어서 이 책을 선택했다. AI와의 첫 만남, 문턱을 낮춰주는 책책의 첫인상은 '친절하고 따뜻함' 이었다.전문 용어나 기술 설명보다는 카톡처럼 쓰는 챗GPT라는 현실적인 접근법으로 시작한다."검색보다 쉽게 질문하고, 카카오톡만큼 간단하고, 음성으로도 질문하고, 친절..
2025.10.12
-
구스마일의 월 1,000만원 버는 유튜브 첫걸음 가이드북 서평
"한빛미디어 서평단 활동을 위해서 책을 협찬받아 작성된 서평입니다." 현재는 개발자로 일을 하고 있지만, 비개발 서적이면서 누구나 꿈꾸는 유튜브로 월 천이라는 방법이 궁금하여 '구스마일의 월 1,000만원 버는 유튜브 첫걸음 가이드북'이라는 책을 읽어보았다. 왜 ‘첫걸음’이 중요한가유튜브는 누구에게나 열려 있지만, 막상 시작하려면 수많은 장벽이 눈앞을 가로막는다."장비가 부족한데 괜찮을까?", "편집을 잘 못하면 실패하지 않을까?", "수익화까지 얼마나 걸릴까?" 같은 고민들은 누구나 한다. 이 책 《구스마일의 월 1,000만원 버는 유튜브 첫걸음 가이드북》은 바로 그 시작의 벽을 허물어주는 책이다. 저자 구스마일은 휴대폰 하나로 시작해 실제 월 1,000만원의 수익을 올리는 유튜버로 성장했다. 책은 ..
2025.09.28
-
"코드 너머, 회사보다 오래 남을 개발자" 서평
한빛미디어 서평단 활동을 위해서 책을 협찬받아 작성된 서평입니다. 도서정보발행일: 2025년 6월 30일출판사: 한빛미디어저자: 7인의 데브렐 - 김상기, 배문교, 이동현, 이상아, 이수형, 차지현, 황성재총 페이지: 304쪽목차어떤 책인가요?개발직군에서 일하는 사람들을 위한 소프트 스킬, 셀프 브랜딩, 팀 빌딩 등에 관한 인사이트를 얻을 수 있는 책당근마켓 개발 리더 박미정님, 넥스트스탭 CEO 박재성님, 인프랩 CTO 이동욱님, 반려생활 CTO 이주현님, 조코딩님 등 유명하신 분들이 함께 이 책의 추천사를 써주셨습니다.독서전철로 이동할 때, 침대에서 잠 들기 전, 욕조에서 등등 꾸준히 읽었습니다!! 기억에 남은 부분맨 앞에 있는 부분이 기억에 남았습니다. "코드만 잘 짜면 되는거 아니야?" 물론 ..
2025.09.01
-
AWS 25$ 크레딧 Get!!
역시 Feedback 이름답게...... 피드백을 줬더니 나도 피드백을 받았다~! good Jetbrains에서도 자꾸 영어로 영상 녹화까지 해가면서 뭔가 리뷰하고 싶다는데......영어 울렁증으로 수락을 못하고 있다..ㅠ휴.... 영어 공부 해야됏......
2025.08.20
-
JPA SoftDelete 적용하기(feat. 최신버전 + JPA/Hibernate/JDSL)
정말 오랜~~~만의 글이다..ㅠㅠ 쓸 거리들 넘쳐나니까 딱 기다려요! Soft Delete?일단 Soft Delete란 논리적으로 필드를 생성해서 지워주는 방식이다.반대로 Hard Delete는 실제로 DB상에서 물리적으로 레코드를 지우는 방식이다. 예전 버전 방식(Deprecated) @Where 어노테이션을 예전에는 사용했지만.... 스프링 버전이 엄청 올라오면서 stater로 끌어당기는 JPA내부에 있는 Hibernate 버전도 같이 올라가서 저 어노테이션은 deprecated 되었다. @SQLRestriction 사용@SQLRestriction("is_active = true")@Table(name = "users")@Entityclass UserEntity( @Column(unique = fa..
2025.08.08
-
영한님과 2주 연속 만난 썰..
안녕하세요~! 블로그 글은 정말 오랜만이네요..ㅠㅠ 요새 너무 바쁘게 지냈습니다.판교쪽 소재지 회사로 취업도 하고 Jenkins, Github Actions, AWS, k8s, Kotlin, Springboot, EKS 등등 다시 복습하는 것도 있고 새로 운 것도 배워서 너무 바빴습니다! 어쨌든 오랜만에 썰 풀 이야기는 많은데... 인프런 1타강사 김영한님을 2주연속 만난 이야기를 풀어보고자 합니다. #1 - 25.06.19첫번째는 인프랩에서 열린 영한님의 50만 이벤트! 요기약 3천개의 댓글을 단 사람중에서 50명만 선발해서 영한님을 인프랩에서 만나볼 수 있는 기회를 얻을 수 있었다. 결국...후후... 또 당첨됐다! (50 ÷ 3000) × 100% = 1.666…%그래서 영한님이랑 (창천)향로님이랑..
2025.07.24
-
자바 최적화 2판 서평
"한빛미디어 서평단 활동을 위해서 책을 협찬 받아 작성된 서평입니다."도서정보발행일: 2025년 05월 26일출판사: 한빛미디어저자: Benjamin J. Evans, James Gough번역: 오지영총 페이지: 561쪽 어떤 책인가요?자바 성능 튜닝을 해보고 싶은 분들이 보면 좋을 책자바의 메모리 구성과 프로파일링, 마이크로벤치마킹 등을 해보고 싶은 분들이 보면 좋을 책2019년 4월에 나온 Optimizing Java 1판에 이어 2025년 5월에 2판이 나왔다.기존 책도 컬러로 되어있어서 보기 편했는데, 이번 2판도 컬러인쇄로 만들어져서 좋았다^o^. 이전 1판과 달라진 부분클라우드 환경에서 더욱 복잡해진 자바 성능 문제를 푸는 방법이 추가됐다.클라우드 스택, 가상화, 이미지/컨테이너 등에 대하여..
2025.06.29
-
멀티패러다임 프로그래밍 서평
"한빛미디어 서평단 활동을 위해서 책을 협찬 받아 작성된 서평입니다." 도서정보발행일: 2025년 4월 21일출판사: 한빛미디어저자: 유인동총 페이지: 512책 추천 포스트 - SNS먼저 LinkedIn에서 본 저자이신 유인동님의 책 소개 글을 인용하면서 서평을 시작해본다.유인동님은 마플코퍼레이션의 CTO이자 22년차 소프트웨어 엔지니어..!책을 추천하는 이유들만 봐도 꼭 읽어야겠다는 생각이 들었다!!그리고 다른 분의 이 책을 극찬하는 포스팅도 봤다.다른 책들도 뒤쳐지지 않을 정도로 좋은 책들인데 단연코 유인동님의 멀티패러다임 프로그래밍 책을 가장 추천한다고 하셨다. 책을 열어보면 추천의 말을 볼 수 있었는데코드박스 CEO 서광열님, 마플코퍼레이션 테크리드 조현우님, 마플코퍼레이션 테크리드 김재민님, ..
2025.05.30
-
인프런.. 고마워요!
2025년 5월 갑자기 메일이 왔어요.내용을 눌러보니...최근에... 면접 스터디장을 이끌면서 진행중이면서대면/비대면 코딩테스트도 보고, 대면/비대면 면접도 보고, 과제도 열심히 하면서 시간을 보내고 있느라 강의를 엄청나게 많이 보지는 못했다고 생각했는데 2025년 상반기 1% 수강생이라니!!인프랩&인프런이 주는 포인트도 잘 사용할게요감사합니다 인프런💚🌱🥺
2025.05.20
-
이펙티브 소프트웨어 아키텍처(Effective Software Architecture)
이펙티브 소프트웨어 아키텍처더 나은, 더 빠른 소프트웨어를 구축하기 위한 소프트웨어 아키텍처 필수 가이드www.gilbut.co.kr 책 정보소프트웨어는 점점 더 복잡해지고 있으며, 이러한 시스템을 개발하고 운영하는 일은 매우 어렵습니다. 이 과정에서 소프트웨어 아키텍처는 시스템을 구상하고 구현하며 운영하는 데 중요하고 핵심적인 역할을 합니다. 이 책은 소프트웨어 아키텍처가 무엇인지 정의하고, 이를 실제 개발 과정에서 어떻게 활용할 수 있는지 설명합니다.특정 아키텍처 방식만 다루는 것이 아니라, 아키텍처가 제품 개발 과정에서 어떤 역할을 하며, 팀 내 다른 팀과 어떻게 협력해야 하는지도 알려줍니다. 특히, 시스템이 변화할 때 이를 효과적으로 설계하고 관리하는 방법을 소개하며, 빠르고 좋은 결정을 내리는 ..
2025.04.27
-
제대로 시작하는 챗GPT와 AI활용 with 파이썬
"한빛미디어 서평단 활동을 위해서 책을 협찬 받아 작성된 서평입니다." 제대로 시작하는 챗GPT와 AI 활용 with 파이썬파이썬으로 배우는AI와 챗GPT 활용법! 매혹적인 인공지능의 세계를 탐험하며 실제 문제를 해결해 보세요www.hanbit.co.kr 책 정보OpenAI의 ChatGPT, DALL-E, Whiper 등 여러 도구(라이브러리)를 파이썬 코드를 사용해서 여러가지 AI/ML를 실습해볼 수 있는 책입니다. 챗봇, 시맨틱 검색 엔진, 분류 시스템, 추천 엔진 등 다양한 자연어/이미지/음성 처리 플랫폼을 구축하고자 한다면 이 책이 실질적인 도움을 줄 것입니다. - 출간: 2025년 3월 24일- 페이지: 504쪽- 난이도: 초중급 목차[PART 1 오픈AI와 챗GPT 제대로 이해하기]더보..
2025.04.25
-
JETBRAINS | Junie 사용후기 from. EAP User
최근에 GA(General Availability)로 Release가 된 Junie를 EAP부터 종종 써온 후기에 대해 올려보려고 한다.EAP란? Early Access Program의 약자로 베타테스터 같은 개념이다. 신청을 통해서 선정된 사람들에 한해서 미리 기능(프로그램)을 써볼 수 있는 기회를 얻는 것.# Invited EAP for Junie 나는 운 좋게 25년 2월 25일에 Junie를 미리 체험해볼 수 있는 EAP에 초대되었다. Jetbrains 제품을 Frontend 개발을 할 때나, Backend 개발을 할때나.. Kubernetes object를 만들때나 Docker를 빌드할때나 써왔기 때문에 VSCode를 fork 따서 만든 Cursor나 Windsurf를 써보진 않았다.VSCode..
2025.04.20
-
Vlad님 강의 후기(feat. 인프런, 자바 챔피언)
세계 자바 챔피언 Vlad Mihalcea 강의. 한국 최초 인프런 🌱 단독 오픈!인프런에 루마니아 최초의 자바 챔피언 Vlad님의 강의가 새로 나왔다.Vlad Mihalcea님은 위에 소개한대로 엄청나신 분이다.대 AI의 시대를 열었던 OpenAI사의 ChatGPT가 나오기 전에 개발자들의 덕목은 구글링을 잘 하는 것이었다.특히 Stack overflow라는 개발관련된 커뮤니티에서 질문을 올리거나, 검색을 잘 하고 올바른 답변을 찾아서 현재 자신의 코드에 맞게 바꿔서 문제를 해결하는 게 개발자의 실력과 직결됐던 시기가 꽤나 길었다.그 중 Stack overflow에서 Java, SQL, JPA, ORM, Hibernate 관련 질문에 대해서 여러 문제들을 해결해주기도 하였고, 저서로는 Amazone ..
2025.04.20
-
인프런 워밍업 클럽 스터디 3기 백엔드/프로젝트(Kotlin, Springboot) 수료식 및 우수러너 선정
2기 때는 박우빈님의 Backend/Clean Code(Java)를 수강했고 우수러너에 선정됐었다.아마 2024년에는 연말에 가까웠어서 연말분위기를 내기 위해 오프라인 수료식을 했었고, 이번에는 온라인 수료식만 진행을 했다.매 주차마다 발자국을 작성하고, 미션 7개도 다 클리어를 했는데 우수러너가 될 줄은 몰랐다..ㅎㅎ 작년 말에 2기를 참여했을때도 박우빈님의 클린코드/테스트코드(Java)에서 200명이 넘는 참가자 중에서 우수러너에 선정됐었는데, 이번 3기 정보근님/백엔드 프로젝트에서도 단 두명만 받을 수 있는 우수러너에 선정돼서 기분이 매우 좋다!인프런 한정판 굿즈 패키지 + 1:1 멘토링권 감사합니다 :)
2025.04.05
-
자바 코드의 품질을 높이는 100가지 방법
"한빛미디어 서평단 활동을 위해서 책을 협찬 받아 작성된 서평입니다." 대표 정보 - Metadata제목: 자바 코드의 품질을 높이는 100가지 방법 - 자바 베테랑이 전하는 실전 오류 패턴과 해법원서 제목: 100 Java Mistakes and How to Avoid Them저자: 타기르 발레예프번역: 정병열페이지: 424쪽출판사: 한빛미디어출간: 2025.03.04ISBN: 9791169213486전자책(E-book) 유무: O목차 - Table Of ContentsManaging Code Quality - 코드 품질 관리Expressions - 표현식Program Structure - 프로그램 구조Numbers - 숫자Common Exceptions - 일반적인 예외Strings - 문자열Co..
2025.03.29
-
4주차 회고 발자국 🐾
마지막까지 KPT 회고 프레임워크를 선택해서 작성해보려고 한다!Keep(만족, 지속하고 싶은 부분)마지막 4주차는 개인프로젝트는 잠시 stop하고 강의와 관련된 부분을 이어 나갔다.Kotlin, Springboot, MySQL, JPA, Docker/compose, Thymeleaf, Bootstrap으로 개발하고 GCP에 Docker로 배포하고 Domain을 구입하고, certbot nginx로 인증서를 발급받아서 https까지 적용했다.2주 쫌 안되게 걸렸는데, 신기했던 부분이 몇 가지 있었다. 첫번째, 코틀린은 언어의 특성으로 인해 주 생성자 부분에 인자를 나열하는 스타일, 주 생성자에는 파라미터만 받고 { } 본문에 val/var등을 붙여 프로퍼티를 만드는 방식, 주 생성자에는 최소한의 인자를 받..
2025.03.29
-
3주차 회고 발자국 🐾
2주차와 마찬가지로 KPT 회고 프레임워크를 선택해서 작성해보려고 한다!Keep(만족, 지속하고 싶은 부분)이번 3주차는 개인프로젝트에서는 프로젝트쪽에서는 조회 API를 만들었다. API 테스트에서는 mockMVC를 사용하지 않고, 실제 인증 엔드포인트를 호출하고, AccessToken을 받아서 Authorization 헤더에 넣어서 Project 목록을 가져오는 것을 RestClient로 작성했다.DB url은 src단과 test단에서 다른 곳을 바라보게 만들었다. 개인적으로는 컨트롤러->서비스->레포지토리->서비스->컨트롤러 로 흐르는 스택트레이스 요청&응답을 제대로 검증하기위해서는 실제로 사용하는 DB 벤더까지 맞춰야 한다고 생각한다.실제로 배포했다면 AWS 인스턴스로 요청을 날려보면 되겠고! 갠적..
2025.03.28
-
2주차 회고 발자국 🐾
1주차와 마찬가지로 KPT 회고 프레임워크를 선택해서 작성해보려고 한다!Keep(만족, 지속하고 싶은 부분)이번 2주차는 개인프로젝트에서는 RDB 모델링을 마친 뒤 엔티티를 정의했으며 현재는 조회 API를 만들고 있고, 강의에서는 Presentation Layer에 대한 부분을 수강했다. 강의가 개인프로젝트보다 좀 빠르지만, 그만큼 개인 프로젝트에 적용할 수 있는 부분에 대한 인사이트를 미리 얻어갈 수 있는 것 같아서 좋다.Problem(부족, 아쉬웠던 부분)또 내 과욕이 부른 스불재(스스로 불러온 재앙) 느낌의 아쉬운 부분을 써보자면.. RDB를 너무 현업과 비슷하게 만드는 것을 목표로 잡지 않았나 싶다..ㅎㅎ 뭐 어쩌겠어~ 벌린 일이니 해야지..!!강의에 대한 내용은 아쉬운게 전혀 없다!! JSP에서..
2025.03.16
-
개발자의 필수덕목 1.Debugging(디버깅)
문제를 조사하는 방법에는- 사전조사(Preliminary Investigation)- 사후조사(Postmortem Investigation)- 런타임&라이브 조사(Runtime/Live Investigation)이 있다. 이번에는 JVM위에서 작동하는 애플리케이션을 만드는 개발자로서 알아야 할디버깅, 샘플링, 프로파일링, 모니터링 / GC(개념)中 디버깅에 대해서 조금 깊게 알아보려고 한다. # 디버깅1) Line breakpoint 활용디버깅이란? 디버깅의 유래에 대해 AWS 문서에서 찾아봤다.https://aws.amazon.com/ko/what-is/debugging/ 디버깅이란 무엇인가요? - 디버깅 설명 - AWS컴퓨터 프로그래밍은 추상적이고 개념적인 활동인 만큼, 버그와 오류가 발생하기 마련입..
2025.03.16
-
1주차 회고 발자국 🐾
https://code-boki.tistory.com/231 좋은 회고란? (feat. 인프랩's SOL)좋은 회고란 무엇인가에 글을 작성하기에 앞서 인사이트를 주신인프랩의 직원이신 솔(Sol)이라는 닉네임을 사용하시고 솔퓨터라는 별명을 갖고 계신 소현님의 글을 먼저 공유하고 싶다!!이 글의code-boki.tistory.com먼저, 회고글을 작성하기 전에 회고법으로 사용할 수 있는 전략에 대해서 예전에 작성한 글이 있어서 다시 한번 공유해본다.종종 이런것들을 프레임워크라고 부르기도 한다.디자인 프레임워크, 회고 프레임워크, 백엔드 프레임워크...정해진 틀에 맞춰서 진행하는 것이다.나는 이 중 회고에 사용되는 KPT 회고 프레임워크를 선택해서 이번 한 주의 회고록을 작성해봤다.Keep(만족, 지속하고 싶..
2025.03.09
-
Connection을 제어해!! 밑단부터 알아보는 Database와 Application(Security, Management, Application, OSIV) + TCP, JDBC, LazyConnectionDataSourceProxy, JPA
2월에 아버지가 돌아가시고, 장례식을 치룬 뒤의 첫 글또 글이자, 글또 10기수의 10번째 글이다..작년 12월부터 아버지를 병간호하느라 너무 힘들었기때문에 신체적, 정신적, 시간적 여유가 없었다ㅠㅠ 목표1. JDBC를 사용한 MySQL Connection Secure code & 수립 과정 살펴보기2. Connection 비용3. Spring/Springboot의 Connection Management4. JPA(Hibernate)에서의 OSIV와 Connection과 상관관계 잡설최근에는 JDBC Example를 검색해서 시작하는 경우가 많이 없는 느낌이다.물론 Page Rank 알고리즘에 의해서 조회수가 높은 글이 나오는건 맞지만, 2018~2021년 글이 1페이지 최상단에 검색된다.현재 2025년..
2025.03.02
-
고작 다섯 명이 한 말을 어떻게 믿어요?
"한빛미디어 서평단 활동을 위해서 책을 협찬 받아 작성된 서평입니다.""글로벌 테크 기업 UX 리서처의 노하우를 담은 정성 연구 실무 가이드 북" 목차(index)PART 1 UX 리서치와 정성 연구PART 2 정성 연구, 꼭 해야 할까?PART 3 설득을 위한 정성 연구의 시작PART 4 정성 데이터, 이렇게 수집하면 된다PART 5 강력한 신뢰를 얻는 분석 전략PART 6 연구 보고, 어떻게 설득력을 높일까?PART 7 설문 조사, 사용성 테스트, 심층 인터뷰 어디까지 해봤니?PART 8 케이스 스터디 - 리얼북PART 9 실력 있는 UX 리서처로 성장하는 방법 독서(reading) & 책 구성집 근처 도서관에 가서 쭉 읽어봤다나는 개발자이지만, UX에 대한 것은 기획자, 디자이너, 개발자 상관없..
2025.02.25
-
오랜만의 근황 알림...
2025년 1월 어느날, 119에 전화를 해서 구급차를 불렀다.집에 계시던 아버지가 위급한 상황이 왔었기 때문이다.난생 첨 만나본 구급대원들과 구급차였는데..위급한 상황이라 신발을 벗으실 새도 없이 아버지를 들것에 실었다.어머니와 나는 함께 구급차를 탔고, 엠뷸런스를 타고 가는길에 평소에 가시던 병원에 연락해서 그쪽 응급실로 방향을 틀었다.아버지는 응급실에 계시다가 이런저런 검사를 마친 뒤, 호스피스 병동으로 이동을 하시게 됐다.호스피스 병동은 보호자 1명이 필수라, 나와 어머니가 번갈아가며 아버지를 케어했다.또한 바로 옆이 장례식장과 이어져 있어 이 병동은 임종을 대기하는 그런 곳이다. 아버지는 이미 암이 전신으로 다 퍼지신 상태여서 항암치료의 단계를 스탑했었고 마약성 진통제로 견디고 계셨었다.호스피스..
2025.02.10
-
24년, 인프런과 함께하며 성숙해진 해(no 찐 회고, with 인프런)
현재 24년의 마지막 날인 12월 31일 새벽인 시점이다..21, 22, 23, 24년의 내 인프런 강의 대시보드를 보며 비교를 해봤다혹시..... 샤크's in 삭스라는 언어유희를 기대하기 위한 인프런의 아재개그인가..? # 21년 인프런 대시보드(강의 수강 기록)총 47개 수업을 완료하고, 2개의 강의를 완강했다Off The Record로 말하자면 다른 계정에서도 강의를 1개쯤 수강했던 기억이 있어서 총 3개정도를 완강했을 것이다 # 22년 인프런 대시보드(강의 수강 기록)21년과 비교하면 60개나 더 들었고, 4개나 완강했다완료수업률 127%, 총 학습시간 44% 상승! # 23년 인프런 대시보드(강의 수강 기록)나름 열심히(?) 했다. 총 164 완료 수업 및 2개를 완강했다. 약 18시간이면 ..
2024.12.31
-
김영한님 40만 수강생 달성 기념 이벤트: 멘토링권 당첨
인프런 이벤트24년 1월에 30만 수강생 이벤트를 하신 것 같은 기분....이 드는데11월에 벌써 40만 수강생 이벤트가 오픈됐었다1번: 해당 이벤트 페이지 응원 댓글 + 2번: 로드맵에 취업or이직 후기를 올리면 김영한님께서 직접 식사권을 받을 1명, 멘토링을 받을 3명을 선정해주신다고 하셨다!나머지는 40만 포인트 10명, 4만 포인트 100명!!나도 영한님의 온라인 제자로서 정성을 들여서 댓글을 달았다..!!! 결과는...........3등 멘토링권 당첨!!! 인가...?? 하지만....ㅠㅠ 이메일이 거의 다 * 처리가 돼서 내 이메일이 맞나 확신이 안들었다ㅠㅠ 그래서 인프런쪽에 문의를 드린 결과.....!!3등 멘토링권 찐 당첨!!!그리고 거짓말같게도 몇일 뒤에 영한님의 이메일이 도착했다.......
2024.12.19
-
인프런 워밍업 클럽 네트워킹 데이 참여 후기
24년 12월 13일 인프랩에서 열린 에 참여했다 나는 이번 2기 기수에 참여했었다박우빈님이 코치로 계신 백엔드 클린코드+테스트코드 코스였다1달동안 열심히 한 결과.....내 기억이 맞다면 200명이 넘게 신청한 이 인프런 스터디에서 Top6에 들었다는 사실! 칭찬해이번 2기때는 박우빈님의 클린코드+테스트코드 말고도 정보근님의 백엔드 프로젝트 코스, John Ahn님의 프론트엔드 코스, 볼드UX님의 프로덕트 디자인이렇게 총 4개 코스가 있었다 다시 돌아와서 인프런 워밍업 클럽 네트워킹 데이에 대해서 말하자면올해 2월에 처음 시작된 워밍업 클럽에서 10개월동안 총 3개 기수, 10개 스터디. 누적 1,781명의 러너분들과 함께 성장해왔다고 한다기수 무관, 완주여부 무관! 인프런 워밍업 클럽 러너라면 누구나..
2024.12.19
-
NAVER CLOUD CAMP 2024 특별 커리어 성장 세미나 참여 후기
# 네이버클라우드캠프 유명한 다른 교육기관도 있지만 네이버에서 네부캠 말고 클라우드캠프에서 이런 행사를 열어서 신청했다무료 + 클라우드/AI 관련 기술 강연 + 현직 개발자 성공 스토리 + 교육과정 소개 강북구에서 머나먼 성남시에 위치한 네이버 그린팩토리로 찾아갔다..ㅎ딱딱한 의자같지만, 앉으면 엄청 푹신하단 사실!! 2층으로 올라올라뭔가 영화를 보러가는 듯한...? 기분이 드는 좌석배치도까지 있는 큰 곳이었다 # 기술강연오호..... 나는 AI 에이전트까진 알았는데, 소버린 AI는 처음들어봤다!! 신기신기 점점 발전하는 NAVER CLOVA...... 시각과 청각까지....초록집의 무서운 AI 투자... 꼭 잘됐으면 좋겠다!! # 네클캠(네이버클라우드캠프) 소개참고로 유튜브로 실시간 동시송출도 이뤄..
2024.12.19
-
항해99 2025 Commit Calendar 수령 후기
현재(12월 중순 이후)는 사라진 것 같지만.... 11월 초에 항해99에서 2025 커밋 캘린더를 1,000부 한정으로 선착순 이벤트를 열었었다나는 냉큼 가서 신청을 했었다!이후에 여기에서 큰맘먹고 10,000부로 늘려서 다시 배포(?)를 했나보다이 커밋 캘린더에 무슨 기능(?)이 있냐 하면..위와 같은 기능들이 있다! ㅋㅋ 귀염뽀쨕....찐 개발자들이 좋아할것같은... 이런거 싫어하는 사람 눈감아....ㅎ 뭐 결국.... 손이 빨랐기때문에 당첨 완료 So Easy~ # 배송 도착구글에서 인터넷 안되면 게임뜨는거잖아...?ㅋ 귀엽긴열어보니....잔디 마스킹 테이프 버릴뻔..;; 없는줄 알았다달력을 좀 넘겨봤다 올해 파이콘 가서 샀던 파이썬 반팔티랑 후드집업처럼 이 달력도 먼가 찐~개발자같잖아~~맘에드는..
2024.12.19
-
글또 백엔드&인프라 빌리지 반상회 참여 후기
꽤 지났지만.... 12월 5일에 참여했었던 글또 10기의 백엔드&인프라 빌리지 반상회에 참여했던 후기를 이제 올려본다ㅎ # 참여자 모집12/5 목요일 오후7시에 선릉역 근처에 위치한 우아한형제들 테크살롱(우테코 교육장)에서 글또 10기의 백엔드&인프라 반상회가 열렸다 # 행사장 도착아직 12월 초인데도 불구하고, 건물 1층에는 벌써 크리스마스를 위한 준비를 마친 모습ㅋㅋ올해 YouthCon, 조영호님의 도메인 주도 설계의 사실과 오해 6기 수강때문에 총 3회 왔었는데.. 이번까지 4번 방문한 우아한형제들 테크살롱이다!!살짝 늦게 도착했는데... 나를 찾는 몇몇분들이 계셨다..후후(지각이라 안오는줄 아셨...ㅠ) 13층에 위치한 우형 테크살롱으로 올라갔다입구에서 이름이 적힌 목걸이와 초초 귀여운!!! 글..
2024.12.19
-
항해99 잔디 기부 캠페인 참여!!
항해99에서 잔디1개=100원 으로 환산해서 모아진 총 금액을 저소득층 아동을 위한 코딩교육 지원 단체에 기부하는 잔디 기부 캠페인을 열었다개발자의 성장을 진심으로 도모하는 부트캠프인 모습이었다!!그리고 기부하는 취지와 방식, 그리고 결과까지 연말에 정말 따뜻했다...ㅎ 2024년 12월 18일 오전10시쯤에는트리의 37%정도가 채워진 모습이었다하.지.만......같은날 오후10시에 다시 보니89%나 채워진 모습을 볼 수 있었다!! 내 기부증서구글처럼 오프라인이 됐을 때 공룡게임을 할 수 있는 귀여운 크롬 다이노 인형을 받았다아쉬운 점은 public repo의 개수만 체크했단 것이었는데..ㅠ 인증 당시 private repo가 30개정도였기때문에...... 몇개정도 public으로 만들면 Lv. 10?..
2024.12.18
-
Hibernate(JPA) 탐구 - 2편(feat. save() 메서드 분석)
서론지난 1편https://code-boki.tistory.com/266 FlushEvent와 Action Queue의 동작 방식으로 알아보는 Hibernate(JPA) 1편일단 문제를 함께 풀어보자ㅎㅎUser엔티티부터!(사실 서적에서는 엔터티라고 부르던데..난 엔티티가 편하다)QuizGivenJPA를 공부하셨고 구현체인 Hibernate의 ActionQueue에 대해서 들어보셨다면.. 다음code-boki.tistory.com에 이은 2편이다이번에는 save() 메서드를 깊이 파보면서 JPA의 동작방식을 이해해보자ㅋㅋ 진짜 삽질 엄청 많이했다...참고로 이 글은 불친절하게 작성되어 있다나는.. Internet Explorer의 호환성은 싫어했지만, Explorer라는 뜻은 좋아한다탐험가라는 뜻이다...
2024.12.11
-
코루틴 개념 정리, 디버깅 or 출력해보기(feat. IntelliJ Configuration Template)
2023년 회사에서 코틀린을 썼지만, 쓰자마자 코루틴을 바로 사용하지는 않았었다2024년쯤 코루틴을 공부하고 백엔드 코드에 조금씩 사용하는 영역을 넓혀갔다간단하게 코루틴 기본 개념과 활용까지 블로깅을 조금씩 해보려고 한다로니콜먼도 아마 코루틴을 사용해본 경험이 있는 것 같다. 왜냐하면 "Light Weight Baby!!"라고 외치며 헬스를 했으니 말이다 코루틴(Coroutine)이란?코루틴이란 Light-Weight Thread(경랑스레드)라고도 불리며, 스레드와는 독립적으로 실행되는 비동기 작업의 단위이다 내부적으로는 Continuation이라는 객체에 현재 작업(Job)의 진행 상태를 저장하고, suspend와 resume을 통해 작업을 일시 중단하거나 재개할 수 있다이 특성 때문에 코루틴은 스레드..
2024.12.02
-
작심삼주 오블완 챌린지 끗
작심삼주 #오블완 챌린지 끝!!3주동안 하루도 안빼먹고 블로그 포스팅을 했다ㅎㅎㅎ이제... 스마트모니터 M7, 애플워치10, 아이폰16 Pro 중 1개를 받는 일만 남았군!!
2024.11.28
-
Kotlin에서 기존 객체를 다른 객체로 변환하는 다양한 방법
백엔드를 개발하다 보면 기존 객체를 DTO(Data Transfer Object)로 변환하거나 다른 클래스 형태로 매핑해야 하는 일이 자주 발생한다예를 들어, 클라이언트 요청에 맞춘 데이터 포맷 변경, API 응답을 위한 직렬화 객체 변환, 또는 엔티티와 DTO 간 데이터 매핑 등...이 글에서는 Kotlin에서 객체를 변환하는 다양한 방법을 소개하고, 각 방법의 장단점을 비교해 보려한다목표Person -> PersonDto기본적으로 동일한 필드 구조를 가진 클래스 간 변환Person -> PersonExtraDto추가 필드가 포함된 클래스에 데이터를 매핑PrivatePerson(private 필드) -> PersonDto접근제어자가 설정된 필드를 매핑성능 테스트예제 클래스먼저, 예제에서 사용할 간단한 ..
2024.11.27
-
NEXT-STEP 도메인 주도 설계의 사실과 오해 수강 후기
강의 정보도메인 주도 설계의 사실과 오해 6기 수강벌써 1달정도가 지났지만, 약간의 거금(?)을 들여 Next Step의 코스 중 도메인 주도 설계의 사실과 오해 6기를 수강한 후기를 풀어본다10/27(일), 11/3(일) 2주. 2회. 각 오후2시~6시(4시간) 총 8시간에 걸쳐서 우아한형제들 테크살롱에서 오프라인으로 조영호님의 강의를 들었다NEXT STEP에서 유명한 강의는 자바지기, 큰 박재성님의 TDD 강의가 아닐까한다! 난 이 강의는 안 들어봤고, 이번에 처음 수강신청했다조영호님은 , 책을 만드신 저자분이시다!!강의 결제를 하고나서, Next Step으로 로그인을 하고 개인계정으로 들어가면 이렇게 강의 자료가 있는 모습을 볼 수 있다YouthCon때 왔었던 테크살롱을 또 와보니 신기했다 강의장..
2024.11.26
-
Hibernate(JPA) 탐구 - 1편(feat. FlushEvent와 Action Queue)
일단 문제를 함께 풀어보자ㅎㅎUser엔티티부터!(사실 서적에서는 엔터티라고 부르던데..난 엔티티가 편하다)QuizGivenJPA를 공부하셨고 구현체인 Hibernate의 ActionQueue에 대해서 들어보셨다면.. 다음 코드의 성공/실패 결과를 예측해보자 문제1테스트코드라 사실 뭐..given , when, then// given...// when & thenval exception = assertThrows { ...}테스트코드라 사실 뭐..given , when, then 그리고 예외를 잡는부분까지 있어야하지만 간단하게 저 테스트가 초록불이 뜰지 주황/빨간불이 뜰지 정도만 예측해보자 답은?답은.. ActionQueue로 혼동을 주긴 했지만, 이건 delete로 인해 준영속화된 엔티티(id가 nu..
2024.11.25
-
Follow the procedure - 과정을 지켜라(feat. 5whys)
몇몇 신입 개발자들을 보면 쿠버네티스, 레디스 분산락을 활용한 동시성 제어, ArgoCD를 이용한 무중단배포, Spring Batch 사용 등 뭔가 "용어"에 취해있다는 느낌을 받을 때가 있다쿠버네티스를 하기에 앞서 리눅스/도커는 깊게 아는가? 분산락에 레디스를 적용했다면 Redisson, Lettuce중에 어떤 방식으로 사용했는지, 락이라면 MonitorLock/ReentrantLock이란 것도 아는지/쓰면 장점이 뭔지 왜 레디스 분산락이어야만 하는지, ArgoCD를 사용했다면 어느 환경에서 사용했는지 어떤 배포방법을 사용했는지, Spring Batch를 사용했다면 실패하는 것들은 어떻게 처리했는지 재시도 방법은 있는지 OOM같은 이슈는 없었는지 등등..부트캠프에서 하는 발표를 들어도 동시성 제어 ->..
2024.11.24
-
JPA 특징 + 1차 캐시(feat. EntityManager.clear())
먼저 JPA를 사용할때의 장/단점, 특징, 용어 등을 알아야 한다 JPA란?JPA: 데이터베이스와 객체지향 프로그래밍 간의 매핑을 제공하는 ORM(Object-Relational Mapping) 기술특징데이터베이스를 객체로 매핑하여 SQL을 직접 작성하지 않아도 데이터베이스 작업이 가능영속성 컨텍스트를 통해 엔티티의 상태를 관리트랜잭션 범위 내에서 1차 캐시를 통해 데이터베이스 부하를 줄이고 엔티티의 동일성을 보장. 이 글에서는 JPA의 1차 캐시(First Level Cache)를 중심으로 다룬다 캐시, 캐싱이란?캐시(Cache): 데이터나 값을 미리 복사해 놓는 임시 장소캐싱(Caching): 캐시된 영역에서 데이터를 저장하거나 조회하는 접근 방식 1차 캐시란?1차 캐시(First Level Cach..
2024.11.23
-
KafkaKRU(Kafka 한국사용자 모임) 2024 2nd Meet-up 후기
행사 모집글행사 모집글을 페이스북의 KAFKA 한국 사용자 모임 그룹에서 먼저 봤다냉큼 들어가서 신청을 했다. 참가비는 5000원이었다*고승범님은 위의 2018년에 [카프카, 데이터 플랫폼의 최강자], 2021년에 [실전 카프카 개발부터 운영까지]라는 책을 쓰신 저자님이시다 추후에 보니 토비님도 잠시 오시기로 했나보다원래 20:00시까지였었던 행사가 20:20으로 늘어나면서 토비님이 잠시 마이크를 잡는 시간이 추가됐다요번 밋업 참가를 계기로 토비님께 잠시 인사드리러 가기로 마음먹었다놀라시지 않게 Toby님이 운영중이신 디스코드방에 하루 전날 말씀을 드렸다!행사당일(24.11.21)을지로입구역을 나와서 조금 걷다보니 어느새 행사장소에 도착했다조금 늦어서 오프닝때가 지나서 들어왔다..😂행사관련 직원분께서 ..
2024.11.22
-
MySQL Select 쿼리 실행 순서 알아보기(feat. EXPLAIN, ANALYZE)
조금은 쉬운 Q&A일수도 있다하지만 종종 면접에도 나오는 질문이기때문에 손으로 직접 실행해보면서 알아보기로 한다 Q. SELECT 쿼리문 실행 순서일단 개발자의 숙명: 검색을 이용하면 결과는 이렇게 나온다(요즘엔 구글링에서 프롬프팅으로 넘어가는 추세이지만...) FROM AND JOIN🔽WHERE🔽GROUP BY🔽HAVING🔽SELECT🔽ORDER BY🔽LIMIT 테스트 테이블 & 데이터 준비일단 이걸 검증하기 위한 employee, department_info 테이블 2개를 만들었다예제 쿼리이런 느낌들로 쭉 쿼리를 실행해볼 예정이다/* FROM */SELECT *FROM employee;일단 employee 테이블의 전체 데이터가 출력되는 쿼리를 실행시켰다* 쿼리 실행결과가 에디터 내부에 나..
2024.11.21
-
올해는 Lucky Boki의 해 🍀
뭔가 IT 블로그이기때문에 여러 사람들에게 양질의 IT 지식을 전파해야하지만... 이번 글은 뭔가 쉬어가면서 최근에 운이 좋았던 순간들을 적어볼까 한다 참고로 운도 운이지만 내가 한가지를 시작하면 진짜 오랫동안 꾸준~~~~히 하기때문에 이런 행운들이 따라주는거 아닌가 싶다 - 오쏘콘 행사 추첨 3등 당첨 -> Devfest 2024 Songdo VIP 티켓(2인) - 항해99 커밋 캘린더 증정 이벤트 당첨 - 내 블로그를 꾸준히 보고 계신다는 팬(??)분과의 대화E-mail과 linkedin DM으로 각각 다른분이 연락을 주셨다 아직 주니어에 불과하고, 모르는것 투성인데....ㅠ 내가 백엔드 -> 풀스택 -> 백엔드&데봅스 커리어를 왔다갔다하느라 카테고리에 하나에 대해 A-Z까지 다룬게 없는데도 불구하고..
2024.11.20
-
it, 그것을 찾아서
코틀린에서 람다식을 사용할때 인자가 하나인 경우에 it으로 사용할 수 있다 2024년 11월 19일 기준 코틀린 최신버전인 2.021문서를 살펴보면 위의 내용이 나와있다it: implicit name of a single parameter-> 번역: 단일 매개변수의 암시적 이름 it의 활용 예시를 들기 위해.. 간단한 코드를 만들어봤다* 간단한 포스팅용 코드이므로, Assertion이 없다고 불편해하지 마시라!ㅠ. 학습용 테스트도 테스트의 일부일 수 있는것처럼package bokiimport org.junit.jupiter.api.Testclass ItTest { data class Person( val name: String, val age: Int, ) @Te..
2024.11.19
-
오쏘콘(Open Source Conference) 참여 후기(feat. Pay it forward)
잘 지내셨나요? 이번에는 2024년 11월 16일 토요일에 다녀왔던 오픈소스 관련 개발행사에 다녀온 후기를 올려봅니다!여기서부터는 음슴체 반말체로 진행할 예정입니다..ㅎㅎ 지난주 토요일에 인천스타트업파크 6층 커넥트홀에서 열린 오픈소스 컨퍼런스에 참여했다Festa라는 플랫폼을 통해 행사를 신청했고, 입장권은 3만원이었고, 139명이나 신청한 중 규모의 행사였다!!판교에 위치한 스타트업캠퍼스의 인프랩은 가봤는데, 인천에도 스타트업파크가 있는지 처음 알았다!한분한분 너무 대단하신 분들의 발표를 들을 수 있다 대략 내가 사는 강북구에서 행사장까지 소요되는 시간은 약 2시간 30분...!!No Car, So Sad..🥺 어쨌든 환승을 포함해 약 2시간 40분정도 걸려서 도착한 이곳...!!건물이름이 인스타였는..
2024.11.18
-
Naver DAN24 행사 후기
올해 대형 기업들의 컨퍼런스들이 연달아 이어지고 있다나는 그 중 네이버의 DAN24 행사에 선착순으로 신청을 했었는데 운좋게 Day1, Day2 둘 다 당첨되게 되어 이번에 월요일, 화요일에 네이버 행사를 다녀온 이야기를 풀어볼까한다 What is DAN?행사기간: 2024.11.11~2024.11.12 Day1코엑스에 도착해서 네이버페이 월렛에 있는 NFT로 인증을 하고 입장을 했다등록을 마치면서 제공해주는 담요를 받았다위치는 Coex Grand Ballroom등록을 끝내고 돌아오니 대형 디스플레이가 반겨줬다로켓..단! 아니지 네이버..단!일단 급하게 세션에 참여하는 것보다, 1/2/3F를 다 가보고 부스를 방문해보는 것을 먼저 하기로 했다나중에 알고보니 2층에도 있었지만, 3층에서 먼저 발견하게 된 ..
2024.11.17
-
Redis란?
RedisRemote Dictionary ServerOpenSource, In-memory Data Storemade by ANSI-C * ANSI C(C언어)ANSI C, ISO C, 표준 C(Standard C)는 미국 국립 표준 협회(ANSI)와 국제 표준화 기구(ISO)가 출판한 C 프로그래밍 언어의 이후 표준들을 가리킨다. 역사적으로 이 이름들은 오리지널의 가장 잘 지원되는 버전의 표준(C89 또는 C90)을 가리켰다 C (프로그래밍 언어) - 위키백과, 우리 모두의 백과사전위키백과, 우리 모두의 백과사전. C패러다임명령형 프로그래밍 (절차적 프로그래밍), 구조적 프로그래밍설계자데니스 리치개발자데니스 리치, 벨 연구소발표일1972년최근 버전C17최근 버전 출시ko.wikipedia.org 특징K..
2024.11.16
-
JPA Query 로그 출력(feat. 물고기를 주지말고, 물고기 잡는 법좀 알려줘라..)
블로그에 텍스트 복사/붙여넣기를 막은 이유가 있다내가 정성들여 쓴 IntelliJ 플러그인 25가지 추천 글을 문자 그대로 토씨 하나 안바꾸고 크롤링을 해서 자기 블로그에 그대로 올리는 사람이 있는가하면, 그대로 복붙해서 출처없이 올리는 걸 봤다그때 충격이었다 또한 블로그를 하는 사람들을 무시하는 사람들의 말을 들어보면, 블로그를 한다고 유세떤다, 남의꺼 복붙해서 가져다 쓰는 것이라 말한다나도 어느정도는 동의한다. 양질저질 품질로 따졌을 때 단순히 에러를 해결하는 방법 1줄, 2줄 이정도만 올리는 저질글들이 많다 하지만....시간이 지나감에 따라 21년에 쓴 글이 25년에 될때는 버전 업이 돼서 정답이 아닐지라도 최대한 보는 사람들을 위해서 간단한 프로젝트를 만들어보거나 개인프로젝트에 적용시켜서 테스트를..
2024.11.15
-
SDF: Seoul Design Festival 2024 나들이
본업은 개발자이고, 개발일을 좋아하긴 하지만...개발자는 코딩, 프로그래밍만 하지 않는다먹고 자고 쉬고... 뇌도 휴식을 취해야 기억력도 더 좋아지고 치매도 예방되고 그렇다고 한다! 뭐, 위에 말한건 그냥 겉치레용이고.. 개발과 비슷한 열정변태들이 모인 디자이너들의 영역을 체험해보기 위해 Seoul 코엑스에서 열린 Design Festival 2024에 다녀온 이야기를 써보려고 한다(사실 2023년에도 갔다온.....ㅎㅎ)2024.11.13(수) ~ 2024.11.17(일)까지 열린 행사였는데, 첫 날인 수요일에 다녀왔다! SDF: Seoul Design Festival 20241층에서 QR코드로 입장체크를 하고 손목에 차는 팔찌를 받고, 3층 입구에서 팜플렛을 받아서 입장했다 귀엽고, 요상한 조형물도 ..
2024.11.14
-
RDB라고 해서 FK가 꼭 필요할까?
퇴사를 하면서 Off-Boarding 당시 받은 백엔드 피드백들이 있다오늘은 그 중 하나인 외래키에 대해서 작성해보려고 한다 나는 그 당시 1인 백엔드 - 코틀린 스프링부트 개발자로 스키마설계까지도 참여를 했었다간단한 프로젝트였기때문에 테이블은 10개정도 나왔었다그 중 현실화를 하면서 모델링거쳐 1:N 이런 관계가 들어간다면 당연하게도 외래키도 있는 형태로 설계를 했었다 단순히 "A가 만들어지기 위해서는 B도 존재해야 한다"는 건 진리일 수 있다"Order(주문)이 만들어지기 위해서는 User(사용자)가 필요하다"는 사실이다로그인한 유저가 없으면 주문을 할 수 없는 것은 당연하기 때문.. 그러면 수 많은 기업들이 정말 외래키를 사용하고 있을까? 확답은 못하겠지만 No쪽에 가깝지 않을까 싶다소위 네카라쿠배..
2024.11.13
-
11월 가평 가족 여행
아버지의 건강 이슈 등으로 인해 주말에 가족 여행을 다녀오기로 했다추천 장소는 가평, 양평!!1박 2일. 5인그 중 좋은 숙소를 예약한 가평으로 정했다! 숙소청평호 뷰가 보이는스위티안 호텔&리조트참고: 차량 없이는 이동이 어려움 식사출발지 - 강북점심 식사 - 강마을다람쥐 덕소점저녁 - 호텔 레스토랑 다음날 아침 - 컵라면점심 - 설렁탕&소고기무국저녁 - 도착 출발 진짜 대존맛!!최애: 도토리 전 샐러드, 2순위: 도토리 해물파전너무 맛있었다..ㅠ 침쥬륵 방2개를 예약했었다숙소는 복층으로 되어있고, 변기가 있는 화장실 1/2층, 샤워실 2층. 침대 2층1층은 TV및 발코니, 의자, 화장대, 침구류 등이 있었다8월까지만 바베큐장을 운영하고 현재는 운영하고 있지 않다고 했다바로 옆에 바다는 아니지만 큰 강이..
2024.11.12
전체 글
-
기본에 충실한 30만원대 가성비 노트북 베이직북S/태블릿PC 실사용 후기
-
누구나 아는 나만 모르는 챗GPT 서평
-
구스마일의 월 1,000만원 버는 유튜브 첫걸음 가이드북 서평
-
"코드 너머, 회사보다 오래 남을 개발자" 서평
-
AWS 25$ 크레딧 Get!!
-
JPA SoftDelete 적용하기(feat. 최신버전 + JPA/Hibernate/JDSL)
-
영한님과 2주 연속 만난 썰..
-
자바 최적화 2판 서평
-
멀티패러다임 프로그래밍 서평
-
인프런.. 고마워요!
-
이펙티브 소프트웨어 아키텍처(Effective Software Architecture)
-
제대로 시작하는 챗GPT와 AI활용 with 파이썬
-
JETBRAINS | Junie 사용후기 from. EAP User
-
Vlad님 강의 후기(feat. 인프런, 자바 챔피언)
-
인프런 워밍업 클럽 스터디 3기 백엔드/프로젝트(Kotlin, Springboot) 수료식 및 우수러너 선정
-
자바 코드의 품질을 높이는 100가지 방법
-
4주차 회고 발자국 🐾
-
3주차 회고 발자국 🐾
-
2주차 회고 발자국 🐾
-
개발자의 필수덕목 1.Debugging(디버깅)
-
1주차 회고 발자국 🐾
-
Connection을 제어해!! 밑단부터 알아보는 Database와 Application(Security, Management, Application, OSIV) + TCP, JDBC, LazyConnectionDataSourceProxy, JPA
-
고작 다섯 명이 한 말을 어떻게 믿어요?
-
오랜만의 근황 알림...
-
24년, 인프런과 함께하며 성숙해진 해(no 찐 회고, with 인프런)
-
김영한님 40만 수강생 달성 기념 이벤트: 멘토링권 당첨
-
인프런 워밍업 클럽 네트워킹 데이 참여 후기
-
NAVER CLOUD CAMP 2024 특별 커리어 성장 세미나 참여 후기
-
항해99 2025 Commit Calendar 수령 후기
-
글또 백엔드&인프라 빌리지 반상회 참여 후기
-
항해99 잔디 기부 캠페인 참여!!
-
Hibernate(JPA) 탐구 - 2편(feat. save() 메서드 분석)
-
코루틴 개념 정리, 디버깅 or 출력해보기(feat. IntelliJ Configuration Template)
-
작심삼주 오블완 챌린지 끗
-
Kotlin에서 기존 객체를 다른 객체로 변환하는 다양한 방법
-
NEXT-STEP 도메인 주도 설계의 사실과 오해 수강 후기
-
Hibernate(JPA) 탐구 - 1편(feat. FlushEvent와 Action Queue)
-
Follow the procedure - 과정을 지켜라(feat. 5whys)
-
JPA 특징 + 1차 캐시(feat. EntityManager.clear())
-
KafkaKRU(Kafka 한국사용자 모임) 2024 2nd Meet-up 후기
-
MySQL Select 쿼리 실행 순서 알아보기(feat. EXPLAIN, ANALYZE)
-
올해는 Lucky Boki의 해 🍀
-
it, 그것을 찾아서
-
오쏘콘(Open Source Conference) 참여 후기(feat. Pay it forward)
-
Naver DAN24 행사 후기
-
Redis란?
-
JPA Query 로그 출력(feat. 물고기를 주지말고, 물고기 잡는 법좀 알려줘라..)
-
SDF: Seoul Design Festival 2024 나들이
-
RDB라고 해서 FK가 꼭 필요할까?
-
11월 가평 가족 여행
-
인프런 멘토링 후기
-
네이버 행사 D-1 [DAN 24]
-
주말운전 - 네카넥 가보기(네이버,카카오,넥슨)
-
원티드 오프로드 스테이션 참여!할 예정
-
자꾸 까먹는 깃허브 토큰 등록해놓고 사용하자(MacOS)
-
인프런 워밍업 스터디 클럽 2기 백엔드(클린코드/테스트코드) 수료식 참여 및 후기(feat. 우수러너 선정 😎)
-
파이콘 Korea 2024 / KSUG 2024 가을 세미나 참여 후기
-
10월 볼트 X 커피챗 참여 후기(feat. 볼트커피챗)
-
<만들면서 배우는 클린 아키텍처 X 도메인 주도 개발 시작하기> 책 리뷰
-
4주차 회고 발자국 🐾
-
판교 퇴근길 밋업 with 인프런 #08 HTTP 참여 후기
-
Mission - Day 18
-
두근두근 2024년
-
DEVCON 2024 at 한빛앤 사옥
-
3주차 회고 발자국 🐾
-
Mission - Day 15
-
당근 테크 밋업 참여 후기
-
Spring boot 3.x.x(Spring 6.x.x)의 API 호출방법 with openFeign
-
2주차 회고 발자국 🐾
-
1주차 회고 발자국 🐾
-
좋은 회고란? (feat. 인프랩's SOL)
-
에어팟 맥스: DLCA Tech-Tree CON 스탬프 이벤트 당첨!!
-
Mission - Day 4
-
Mission - Day 2
-
Kotlin IN ACTION 2nd : 원서를 읽어보자
-
Github에서 코드리뷰하기(feat. 멘티분들의 프로젝트 Live Review)
-
DLCA Tech-Tree Con 행사 참여 후기
-
Wanted 프리온보딩 BE 챌린지 8월
-
인프런 스터디(백엔드 클린 코드, 테스트 코드) OT
-
인프런 워밍업 클럽 스터디 2기(백엔드 클린 코드, 테스트 코드) 신청
-
[F-Lab 플러그인] IT 인프라, 얼마나 알아야 하나요? (feat. 우아한 형제들 이동규님)
-
KKCD(Kubernetes Korea Community Day) 2024 참여 후기
-
글또 10기(마지막 기수) 합격
-
삶의 지도 - 과거부터 현재까지
-
혹시... 아직도 Java-Faker 쓰세요?(Vulnerabilities을 무시하고 있지는 않으신가요?)
-
JSCODE 스터디 후기(자바 1기)
-
5주차 스터디 노트
-
4주차 스터디 노트
-
8/31 유스콘(YouthCon24) 참여 후기
-
8/27 캠프콘 참여 후기(feat. 토비의 스프링 책 판매자님과의 만남)
-
볼트 X 커피챗 참여 후기(feat. 토스증권 서버 리드분과의 슈퍼커피챗)
-
3주차 스터디 노트
-
자바에서의 다양한 문자열 포맷팅 방법(feat. MessageFormat)
-
Mutable/Immutable Object의 Value를 계속 변경하면 무슨 일이 발생할까? (feat. VisualVM, GC)
-
서평-한빛미디어) 실무로 통하는 클린 코드 책 리뷰
-
자바에서 두 변수 값 바꾸기(Swap, Generic, Wrapper)
-
Reference type(Mutable Object)의 Call By Value 살펴보기 2
-
Chat GPT 좀 더 잘 사용하기
-
2주차 스터디 노트
-
Reference type의 Call By Value 살펴보기(feat. JNI, Immutable/Mutable)