면허증을 장롱에서 꺼내다 취업하고 마음의 여유가 생기니 자연히 놀러 다니고 싶어졌다. 그런데 내가 사는 경기도 의왕시는 경기 남부권에서 대중 교통이 불편하기로 악명높은 지역… 안 되겠다. 차가 있어야겠다. 마침 집에 어머니 마실용 NF쏘나타 트랜스폼이 있었다. 2008년식이라기엔 꽉 찬 옵션 2008년… 이면 내가 뭐 하고 있었더라? 아 중학교 1...
개발자 취업 도전기 - 3. 새로운 도전
떨어지는 자존감 웍스모바일 정규직 전환에서 떨어진 이후 하반기 내내 취업준비를 했다. 서류에서도 우수수 떨어지고 면접 하나 뚫기도 굉장히 어려웠다. 확실히 주변 분위기를 봐도 취업 시장이 작년에 비해서 얼어붙고 있다는 느낌도 들었고, 그에 비해 여러 가지 주변 사정으로 취업 준비를 길게 끌 수는 없는 상황이었다. 그래서 9월 정도부터는 무작정 원티드...
Log4j 취약점 Log4Shell과 후속 취약점들...
log4j란 log4j는 자바 기반 애플리케이션에서 사용되는 로깅 라이브러리로 상당수의 자바 기반 오픈소스 또는 상용 애플리케이션에서 log4j를 사용하고 있다. 자바에서 가장 많이 사용되는 로깅 라이브러리이기 때문에 매일매일 우리가 쇼핑몰에 접속하면 우리(클라이언트) IP 주소와 브라우저 useragent가 쇼핑몰 서버 로그에 기록되고, 마인...
Java 17의 변경점
학교 선배들과 이야기를 나누다가 Java 17에 대한 이야기가 나왔다. 아니 현업에서는 아직 Java 8이나 11을 많이 쓰는 거 아니었나? 벌써 17? 이라고 생각했는데, 조금 검색하다 보니 알아볼 가치가 있다는 생각이 들었다. 봉인 클래스 Java 15부터 프리뷰 형식으로 제공되다가 17에서 정식 기능으로 추가되었다. package com.ex...
자바의 @Transactional 어노테이션
어저께 본 면접에서 "자바의 @Transactional 어노테이션의 옵션이 무엇무엇 있느냐?" 라는 질문을 들었는데 제대로 대답하지 못했다. 전에 프로젝트 할 때는 기껏해야 readOnly 정도만 사용해 봤었으니까. 그래서 아쉬움을 잊기 전에 글로 정리하려고 한다. 먼저, 트랜잭션이란 뭘까? 트랜잭션의 정의는 데이터베이스의 상태를 변경하는 작업 또는...
String의 덧셈 연산 대신 StringBuilder/StringBuffer를 사용해야 하는 이유
자바 콘솔 애플리케이션을 만들 때 결과값을 화면에 표시하려면 변수와 문자열 리터럴을 조합하여야 한다. System.out.println(strike + "스트라이크, " + ball + "볼"); 이렇게 조합하거나, 혹은 C에서 했던 것처럼 System.out.printf("%d스트라이크, %d볼\n", strike, ball); // 또는 St...
개발자 취업 도전기 - 2. 웍스모바일 면접
네이버 웹툰 면접을 보기 하루 전, 생각지도 못했던 웍스모바일 코딩 테스트 통과 메일을 받았다. 첫 코딩 테스트 통과였고, 이에 힘을 얻어 네이버 웹툰 면접에 임했지만 어려운 꼬리질문에 탈탈 털리고 말았다. 남은 한 번의 기회는 꼭 살려야 했다. 같은 실수를 반복해선 안 됐다.네이버웹툰 면접이 목요일이었는데 금요일부터 운영체제론, 자바와 스프링 관...
개발자 취업 도전기 - 1. 일단 닥치는 대로 써보자
우아한테크코스를 마치고 4학년으로 복학했다. 학점이 많이 남아 있었기에 1학기는 꽉꽉 채워서 들어야 했고, 그래서 사실 1학기에는 취준 생각이 없었다. 그래서 동아리 활동이나 스터디나 일은 많이 벌려 놓았는데… 네이버가 상반기 공채를 연다는 소식을 듣고부터 왠지 이곳저곳 원서를 넣고 싶어져… 보이는 데마다 다 찔러보았다. 결과는 대부분 서류나 코테...
2020년 결산
끝났다, 2020년… 전반적으로 대부분을 우아한테크코스 활동에 쏟은 1년이었다. 앞서 후기를 통해 말했듯 좋은 사람들과 함께 큰 꿈을 꿀 수 있게 된 값진 경험이었다. 아쉬움도 남지만 그건 지금부터 채워 나가면 되는 거지. 이제 2021년에는 복학해서 대학교 4학년을 보내게 된다. 올해가 끝날 즈음에는 취업해서 2021년 결산은 취업 이야기로 시작했...
TypeScript 기초 - 1. TypeScript의 특징
학교 선배들과 함께 하는 사이드 프로젝트가 있다. 처음엔 분명히 스프링 공부를 하러 들어갔는데, 어쩌다 보니 프론트엔드를 맡게 되었다. 이미 짜여진 코드의 기술 스택을 보니 TypeScript와 React를 사용하고 있었다. 코드를 살펴보면서 알게 된 놀라운 사실은 TypeScript를 이용해 짜여진 프론트엔드 코드가 흡사 Java와 같은 객체 지향...