반응형
목록
분류 전체보기 (292)
[꼼꼼한 개발자] 꼼코더
📉 JSP, Servlet 시작(자바 다 끝냈니??) 나는 그때 당시 '스프링'이라는 걸 너무너무 하고 싶은 나머지 자바를 어느 정도 끝냈다고 생각했고(사실 개발공부의 끝이라는 건 없는데..) 제네릭 초반부 까지만 마치고 바로 JSP Servlet을 시작하게 되었다. 지금 생각하면 조금 급하게 공부를 했던 거 같다. 🧐 공부 시작 Servlet 강의를 듣고 초반에 이해하려고 다시 반복해서 듣고 타이핑도 해보고 정리도 정말 열심히도 하고 했었다. 하지만 웹에 흐름 자체도 이해가 어려웠고 강의에 나오는 getter, setter용어도 모르겠는데 쓰는 이유 get, post가 어디서 나온건지 등등 모르는 것 투성이었다 그때마다 인터넷에 찾아보았지만 정말 기초 지식도 아예 없어서 나에게 어려운 지식들만 쌓여갔다..
🫨 뭐부터 할 거야? 나는 어디서부터 다시 공부를 해야 할까? 고민했었다 코딩을 '요리'로 비유하자면 나는 지금 '요리사'가 되려고 하는데 '요리재료(자바언어)'에 대해 너무 무지하다고 생각이 들었다. 따라서 자바 언어를 다시 공부해야겠다고 생각을 했고 시작했다. 🫨 어떻게 할 거야? 이전에 공부 방법은 아래와 같이 하였다. 자료 : 교재 방법 : 책의 글귀 하나하나 전부 타이핑, 모든 코드 타이핑, 결과물 + 코드 한 줄 한줄 분석, 블로그 상세 정리 하지만 앞으로의 공부 방법은 아래와 같이 정했다. 자료 : 교재, 강의 방법 : 모르는 코드 분석, 블로그 가끔 정리, 공부 내용 가끔 타이핑 💬 이후(자바 공부) 그렇게 교재위주로 공부를 시작했고 봤었던 내용이라 대충 훑으는 느낌으로 공부했었다..
😊 선택의 기로 이제 혼자 다시 생각을 했어야 했다 지금 가지고 있는 지식으로 '뭐라도 만들어 보자' vs '개인공부 더 하자' 주장을 뒷 받침할 의견들은 아래와 같다. 🧑🏻💻 뭐라도 만들어 보자 1. 선배 개발자, 교수님, 주변 영상, 글들을 보면 뭐라도 만들어보는 게 좋다고 한다 2. 만들어 보면서 오류를 접하고 부딪치고 그러면서 성장한다 3. 너(나)에게 정말 큰 도움이 될 거다 4. 결과물들을 포트폴리오에도 넣을 수 있다. 📚 개인공부 더 하자 1. 너(나) 지금 인터페이스도 안 잡혀있다 심각하다 2. 오류는 실습, 개인공부 하면서도 매번 부딪치고 있고 성장하고 있다 3. 현재 가지고 있는 기술 스택으로 뭘 만들어보는게 의미가 있을까? 4. 그런 결과물을 포트폴리오에 넣는다는건 생각만 해도 얼굴..
👨🏻🏫 프로젝트의 진행 시간은 흘러 점점 3명의 친구들은 앞서가고 있었다. 어찌 보면 당연한 결과다. 그 친구들은 나보다 1학년 선배고(나이는 어렸다) 나보다도 훨씬 더 열심히 했기에 개발 실력이 월등히 좋았다는 건 당연하다. 나 : Servlet, JSP를 접해보지 않음, 자바 인터페이스 개념조차도 잡혀있지 않음 팀원 백엔드 2명 : API, HTTP, JSP, Serlvet, Spring, Spring boot, Ajax, 컬렉션, 제네릭, git, DB 내가 본 거만 이 정도인데 실제로는 더 어마무시한 차이였을 거다. 결국 나는 개발에 참여하지 못 하게 됐다.. 💡 무산된 결정적인 이유 빠른 진행 그 친구들은 1년에 프로젝트 2개를 계획했었고 그중 첫 번째가 내가 포함된 프로젝트였다. 따라서 빠른..
🚀 Postman이란? API 개발 및 테스트에 사용되는 강력하고 편리한 도구이다. 🧹 내가 이해한 Postman의 장점 간단 정리 1. API 요청 항목들을 문서화하여 재확인에 용이하다. 2. 컬렉션(collection)에 사용한 API들을 모아 볼 수 있어서 따로 홈페이지에 재방문할 필요 없이 재사용하게끔 API를 만들 수 있다. 3. 요청, 응답 UI가 직관적이고 간편하다. 4. 요청시 코드에 header, body 등 정보를 담는 과정이 매우 편리하다. 👨🏻💼 포스트맨 사용시(예시) 예를 들어, 페이스북 API를 사용하여 친구 목록을 가져오는 경우 아래와 같은 순서가 있다. 1. 페이스북 개발자 웹사이트에서 애플리케이션을 등록 2. 인증키를 발급 3. 액세스 토큰을 받기. 4. 액세스 토큰을 사..
👀 gitignore 파일이란? Git으로 관리되는 로컬 저장소에서 특정 파일이나 폴더를 Git이 추적하지 않도록 설정하는 파일이다. 쉽게 말해 "난 이 파일이 깃에 push 하고 싶지 않아" 하는 파일들을 적어놓는 파일이다. 👩🏻💻 예시 만약 커밋하지 않고 싶은 파일 이름이 "application.properties" 라면 .gitignore 파일에 다음과 같이 추가해서 커밋하지 않도록 설정할 수 있다. /application.properties 하지만 이미 깃(git)에 커밋된 이후에 설정을 했다면 .gitignore에 추가하는 것만으로는 해당 파일이 추적되는 것을 멈출 수 없다. 이 경우에는 git rm --cached (파일경로) 명령어를 사용해서 해당 파일을 로컬 저장소에서 삭제하고, 커밋 내..
⌨️ encodeURIComponent() 함수 encodeURIComponent() 함수는 인자로 받은 문자열을 URL에 포함될 수 있는 형태로 인코딩한다. URL에는 특정 문자들이 사용될 수 없는데, 이런 문자들은 인코딩 처리를 해야 한다. 예를 들어, URL에 포함될 수 없는 공백 문자(" ")는' %20'로 인코딩 된다. 이 함수를 사용하여 입력된 입력값을 인코딩하고 URL에 파라미터로 추가하도록 응용할 수 있다. 👩🏻💻 예제 코드 Get User Info Nickname: Get Info
🫨 개요 개발 공부 중 JPA 메서드 반환값을 Optional을 반환값으로 사용하는 예제를 봤다. 찾아보니 "검색된 엔티티가 없는 경우 NullPointer 예외가 발생할 수 있어. Optional을 사용하여 null 체크하는 것이 좋다."라는 걸 확인했다" @Repository public interface RoleRepository extends JpaRepository { Optional findByName(String name); } 그러나 문득 이런 생각이 들었다 "그럼 모든 메소드의 반환값을 널 체크해주면 되지 않을까? 왜 그렇게 하지 않는 걸까?" 그에 관한 답을 찾아 아래에 정리해 보았다. 🫗 반환값을 Optional로 하는 경우 일반적으로 메서드의 반환값을 Optional로 해야 하는 경..