TOCTOU 경쟁조건
TOC TOU 경쟁조건 TOCTOU(Time Of Check to Time Of Use) 경쟁 조건은 컴퓨터 보안 및 프로그래밍에서 자주 발생하는 일반적인 문제 중 하나이다. 이 문제는 시스템이 두 단계로 나뉘어 수행될 때 발생하는데, 하나는 어떤 조건을 검사하는 단계이고 다른 하나는 그 조건에 기반하여 어떤 동작을 실행하는 단계이다. 각각을 순서대...
TOC TOU 경쟁조건 TOCTOU(Time Of Check to Time Of Use) 경쟁 조건은 컴퓨터 보안 및 프로그래밍에서 자주 발생하는 일반적인 문제 중 하나이다. 이 문제는 시스템이 두 단계로 나뉘어 수행될 때 발생하는데, 하나는 어떤 조건을 검사하는 단계이고 다른 하나는 그 조건에 기반하여 어떤 동작을 실행하는 단계이다. 각각을 순서대...
주어진 기간안에 미션을 모두 완료했다! 어려웠지만 리뷰어님들과 포비님의 응원 및 리뷰 덕분에 잘 완료되었다. 그런데 썩 마음에 들지 않는 내 코드들이 있다. 이 부분들은 개인적으로 수정해볼까 한다. 막판에 조금 아슬아슬하긴 했지만 어쨌든 성공적으로 마무리해서 뿌듯하다. 과정에 대한 소감 개발문화가 괜찮다고 하는 회사들의 얘기를 들어보면 개발 후 P...
피드백 정리 Optional에 대해 문제가 된 코드는 다음과 같다. private static Optional<Players> validatedInputPlayers() { try { return Optional.of(Players.fromStringList(INPUT_VIEW.inputPlayers())); ...
이번 주는 내가 코딩테스트 공부를 하느라, 그리고 리뷰어님이 바쁘신 지 리뷰가 늦어져서 진행이 많이 안 됐다. 근 2주 동안 속도가 더뎌진 듯 하다. 얼마 안 남았으니 최대한 마무리 해야지! 피드백 정리 스트림은 순수 함수 모음이다 자바의 Stream은 자바에서 여러 함수를 모아 함수형 프로그래밍을 할 수 있도록 도와주는 API이다. 함수형 프로...
들어가며 2023년 4월 4일 신입으로 입사하여, 이틀 전 나는 입사 1주년이 되었다. 개발자로서의 신입뿐만 아니라 알바를 제외하고 직장을 다닌 것 자체가 신입이다. 경력이 1년이 되니, 뭔가 조금한 마음이 생겼다. 1년차인데 나 정도면 어느 정도 수준일까? 이 회사를 계속 다녀도 되는걸까? 회고록을 작성한다고 해서 이 문제들의 해답을 ...
이번 주는 진도를 많이 못 뺐다. 회사 회식과 뭐 이것저것 하다보니 할 시간이 많이 없었다(핑계). 사다리 미션을 하고 있는데 개인적으로 난이도가 제일 어려워서 헤매는 중이다. 무엇이 어렵냐면, 이번 미션은 객체지향 보다는 어떤 식으로 사다리를 구현할 것인지에 대한 것이 주가 되어 많이 난감했다. 지금까지 객체지향, 책임과 역할 등을 고민해왔는데 이번...
NEXTSTEP 과정을 시작한 지 벌써 3주가 지났다. 시간이 어떻게 가는 지도 모르겠다. 이번 주도 과정을 진행하며 받은 피드백을 정리해보고 나름의 회고를 해보려고 한다. 피드백 정리 1. Enum과 함수형 인터페이스 개발하다보면 어떤 상수에 대한 상태를 관리해야하는 경우가 있다. 예를 들어, 로또 등수에 대한 경우이다. 어떤 경우인 지 코드로...
피드백 정리 1. getter를 지양하자 과제를 구현하다보니 화면 출력 기능에는 도저히 getter가 없으면 안 될 것 같았다. 해당 도메인 객체에 출력하는 책임을 부여한다면 getter는 필요없겠지만, 과연 그것이 객체지향적일까? getter를 만드는 것과 출력의 책임을 부여하는 것. 그 사이에서 고민이 많았다. 출력의 책임은 출력 객체에서 오롯이...
1주차 객체지향 생활 체조 원칙 객체지향 생활 체조 원칙은 소트웍스 앤솔러지 책에서 다루고 있는 내용으로 객체지향 프로그래밍을 잘 하기 위한 9가지 원칙을 제시하고 있다. 이 책에서 주장하는 9가지 원칙은 다음과 같다. 규칙 1: 한 메서드에 오직 한 단계의 들여쓰기(indent)만 한다. 규칙 2: else 예약어를 쓰지 않는다. ...
과정에 참가한 계기 갑자기 바람이 분 것은 아니다. 해당 과정을 작년 초에 처음 알게되었는데, 그 때부터 해보고 싶었다. 나도 나름 깔끔하고 유지보수하기 좋은 코드를 지향한다. 처음 작성할 때에는 분명 메서드도 나누고 객체도 나누며 이 정도면 깔끔하겠지? 싶다가도 나중에 다시 보면 정말 냄새난다. 내 코드를 내가 봐도 냄새나는데 다른 개발자가 보면 ...