본문 바로가기

분류 전체보기293

[F-Lab 플러그인] IT 인프라, 얼마나 알아야 하나요? (feat. 우아한 형제들 이동규님) F-Lab 정기 세미나 선착순 100인 내 선발  세션 Q&A먼저 받은 질문들에 대한 답변추가적으로 들어온 즉석 질문에 대한 답변 네트워킹후기동규님의 세션과 여러 질문 답변들을 들어볼 수 있었던 시간이었습니다!정말 깊이가 있는 발표였는데...동규님이 인프라에 대해 고민하시면서 가장 낮은 레벨인 하드웨어부터 다양한 문제 시나리오를 그림이 그려진 키노트 장표로 보기좋게 설명해주셨습니다!!그리고 보통 Q&A시간이 주어지면 조금 짧은 시간만 답변하고 금방 close를 하는 다른 온라인 행사를 경험한적이 있는데동규님은 육아중이신데도 불구하고 정말정말 한분 한 분 참여자들을 위한 심도깊은 답변을 해주셨습니다Next Step, 배달의 민족, F-Lab에서 활동중이신데.. 이번에 F-lab의 플러그인 행사를 참여해서 .. 2024. 9. 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. 9. 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. 9. 27.
삶의 지도 - 과거부터 현재까지 이 글은 글쓰는 개발자 모임, 글또 10기를 지원하기 위해 작성한 글이기도 하며, 제가 한번쯤은 적고 싶었던 제 일대기에 관한 글입니다1992.05 ~ 2024.09(now)1~7살[탄생~유치원](1992~1998)Hello World! But...나는 이 세상에 37주 미만에 태어난 미숙아임과 동시에 2.2kg인 저출생체중아로 태어났다인큐베이터에 꽤 오랜 시간을 있었다고 한다...ㅠ약하게 태어난 탓일까... 어머니가 말씀하시길 나는 3살 초까지 먹는것들 대부분을 게워내기 일쑤였고, 말하는 것도 늦었다고 했다이러나저러나 애기였던 나는 그래도 태어난 김에 살고싶었나보다..ㅎ 그래도 조금씩은 건강을 회복해 나아갔다하지만 태어날 때 미숙아여서 그런진 몰라도 위 사진에 첨부한 안 좋은 특성중에 몇개가 있는 것 .. 2024. 9. 22.
혹시... 아직도 Java-Faker 쓰세요?(Vulnerabilities을 무시하고 있지는 않으신가요?) Java/Kotlin Spring 진영에서 테스트코드 혹은 실제와 비슷한 더미데이터를 생성할때 쓰는 라이브러리가 있다[ 보통 테스트 코드에서 사용하는 Fixture나 대표/운영진분들이 투자자분들한테 실제와 같은 데이터로 시연화면을 보여주고 싶을때 사용 ] 그것은 아마 자바 대상혁(Java-Faker) 라이브러리일것이다..(너..롤하냐? 왜 기습숭배를..)이 라이브러리의 시초는 루비이며, 거기서 파생되어 나온 프로젝트이다( Maven Repository에서 무려 1833위인 라이브러리 )인터넷에 몇몇 글들 혹은 개발 강의를 보면 이 라이브러리를 가져다 쓰는 곳을 볼 수 있다나름 버전관리도 꽤 한 모습이다(0.18에서 왜 갑자기 1.0으로..?)하지만 가장 최근 버전을 눌러보면9개의 취약성을 갖고 있다는 것.. 2024. 9. 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. 9. 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. 9. 12.
4주차 스터디 노트 동시성 프로그래밍동시성과 병렬성의 차이점을 말해주세요.Thread-Safe하다는 것이 무슨 의미인가요?가시성 문제와 원자성 문제에 대해 설명해 주세요.가시성 문제에 대해 조금 더 자세히 설명해 주세요. 여러 스레드가 모두 한 CPU의 캐시 메모리를 읽으면 가시성 문제가 발생하지 않을 것 같은데, 어떻게 생각하시나요?자바의 동시성 이슈를 해결하는 방법을 아는만큼 설명해 주세요.volatile 키워드가 무엇인가요?synchronized 키워드가 무엇인가요?synchronized의 문제점은 무엇이 있나요?synchronized는 어떻게 구현되어 있나요?atomic하다는 것이 무슨 의미인가요?atomic 키워드가 무엇인가요?CAS 알고리즘에 대해 설명해 주세요.Vector, Hashtable, Collectio.. 2024. 9. 5.
8/31 유스콘(YouthCon24) 참여 후기 일요일에 후기를 작성하고 싶었지만, 시골에 내려갔다 온다고 조금 늦은(?) 후기를 올려본다KTX를 타고 시골로 내려가면서 헥사고날(포트&어댑터)에 대해 다루고 있는 클린 아키텍처 책을 읽었다 목차유스콘 오프라인 참여자 선정유스콘이란?행사 일시와 장소명예 규율이벤트 스케쥴트랙1, 2 정보내 시간표행사장으로1부점심시간2부휴식 시간3부후기 유스콘 오프라인 참여자 선정유스콘이란?유스콘은 👨‍🎓 젊은 개발자와 👨‍🏫 선배 개발자가 함께 가치 있는 기술에 관한 정보와 경험을 공유하는 콘퍼런스입니다. 여기서 발표하는 사람들을 잘 기억해 주세요. 가까운 미래에는 DEVIEW, if(kakao), INFCON의 주인공이 될 개발자입니다. -- 벌써 햇수로는 5년차인(20,21,22,23,24) 유스콘 행사이다난 .. 2024. 9. 3.
8/27 캠프콘 참여 후기(feat. 토비의 스프링 책 판매자님과의 만남) 세션 1,2가 괜찮게 보였고 어차피 밖에서 공부중이었기 때문에 접속했다 세션 1 - 백엔드 기술 면접 합격 A to Z(카카오뱅크 김하은님)면접은 "같이 일하고 싶은 동료를 뽑는 것" == "함께 일할 팀원을 찾는 과정" 전체적으로 백엔드 개발 개요, 백엔드 개발자의 역할, 주요 기술 스택, 비기술적 역량, 면접, 일반적인 채용 과정, 면접의 핵심 요소, 면접 질문 예시3개Bad/Good답변, 면접 준비 전략을 끝으로 슬라이드 발표를 하셨고 이어서 Q&A 타임이 있었다 여러 의미있고, 들을만한 질문과 답변들이 있었고, 나도 질문을 1개 해봤다..ㅎㅎ너무 당연한 질문이라 그런가....ㅎ 하은님이 생각하는 적정한 테스트 커버리지의 수치에 대해서 들을 수 있었고, 뒤에는 당연히 모킹한다. 네. 라고 하셨다.... 2024. 9. 3.
볼트 X 커피챗 참여 후기(feat. 토스증권 서버 리드분과의 슈퍼커피챗) 행사 안내 문자 수신8/19일에 볼트X에서 행사 안내 문자를 수신받았다3개 기업이 참여하고, 테크리드분들을 만나뵙고 슈퍼커피챗 기회도 얻을 수 있다는 행사라고 한다관심이 있었기에 아래의 이벤터스 링크로 들어가서 신청했다행사 소개행사 신청이벤터스를 통해 행사를 신청했다항상 추첨 방식 또는 선착순으로만 행사를 참여했었는데 이번에는 이력서를 제출하고 3개 기업이 수락한 사람들 중에서 총 100명만 행사를 참여할 수 있었다또한 토스증권, 라포랩스, 스윙에서 제출된 이력서들을 미리 보고 관심가는 단 20명을 뽑아서 테크 리드와의 슈퍼커피챗 기회를 주는 선발형 이벤트도 있었다행사 3일 전까지만 해도 참가대기 상태였다가, 참가확정이 되었다. 확정이 되었다는 안내 메일 또한 받았다 토스증권 서버 리드분과의 슈퍼커피챗 .. 2024. 8. 30.
3주차 스터디 노트 컬렉션 JCF란 무엇인가요? JCF의 계층 구조를 설명해 주세요. List 인터페이스는 무엇이고, 구현체의 종류는 무엇이 있나요? ArrayList에 대해 설명해 주세요. ArrayList는 어떻게 동적으로 사이즈가 늘어나나요? LinkedList에 대해 설명해 주세요. 언제 ArrayList를 사용하고, 언제 LinkedList를 사용할까요?ArrayList와 Vector는 어떠한 차이가 있나요?Stack과 Queue가 무엇인가요?Set이 무엇이고, 구현 클래스가 무엇이 있는지 설명해 주세요.Set에서 중복 요소를 어떻게 걸러내는지 설명해 주세요.Map이 무엇이고, 구현 클래스가 무엇이 있는지 설명해 주세요.HashMap은 어떻게 동작하나요?HashMap의 최악의 시간 복잡도를 설명해 주세.. 2024. 8. 29.
자바에서의 다양한 문자열 포맷팅 방법(feat. MessageFormat) 복잡한 거 아니니깐 빠르게 알아보자!1. String 더하기단순하지만 강력한 방법이다다만.. 복잡시럽게 보일 수 있다는 단점 존재2. printfC언어를 배웠다면 익숙한 그 printf문법당연히 패딩넣기도 된다.다만 %p, %x등의 메모리 관련 포맷형식을 사용하면 UnknownFormatConversion 예외가 발생한다자바만의 특이점으로는 %h를 통해 메모리해시값을 얻을 수 있다. 슬프지만 당연하게도 Primitive type은 메모리주소를 알 수 없다3. String.format()printf와 비슷하게 형식을 지정할 수 있다그럼 차이점이 뭐야? 할 수 있는데, printf는 포맷팅 동시에 출력이 되는 방식이고, String.format은 반환형인 String으로 만들어서 재사용한다던지, 좀 더 가공.. 2024. 8. 29.
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. 8. 27.
서평-한빛미디어) 실무로 통하는 클린 코드 책 리뷰 서평단 선정2013년에 인사이트 출판사의 로버트 C. 마틴의 를 신입 개발자일때 혼자 봤던 경험이 있다그땐 이해가 가는 내용도 있고, 이게 무슨 말이지? 하는 것들도 있었다. 주로 후자였다하지만 지금은 조금 다른 시야를 갖고 있고, 2024년 8월 5일에 출간된 클린코드 책을 읽어보고 싶었다그래서 한빛미디어에 올라온 서평단에 신청을 하고, 선정됐다 책 수령표지의 동물은 회색물범이라고 한다대상 독자대상독자는 한빛네트워크 사이트에선 초중급이라고 평가해놨다책 내용을 읽어본 나도 초중급이라는 Range에 동의한다다만 초급이 봐도 좋고, 고급 수준인 개발자가 봐도 충분히 좋은 내용이었다최소 2회독정도 하며, 이 책에서 기억나는 것들을 현업 코드에 녹인다면 자신이 현재 어느수준이던간에 다음 레벨로 올라갈 수 있을 .. 2024. 8. 26.
자바에서 두 변수 값 바꾸기(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. 8. 24.
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. 8. 23.
Chat GPT 좀 더 잘 사용하기 - 사건아는 동생이 Java공부하고 있는데 Call by Value에 대해서 물어봐서 일단 내가 아는 지식 정리하고 Chat한테 한번 물어봤다 근데 이놈이 Python 코드를 알려주는거다 그래서 이런경우는 보통 한 번 더 말한다 "Python말고 Java언어로 답해줘" 그러다가 영어로 답한다 "한글로 번역해줘 or 한글로 답해줘"- 개인화 옵션 설정뭔가 설정할게 없나 찾아보니까 Chatgpt 맞춤 설정이라는 메뉴가 있었다그리고 요청사항을 입력했다매우 정중하게 존댓말로 했다. 인공지능에 대한 예우랄까..?- 변경 전/후> berfore> after이야..이거지ㅋ 아직도 프롬프팅을 할때 개인화를 하지 않은 사용자가 있다면 이번에 사용해보자 기깔나게 말해주기때문에 인공지능한테 화낼 일이 줄어들었다 2024. 8. 23.
2주차 스터디 노트 문자열, 예외, 제네릭 String literal과 new String(””)의 차이를 설명해 주세요. String, StringBuilder, StringBuffer의 차이점에 대해서 설명해주세요. Exception과 Error의 차이는 무엇인가요? Exception 클래스의 예시를 말해주세요. Checked Exception과 Unchecked Exception의 차이는 무엇인가요? throw와 throws의 차이는 무엇인가요? try~catch~finally 구문에서 finally은 어떠한 역할을 하나요? Throwable과 Exception의 차이는 무엇인가요? 제네릭이란 무엇이고, 왜 사용할까요? 제네릭을 사용한 경험을 소개해 주세요.람다, 스트림, 어노테이션, 리플렉션 람다.. 2024. 8. 22.
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. 8. 21.