전체 글
-
[개인 프로젝트] boOKshelf를 뒤집어 엎기boOKshelf(소장도서관리pj) 2025. 4. 11. 00:28
4월이 되었습니다.작년에 자바를 잘 모르는 상태로 무작정 구상을 시작했던 도서 소장 관리 웹 서비스 bookshelf.JPA까지 수업을 들은 후에 아예 다시 갈아엎고 다시 시작했습니다.어떤 문제가 있었고, 어떻게 해결하고 있는지 중간과정을 정리해보려 합니다. 1. 일단 구현부터.???: "이것저것 새로운 기술을 써보고~", "차근차근 문서로 작성하면서~" 꿈이 거창했던 것 같습니다.처음부터 프로젝트의 전체를 바라볼 수 있는 관록이 전무하기 때문에, 서류는 서류대로, 개발은 개발대로 진행하게 되는 저의 모습을 보게 되었습니다. 오히려 문서화에 발이 묶여 개발도 미루게 되는 상황이 와서는 안된다는 판단 하에 가장 최소의 기능을 충족하는 서비스부터 일단 만들어보기로 했습니다. 소장 도서 관리 프로그램은 아주 ..
-
2월의 취준과 3월을 임하는 마음나의 생각들 2025. 3. 10. 11:50
계속 달려나가다가, 일주일 정도 갑자기 불안해지고 시간이 너무 빠르게 지나간다는 것을 느꼈다.생각대로 되는 일은 없는게 당연하지만, 지난주는 유독 계획했던만큼 진도도 많이 못 나가서 더욱 아쉬웠던 한 주였다.어딘가에 솔직하게 나의 힘든 마음을 적어놓으면, 훗날 잘 되었을 때 잘된 이야기도 함께 적을 수 있지 않을까 싶어 회고를 적어보려 한다.작년 한해가 가져다 준 것11월부터 본격적인 취준을 시작했다.작년 2월에 졸업을 하고, 그로부터 11월까지 열심히 부트캠프에 지원했고, 열심히 탈락했다. 또한 쓸 돈을 마련하기 위해 영어학원 알바를 시작하고, 공부하고 적응하기 위해 세달 정도는 소비한 것 같다.개발자가 되는 것에 고민도 많았던 시기였다.개발자가 될 것이었으면 진작 되었을거라는 막연한 불안과 혼란 속에..
-
[Mac M1] h2 데이터베이스 설치 시 ./h2.sh: line 3: 23678 Trace/BPT trap: 5 오류 해결 로그카테고리 없음 2025. 2. 9. 23:05
h2 설치h2 홈페이지에서([https://www.h2database.com]) zip파일로 다운로드권한 주기: chmod 755 h2.sh실행: ./h2.sh순조로웠으나, ./h2.sh 후에 에러 메시지가 떴다../h2.sh: line 3: 23678 Trace/BPT trap: 5 java -cp "$dir/h2-2.3.232.jar:$H2DRIVERS:$CLASSPATH" org.h2.tools.Console "$@"검색해보았다.동일한 에러가 발생되었다는 인프런의 글을 통해 해결할 수 있었다. (https://www.inflearn.com/community/questions/1066748/h2-%EC%8B%A4%ED%96%89-%EB%B6%88%EA%B0%80-%EB%AC%B8%EC%9D%98)해결..
-
김영한 자바 고급2까지 완강한 소감나의 생각들 2025. 1. 30. 01:44
작년 11월부터 자바 강의 듣기 시작작년에 열심히 하는 사람들과의 프로젝트 경험을 쌓고 싶다며 우테코를 도전했었다.물론 우테코 말고 다른 부트캠프도 거의 다 도전해봤지만, 결과는 광탈..당연하다. 간절하지 않았었다. 나라도 나를 안뽑아줄거라고 생각했을만큼 코딩에 슬럼프를 겪던 시기였기 때문에 당연한 결과라고 생각했다. 그러다가, 11월에 우테코 프리코스를 하면서 자바의 매력에 대해 알게 되었다. 눈뜨자마자부터 자기 직전까지 자바를 들여다보면서 내가 모르는 재미를 찾을 수 있었다. 객체 지향의 매력을 듬뿍 담은 우테코 문제들이 너무 재밌었다.결과는 탈락이었지만, 그때를 계기로 김영한 강사님의 자바 강의를 듣기 시작했다.입문-기본-중급1-중급2-고급1-고급2(현재 여기까지 나와있다.)까지 완강하고나서, 소감..
-
[JavaScript] 비동기 함수가 뭔데Language/Javascript 2024. 11. 24. 22:00
프로젝트 리팩토링을 진행하면서 비동기 함수를 사용했었다. ❓sync/async 그게 뭔데?요청 순서에 따라 응답 순서가 보장되면 동기적(sync)이고요청 순서에 따른 응답 순서가 보장되지 않으면 비동기적(async)이라고 할 수 있다.내가 입력한 코드 라인 순서대로 결과가 나왔다면 동기적, 그게 아니라면 비동기적인 것이 된다. 📍Javascript에서 비동기 구현하기js 자체는 동기적인 언어이고 싱글스레드(한 번에 하나의 작업만 가능) 언어이지만, 비동기 함수를 구현하는 것에 유연하다.js로 비동기를 구현하는 방법은 대표적으로 세 가지 방식이 있다.1. 콜백 함수2. 프로미스(Promise)3. 이벤트 루프내 코드는 (Promise) async-await을 이용한 비동기 논블로킹 방식 안에서 동기적인 ..
-
[프로젝트 리팩토링] nowmusic 랜덤하게 결과 보여주기카테고리 없음 2024. 11. 24. 19:52
기존의 문제저번 포스팅에서 nowmusic을 데이터로 모아 한번에 관리할 수 있도록 코드를 다 뜯고 react로 재구성해주었다. 이것을 시작한 이유도 사용자가 선택한 값에 따라 랜덤한 결과를 보여주도록 변경하고 싶어서였기 때문에 당장 진행했다.어떤 방식으로 랜덤하게?랜덤하게 보여줄 때 간단하고 근시안적인 방법으로는 내가 직접 키워드를 검색해서 랜덤한 결과물을 가져와 직접 json에 저장하는 방법을 생각할 수 있었다. 그러나 구현하는 나조차도 재미가 없고, 반복적인 복사와 붙여넣기를 할 것이고, 많이 사용하게 되면 결국 랜덤한 몇개의 동영상 목록도 다 익숙해진다는 단점이 있는 방식이다.그래서 유튜브를 크롤링하여 랜덤하게 값을 돌려 도출하는 것을 생각했었다. 검색해보니 굳이 그럴 필요도 없이 youtube ..
-
[프로젝트 리팩토링] nowmusic에 리액트 도입카테고리 없음 2024. 11. 24. 03:16
면접 회고에도 적었듯이, 나우뮤직을 리팩토링 해보고자 3년간 묵혀두었던 코드를 꺼내보게 되었다.리팩토링 목표☑️(기존) jquery를 이용한 절차지향적이고 작성도, 수정도, 보기에도 불편한 코드-> (목표) 조금 더 보기 좋은 코드로 형태를 변경☑️(기존) 같은 선택지에서 같은 결과를 도출-> (목표) 결과를 비슷한 카테고리 내에서 랜덤하게 보여주도록 수정리팩토링 시작코드를 뜯어보니 코딩을 전혀 모르던 시절에 박치기 하면서 만들었다보니 형편 없었다. 함수도 제대로 만들 줄 몰라서 만들었던 것 같다. 프로그램 자체는 굉장히 단순한 로직인데 모든 컴포넌트를 하드코딩하여 리팩토링이 아니라 거의 새로 만들어야 했다. 나의 최종 목표는 "다양한 값을 보여줄 수 있게 변경하는 것"이었기 때문에, 데이터를 모아서 사..
-
[면접 회고] 나의 첫 면접카테고리 없음 2024. 11. 24. 03:15
갑작스레 면접 연락이 와서 준비가 되지 않은 상태에서 갔습니다. 떨어질 것을 알고 갔지만요, 많은 것을 깨달을 수 있는 시간들이었습니다.전반적인 회고면접은 쉽지 않았습니다. 제가 준비를 못했거든요.(연락받고 바로 다음날 오전에 봤습니다..) 해당 회사 면접관 분들은 친절하셨고, 저에 대해 그래도 많이 찾아보려고 노력하신 것 같았습니다. 면접을 볼 실력이 전혀 아닌데 감사하게도 면접의 기회를 주셔서 인생 첫 면접을 경험해볼 수 있었습니다. (감사합니다...!!)면접을 보던 도중 현타가 온 저는 '아, 나는 개발자를 할 수 있는 사람이 아닌가?'라는 생각으로 번뇌 속에서 파김치가 되어 집에 돌아오는 길에 진로에 대해 제대로 고민해보며 오히려 큰 것을 배웠습니다.첫 면접을 통해 배운 것을 크게 기술적으로, 인..