본문 바로가기

분류 전체보기148

취준일기 - 올해까지만 개발자 취준해보고그래도 안되면 포기해야지 현재 상황 2개의 면접이 진행중이었다. 그 중 하나는 어제 1차면접에 대한 결과가 오기로 했고, 다른 하나는 1차를 통과하고 2차면접을 보기로 했다.결과는 결과가 오기로한 곳은 하루가 지난 지금까지 소식이 없고, 다른 하나 2차면접 본 곳은 일주일 뒤 기존에 안내받지 못 했던 3차면접 여부를 전달주겠다고 했다. 기대가 컸던만큼 힘든게 사실이다. 취업에 쏟는 에너지를 회사에서 직무를 수행하며 오롯이 쏟고 싶다. 회사에서 몰랐던 개념을 퇴근 후 추가 공부하고, 여러가지 과업을 욕심내서 수행해보고 싶다. 취업은 노력-성취의 상관관계가 여러모로 불친절하다.  마지막 마라톤을 준비하며 6월부터 재수를 준비하는 고3, 공무원시험 3년 준비를 각오하며 첫 해 시험은 몸 풀기로 여기는 사람, 배우지망생이지만 오디션은 .. 2024. 9. 12.
List객체를 toString()하게 되면 일어나는 일 https://thiswooin.tistory.com/9 TIL 230522 : toString()은 대괄호를 포함한 배열인 척하는 문자열이었다.향상된 for문으로 전체 출력을 해보려 했다. 오류 발생. for-each문에서는 배열이나 Iterable이 필요하다는 뜻 같다. 배열이 맞지않나?라는 생각으로 두가지로 출력해봤다. 배열 모양이 맞는 것 같았thiswooin.tistory.com지극히 자바에 아무것도 모르던 시절, 아무것도 모른채로 toString()에 대해 멋대로 해석한 포스팅을 우연히 다시보게 되고,다시 알게된 지식을 추가한 이 포스팅으로 Override하고자 합니다.Object클래스의 toString() 메소드자바에서는 어떤 클래스를 생성하든지 가장 상단에 Object클래스를 자동으로 상속.. 2024. 9. 4.
(a+b)/2 과 a+(b-a)/2 의 차이 (feat. Integer Overflow, Leetcode 374) (a+b)/2 과 a+(b-a)/2의 결과값은 같다.하지만 전자는 일시적으로 데이터 타입의 허용범위를 넘길 수 있다.  겪은 문제코딩테스트 중 입력받은 int n 값이 int의 최대허용범위 근처의 큰 수일때만 통과하지 못 했다.  int 타입의 start, end 변수 두 개가 있다.경우에 따라 start의 값을 mid+1로 변경하는 분기가 존재한다. 첫번째 시행n의 값이 int 타입의 최대 허용범위에 근접해있고, 약 2억이라 표현해본다.start=1, end=2억 인 셈이다. 이 때의 mid 값을 구하기 위한 start+end값은 약 2억으로 허용범위를 초과하지 않는다.start=1억 정도의 값으로 변경되며 시행 마무리두번째 시행int mid 값을 연산하기 위해 end+start의 값을 구할때, 2억+.. 2024. 8. 30.
240827 : 특정 목표페이지 내 피드구현 (진행중) 작업 내용 : 목표 아래에 피드 구현하기 현재 특정 목표에 진입했을 때의 view - 여기서 해당 목표에 도전중인 유저들의 활동내역 이벤트(DONE, SUPER-DONE, 도전 시작, 포기, 연속 수행 등)를 한번에 볼 수 있는 피드를 구현하고자 한다. - 여러 이벤트들을 가져와서 각기 다른            고민1. 기존에 있는 테이블인 Done, Super-Done객체를 그대로 가져와서 활용하면 그만일지    -> 처음 시도로는 Union해서 가져왔지만 단점이 많이 발견.    -> 추후에 여러 이벤트들이 추가될텐데 그 때 확장성이 좋지 않아 보임. 2. 여러 테이블에 있는 정보들이 하나의 리스트로 가져와야 한다.    -> 테이블의 튜플을 그대로 가져오는 것이 언제까지 유효할지?    -> 예를들.. 2024. 8. 27.
240820 : 간만의 업데이트 ('목표' 리스트 탭 추가) '채용공고 서칭 - 간헐적 공채 자소서 작성 - 이력서 보완 - 포트폴리오 진행 - 알고리즘 공부 - CS 공부' 이 무한굴레에서 모두를 완벽하게 해내는 것이 너무나 어렵다는 것을 느끼고 있는 요즘이다.그 틈에 간만에 업데이트를 했다.    다른 사람들의 목표 피드화 (홈 탭)타인의 목표와 수행통계를 보며 동기부여를 상호적으로 주고받기를 원했다.각 목표 하단에 참여하는 참가자 수 - 총 달성 수 - 조회 수 를 표기했다.각 피드를 클릭했을 때, 다른 사람들의 목표관련 이벤트를 확인할 수 있는 페이지로 이동. (이벤트 조회는 예정)'목표 도전' 버튼을 통해 해당목표에 나도 달성할 수 있게 지정가능.               트러블 슈팅application.yaml 파일 내에 특정 db의 비밀번호를 공백으로.. 2024. 8. 20.
트러블슈팅 : 목표에 오늘의 DONE 기록시 중복요청 분산락으로 방지하기 (2/2) https://thiswooin.tistory.com/147 트러블슈팅 : 목표에 오늘의 DONE기록시 동시성 문제로 인한 중복 생성 (1/2)문제상황동시에 done 테이블에 접근하여 오늘 생성된 데이터가 있는지 조회각 요청 모두 조회된 데이터가 없다고 판단하루에 하나만 존재해야하는 데이터가 두개가 동시에 생성됨한마디로, 우thiswooin.tistory.com지난 시간 연관관계가 포함된 객체를 비관적락으로 중복조회를 한 뒤 하나씩 쓰기 시도를 하려다가,FK를 포함한 객체에 비관적 락을 걸었을 때 인덱스 페이지 전체에 레코드락이 걸려 데드락이 걸리는 현상이 발생하였다. 처리중인 요청을 AOP를 통해 set에 담아 체크하는 방식의 시도, 그리고 Redis를 활용하여 분산락 구현을 통한 중복요청 방지를 구현.. 2024. 8. 5.