전체 글

· Java
TOC TOU 경쟁조건TOCTOU(Time Of Check to Time Of Use) 경쟁 조건은 컴퓨터 보안 및 프로그래밍에서 자주 발생하는 일반적인 문제 중 하나이다. 이 문제는 시스템이 두 단계로 나뉘어 수행될 때 발생하는데, 하나는 어떤 조건을 검사하는 단계이고 다른 하나는 그 조건에 기반하여 어떤 동작을 실행하는 단계이다. 각각을 순서대로 1단계, 2단계라 칭하겠다. 만약 이 두 작업 사이에 상태가 변경된다면, 원래의 검사가 무의미해져 프로그램이 예기치 않은 행동 혹은 예외를 발생시키게 된다.발생 상황 예시TOCTOU RaceCondition이 발생하는 상황의 몇 가지 예시를 들어보겠다.1. 파일 시스템 접근보통 파일에 접근하거나 수정할 때, 해당 파일이 존재하는 지 확인하고 접근하게 된다.i..
· 외부활동
수료 🥳 🎉 주어진 기간안에 미션을 모두 완료했다! 어려웠지만 리뷰어님들과 포비님의 응원 및 리뷰 덕분에 잘 완료되었다. 그런데 썩 마음에 들지 않는 내 코드들이 있다. 이 부분들은 개인적으로 수정해볼까 한다. 막판에 조금 아슬아슬하긴 했지만 어쨌든 성공적으로 마무리해서 뿌듯하다. 과정에 대한 소감 개발문화가 괜찮다고 하는 회사들의 얘기를 들어보면 개발 후 PR(Pull Request)를 하고, 개발자 서로의 코드를 리뷰해주는 문화를 가지고 있었다. 나는 현재 2년차에 접어든 재직자이지만 코드 리뷰같은 건 받아보지 못했다. 기능에 문제가 있지 않는 이상 아무도 내 코드에 태클걸 지 않았다. "저러면 싸움나는 거 아니야...?" 코드리뷰라는 걸 알았을 때 내 처음 생각은 이랬다. 만약 누가 내 코드에 자꾸..
· 외부활동
피드백 정리 Optional에 대해 문제가 된 코드는 다음과 같다. private static Optional validatedInputPlayers() { try { return Optional.of(Players.fromStringList(INPUT_VIEW.inputPlayers())); } catch (IllegalArgumentException e) { System.out.println(e.getMessage() + TRY_INPUT_AGAIN); } return Optional.empty(); } INPUT_VIEW를 통해 사용자의 입력을 받아올 때, IllegalArgumentException 예외가 발생하여도 일단은 정상적인 흐름으로 가져가기 위해 Optional을 도입했다. 코드 자체에는..
어느덧 6주가 지났다. 이 과정을 진행하는 동안 시간이 정말 빠르게 흘렀다. 배운 점도 많고, 이번 주가 아마 마지막 주일 것 같은데 미션 두 개가 아직 남았다. 둘 다 마지막 단계를 리퀘스트하고 코드 리뷰를 주고받는 중이라 기간 내에 끝낼 수 있지 않을까 싶다. 과정이 완전히 종료되면 회고록도 따로 작성해야겠다. 피드백 정리 빌더 패턴 지금껏 빌더 패턴을 즐겨 사용해왔다. 책 이펙티브 자바의 Item2는 생성자에 매개변수가 많다면 빌더를 고려하라 이다. 스프링부트 프로젝트에서 Lombok 라이브러리를 사용하면 매우 간단하게 빌더패턴을 사용할 수 있다. 때문에, 클래스에 매개변수가 많은 경우 잘 사용했다. 수강신청 미션을 진행하며 매개변수가 많아지자 평소처럼 빌더패턴을 사용하여 객체를 생성했다. 그러자 ..
· 외부활동
이번 주는 내가 코딩테스트 공부를 하느라, 그리고 리뷰어님이 바쁘신 지 리뷰가 늦어져서 진행이 많이 안 됐다. 근 2주 동안 속도가 더뎌진 듯 하다. 얼마 안 남았으니 최대한 마무리 해야지! 피드백 정리 스트림은 순수 함수 모음이다 자바의 Stream은 자바에서 여러 함수를 모아 함수형 프로그래밍을 할 수 있도록 도와주는 API이다. 함수형 프로그래밍은 말 그대로 함수가 주가 되어, 함수 재사용을 강조하는 패러다임이다. 이 때 중요한 것은 이 함수가 순수함수여야한다는 점이다. 순수 함수는 동일한 입력에 대해 항상 동일한 출력을 반환하고 내부, 외부 상태에 의존하지 않는 함수이다. 함수가 실행되어도 시스템의 상태를 변경하지 않기 때문에 함수가 전역 변수를 변경하거나, 파일 시스템에 쓰기, 네트워크 요청을 ..
들어가며 2023년 4월 4일 신입으로 입사하여, 이틀 전 나는 입사 1주년이 되었다. 개발자로서의 신입뿐만 아니라 알바를 제외하고 직장을 다닌 것 자체가 신입이다. 경력이 1년이 되니, 뭔가 조금한 마음이 생겼다. 1년차인데 나 정도면 어느 정도 수준일까? 이 회사를 계속 다녀도 되는걸까? 회고록을 작성한다고 해서 이 문제들의 해답을 찾을 수는 없겠지만, 작성함으로써 내가 잘한 것과 반성하고 고쳐야할 점 등에 대해 상기해보고 2년차 개발자가 돼보려고 한다. 말이 회고록이지 사실 밀린 방학숙제 같은 1년치 일기이다. 읽는 사람이 있을 지는 모르겠지만 이상한 부분이 있더라도 귀엽네~ 하고 넘겨주시길 바란다..^^b 취업 준비 상경 2023년 3월1일에 서울에 올라왔다. 취업준비는 고향인 부산에서 계속 하고..
nimoh
여유로운 개발생활