본문 바로가기

java17

김영한님 40만 수강생 달성 기념 이벤트: 멘토링권 당첨 인프런 이벤트24년 1월에 30만 수강생 이벤트를 하신 것 같은 기분....이 드는데11월에 벌써 40만 수강생 이벤트가 오픈됐었다1번: 해당 이벤트 페이지 응원 댓글 + 2번: 로드맵에 취업or이직 후기를 올리면 김영한님께서 직접 식사권을 받을 1명, 멘토링을 받을 3명을 선정해주신다고 하셨다!나머지는 40만 포인트 10명, 4만 포인트 100명!!나도 영한님의 온라인 제자로서 정성을 들여서 댓글을 달았다..!!! 결과는...........3등 멘토링권 당첨!!! 인가...?? 하지만....ㅠㅠ 이메일이 거의 다 * 처리가 돼서 내 이메일이 맞나 확신이 안들었다ㅠㅠ 그래서 인프런쪽에 문의를 드린 결과.....!!3등 멘토링권 찐 당첨!!!그리고 거짓말같게도 몇일 뒤에 영한님의 이메일이 도착했다....... 2024. 12. 19.
인프런 스터디(백엔드 클린 코드, 테스트 코드) OT 2024/09/27 OT 참여OT는 Google Meet에서 이루어졌다OT에서 AI 내용이 나와서 조금은 읭?하고 있었는데 우빈님의 다음 말을 위한 디딤돌 장표였다..큭 정리 - 내생각 결국 우리들은 어쩔수없이 미래에 AI와 함께 일하고 살고 있을 것이고 그들이 90%를 차지할 수 있지만우리가 실력 있는 개발자로서 그 남은 10%까지 인공지능에 대체되고 싶지 않다면 휴먼의 영역인 10%를 차지할만한 실력을 기르자!그리고 그것은 클린코드(우빈님 강의에선 읽기좋은 코드, 클린코드는 클린 아키텍처를 뜻하는 경우가 더 많다)와 테스트코드를 통해 채우면 된다고 하신다ㅎㅎ 나도 동의한다!! 테스트코드에서는 컴퓨터가 알 수 없는 비즈니스 영역이 드러가기 마련이고, 약간의 스포를 하면 Positive뿐만 아니라 Nag.. 2024. 9. 28.
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.
자바에서의 다양한 문자열 포맷팅 방법(feat. MessageFormat) 복잡한 거 아니니깐 빠르게 알아보자!1. String 더하기단순하지만 강력한 방법이다다만.. 복잡시럽게 보일 수 있다는 단점 존재2. printfC언어를 배웠다면 익숙한 그 printf문법당연히 패딩넣기도 된다.다만 %p, %x등의 메모리 관련 포맷형식을 사용하면 UnknownFormatConversion 예외가 발생한다자바만의 특이점으로는 %h를 통해 메모리해시값을 얻을 수 있다. 슬프지만 당연하게도 Primitive type은 메모리주소를 알 수 없다3. String.format()printf와 비슷하게 형식을 지정할 수 있다그럼 차이점이 뭐야? 할 수 있는데, printf는 포맷팅 동시에 출력이 되는 방식이고, String.format은 반환형인 String으로 만들어서 재사용한다던지, 좀 더 가공.. 2024. 8. 29.
자바에서 두 변수 값 바꾸기(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.
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.
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. 8. 20.
1주차 스터디 노트 아래의 질문들에 대해 학생/취준생/이직 준비자 등등 다 답해보자자바 기본 Java의 특징에 대해서 설명해주세요. Java의 단점에 대해서 설명해주세요. Java 실행 과정에 대해서 설명해주세요. Java Bytecode에 대해서 설명해주세요. Java의 인터프리터(interpreter) 방식과 JIT 컴파일(compile) 방식에 대해서 설명해주세요. 사용해본 Java 버전과 특징 그리고 왜 그 버전을 사용했는지 설명해주세요. Java 8, 11, 17 버전에 대해 아는대로 설명해주세요. JDK와 JRE에 대해서 설명해주세요. 동일성과 동등성에 대해 설명해 주세요. equals()와 ==의 차이점은 무엇일까요? HashCode를 설명하고, equals() 와 hashCode() 의 차.. 2024. 8. 16.
JSCODE 스터디 신청 Youtube - JSCODE종종 영상이 올라오면 즐겨보는 IT 유튜브 채널이다네이버, 채널톡 등의 회사에서 지인들에게 인터뷰를 하는 영상이 눈길이 갔고최근에는 인프런에서 비전공자나 취준생들을 위한 영상을 만드는 박재성 대표님 여기 채널에서 CS 스터디를 모집한다길래 노션 페이지를 들어가봤다 CS 모의면접 스터디CS를 그냥 스터디만 하는게 아니라, 모의면접을 기반으로 한 스터디이다!과목은 네트워크, 데이터베이스, 운영체제, 자바 팀단위 모의면접 구성원은 지원자 1(나), 면접관2, 관찰자2, 타임키퍼1 스터디 신청나는 이번에 1기가 열린 Java를 신청했다이미 연차가 있는 개발자기이긴 하지만.. 교통사고가 가장 잘 나는 구간이면서 주니어 개발자들이 나 좀 잘하는듯?하고 착각을 많이 한다는 3~5년차 구.. 2024. 8. 16.
이제 막 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. 7. 22.
Father of Java, James Gosling retired on July 3, 2024. 이럴수가.. 자바의 아버지라고 불리던 제임스 고슬링께서 은퇴를 선언하셨다.링크드인의 댓글을 보면 다들 그의 은퇴를 축하하고 앞으로의 길을 축복해주는 것 같다.Sun Microsystems에서 26년동안 근무하시고 Google을 거쳐서 현재 7년째 AWS에 계셨었는데.. 이젠 쉬시고 싶으셨나보다.TMI지만 우리 아빠보다도 나이가 많으시니...한 언어를 만든 거장이신 제임스 고슬링님의 은퇴를 축복한다!! https://robicombi.github.io/ The father of JavaJames Arthur Gosling (born May 19, 1955)robicombi.github.iohttps://www.linkedin.com/feed/update/urn:li:activity:7213740307538.. 2024. 7. 4.
Compile, Link, Build, Run (feat. C vs JAVA) 프로그램을 작성하다보면 컴파일 타임, 런타임이란 용어들을 접하고... 컴파일, 런타임을 검색하다보면 링크, 빌드, 바인드 이런 용어들도 접하게 된다 그럼 이제부터 과연 이게 무엇인지에 대해 알아보자! 나중에 내가 주로 개발하는 언어인 Java와 TypeScript에 대해 말하긴 할것이고, Java는 C#과 많이 비교되는 언어지만.. C언어부터 예로 들어 시작해보겠다 Compile - C언의 컴파일 과정 1. C언어로 프로그램을 만들기 위해선 .c 확장자를 갖고 있는 source file(소스파일)을 작성해야 한다 2. 컴파일을 거치기 전에 Preprocessing(전처리)과정을 거친다. 이 과정에서 #이 붙은 매크로나 전처리기를 해석하거나 해석하지 않거나 등을 선택하고 주석 등을 배제한다 3. 각 CPU.. 2022. 8. 7.
IntelliJ로 코딩테스트를 하는 분들을 위한 플러그인 보이시나요!? 왼쪽에 코드 치는 부분과 별개로 우측에 문제 부분이 나온것을... Embedded Web Browser라는 플러그인입니다 집에서 듀얼 모니터로 한다면 상관이 없지만, 카페에 노트북 하나 들고가서 코딩하시는분들은 알트탭이 월마나 귀찮은지, 특히 코테문제같은거를 풀때 아실거에요 인텔리제이 설정창에서 플러그인 탭을 누르시고 web browser를 검색하시면 embedded web browser가 나옵니다! 이거를 설치하면 우측 탭에 embedded web browser라는게 생깁니다 주소를 적는 쪽에 붙여넣기를 하고 Go를 누르면 이동됩니다 참고로 아쉬운점은 브라우저 내부에서 뒤로가기가 안된다는 점입니다 저는 혹시라도 보안을 생각해서 백준 비밀번호를 쉬운거로 바꾸고 저쪽에서 로그인 해서 제출한다.. 2021. 8. 8.
모던 자바 인 액션스터디 (1) - 자바의 역사 및 특징 이 포스팅은 책내용에는 있지 않다. 모던자바라고 불리는 자바8 이후를 배우려면 자바의 역사도 알아야 한다고 생각해서 추가로 포스팅을 한다. * Java 버전별 특징 및 역사 1. Java 1.0a(1990년 12월~1991년 1월) Sun MicroSystems는 전문가들로 구성된 그린 프로젝트(Green Project)를 만듭니다. 여기에는 패트릭 노턴(Patrick Naughton), 마이크 쉐리던(Mike Sheridan), 제임스 고슬링(James Gosling)이 포함되었으며 초기에는 Oak라는 언어로 불리며 가전기기에서 쓰일 각 플랫폼에 독립적인 플랫폼 독립적인 언어를 개발하려고 했습니다. 그린팀에서는 프로세스 독립적인 언어의 잠재력을 보여줄 수 있는 양방향 휴대용 엔터테인먼트 장치인 Star.. 2021. 6. 27.