Pinned
-
삶의 지도 - 과거부터 현재까지
이 글은 글쓰는 개발자 모임, 글또 10기를 지원하기 위해 작성한 글이기도 하며, 제가 한번쯤은 적고 싶었던 제 일대기에 관한 글입니다1992.05 ~ 2024.09(now)1~7살[탄생~유치원](1992~1998)Hello World! But...나는 이 세상에 37주 미만에 태어난 미숙아임과 동시에 2.2kg인 저출생체중아로 태어났다인큐베이터에 꽤 오랜 시간을 있었다고 한다...ㅠ약하게 태어난 탓일까... 어머니가 말씀하시길 나는 3살 초까지 먹는것들 대부분을 게워내기 일쑤였고, 말하는 것도 늦었다고 했다이러나저러나 애기였던 나는 그래도 태어난 김에 살고싶었나보다..ㅎ 그래도 조금씩은 건강을 회복해 나아갔다하지만 태어날 때 미숙아여서 그런진 몰라도 위 사진에 첨부한 안 좋은 특성중에 몇개가 있는 것 ..
2024.09.22
-
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
-
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
-
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
-
Mutable/Immutable Object의 Value를 계속 변경하면 무슨 일이 발생할까? (feat. VisualVM, GC)
이번 포스팅으로 Immutable 객체의 상태(값)을 반복해서 변경하면 무슨 일이 발생하는지 알아보자 관찰점: 힙 메모리가 어떻게 변하는지, 힙 메모리에 올라온 객체를 재사용하는지, GC가 몇 번 발생하는지Visual VMHeap 메모리를 관찰하는 Tool로 VisualVM을 사용할 것이다 이 프로그램은 몇몇 플러그인을 설치할 수 있는데, 나는 GC를 보기 위해 Visual GC 플러그인을 설치했다 예제 코드Immutable(Integer)실행결과를 예상해보자이전 포스팅 글들을 봤다면 Integer를 이런 식으로 더하다보면 새로운 힙 메모리가 할당된다고 예상할 수 있을 것이다x += 10; // 이 코드는 아래 코드로 변환되어서 실행x = Integer.valueOf(x.intValue() + 10); ..
2024.08.27
-
자바에서 두 변수 값 바꾸기(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
-
혹시... 아직도 Java-Faker 쓰세요?(Vulnerabilities을 무시하고 있지는 않으신가요?)
Java/Kotlin Spring 진영에서 테스트코드 혹은 실제와 비슷한 더미데이터를 생성할때 쓰는 라이브러리가 있다[ 보통 테스트 코드에서 사용하는 Fixture나 대표/운영진분들이 투자자분들한테 실제와 같은 데이터로 시연화면을 보여주고 싶을때 사용 ] 그것은 아마 자바 대상혁(Java-Faker) 라이브러리일것이다..(너..롤하냐? 왜 기습숭배를..)이 라이브러리의 시초는 루비이며, 거기서 파생되어 나온 프로젝트이다( Maven Repository에서 무려 1833위인 라이브러리 )인터넷에 몇몇 글들 혹은 개발 강의를 보면 이 라이브러리를 가져다 쓰는 곳을 볼 수 있다나름 버전관리도 꽤 한 모습이다(0.18에서 왜 갑자기 1.0으로..?)하지만 가장 최근 버전을 눌러보면9개의 취약성을 갖고 있다는 것..
2024.09.17
인기글
-
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
-
2023 플러터 앱 핸드폰에 설치해서 실행해보기(iOS)
아이폰은 안드로이드보다 많이 복잡하다..ㅎ 1. 아이폰 직접 연결 우선 아이폰을 컴퓨터에 직접 연결한다 이 표시가 뜨면 신뢰를 누른다 그럼 맥북의 Finder→위치에 본인의 아이폰이 보일 것이다 이 기기에 한번도 연결한 적이 없다면, iPhone 백업을 암호화하라는 창이 뜬다. 이 부분은 백업에 관한 설정인데, 암호화를 하지 않으면 중요 데이터는 빼고 백업이 되고, 백업 암호화를 하면 중요데이터를 포함한다 연결된 상태에서 Finder의 일반 탭에서 아래로 내려서 Wi-Fi에 연결되어 있을 때 이 아이폰 보기를 체크해준다 2. 아이폰 개발자 도구 활성화 핸드폰에서 개인정보 보호 및 보안으로 들어간다 아래의 개발자 도구를 끔→켬으로 바꿔준다 (재부팅) 재시동 3. iOS Dev 계정 - team(개인) 등록..
2023.01.12
-
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
-
원격 서버 접속하기(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
-
2023 플러터 앱 핸드폰에 설치해서 실행해보기(Android)
1. 안드로이드 개발자 모드 활성화 설정 → 휴대전화 정보 → 소프트웨어 정보 로 들어간다 빌드번호를 여러번 클릭한다 xx 1단계 전입니다에서 한번 더 클릭하면 비밀번호를 입력하라고 나온다 비밀번호를 입력하면 ‘개발자 모드를 켰습니다’ 메시지가 나온다 그리고 다시 설정으로 가보면 맨 아래에 개발자 옵션 메뉴가 생긴 것을 볼 수 있다 클릭을 해서 들어가자 아래에 디버깅 탭에서 USB 디버깅을 활성화해주자 2. 핸드폰 연결 Mac 유저의 경우 허용 핸드폰에서 뜨는 메세지 USB 디버깅 항상 허용을 체크하고 확인을 한다 3. Android Studio 핸드폰을 연결한 채로 안드로이드를 켜준다 우측 상단 타겟에서 안드로이드 기기를 선택한다 그리고 오른쪽의 Run을 누른다 Running Gradle task 'a..
2023.01.12
-
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
-
인텔리제이 프로젝트명 수정하기
1. 파일 - Project Structure(맥 기준: Cmd + ;) 프로젝트 이름 수정 2. settings.gradle안에서 rootProject.name = 수정 3. 새로 고침
2022.01.16
-
오쏘콘(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
-
Whitespace Characters 제거하기 + 여러가지
Whitespace Characters는 공백문자 그리고 이 WhiteSpace Character의 종류에는 1. 가로 크기를 차지하는 공백 문자(눈에 보임) 2. 세로 크기를 차지하는 공백 문자(눈에 보임) 3. 1 또는 2지만 눈에 보이지 않는 공백 문자가 있다 특히 3번의 경우는 일부러 사용하는 경우도 있고(화면에 보여줄 때), 일부러 제거하는 경우도 있다(서버에서 받을 때) 아니 3번같은게 어디 있어~? 라고 말씀하시는 분들은 아래에 더블클릭으로 보라돌이 뚜비 나나 뽀를 선택해보자 NORMAL의 경우는 전체가 블록으로 지정되고, SPACE의 경우는 공백마다 블록 지정, ZERO_WIDTH_SPACE의 경우에는 눈에는 NORMAL이랑 비슷하지만 [보라돌이]를 누르면 보라돌이만 선택되고 [뚜비]쪽을 ..
2022.11.26
-
IntelliJ로 코딩테스트를 하는 분들을 위한 플러그인
보이시나요!? 왼쪽에 코드 치는 부분과 별개로 우측에 문제 부분이 나온것을... Embedded Web Browser라는 플러그인입니다 집에서 듀얼 모니터로 한다면 상관이 없지만, 카페에 노트북 하나 들고가서 코딩하시는분들은 알트탭이 월마나 귀찮은지, 특히 코테문제같은거를 풀때 아실거에요 인텔리제이 설정창에서 플러그인 탭을 누르시고 web browser를 검색하시면 embedded web browser가 나옵니다! 이거를 설치하면 우측 탭에 embedded web browser라는게 생깁니다 주소를 적는 쪽에 붙여넣기를 하고 Go를 누르면 이동됩니다 참고로 아쉬운점은 브라우저 내부에서 뒤로가기가 안된다는 점입니다 저는 혹시라도 보안을 생각해서 백준 비밀번호를 쉬운거로 바꾸고 저쪽에서 로그인 해서 제출한다..
2021.08.08
-
MacOS 터미널 좀 더 잘쓰기(feat. 단축키)
개발용으로 macOS를 사용중이라면 터미널을 한번쯤은 사용할 것이다! 보통 기능이 많은 iTerm 등을 쓴다지만, 나는 기본 터미널을 zsh를 다운받아서 바꿔서 쓰고 있다 지금부터 터미널 단축키에 대해 조금 더 알아본다 최대한 iTerm과 기본터미널 둘 다 호환되는 단축키로 포스팅하려고 한다 ps명령어와 tty명령어로 현재 두개의 프로세스(터미널 2개)를 띄워둔 상태이다 내가 무슨 키를 누르는지 모르기 때문에 keyboard viewer를 이용해서 입력되는 키를 보이게 해준다 윈도우(창) 및 작업 탭 아래의 단축키중에서 새 창 열기/창 닫기, 창 이동, 새 탭 열기/탭 닫기, 탭 이동은 크롬, VScode, IntelliJ 등 다 적용되는 전역적인 MacOS 단축키이다 폰트 키우기: cmd + plus(..
2023.11.15
-
프로젝트 파일 구조 명령어 - 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
-
볼트 X 커피챗 참여 후기(feat. 토스증권 서버 리드분과의 슈퍼커피챗)
행사 안내 문자 수신8/19일에 볼트X에서 행사 안내 문자를 수신받았다3개 기업이 참여하고, 테크리드분들을 만나뵙고 슈퍼커피챗 기회도 얻을 수 있다는 행사라고 한다관심이 있었기에 아래의 이벤터스 링크로 들어가서 신청했다행사 소개행사 신청이벤터스를 통해 행사를 신청했다항상 추첨 방식 또는 선착순으로만 행사를 참여했었는데 이번에는 이력서를 제출하고 3개 기업이 수락한 사람들 중에서 총 100명만 행사를 참여할 수 있었다또한 토스증권, 라포랩스, 스윙에서 제출된 이력서들을 미리 보고 관심가는 단 20명을 뽑아서 테크 리드와의 슈퍼커피챗 기회를 주는 선발형 이벤트도 있었다행사 3일 전까지만 해도 참가대기 상태였다가, 참가확정이 되었다. 확정이 되었다는 안내 메일 또한 받았다 토스증권 서버 리드분과의 슈퍼커피챗 ..
2024.08.30
-
혼공네트 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
-
Mixed Content:
Let's Encrypt! 등으로 Https를 적용 후 api요청을 http로 보내면 발생하는 브라우저 보안 에러이다 HTTS는 HTTP의 TCP/IP 통신에 SSL(Secure Socket Layer)를 한층 더 위에 얹은 것이다 공개키알고리즘으로 CA(인증 기관)과 암/복호화를 통해 본인인증이 맞는지 검증을 한다 브라우저 내의 자물쇠 모양을 클릭하면 알수있다 우선 이 Mixed Content에러는 https에서 http로 요청을 보낼때 발생한다 해결방법은 4가지가 있다 1. API 요청을 http://~~~ 가 아닌 https://~~~ 로 요청해서 처리하기 2. 페이지의 meta 태그에 내용 추가 -> 아래의 의미는 안전하지 않은 요청들을 https로 업그레이드 해서 요청하겠다는 뜻이다 1번은 하나..
2022.06.27
-
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
-
IntelliJ에서 Vue.js프로젝트 만들기
사실 프론트엔드분들은 VScode -> WebStorm 순으로 IDEA를 많이 쓸 것 같지만 나는...쪼렙 초보이기때문에 IntelliJ로 프론트를 개발한다(사실은 회사에서 인텔리제이 라이센스만 줘서.. + 내 돈으로 웹스톰 결제하기 싫..ㅋㅋ) 그래서 인텔리제이로 뷰를 공부해보려고 한다 내 인텔리제이 버전은 2022.4 Ultimate Edition이다 기본적으로 인텔리제이에서 새 프로젝트를 만들면 뷰 프로젝트가 안보인다 아마 내 기억으로 WebStorm은 뷰 프로젝트가 있던 것 같다 그럼 인텔리제이는 어떻게 해야하나..? 일단 플러그인에서 Vue.js 플러그인을 검색해서 설치하자 그리고 새 프로젝트를 만들어보면... 아래 Vue.js를 만드는 프로젝트가 보일것이다 이거로 새 프로젝트를 만들자..! 일..
2022.12.08
-
맥은 리눅스인가요?
차라리 질문을 유닉스인가요?라고 말했으면 맞았을텐데 아쉽다 맥과 리눅스는 형제도 아니고 먼 친척쯤이다 잠시 Unix의 역사에 대해서 짧막하게 쓰겠다 Unix는 Bell 연구소의 AT&T에서 만들어졌다 시간이 지남에 따라 캘리포니아 대학교 버클리 캠퍼스의 빌 조이가 유닉스 소스코드를 기반으로 BSD의 최초 버전을 배포하였다 BSD는 Berkeley Software Distribution에서 앞글자를 따서 불리게 된다 그리고 Linux는 Linux is not Unix라는 뜻으로 시작했다(이 이름을 따서 NoSQL도 Not only SQL같은 재귀적인 이름이 나오지 않았나 한다) 리눅스 코드는 그 유명한 리누스 토발즈 형님이 개발했고 어떤 유닉스 코드도 포함하지 않았다고 한다 참고로 리눅스가 더 먼저 만들어..
2022.09.03
-
협업을 위한 - 커밋 규칙과 이슈번호 사용 그리고 템플릿 만들기
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
-
IntelliJ Honey Tips
1. 멀티모듈) 프로젝트의 정보들이 너무 길 때 나는 이 프로젝트의 - ~/ 같은 경로도 보고 싶지 않고, 실제로 개발하다보면 깔끔함을 추구하고싶다 그럴때에는 여기 화살표를 눌러주자 그리고 패키지를 선택해주면! 난 이정도도 깔끔해진거같다! 또 다른 옵션으로는 프로덕션 / 테스트로도 볼 수 있다 실제로 테스트 코드만 볼 수 있다! 매우 좋음 짱짱 2. 멀티모듈, MSA 방식일때 내가 쓰고 있는 DTO가 어디에 있는건지 찾고 싶을 때가 있다. 파일은 열려잇는데, 이게 어느 모듈, 위치에 있는지 알고 싶을때가 있다. 이럴때 이 옵션을 체크하면 된다 이걸 체크해주면 현재 열려있는 파일이 어느 위치에 있는지 열리게 된다 현재 열려있는 AuthController를 프로젝트 경로에서 어디있는지 바로 열어준다 현재 C..
2022.03.06
-
10월 볼트 X 커피챗 참여 후기(feat. 볼트커피챗)
10월 볼트 X 커피챗 참여기업저번 8월 이후로 이번 10월에 또 한번 쟁쟁한 기업들이 참여했다!! 행사 참여(10/24)강남에 있는 스타트업 성지인 MARU 180 / 저녁 7시행사가 열린 지하1층으로 내려가기 전에 행사 입간판을, 지하로 내려가는 엘리베이터에서 행사 포스터를 볼 수 있었다 지하로 내려가봤다오른쪽 테이블에서 참가자 확인 후 목걸이 명찰을 받을 수 있었고, 왼쪽 테이블에서는 제로콜라와 서브웨이 쿠키 및 샌드위치를 받아갈 수 있다!(갯수 제한 X.. 👀)덕분에 나도 쿠키 쫌 많이 챙겼다..헷 개발직군 & 비개발직군 모두 놓치지 않을꺼에요세션1: 비개발 + 개발직군 (픽소 CEO, 챌린저스 Lead, 하이퍼커넥트 PM Leader, AI Head)휴식 & 네트워킹세션2: 개발 직군 (오픈엣..
2024.11.02
-
혹시... 아직도 Java-Faker 쓰세요?(Vulnerabilities을 무시하고 있지는 않으신가요?)
Java/Kotlin Spring 진영에서 테스트코드 혹은 실제와 비슷한 더미데이터를 생성할때 쓰는 라이브러리가 있다[ 보통 테스트 코드에서 사용하는 Fixture나 대표/운영진분들이 투자자분들한테 실제와 같은 데이터로 시연화면을 보여주고 싶을때 사용 ] 그것은 아마 자바 대상혁(Java-Faker) 라이브러리일것이다..(너..롤하냐? 왜 기습숭배를..)이 라이브러리의 시초는 루비이며, 거기서 파생되어 나온 프로젝트이다( Maven Repository에서 무려 1833위인 라이브러리 )인터넷에 몇몇 글들 혹은 개발 강의를 보면 이 라이브러리를 가져다 쓰는 곳을 볼 수 있다나름 버전관리도 꽤 한 모습이다(0.18에서 왜 갑자기 1.0으로..?)하지만 가장 최근 버전을 눌러보면9개의 취약성을 갖고 있다는 것..
2024.09.17
-
Blocking/Non-Blocking & Sync/Async가 뭔데?
흔히들 글이나 그림으로 설명을 하기만 한다. 나는 그런 것보다 직접 눈으로 봐야 직성이 풀린다(기능 작성 or 테스트 코드) 자 그럼 WebClient와 함께 테스트를 해보겠다 Spring은 기본적으로 Blocking/Sync 방식으로 동작을 하고 Node.js가 Non-blocking/Async 방식으로 동작을 한다 비동기 방식은 순차처리를 지원하지않는다 순서가 중요한 처리는 동기방식으로 처리를 해야한다(또한 잠금이 필요한 경우) 비동기관련용어 - ajax, XMLHttpRequest, Callback, Promise... Blocking / Non-blocking 은 호출된 함수가 호출한 함수에게 제어권을 바로 주느냐 안주느냐, Sync / Async 는 호출된 함수의 종료를 호출한 함수가 처리하느냐..
2022.03.23
-
Mac에서 백그라운드로 프로세서 실행해놓고 계속 쓰기(feat. jar)
nohup java -jar port-8888.jar & lsof -i tcp:8888 음 사실 윈도우도 마찬가지긴한데.. & 명령어와 nohup을 이용하면 된다 자주 쓰일만한 어플리케이션 가볍게 계속 켜두고 싶어서 찾아보게 되었다 실행 내역은 nohup.out에 쌓이게 되어서 cat hohup.out으로 상태를 확인할 수 있다(동적이 아니고 실행 로그겠지만) 터미널이 꺼져도 실행되기 때문에 개꿀~ 어차피 집에서 쓰는거라 jar파일은 포트번호로 네이밍을 해줬다. 또 집에서만 쓸거라 /경로가 입력되면 request에서 서버포트 뽑아내서 localhost:port/swagger-ui/index.html로 리다이렉션 시켰다ㅋ 잘되는지 확인~ 예시 입력값은 프로그래머스의 '거리두기 확인하기'로 정했다 스웨거 확..
2022.02.19
-
협업을 위한 - Gitmoji 도입해보기
왜 도입을..?항상 팀단위(모르는 사람끼리 하는 프로젝트, 학교 선후배간, 회사에서)에서의 프로젝트에서 무언가를 도입하거나 바꾸려고 할때는 Why?를 먼저 생각해봐야한다그래서 왜 도입을 하려고 하는지에 대해서 생각해보면... 장점글자를 읽을 필요 없이 어떤 커밋을 했는지 이모지를 보고 파악이 가능하다커밋 기록이 아이콘으로 남게 되어서 귀엽다ㅋ단점은 맨 밑에서 다룰 예정이다일단 이건 기술적으로 스택이나 아키텍처나 바뀌는게 아닌 거기때문에 일단 도입해보고 나중에 회고해보자 Gitmoji란?Gitmoji는 눈치채신 분들도 있겠지만 Git + Emoji의 합성어이다모든 커밋 앞에 이모지를 붙이는 행위를 뜻한다깃모지를 사용하면 커밋의 목적이나 의도를 쉽게 파악 가능하다고 한다그리고 이모지가 이모티콘이 아닌가? 라..
2024.07.25
-
코딩테스트를 위한 파이참 SetUp
사실 코딩테스트에서는 웹 환경에서(구름IDE 등등) 코딩을 하기때문에 자동완성 툴팁이 뜨질 않는다 간혹가다가 IDE를 사용할수있게 하는 코테도 있다는데, 대부분 배타적(비선호)인거같다 그렇기때문에 파이썬으로 코테준비를 하면서 코테환경과 비슷하게 자동완성 옵션을 꺼보는것은 어떨까? - 자동완성을 킨 예시 - 자동완성을 끈 예시 자 이제 설정은 윈도우 기준 File -> Settings -> Editor -> General -> Code Completion 맥 기준 PyCharm -> Preferences -> Editor -> General -> Code Completion Show suggestions as you type을 체크 해제하면 된다 한글 플러그인을 적용한 사람은 코드 입력시 제안 표시를 해제..
2021.06.23
-
1줄 팁 맥에서 IntelliJ 자동완성 되게 하기
윈도우 분들은 아마 Ctrl + Space누르면 자동완성을 아주 잘 해줄것이다 근데 맥 사용자들은 Ctrl + Space누르면 아무 동작도 안한다 왜냐? OS단축키랑 충돌이 나기때문이지.. 결론은 이 사용하지도 않는 친구 때문에 인텔리제이 자동완성이 되지 않고 있었다는 것!! 첫번째를 Uncheck 하도록하자 Ctrl + Space의 결과 매우 잘된다^^
2022.07.27
-
원격 서버 접속하기(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
-
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
-
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
-
JPA Query 로그 출력(feat. 물고기를 주지말고, 물고기 잡는 법좀 알려줘라..)
블로그에 텍스트 복사/붙여넣기를 막은 이유가 있다내가 정성들여 쓴 IntelliJ 플러그인 25가지 추천 글을 문자 그대로 토씨 하나 안바꾸고 크롤링을 해서 자기 블로그에 그대로 올리는 사람이 있는가하면, 그대로 복붙해서 출처없이 올리는 걸 봤다그때 충격이었다 또한 블로그를 하는 사람들을 무시하는 사람들의 말을 들어보면, 블로그를 한다고 유세떤다, 남의꺼 복붙해서 가져다 쓰는 것이라 말한다나도 어느정도는 동의한다. 양질저질 품질로 따졌을 때 단순히 에러를 해결하는 방법 1줄, 2줄 이정도만 올리는 저질글들이 많다 하지만....시간이 지나감에 따라 21년에 쓴 글이 25년에 될때는 버전 업이 돼서 정답이 아닐지라도 최대한 보는 사람들을 위해서 간단한 프로젝트를 만들어보거나 개인프로젝트에 적용시켜서 테스트를..
2024.11.15
-
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
-
혼공네트 3주차 - 네트워크 계층(IP, ARP, 서브넷 마스크, NAT, DHCP, Router, Routing Table)
독서 & 스터디월요일부터 쭉 읽어서 2.5회독정도 했다. 블로그에 글을 쓰면서 또 외우기..크큭혼공 시리즈 홍보를 하며 적당한 비유를 통해 공부를 쉽게 할 수 있게 해준다ㅋㅋ 이번에도 집에서 큰 모니터로 볼 때도 있었고, 혼공족장님이 선물해주신 기프티콘으로 노트북 들고 메가커피 가서 공부할 때도 있었고, 태블릿 들고 카페에 가서 공부한 적도 있었다.네트워크 공부가 지루할 때쯤, 예전에 샀던 책을 읽었다. 소름돋게도 그 책도 한빛미디어꺼란 사실!그리고 2주차 주말에 한빛미디어에서 열린 QA 강연에 참가도 해서 좋은 인사이트도 얻고 한빛미디어 굿즈도 받았다!!ㅎㅎ 데이터 링크 계층의 한계 -> 네트워크 계층으로의 확장이 필요1. 물리 계층과 데이터 링크 계층만으로는 다른 네트워크까지의 도달 경로를 파악하기..
2024.07.21
-
IntelliJ Honey Tips 2
1. 서비스 탭이 안보일때 (못 찾을때) Alt + 8 Command + 8 번 누르면 바로 튀어나오니 걱정 ㄴㄴ 2. IPv6를 IPv4로 보고 싶을 때 기본적으로 IP 로깅을 하면 IPv6로 인식이 되어서 출력된다 테스트할 컨트롤러를 만들어준다(그냥 Rest 방식으로 테스트 해도 무방) 보시다시피 0.0.0.0.0.0.0:1 이라고 나오는게 IPv6 형식의 주소입니다 사실 현재는 4와 6를 혼용해서 쓴다고 하지만 실제로 우리는 4자리수 체제가 익숙하죠? 127.0.0.1 == localhost 인텔리J에서 IPv4방식으로 볼 수 있는 방법 Help - Edit Custom VM Options... 를 선택 -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4..
2022.05.07
-
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
-
8/31 유스콘(YouthCon24) 참여 후기
일요일에 후기를 작성하고 싶었지만, 시골에 내려갔다 온다고 조금 늦은(?) 후기를 올려본다KTX를 타고 시골로 내려가면서 헥사고날(포트&어댑터)에 대해 다루고 있는 클린 아키텍처 책을 읽었다 목차유스콘 오프라인 참여자 선정유스콘이란?행사 일시와 장소명예 규율이벤트 스케쥴트랙1, 2 정보내 시간표행사장으로1부점심시간2부휴식 시간3부후기 유스콘 오프라인 참여자 선정유스콘이란?유스콘은 👨🎓 젊은 개발자와 👨🏫 선배 개발자가 함께 가치 있는 기술에 관한 정보와 경험을 공유하는 콘퍼런스입니다. 여기서 발표하는 사람들을 잘 기억해 주세요. 가까운 미래에는 DEVIEW, if(kakao), INFCON의 주인공이 될 개발자입니다. -- 벌써 햇수로는 5년차인(20,21,22,23,24) 유스콘 행사이다난 ..
2024.09.03
-
원격 서버 접속하기(1) - telnet/ssh
입사를 해서 회사 일을 해보면, 이런 단어들을 들어볼 수 있을 것이다 로컬 서버, 개발 서버, 스테이징 서버, 배포 서버, 테스트 서버 등등 큰 기업에 가면 xx서버에 접속해서, 변화점이 있는 파일들을 수집하고, 자동으로 배포하는 등등.. 이런 과정들이 원클릭으로 구성되어 있을 것이다 그리고 회사에서는 이런 서버에 접속하기 위해 특정 IP만을 허용하는 허용리스트(AllowList)를 만들어서 VPN 프로그램을 사용하는 등의 방법으로 접속을 허용/제한한다 (UFW, IPTables, Firewalld, ZeroTier, WireGuard, pfSense 사용) 이 글에서는 방화벽에 대한 내용보다는 원격 서버에 접속하는 방법, 내가 사용하는 방법에 대해서 포스팅해보려고 한다 Telnet 로컬 네트워크에서 리..
2023.11.20
-
모바일 환경 테스트하기(기기로 접속)
보통 npm install serve로 해서 내부적으로 서버환경을 만들어서 오픈된 포트를 모바일로 들어가곤 한다 근데 기왕 인텔리제이를 쓰는 김에 인텔리제이가 제공해주는 built-in 옵션으로 이용해보자! @media 쿼리를 쓰는 반응형 테스트 말고, 모바일 기기로 접속했을 때 어떤 기능을 disable 하거나 동작을 다르게 하고싶은 경우 이용하면 된다 일단 프로젝트에 resources 아래에 test할 html 파일을 만들자 나같은 경우 그냥 index.html로... vanilla js code로 돔이 준비된 경우 함수가 실행되도록 했다 웹 환경일때 result Division element에 web이라고 파란색으로 표시하고, 모바일 환경일때는 mobile로 표시하고 빨간색으로 표시하는 거다 인텔리..
2022.10.23
-
Springboot local 환경에서 https 적용하기
라 말하고 사실 CA에서 인증받지 않은 짜가 인증서로...ㅎ 보통은 간단하게 하면 배포 전에 직접 인스턴스 서버에 들어가서 let's encrypt을 쓰던가 zeroSSL등 다른곳을 이용해서 인증서를 받을것이다 나는 keytool을 이용할것이다 자바폴더에 있기 때문에 윈도우는 bin 폴더에 환경 변수설정만, 맥은 기본적으로 잡혀있거나 아니면 .bashrc에다 추가해주면 된다 $> keytool -genkey -alias spring -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 4000 이름과 성을 입력하십시오. [Boki]: Boki 조직 단위 이름을 입력하십시오. [Boki]: Boki 조직 이름을 입력하십시오..
2022.03.03
-
RDB라고 해서 FK가 꼭 필요할까?
퇴사를 하면서 Off-Boarding 당시 받은 백엔드 피드백들이 있다오늘은 그 중 하나인 외래키에 대해서 작성해보려고 한다 나는 그 당시 1인 백엔드 - 코틀린 스프링부트 개발자로 스키마설계까지도 참여를 했었다간단한 프로젝트였기때문에 테이블은 10개정도 나왔었다그 중 현실화를 하면서 모델링거쳐 1:N 이런 관계가 들어간다면 당연하게도 외래키도 있는 형태로 설계를 했었다 단순히 "A가 만들어지기 위해서는 B도 존재해야 한다"는 건 진리일 수 있다"Order(주문)이 만들어지기 위해서는 User(사용자)가 필요하다"는 사실이다로그인한 유저가 없으면 주문을 할 수 없는 것은 당연하기 때문.. 그러면 수 많은 기업들이 정말 외래키를 사용하고 있을까? 확답은 못하겠지만 No쪽에 가깝지 않을까 싶다소위 네카라쿠배..
2024.11.13
-
네이버 행사 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
-
당근 테크 밋업 참여 후기
2024 당근 테크 밋업 세션 목록FRONTEND 밋업🥕 프레임워크부터 플랫폼까지: 당근 웹뷰 플랫폼 - 원지혁(프론트엔드코어)🥕 프론트엔드에게 배포플랫폼이란 - nothing or everything - 안현석(프론트엔드코어)🥕 내 타입스크립트 코드가 이렇게 느릴 리 없어! - 김은수(광고)🥕 아이콘, 브랜딩 에셋까지 디자인시스템으로 - 정현수(디자인코어)🥕 Graphql Schema 기반으로 협업하고 생산성 높이기 - 김승욱(당근알바)🥕 웹/웹뷰 코드 합치면 개발 2배 빨라지는거 아니었어요? - 김성현(광고) & 김유진(광고)🥕 아니, 이것도 웹뷰였어요? - 김태희(동네생활)SERVER 밋업🥕 당근 알바 초기 엔지니어링 전략: 빠르게, 빠르게, 더 빠르게 - 박용진(당근알바)🥕 우리..
2024.10.14
-
자바에서의 다양한 문자열 포맷팅 방법(feat. MessageFormat)
복잡한 거 아니니깐 빠르게 알아보자!1. String 더하기단순하지만 강력한 방법이다다만.. 복잡시럽게 보일 수 있다는 단점 존재2. printfC언어를 배웠다면 익숙한 그 printf문법당연히 패딩넣기도 된다.다만 %p, %x등의 메모리 관련 포맷형식을 사용하면 UnknownFormatConversion 예외가 발생한다자바만의 특이점으로는 %h를 통해 메모리해시값을 얻을 수 있다. 슬프지만 당연하게도 Primitive type은 메모리주소를 알 수 없다3. String.format()printf와 비슷하게 형식을 지정할 수 있다그럼 차이점이 뭐야? 할 수 있는데, printf는 포맷팅 동시에 출력이 되는 방식이고, String.format은 반환형인 String으로 만들어서 재사용한다던지, 좀 더 가공..
2024.08.29
-
이제 막 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
-
Axios 사용법
후론트엔드 글은 잘 안쓰는데.... 쓰려고한닷[ 나는 ES6를 좋아한다 ] 일단 클라이언트단에서 HTTP통신을 하기 위한 방법에는 Ajax, Fetch, Axios 3대장이 있다 위에 나온것처럼 Axios가 지원 브라우저도 제일 많고, XSRF(CSRF) 보안도 갖추고 있으며, response가 JSON type이며, Promise기반이기때문에 Call back hell을 막을 수 있다. CDN 방식 npm install 방식 npm install axios 파일 직접 다운로드 * ajax의 문제점 // Ajax 깊어진 callback 형태 ⇒ 알아보기 어려움 // Axios 알아보기 쉬워진 가독성 * interceptor로 요청, 응답 custom하기 const validate = (stat) => {..
2022.03.30
-
삶의 지도 - 과거부터 현재까지
이 글은 글쓰는 개발자 모임, 글또 10기를 지원하기 위해 작성한 글이기도 하며, 제가 한번쯤은 적고 싶었던 제 일대기에 관한 글입니다1992.05 ~ 2024.09(now)1~7살[탄생~유치원](1992~1998)Hello World! But...나는 이 세상에 37주 미만에 태어난 미숙아임과 동시에 2.2kg인 저출생체중아로 태어났다인큐베이터에 꽤 오랜 시간을 있었다고 한다...ㅠ약하게 태어난 탓일까... 어머니가 말씀하시길 나는 3살 초까지 먹는것들 대부분을 게워내기 일쑤였고, 말하는 것도 늦었다고 했다이러나저러나 애기였던 나는 그래도 태어난 김에 살고싶었나보다..ㅎ 그래도 조금씩은 건강을 회복해 나아갔다하지만 태어날 때 미숙아여서 그런진 몰라도 위 사진에 첨부한 안 좋은 특성중에 몇개가 있는 것 ..
2024.09.22
-
DSL이란?
자바로 백엔드개발을 해본 사람들은 queryDSL이란 걸 들어봤을 것이고, Spring Data JPA를 사용하면서 타입세이프하게 쿼리를 동적으로 만들어주며 컴파일 시점에 오류를 미리 알 수 있게 도와주는 라이브러리라고 알고 있을 것이다.또한 코틀린 안드로이드나 코틀린 스프링을 해본 사람들은 Kotlin DSL이란 말 또한 들어봤을 것이다.그럼, 이제 질문을 던져볼 수 있다.queryDSL/KotlinDSL을 사용하셨군요? 그럼 DSL에 대해서 설명해주실래요?답: ㄱ..그게..뭐죠? DSLR은 아는데..헤헿라고 답하면 망한거다ㅋ나는 옛날사람이라서... 어떤 도구를 잘 사용하는것도 중요하다고 생각하면서 동시에 그 도구에 붙여진 이름의 뜻을 아는 것도 중요하다고 생각한다. 정의DSL(Domain Specif..
2024.06.06
-
개인키 파일 인코딩 종류 for SSH
SSH Client로 원격 서버에 접속하기 위한 방법으로는 2가지가 있다 1. ID / PW 2. 개인키 인증서 이번에는 개인키 인증서로 사용할 수 있는 파일들에 대해 알아보려고 한다 이 파일들을 알기 위해서는 인코딩 방식에 대해서 알 필요가 있다 - Text (텍스트) 인코딩 PEM 형식 ASCII 텍스트 기반의 Base64 인코딩을 사용 "-----BEGIN ...-----"와 "-----END ...-----" 태그로 감싸인 구조를 가진다 SSL/TLS 인증서, SSH 키 등에 사용되며, 파일 내용은 텍스트 편집기로 읽을 수 있다 OpenSSH 형식 ASCII 텍스트 기반의 Base64 인코딩을 사용 "-----BEGIN OPENSSH PRIVATE KEY-----"와 "-----END OPENSS..
2023.11.27
-
M1 Mac Flutter 앱 만들어보기(feat. homebrew)
Cross Platform Dev(IOS, Android) - Flutter의 장점 Flutter는 실제 Native Code로 컴파일하며 크롬이 사용하는 렌더링 엔진(스키아-Skia)을 사용하므로 실행 시 다트를 변환하지 않는다. 즉 사용자의 디바이스에서 플러터 앱을 실행하면 성능이나 생산성이 저하되지 않는다 Flutter는 JavaScript가 아닌 디버깅이 용이하고 컴파일 타임이 빠르다 brew 설치는 생략 [brew로 설치를 하지 않으면 bash shell 실행 PATH를 등록해줘야 하기때문에 귀찮다] 윈도우의 PATH 설정과 비슷한 개념이다. 리눅스나 맥도 터미널 전역에서 명령어를 입력해서 실행하려면 bin 폴더를 경로로 잡아줘야 한다 - 기본G식 brew install flutter 난 이전에..
2023.01.09
최신 글
-
올해는 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
-
인프런 멘토링 후기
한참 전에 있었던 일이지만...인프런 멘토링을 신청해서 받아본 경험을 짧막하게 공유하려고 한다네이버에 재직중이신 분이셨고, 경력은 미들급이셨다! 비용은 1시간에 35,000원이었던걸로 기억한다! 상담신청한 했던 내용1. 주니어->미들 백엔드 개발자로서 갖춰야 할 역량2. 네카라 라인의 회사에서 경력직을 뽑을 때 중요시하는 부분이 있는지3. 이력서에 대한 피드백카메라는 off, 마이크는 on인 상태로 상담을 해주셨고 상담을 시작하기 이전에 카카오톡으로 제가 현재 처한 상황, 제 이력서 링크, 상담받고 싶은 내용을 매우매우 상세하게 전달드렸다 정말 상세하게 답변해주시고 공감도 해주시고 냉정한 조언도 해주셨었던 기억이 난다노션에 엄청 많은 내용들을 적었지만.. 공개할 수 있는 부분만 말해보면.. 지금까지의 얘..
2024.11.11
-
네이버 행사 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
-
주말운전 - 네카넥 가보기(네이버,카카오,넥슨)
주말에 운전연습도 할겸, 미래에 판교에 있는 회사에 재직하면 집에서 어떻게 운전해 가야할지.. 미리 길을 익혀놓기 위해 판교로 드라이빙을 하러 나왔다 넥슨먼저 넥슨부터 들려봤다킹슨, 갓슨, 돈슨... 등 몇개의 별명을 갖고 있는 NEXON이다주차장은 되게 깔끔했으며, 회사로 올라가는 입구에 LOGIN이라는 게임회사다운 문구를 볼 수 있었다!ㅋㅋㅋ넥슨 직원이 아니므로... 회사로 들어가보진 못했고, 유료주차장이었지만 회차가 있었기에 비용을 지불하지 않고 나올 수 있었다!!다른 큰 회사도 이렇게 무료회차를 지원해주는건가 싶었다 카카오 그 다음으로는 카카오AGIT(카카오아지트)를 방문해봤다가는길에 아디다스를 패러디한 아이타스를 뒤에 붙이고 다니는 차를 볼 수 있었다 ㅋㅋ; 피식한 내가 밉다카카오아지트는 실 근..
2024.11.09
-
원티드 오프로드 스테이션 참여!할 예정
초대권 개발자로 일을 하게 해준 원티드에서, 내가 합격했던 과거 전적이 있어서그런지.. 오프로드 스테이션에 무료로 참여할 수 있는 초대권을 줬다 오프로드 스테이션 1일차면접왕 이형! 강수진 성우님! 김계란! 자취남! 김창완 밴드!!개인적으로 전부 다 알지는 못하지만 엄청난 라인업이다... 2일차 장사천재 조사장! 사내뷰공업! 긱블! 실리카겔!이번에도 다 알지는 못하지만 정말 Crazy 라인업이다ㅠㅠ 테마가 2가지로 나뉜다1. FILL UP DAY: 재테크부터 건강까지 직장인을 위한 지식 충전 DAY2. BOOST UP NIGHT: 개척자들의 이야기와 밴드 공연으로 영감 충전 NIGHT 원래 구매 가격Day 1, 2를 전부 구매하면 무려 20만원짜리 행사... 초대 - 선택권2일 모두 FILL UP DA..
2024.11.08
-
자꾸 까먹는 깃허브 토큰 등록해놓고 사용하자(MacOS)
문제상황종종 git clone / pull / push 등을 할때 아래와 같은 에러를 마주할 때가 있다(특히 private repo)remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.fatal: unable to access 'https://github.com ... ': The requested URL returned er..
2024.11.07
-
인프런 워밍업 스터디 클럽 2기 백엔드(클린코드/테스트코드) 수료식 참여 및 후기(feat. 우수러너 선정)
인프런 워밍업 클럽 스터디 2기 오프라인 수료식 신청 🌱1달 동안 이어진 인프런 스터디에서 오프라인으로 수료식에 참여할 사람들을 모집하고 있길래, 냉큼 신청했다스터디원들이 있는 디스코드 채팅방에서 만났던 분들, 내 블로그를 보고 수료식때 꼭 만나고 싶다는 분도 있었고 인프랩 사무실 안에 방문해볼 기회가 얼마나 있을까 싶었다가는길에 저번 판교 퇴근길 밋업 - HTTP에서 후기를 올려서 당첨받은 스벅 아아쿠폰으로 목마름을 달래고 갔다..!!인프랩 직원분들 정말 감사합니다 :) 인프랩 도착 & 수료식 참여(11/01)판교테크노밸리스타트업캠퍼스 3동 5F에 있는 인프랩으로 갔다저번에 왔던 퇴근길 밋업은 1동 2층 더링크에서 열렸었다오픈되어 있는 인프랩 회사 문으로 당당하게 입장!!입구부터 초록초록한게 이뻤다...
2024.11.03
-
파이콘 Korea 2024 / KSUG 2024 가을 세미나 참여 후기
PYCON KOREA 2024한빛미디어에서 8명, 인프런에서 7명을 추첨해서 파이콘에 무료로 갈 수 있는 이벤트를 열었다! 파이콘 2024 무료 초대 이벤트그 중 인프런 스터디원 대상으로 하는 이벤트에는 떨어지고, 한빛미디어에서 파이콘 무료 초대 이벤트에는 당첨됐다행사 참여강북구 -> 수원 광교 너무 멀었다...ㅠ 수원컨벤션센터 3층으로 향했다크다 커...!! 입장 체크를 하러 갔다이세계에선 한빛미디어...? 사전에 파이썬 티셔츠도 구매하겠다는 의사를 밝혔기 때문에 티셔츠 구매권도 함께 받았다(선입금)인포메이션 부스에서 티셔츠를 수령할 수 있었다 그리고 파란색 옷을 입고 계신 분은 현재 당근에 계신 Subin Kim님!! 2023년에 열린 GopherCon에서 토스에 재직중일 당시 발표도 했었다 수빈님을..
2024.11.03
-
10월 볼트 X 커피챗 참여 후기(feat. 볼트커피챗)
10월 볼트 X 커피챗 참여기업저번 8월 이후로 이번 10월에 또 한번 쟁쟁한 기업들이 참여했다!! 행사 참여(10/24)강남에 있는 스타트업 성지인 MARU 180 / 저녁 7시행사가 열린 지하1층으로 내려가기 전에 행사 입간판을, 지하로 내려가는 엘리베이터에서 행사 포스터를 볼 수 있었다 지하로 내려가봤다오른쪽 테이블에서 참가자 확인 후 목걸이 명찰을 받을 수 있었고, 왼쪽 테이블에서는 제로콜라와 서브웨이 쿠키 및 샌드위치를 받아갈 수 있다!(갯수 제한 X.. 👀)덕분에 나도 쿠키 쫌 많이 챙겼다..헷 개발직군 & 비개발직군 모두 놓치지 않을꺼에요세션1: 비개발 + 개발직군 (픽소 CEO, 챌린저스 Lead, 하이퍼커넥트 PM Leader, AI Head)휴식 & 네트워킹세션2: 개발 직군 (오픈엣..
2024.11.02
-
<만들면서 배우는 클린 아키텍처 X 도메인 주도 개발 시작하기> 책 리뷰
먼저 이 두 책이 말하고 있는 바는 다르다아래에 나올 용어들을 처음 접하는 분이 있다면 공부해봐도 좋을 것 같다이 지식들을 알고있더라도 크게 대단한 개발자가 되는 것은 아니지만, 비즈니스 문제를 조금 더 높은 영역에서 해결하는 여러 방법론들 중 몇가지를 배우는 것이다그리고 DDD, MSA, 클린아키텍처 이런 용어에 매몰되지 않도록 하자!! 언제(어느 시점에) 도입하면 좋을지, 왜(다른 방법은 없는지?)를 고민해보고, 적용or사용하고 있는 시점에는 빠른 시점의 회고를 통해 잘못된 부분은 없는지 판단하고 수정해 나갈 수 있는 생각과 능력을 갖추어야 한다고 생각한다 먼저 두 책을 리뷰하기에 앞서, 나는 책에 나오는 모든 내용을 요약해서 큰제목/소제목/내용 등으로 나누어 올릴 생각은 없다!내가 이 두 책을 읽..
2024.10.27
-
4주차 회고 발자국 🐾
드디어 인프런 워밍업 클럽 BE 2기 스터디가 끝났다~!Keep강의를 보고 내용을 정리한 것도 좋았지만, 더 좋았던 점은 중간점검과 특별점검때 우빈님이 다른분들의 코드리뷰를 해주는 시간이었다다른분들이 Readme.md에 자신의 고민을 적어놨었는데, 같은 문제에 대해 정말 다양한 생각들과 해결법들이 나올 수 있다는 걸 보여줬다토론. 그것은 참 멋진 것 같다! Problem사실 되게 다양한 스케줄때문에 너무 바빴어서, 내가 정말 200% 못 쏟았구나 하는 점들이 몇 부분 있다집에 있을때는 온 집안일을 혼자 다하고 종종 요리도 하면서 암환자이신 아버지를 돌봤고, 몇몇 개발 행사들도 참여했고, 글또10기에 참여해서 그쪽 글도 구상하고 쓰느라 바쁘고, 취업준비중이라 코테, 기업과제, 면접 등을 치르느라 눈코뜰새없..
2024.10.27
-
판교 퇴근길 밋업 with 인프런 #08 HTTP 참여 후기
판교 퇴근길 밋업 참여자 선정 탈락 -> 선정(!?!?)기존 행사를 신청했을 때는 퇴근길 밋업에 아쉽게(?) 선정되지 않았다인프런과 함께 같이 성장을 도모하는 분들에게 제공되는 인프런 라운지의 혜택에서 추첨을 통해 당첨되어서 판교 퇴근길 밋업 행사에 참여할 수 있게 됐다그동안 인프콘 2024빼고는 모든 인프런 관련 행사에서 티켓팅을 성공한 적이 없었다..ㅠ (특히 판교 퇴근길 밋업..!!)하지만 이번에 좋은 기회로 참여할 수 있게 됐다!ㅎㅎ 행사 당일(10/23): 가는길집이 강북구라서 멀리 있는 판교로 가기 위해 조금 일찍 나왔다!미리 근처 카페가서 할일하다가 여유롭게 들어가려고 했다인프랩에 방문하는 기념으로 인프콘에서 받은 양말과 티셔츠를 안에 입고 위에 후드티를 입어줬다 ㅋㅋㅋ노트북에도 인프런 스티..
2024.10.26
-
Mission - Day 18
Q-1. @Mock, @MockBean, @Spy, @SpyBean, @InjectMocks 의 차이를 한번 정리해 봅시다.AnnotationPackageTargetActionMockorg.mockitoObject(PlainOldJavaObject, Java Bean)Mocking - 가짜 객체MockBeanorg.springframework.bootSpring Bean(ApplicationContext)Mocking - 가짜 스프링 빈Spyorg.mockitoObject(PlainOldJavaObject, Java Bean)Real - 실제 객체(부분 모킹)SpyBeanorg.springframework.bootSpring Bean(ApplicationContext)Real - 실제 빈(부분 모킹)In..
2024.10.25
-
두근두근 2024년
오랜만에 그냥 잡담느낌으로 글 써본다 02년 10살에 컴퓨터학원에 가서 원장선생님한테 Visual Basic을 짧게 배웠고 07년 중학교에서 IT꿈나무가 돼서 C언어를 배웠다 11년 컴공으로 입학해서 이런저런 공부를 했고 14년 비트컴퓨터학원에 들어가 Java, JSP를 배웠고 21년 자바의정석 저자 남궁성 저자님께 국비수업을 듣게됐고 22년 열심히 일하다가.. MongoDB행사에서 향로님을 먼 발치에서나마 뵀었고 23년은 열심히 일함..ㅋ no 컨퍼런스 24년은 정말 여러 일들이 있었다 골든래빗에서 만든 책의 베타리더에 당첨돼서 알고리즘 책 베타리딩을 하게되고 책 맨 뒤에 내 이름이 쓰이는 영광을 겪었고 골든래빗 편집자분과 인연이 생기게 됐다 이후에 다녔던 여러 개발행사들에서 정말 닮고싶은 대단한 분들..
2024.10.25
-
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
-
3주차 회고 발자국 🐾
2주차와 마찬가지로 KPT 회고법으로 작성한다Keep테스트코드가 많아지고 Positive(Happy)/Boundary/Negative 계층도 테스트에 녹아있다면 과감하게 프로덕션 코드를 바꿀 수 있다테스트코드는 [문서]다나는 테스트코드에 도메인 지식이 녹아있다고 생각한다만약에 신규입사자가 들어왔다고 치자. 이분한테 "테스트코드 한번 차근차근 보세요!"라고 하면 내(우리) 프로젝트에서 중요하게 생각하는 부분이 다 이 코드 안에 녹아있다성공하는 경우, 예외가 발생하는 조건, 어떤 예외가 발생하는지 등..그런점에서 강의를 보면서 단위(유닛)테스트, Persistence Layer, Business Layer 등에 테스트를 작성하는 법을 배운 게 좋았다!Problem강의에서나 내 프로그래밍에서의 문제점은 없어보..
2024.10.23
-
Mission - Day 15
Layered Architecture 구조의 레이어별 테스트 작성법을 알아보았습니다.레이어별로 1) 어떤 특징이 있고, 2) 어떻게 테스트를 하면 좋을지, 자기만의 언어로 다시 한번 정리해 볼까요?Persistence Layerpersist라는 뜻은 "지속하다"라는 뜻을 갖고 있다프로그램에서 데이터의 persistence는 영속성을 뜻하며 프로그램이 종료되더라도 사라지지 않는 데이터의 성질을 의미한다이 개념을 살려서 JPA에서는 영속성, 영속화라는 특징을 갖고 있고, 편리하게 만든 hibernate의 data jpa가 아닌 순수 JPA에서도 EntityManager가 persist해서 엔티티를 데이터베이스에 저장하는 책임을 갖고 있다말이 길었지만, JDBC를 사용하던, Mybatis를 사용하던, JPA를..
2024.10.22
-
당근 테크 밋업 참여 후기
2024 당근 테크 밋업 세션 목록FRONTEND 밋업🥕 프레임워크부터 플랫폼까지: 당근 웹뷰 플랫폼 - 원지혁(프론트엔드코어)🥕 프론트엔드에게 배포플랫폼이란 - nothing or everything - 안현석(프론트엔드코어)🥕 내 타입스크립트 코드가 이렇게 느릴 리 없어! - 김은수(광고)🥕 아이콘, 브랜딩 에셋까지 디자인시스템으로 - 정현수(디자인코어)🥕 Graphql Schema 기반으로 협업하고 생산성 높이기 - 김승욱(당근알바)🥕 웹/웹뷰 코드 합치면 개발 2배 빨라지는거 아니었어요? - 김성현(광고) & 김유진(광고)🥕 아니, 이것도 웹뷰였어요? - 김태희(동네생활)SERVER 밋업🥕 당근 알바 초기 엔지니어링 전략: 빠르게, 빠르게, 더 빠르게 - 박용진(당근알바)🥕 우리..
2024.10.14
-
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
-
2주차 회고 발자국 🐾
1주차와는 다르게 KPT 방법으로 회고를 해본다 Keep강의 목차섹션1 - Intro강의 소개강의 구성강의에서 사용할 용어들예시 프로젝트 소개섹션 2- 추상(抽象)우리가 클린 코드를 추구하는 이유프로그램의 정의추상과 구체이름 짓기메서드와 추상화메서드 선언부추상화 레벨매직 넘버, 매직 스트링키워드 정리섹션 3 - 논리, 사고의 흐름뇌 메모리 적게 쓰기Early return사고의 depth 줄이기공백 라인을 대하는 자세부정어를 대하는 자세해피 케이스와 예외 처리키워드 정리섹션 4 - 객체 지향 패러다임추상의 관점으로 바라보는 객체 지향객체 설계하기 (1)객체 설계하기 (2)SOLIDSRP: Single Responsibility PrincipleOCP: Open-Closed PrincipleLSP: Lisk..
2024.10.13
-
1주차 회고 발자국 🐾
https://code-boki.tistory.com/231 좋은 회고란? (feat. 인프랩's SOL)좋은 회고란 무엇인가에 글을 작성하기에 앞서 인사이트를 주신인프랩의 직원이신 솔(Sol)이라는 닉네임을 사용하시고 솔퓨터라는 별명을 갖고 계신 소현님의 글을 먼저 공유하고 싶다!!이 글의code-boki.tistory.com지식공유자 박우빈님이 공유해주신 인프랩 에디터분의 글을 통해 알게된 좋은 회고에 대한 링크를 토대로 회고템플릿 중 하나를 선택해 이번주의 회고를 작성해본다 PMI 방식을 택해서 회고를 작성해본다 P - Plus. 좋았던 점일단 이번 스터디를 참여하기 전의 박우빈님의 Practical Testing 강의를 들었기때문에 우빈님의 점진적 학습방법이 정말 마음에 들었다영한님도 V0, V1..
2024.10.06
-
좋은 회고란? (feat. 인프랩's SOL)
좋은 회고란 무엇인가에 글을 작성하기에 앞서 인사이트를 주신인프랩의 직원이신 솔(Sol)이라는 닉네임을 사용하시고 솔퓨터라는 별명을 갖고 계신 소현님의 글을 먼저 공유하고 싶다!!이 글의 내용은 아래의 링크를 참고해서 내 생각을 덧붙이기도 하고, 그대로 발췌해온 내용도 있다!https://www.inflearn.com/pages/weekly-inflearn-41-20220215 개발자의 공유 문화 이모저모 (2) 회고 문화 - 인프런 | 스토리기록도 점검도 셀프! 개발자는 왜 회고를 할까요? #오픈소스 #기술블로그 #회고문화 바쁘게 일하고 공부하다 보면 시간이 훌쩍 지나있기 마련이죠. 그렇지만 모든 일을 다 기억할 수는 없는www.inflearn.com들어가서 잘 살펴보면 좋겠지만 클릭을 하지 않는 분들..
2024.10.06
-
에어팟 맥스: DLCA Tech-Tree CON 스탬프 이벤트 당첨!!
두근두근!!에어팟 맥스!!!!!!!!!!! 2등!!!!!!! AirPods Max ❤️1등인 맥북프로도 당연히 좋은 상품이지만, 아무래도 상품이다 보니까 맥북CTO(Configure To Order)를 통해서 RAM이나 SSD 업그레이드를 요청하지 못할 가능성도 있기 때문에 에어팟 맥스는 좋은 상품이라고 생각한다 나도 이제 절대 음질을 경험해볼 수 있는건가!?여러 개발 행사에 참여했더니 이런 좋은 상품도 받아볼 수 있는 것 같다DLCA 테크트리콘 행사에서 7개 스탬프를 얻기 위해 2일 연속 참여한게 정말 신의 한 수라고 생각한다올해는 인프콘행사때 25명만 무료로 갈 수 있는 이벤트에 당첨되기도 했고, 에어팟 맥스도 받았는데.. 원하는 회사로 취업같은 더 좋은 일이 있으면 좋겠다!!크큭내일은 당근테크밋업을..
2024.10.06
-
Mission - Day 4
1. 아래 코드와 설명을 보고, [섹션 3. 논리, 사고의 흐름]에서 이야기하는 내용을 중심으로 읽기 좋은 코드로 리팩토링해 봅시다.public boolean validateOrder(Order order) { if (order.getItems().size() == 0) { log.info("주문 항목이 없습니다."); return false; } else { if (order.getTotalPrice() > 0) { if (!order.hasCustomerInfo()) { log.info("사용자 정보가 없습니다."); return false; } else ..
2024.10.04
-
Mission - Day 2
"추상과 구체" 강의를 듣고, 생각나는 추상과 구체의 예시가 있다면 한번 3~5문장 정도로 적어봅시다.일상 생활, 자연 현상, 혹은 알고 있는 개발 지식 등 어느 것이든 상관 없습니다. 추상에서 구체로, 또는 구체에서 추상으로 방향은 상관 없으나, 어떤 것이 추상이고 어떤 것이 구체 레벨인지 잘 드러나게 작성해 보아요 :) ex) 우리가 상대방에게 소리를 내어 말을 하고 듣는 과정을 구체 레벨에서 표현한다면? - 폐에서 나온 공기가 성대를 통과한다. - 이는 나의 입술을 통해 외부로 방출되고, 상대방과 나 사이에 있는 공기를 진동시킨다. - 공기를 통해 전달된 진동은 고막, 달팽이관 등을 거쳐 청각세포, 청신경을 통해 뇌로 전달된다. 추상: 어떤 이미지(형상)에서 그것을 뽑아낸다 (구체적인 정보들에서..
2024.10.04
-
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
-
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
-
DLCA Tech-Tree Con 행사 참여 후기
DLCA 테크트리콘https://www.dlca-techtree.com/ DLCA TECH TREE CONFERENCE첨단산업 디지털 선도기업 아카데미 미래산업 인재육성 컨퍼런스www.dlca-techtree.com연사자 목록스케줄 1- 9/26스케줄 2 - 9/27위치행사 참여 - 9/26처음에는 너무 취준생들을 위한 행사인가 싶어서.. 내가 여기를 가도 될까 고민했었지만 개발계의 BTS 향로님이 오시기도 하고, 여러 기업들에서 온다는 소식을 듣고 가보기로 결정했다 이벤트- CON ID 카드 만들기 행사 전날. CON ID를 만들면 다음날 행사에서 사용할 목걸이 명찰을 준다하길래 만들어봤다 3가지 형태로 만들 수 있었다! 흰색/네이비/보라결과물행사장에서 받은 네임텍은 이 3개에 속하지 않은 검은색이었지..
2024.09.29
-
Wanted 프리온보딩 BE 챌린지 8월
늦게나마 9월 말에서야 8월 2~3째 주에 있었던 원티드 프리온보딩 BE 챌린지 8월의 후기를 올려본다 숨가쁜 8월 달력정말 꽉 차 있던 8월 달력..ㅠ 바뿌수요일은 격주~3주 간격으로 아버지가 항암이 있으셔서 비워놨었다..!!(TMI)원티드 프리온보딩 기간에도 모의면접 기반인 JScode의 Java 스터디도 진행했었다여러모로 바밨기때문에 이제야 후기를 올려본다! Wanted Pre-onboarding BE Challenge(August)https://www.wanted.co.kr/events/pre_challenge_be_22 1차: 8.5(월) 20시 2차: 8.10(토) 10시 3차: 8.12(월) 20시 4차: 8.17(토) 10시" data-og-host="www.wanted.co.kr" dat..
2024.09.28
-
인프런 스터디(백엔드 클린 코드, 테스트 코드) OT
2024/09/27 OT 참여OT는 Google Meet에서 이루어졌다OT에서 AI 내용이 나와서 조금은 읭?하고 있었는데 우빈님의 다음 말을 위한 디딤돌 장표였다..큭 정리 - 내생각 결국 우리들은 어쩔수없이 미래에 AI와 함께 일하고 살고 있을 것이고 그들이 90%를 차지할 수 있지만우리가 실력 있는 개발자로서 그 남은 10%까지 인공지능에 대체되고 싶지 않다면 휴먼의 영역인 10%를 차지할만한 실력을 기르자!그리고 그것은 클린코드(우빈님 강의에선 읽기좋은 코드, 클린코드는 클린 아키텍처를 뜻하는 경우가 더 많다)와 테스트코드를 통해 채우면 된다고 하신다ㅎㅎ 나도 동의한다!! 테스트코드에서는 컴퓨터가 알 수 없는 비즈니스 영역이 드러가기 마련이고, 약간의 스포를 하면 Positive뿐만 아니라 Nag..
2024.09.28
-
인프런 워밍업 클럽 스터디 2기(백엔드 클린 코드, 테스트 코드) 신청
인프런 스터디 모집 Test Code / Readeable Code 강의를 내신 캐치테이블 우빈님강의 나온 순서가 Practical Testing -> Readable Code 였고, 먼저 테스트 강의를 완강한 상태였었다우빈님의 강의력이 너무 좋아서 다른 강의도 보려고 했었는데, 인프런에서 스터디를 오픈했길래 냉큼 신청했다 인프콘2024행사때 네트워킹시간에 우빈님이 계셔서 짧게 인사드리고, 강의 잘 보고 있다고 (이러저러한)한 후기 남겨드렸다고 했더니 바로 알아봐주셨다!!딱 강의에서 보던 모습 그대로..ㅎㅎ 인프런 워밍업 클럽 스터디 특장점 & 혜택 커리큘럼스터디 목적대부분 디스코드로 소통하면서, 강의를 보는게 대부분이긴하다하지만 중요한 포인트는 혼자 하는게 아니라 같이 한다는 것에 있다(같이 자라기) ..
2024.09.28
-
[F-Lab 플러그인] IT 인프라, 얼마나 알아야 하나요? (feat. 우아한 형제들 이동규님)
F-Lab 정기 세미나 선착순 100인 내 선발 세션 Q&A먼저 받은 질문들에 대한 답변추가적으로 들어온 즉석 질문에 대한 답변 네트워킹후기동규님의 세션과 여러 질문 답변들을 들어볼 수 있었던 시간이었습니다!정말 깊이가 있는 발표였는데...동규님이 인프라에 대해 고민하시면서 가장 낮은 레벨인 하드웨어부터 다양한 문제 시나리오를 그림이 그려진 키노트 장표로 보기좋게 설명해주셨습니다!!그리고 보통 Q&A시간이 주어지면 조금 짧은 시간만 답변하고 금방 close를 하는 다른 온라인 행사를 경험한적이 있는데동규님은 육아중이신데도 불구하고 정말정말 한분 한 분 참여자들을 위한 심도깊은 답변을 해주셨습니다Next Step, 배달의 민족, F-Lab에서 활동중이신데.. 이번에 F-lab의 플러그인 행사를 참여해서 ..
2024.09.27
-
KKCD(Kubernetes Korea Community Day) 2024 참여 후기
Cloud Native Korea Community Day 2024https://kcd-korea.net/ Cloud Native Korea Community Day 2024Cloud Native Korea Community Day 2024, Kubernetes와 CNCF 프로젝트를 아우르는 대규모 기술 행사가 여러분을 기다립니다!kcd-korea.net 2024년 9월 24일 화요일에 백범김구기념관에서 열리는 쿠버네티스 한국 커뮤니티데이 2024에 참가했다 행사장으로 효창공원앞역에 내려서 역을 기준으로 도보로 한 12분정도 거리에 위치한 백범김구기념관.. 오르막길이다 헥헥행사장등록 & 오전 세션입구로 들어가니 데스크가 보여서 문자를 보여주고 목걸이 명찰을 받았다그리고 등록 데스크 왼쪽을 보니 행사 스..
2024.09.27
-
글또 10기(마지막 기수) 합격
글또 - 글 쓰는 또라이가 세상을 바꾼다(글 쓰는 개발자 모임)2021년 6월부터 현재까지 개발하고 책 읽고 강의 보면서 블로그에 글들을 끄적끄적 작성했었는데이번에 의미 있게 글또에 참여해보고 싶었다슬프게도 이번 10기를 끝으로 글또 기수 활동이 종료된다고 한다글또 10기의 지원조건인 삶의 지도 글을 열심히 작성했다https://code-boki.tistory.com/218 삶의 지도 - 과거부터 현재까지이 글은 글쓰는 개발자 모임, 글또 10기를 지원하기 위해 작성한 글이기도 하며, 제가 한번쯤은 적고 싶었던 제 일대기에 관한 글입니다1992.05 ~ 2024.09(now)1~7살[탄생~유치원](1992~1998)Hello World! But...code-boki.tistory.com그랬더니 좋은 결과..
2024.09.27
-
삶의 지도 - 과거부터 현재까지
이 글은 글쓰는 개발자 모임, 글또 10기를 지원하기 위해 작성한 글이기도 하며, 제가 한번쯤은 적고 싶었던 제 일대기에 관한 글입니다1992.05 ~ 2024.09(now)1~7살[탄생~유치원](1992~1998)Hello World! But...나는 이 세상에 37주 미만에 태어난 미숙아임과 동시에 2.2kg인 저출생체중아로 태어났다인큐베이터에 꽤 오랜 시간을 있었다고 한다...ㅠ약하게 태어난 탓일까... 어머니가 말씀하시길 나는 3살 초까지 먹는것들 대부분을 게워내기 일쑤였고, 말하는 것도 늦었다고 했다이러나저러나 애기였던 나는 그래도 태어난 김에 살고싶었나보다..ㅎ 그래도 조금씩은 건강을 회복해 나아갔다하지만 태어날 때 미숙아여서 그런진 몰라도 위 사진에 첨부한 안 좋은 특성중에 몇개가 있는 것 ..
2024.09.22
-
혹시... 아직도 Java-Faker 쓰세요?(Vulnerabilities을 무시하고 있지는 않으신가요?)
Java/Kotlin Spring 진영에서 테스트코드 혹은 실제와 비슷한 더미데이터를 생성할때 쓰는 라이브러리가 있다[ 보통 테스트 코드에서 사용하는 Fixture나 대표/운영진분들이 투자자분들한테 실제와 같은 데이터로 시연화면을 보여주고 싶을때 사용 ] 그것은 아마 자바 대상혁(Java-Faker) 라이브러리일것이다..(너..롤하냐? 왜 기습숭배를..)이 라이브러리의 시초는 루비이며, 거기서 파생되어 나온 프로젝트이다( Maven Repository에서 무려 1833위인 라이브러리 )인터넷에 몇몇 글들 혹은 개발 강의를 보면 이 라이브러리를 가져다 쓰는 곳을 볼 수 있다나름 버전관리도 꽤 한 모습이다(0.18에서 왜 갑자기 1.0으로..?)하지만 가장 최근 버전을 눌러보면9개의 취약성을 갖고 있다는 것..
2024.09.17
-
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
-
5주차 스터디 노트
JVM & GC JVM 구조에 대해서 설명해 주세요. 클래스 로더에 대해 설명해 주세요. JVM 메모리 구조를 자세히 설명해 주세요. 왜 Heap 영역은 Young Generation과 Old Generation으로 나뉘나요? GC란 무엇인가요? GC의 장단점을 설명해 주세요. GC에서 사용하는 알고리즘은 무엇이 있고, Java는 어떤 알고리즘을 사용하나요? Java 8 기준으로, GC는 어떤 방식으로 수행되나요? GC의 종류 또는 발전 과정을 아시는대로 말씀해주세요. GC의 실행 방식을 아는만큼 설명해 주세요. Java 8과 Java 11의 디폴트 GC 실행 방식은 어떤 것인가요? G1 GC에 대해 설명해 주세요. G1 GC의 Heap 구..
2024.09.12
-
4주차 스터디 노트
동시성 프로그래밍동시성과 병렬성의 차이점을 말해주세요.Thread-Safe하다는 것이 무슨 의미인가요?가시성 문제와 원자성 문제에 대해 설명해 주세요.가시성 문제에 대해 조금 더 자세히 설명해 주세요. 여러 스레드가 모두 한 CPU의 캐시 메모리를 읽으면 가시성 문제가 발생하지 않을 것 같은데, 어떻게 생각하시나요?자바의 동시성 이슈를 해결하는 방법을 아는만큼 설명해 주세요.volatile 키워드가 무엇인가요?synchronized 키워드가 무엇인가요?synchronized의 문제점은 무엇이 있나요?synchronized는 어떻게 구현되어 있나요?atomic하다는 것이 무슨 의미인가요?atomic 키워드가 무엇인가요?CAS 알고리즘에 대해 설명해 주세요.Vector, Hashtable, Collectio..
2024.09.05
-
8/31 유스콘(YouthCon24) 참여 후기
일요일에 후기를 작성하고 싶었지만, 시골에 내려갔다 온다고 조금 늦은(?) 후기를 올려본다KTX를 타고 시골로 내려가면서 헥사고날(포트&어댑터)에 대해 다루고 있는 클린 아키텍처 책을 읽었다 목차유스콘 오프라인 참여자 선정유스콘이란?행사 일시와 장소명예 규율이벤트 스케쥴트랙1, 2 정보내 시간표행사장으로1부점심시간2부휴식 시간3부후기 유스콘 오프라인 참여자 선정유스콘이란?유스콘은 👨🎓 젊은 개발자와 👨🏫 선배 개발자가 함께 가치 있는 기술에 관한 정보와 경험을 공유하는 콘퍼런스입니다. 여기서 발표하는 사람들을 잘 기억해 주세요. 가까운 미래에는 DEVIEW, if(kakao), INFCON의 주인공이 될 개발자입니다. -- 벌써 햇수로는 5년차인(20,21,22,23,24) 유스콘 행사이다난 ..
2024.09.03
-
8/27 캠프콘 참여 후기(feat. 토비의 스프링 책 판매자님과의 만남)
세션 1,2가 괜찮게 보였고 어차피 밖에서 공부중이었기 때문에 접속했다 세션 1 - 백엔드 기술 면접 합격 A to Z(카카오뱅크 김하은님)면접은 "같이 일하고 싶은 동료를 뽑는 것" == "함께 일할 팀원을 찾는 과정" 전체적으로 백엔드 개발 개요, 백엔드 개발자의 역할, 주요 기술 스택, 비기술적 역량, 면접, 일반적인 채용 과정, 면접의 핵심 요소, 면접 질문 예시3개Bad/Good답변, 면접 준비 전략을 끝으로 슬라이드 발표를 하셨고 이어서 Q&A 타임이 있었다 여러 의미있고, 들을만한 질문과 답변들이 있었고, 나도 질문을 1개 해봤다..ㅎㅎ너무 당연한 질문이라 그런가....ㅎ 하은님이 생각하는 적정한 테스트 커버리지의 수치에 대해서 들을 수 있었고, 뒤에는 당연히 모킹한다. 네. 라고 하셨다....
2024.09.03
-
볼트 X 커피챗 참여 후기(feat. 토스증권 서버 리드분과의 슈퍼커피챗)
행사 안내 문자 수신8/19일에 볼트X에서 행사 안내 문자를 수신받았다3개 기업이 참여하고, 테크리드분들을 만나뵙고 슈퍼커피챗 기회도 얻을 수 있다는 행사라고 한다관심이 있었기에 아래의 이벤터스 링크로 들어가서 신청했다행사 소개행사 신청이벤터스를 통해 행사를 신청했다항상 추첨 방식 또는 선착순으로만 행사를 참여했었는데 이번에는 이력서를 제출하고 3개 기업이 수락한 사람들 중에서 총 100명만 행사를 참여할 수 있었다또한 토스증권, 라포랩스, 스윙에서 제출된 이력서들을 미리 보고 관심가는 단 20명을 뽑아서 테크 리드와의 슈퍼커피챗 기회를 주는 선발형 이벤트도 있었다행사 3일 전까지만 해도 참가대기 상태였다가, 참가확정이 되었다. 확정이 되었다는 안내 메일 또한 받았다 토스증권 서버 리드분과의 슈퍼커피챗 ..
2024.08.30
전체 글
-
올해는 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)
-
Primitive type의 Call By Value 살펴보기(feat. JNI)
-
DEVOCEAN 제6회 테크 데이 (OpenLab 성장 스토리) 행사 참여 후기
-
새로운 버전이 나오면..? 무언가를 도입하려고 할때 (feat. maturity level)
-
혼공학습단 12기 활동회고록 - [혼공네트]
-
혼공네트 6주차 - 실습, 네트워크 심화(Wireshark 패킷/프로토콜 분석, 다중화, 로드밸런싱, 암호화, 무선 네트워크)
-
1주차 스터디 노트
-
JSCODE 스터디 신청
-
블로그 왜 하세요? 왜 티스토리 블로그 하세요? 수익은요?
-
블로그 글 쓰기를 작성할 때 순서
-
혼공네트 5주차 - 응용 계층(DNS, URI/URL, HTTP Message, HTTP Header, 캐시, 쿠키, 콘텐츠 협상)
-
Google I/O Extended 2024 Incheon 후기
-
INFCON 2024 참여 후기
-
<켄트 벡의 Tidy First?>를 번역하며 알게 된 것들 역자 북토크 참여 후기
-
혼공네트 4주차 - 전송 계층(Port, NAPT, ICMP, TCP, UDP, 3-way handshake, 오류/흐름/혼잡 제어)
-
협업을 위한 - Gitmoji 도입해보기
-
협업을 위한 - 커밋 규칙과 이슈번호 사용 그리고 템플릿 만들기
-
오픈소스 공식홈페이지의 비교 테이블을 곧이곧대로 믿지말자
-
Frontend Logging System PoC 공유(23년 12월에 진행)
-
코딩이랑 무관합니다만 2분기 Meet Up(AWS Hero, Google GDE, MS MVP) at Microsoft Korea
-
이제 막 Web을 공부하는 학생, 취준생들에게... (feat. Spring)
-
혼공네트 3주차 - 네트워크 계층(IP, ARP, 서브넷 마스크, NAT, DHCP, Router, Routing Table)
-
한빛미디어) 제로베이스에서 유능한 QA로 성장하는 소프트웨어 테스트의 모든 것 강연 참여
-
인프콘 2024 [골든티켓] 당첨 (25명의 주인공 나야 나!!)
-
혼공네트 2주차 - 물리 계층과 데이터 링크 계층(이더넷, NIC, 허브/스위치)
-
혼공네트 1주차 - 컴퓨터 네트워크 시작하기(지식의 필요성/거시적/미시적 관점)
-
내돈내산) 개정판 - 혼자 공부하는 얄팍한 코딩 지식 책 리뷰
-
Father of Java, James Gosling retired on July 3, 2024.
-
2024 인프콘 참여 MyPage
-
글 쓰기의 어려움 - 나는 등대가 되고싶다
-
KotlinConf'24 Global in South Korea 참여 후기
-
서평-제이펍) 에러가 무섭지 않게 되는 책 리뷰
-
GDSC Ewha 5th Demo Day 참여 후기(at 구글 스타트업 캠퍼스 )
-
골든래빗) 개발자 원칙 완전체 후기
-
크롬 검색창에서 다른 사이트 검색하기!!
-
Windows, Android - Flutter/Unity
-
DSL이란?
-
intelliJ 글씨 크기 단축키로 조절하기
-
서평-길벗) 코딩 자율학습 제로초의 자바스크립트 입문 책 리뷰
-
IntelliJ Honey Tips 6
-
개발공부법에 대한 내 생각 + 요즘 이것저것 공부중인 근황
-
면접관 참여 후기