[오늘의 회고]

 

 

 

1. 어려웠던 부분 : 지난주 금요일부터 주말까지 풀었던 28개의 알고리즘 문제를 다시 한번 복습하는 시간을 가졌다. 28개 중 세문제 정도 풀지 못했고, 다섯문제 정도 어려웠는데 작성한 코드를 리뷰하고 다른 사람의 코드도 보면서 아직 공부하지 않은 Arraylist, hashmap, stream 등의 개념을 훑어 봤다. 훑어만 봐서 그런지 너무 어려워서 그냥 넘겼는데, 저녁에 기술매니저님이 Arraylist와 String은 꼭 이번주에 공부를 하고 넘어가라고 하셔서 내일 다시 공부해야 할 것 같다.

 

2. 느낀 점 : 복습을 하는게 얼마나 중요한지, 그리고 클래스와 메소드 개념을 이해하는게 얼마나 중요한지 생각해보는 하루였다. 그리고 오늘 컨디션이 너무 안좋았는데, 체력관리도 정말 잘 해야 될 것 같다.

 

3. 새로 알게 된 내용 :

하루에 블로그에 최대 올릴 수 있는 공개글 수는 15개 이다.

알고리즘 풀이를 한번에 정리하겠다고 30개의 게시글을 올렸는데 그 중 15개는 비공개로 올려야 했다.

알고리즘을 복습하면서 내가 처음 사용한 함수, 남이 사용한 함수 등을 복습할 수 있었다. 그 중 기억에 남는건

문자열 뒤집기나 오름차순 내림차순을 할때, String 이 아니라 StringBuilder 를 사용하면 .reverse() 등과 같은 메소드로 훨씬 더 쉽고 간결하게 알고리즘을 풀 수 있다는 점이다.  

 

4. 셀프칭찬  :

  • 몸이 안좋은데 오늘도 열심히 최선을 다했다.
  • 낮에는 정말 누워만 있고 싶었는데 잘 참았다.

 

5. 내일 할 일 : chap06-2 공부, 알고리즘 챌린지 도전! , 알고리즘 모의고사, 해설영상 촬영 및 업로드, Arraylist 알아보기

 


[오늘 공부한 부분]

 

  • 알고리즘 카테고리에 풀이 정리함.
  • 자바 클래스

https://leejincha.tistory.com/136

 

[09] Java 클래스 - 객체 지향 프로그래밍

[오늘 공부한 부분] 1. Java 클래스 - 객체 지향 프로그래밍 키워드 정리 클래스 : 객체를 만들기 위한 설계도 객체 : 클래스로부터 생성되면 'new 클래스()'로 생성 new 연산자 : 객체 생성 연산자. 생

leejincha.tistory.com

 

[이번주 회고]

 

1. 어려웠던 부분 

  • 미니프로젝트 [기획 와이어프레임] - [front 만들기] - [server 만들기] - [트러블슈팅 정리] - [발표] 까지 거의 혼자 모든 부분을 담당했다. 팀워크도 중요하지만 당시엔 일단 프로젝트를 끝내야한다는 생각이 앞섰던 것 같다. 너무 부족한 실력에 프로젝트를 꾸역꾸역 마무리하는 과정 전체가 체력적으로 정신적으로 힘들었던 것 같다.
  •  알고리즘을 처음으로 시도해 봤는데 아직 익숙하지 않기도 하고, 알고 있는 메소드가 많이 없어서 어려웠다.

 

2. 느낀 점 : 직접 부딪히면서 배운만큼 한 주동안 많이 성장할 수 있었던 것 같다. 그리고 혼자 공부하는게 아니라 다른 사람에게 도움을 요청하고 나도 도움을 주는 과정이 서로에게 더 빠른 성장을 줄 수 있을 거란 생각을 했다. 다음주도 알고리즘 빨리 끝내서 새로운 조원들에게 도움이 될 수 있었으면 좋겠다.

 

3. 새로 알게 된 내용 : 세번의 현직 개발자님들 세션을 통해 JWT토큰, 질문 잘 하는법, 알고리즘 푸는 방법을 배웠다. 그리고 미니프로젝트를 통해 어떻게 크롤링을 하는지, API 전체적인 흐름, CSS 팁 등 너무나 많은 것들을 배울 수 있었다. 자세한 건 아래 링크 참조.

 

4. 셀프칭찬  : 최선을 다 한 한주였다. 시작하기 전에 사실 겁도 많이 나고 내가 다시 공부를 시작할 수 있을까 예전 만큼 무언가에 몰입할 수 있을까 걱정했는데, 그래도 조금씩 예전에 공부하던 기억들이 나면서 익숙해 질 것 같다는 생각이 들었다. 뭔가 앞으로 잘 할 수 있을 것 같은 감을 잡은 한 주 였다. 정말 고생했지만, 나중에 돌아보면 뿌듯한 시기가 될 것 같다.

 

5. 내일 할 일 : 알고리즘 문제 풀이 블로그 정리(새로운 메소드 정리), 작성하다 못한 블로그글 정리, TIL 작성, 가능하다면 혼자공부하는 자바 클래스 메소드 챕터 공부 

 

 


[이번주 공부한 부분]

 

  • JWT
  • API
  • 미니프로젝트
  • 알고리즘

[오늘의 회고]

 

1. 어려웠던 부분 : 알고리즘 풀이를 시작한 날이었다. 28개의 문제를 목요일까지 풀어야 된다는 생각에 그리고 가능하다면 최대한 많이 풀어보고 싶다는 욕심에 너무 피곤하지만 새벽 두시까지 붙잡고 있었다. 아직 어색해서 더 어렵게 느껴지는 것 같은데, 하다보면 익숙해 질 것 같다. 특히 핸드폰번호 가리기 문제와 마지막으로 풀었던 행렬의 덧셈은 정말 어려웠다. 내일 다시 복습하는 걸로.

 

 

2. 느낀 점 : 알고리즘은 수능공부라 생각하자. 오늘 2시간 넘게 걸린 문제도 있었고 하루종일 머리를 쥐어짰는데, 막상 풀었던 코드들을 다시 리뷰해보니, 어려울게 하나도 없었다. 사고하는 과정이 가장 어려웠고, 이런 부분은 문제를 많이 풀수록 개선이 될 것 같다.

 

3. 새로 알게 된 내용 : charAt(), toCharArray(), String.toCharArray(), String.valueOf, Arrays.deepToString(), 다차열행렬의 덧셈

 

4. 셀프칭찬  :

  • 알고리즘은 이전에 딱 한번 제일 쉬운 난이도로 풀어봤는데, 하루사이에 많이 발전 한 것 같다.
  • 첫 문제를 풀었을 때와 마지막 문제를 풀었을때 이미 많이 성장한 것 같다는 생각이 들었다. 

 

5. 내일 할 일 :

 

 

어제 못한 블로그 정리를 미루지말고 제발 끝내자

  • 미니프로젝트애서 처음 사용했던 함수나 검색했던 기능들 정리, (하면서 헷갈렸던 부분이나 모르는 부분) 이해하기
  • 깃허브에 올린 코드들에 주석을 달아서 다시 재업로드 하기
  • 배포한 페이지에 피드백 받았던 회원가입후 로그인페이지로 바로 이동하는걸로 바꿔서 재배포 하기
  • JWT 토큰세션이랑 질문잘하기 세션 내용 정리해서 블로그 업로드하기
  • 크롤링 방법 - 셀리늄, 웹드라이브 (내일 찾아보기)
  • css 인라인으로 주는 것과 폴더에 넣는 것의 차이 알아보기

+ 알고리즘 10문제 ! 

 


[오늘 공부한 부분]

 

  • 프로그래머스 알고리즘 풀이

https://leejincha.tistory.com/98

 

[02] 22.11.18 (10문제)

직사각형 별찍기 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 짝수와 홀수 문제 설명

leejincha.tistory.com

 

[오늘의 회고]

 

1. 어려웠던 부분 : 어제 새벽 세시에 일단 배포를 마치고 오늘은 반응형 페이지 작업을 했다. 쉬울줄 알았던 부분이 은근히 시간이 많이 소요됐다. 4일만에 한 프로젝트를 끝내는데, 첫날 화면단 만들고 둘째날과 셋째날 서버단을 꾸역꾸역 끝내고 마지막날 발표를 준비하는 과정 자체가 너무 힘들었다. 우리조 사람들은 아마 각자 본인이 도움이 안되는 것 같다는 마음고생을 많이 하셨을 것 같고, 나는 나대로 프로젝트를 마무리하자는 마음에 어떻게든 끌고가려고 아등바등 혼자 삽질을 하는 것 같아서 너무 힘들었다. 이 프로젝트를 끝내고 싶어서 코드와 씨름하며 달리는 힘든 마음과, 왜 우리조는 이렇게 편성되었나 하는 원망과, 상황탓을 하는 내자신에 대한 죄책감과, 알게모르게 예민해지고 조원분들에게 언행을 잘못 하진 않았을까 라는 생각도 들고 괜히 나때문에 더 심란하시진 않을까 하는 마음 등등 여러가지 감정이 섞여서 너무 힘든 하루였다.

 

 

2. 느낀 점 : 사실 다른 조들의 결과물을 보고 마음이 무거워 졌다. 내가 이곳에 있어도 되는건가 하는 생각이 너무 많이 들었다. 미경님과 현빈님 그리고 유리님이 너무 공감해주셔서 힘이 많이 됐는데, 뭔가 발을 잘못 들인게 아닌가 하는 생각에 이번주말은 생각이 많아질 것 같다. 시작단계니까 못하는게 당연한데, 잘하시는 분들이 너무 많아서 괜히 민폐가 될 것 같기도 하고, 좀더 시간이 걸리더라도 시작이 비슷한 사람들이 많은 부트캠프를 선택했어야 했나라는 생각이 들었다. 앞으로 오늘처럼 마음이 힘들어 지는 날이 찾아올텐데 그때마다 잘 넘길 수 있는 단단한 마음을 가져야 겠다고 생각했다.

 

3. 새로 알게 된 내용 : 오늘은 반응형 웹개발과 모바일형 작업을 통해 폰트에 미디어쿼리로 rem을 사용하는 법을 배웠다. 그리고 영상 업로드용 썸네일도 제작해 보았다. 다른 조들의 발표를 통해 크롤링에는 셀리늄과 웹드라이브 방식이 있다는 것을 알게되었는데, 더 알아봐야 할 것 같다. 그리고 은솔님의 설명 덕분에 API 방식의 흐름을 좀 더 이해할 수 있었다.

 

4. 셀프칭찬  :

오늘 잘한일이 뭐가 있을까 ..........

  • 심난한 마음에도 TIL 쓰는 나 칭찬해...
  • 발표를 준비 못해서 횡설수설 하긴 했지만, 정말 프로젝트 시작부터 끝까지 책임감을 가지고 포기하지 않은 점
  • 다른 사람의 고민을 들어준 나 칭찬하자

 

5. 내일 할 일 :

  • 미니프로젝트애서 처음 사용했던 함수나 검색했던 기능들 정리, (하면서 헷갈렸던 부분이나 모르는 부분) 이해하기
  • 깃허브에 올린 코드들에 주석을 달아서 다시 재업로드 하기
  • 배포한 페이지에 피드백 받았던 회원가입후 로그인페이지로 바로 이동하는걸로 바꿔서 재배포 하기
  • JWT 토큰세션이랑 질물잘하기 세션 내용 정리해서 블로그 업로드하기
  • 크롤링 방법 - 셀리늄, 웹드라이브 (내일 찾아보기)
  • css 인라인으로 주는 것과 폴더에 넣는 것의 차이 알아보기

 


[오늘 공부한 부분]

 

  • 반응형 폰트 rem
  • 다른조들의 발표를 통해 발표를 하는 법을 배울 수 있었다.
  • 크롤링 방법 - 셀리늄, 웹드라이브 (내일 찾아보기)
  • 오늘 다른 조 발표때 나왔던 키워드 : 웹소켓, 웹 API, 웹폰트가 클라이언트마다 다르게 보르는 문제 (크로스브라우징), 마크업(프론트 개발자의 기본역량), Spring Batch, CRUD 
  • 최대한 코드마다 주석을 달면 흐름을 이해할 수 있다.

[오늘의 회고]

 

1. 어려웠던 부분 :

 

파이썬 코드 자바스크립트로 바꾸기 + mongo db 저장 오류 

어제 잠들기 전에 파이썬으로 크롤링 구현을 시현해주신 다른 팀원분의 코드를 보고 다시 구현을 해보려 했다. 그러나 파이썬 언어는 공부해 본 적이 없어서 어떻게 크롤링으로 가져온 값들을 추출해서 몽고디비에 저장해야할지 몰라 오전 내내 구글링으로 애를 먹었다. 아무리 다른 언어라도 뭔가 구조는 비슷해보여서 배웠던 자바스크립트문으로 조금씩 하나씩 바꿔보았다. 한마디로 또 삽질을 시작했다. ^^ 그러다 성공을 하긴 했는데 이젠 몽고디비 계정이 문제였다 ! 뭐가 문제인지 데이터 저장이 안되서 뭔가 잘못된줄알고 몽고디비 아틀라스도 다시 폭파시키고 새로 팠다 .. 후 ^^ 새로 했더니 성공 ! 

 

메인페이지 크롤링 정보 추출해서 세부페이지로 옮기기

두번째 난관은 메인페이지에서 크롤링해서 가져온 경기박스를 클린하면 세부페이지로 이동시키고, 그 클릭된 박스 하나만 가져오는 작업이었다. 어제 큰 도움을 주신 신원님과 개발 매니저님이 몽고디비에 있는 '_id' 를 이용해 필요한 데이터만 추출해서 구현하라고 힌트를 주셨지만 아무리 구글링을 하고 글을 읽어봐도 잘 이해가 되질 않았다 ㅠ 그래서 결국 좀 더 쉬운 방법으로 구현을 하게 되었다. 은솔님이 처음부터 끝까지 도와주셨는데, 일단 크롤링을 함과 동시에 데이터마다 숫자를 값을 부여해서 사용하는 방법이이었다. 웹종강의 중 버킷리스트 작업과 비슷한 방법이었는데, 좀 더 다른 코드와 상수값이 필요했다. 

 

JWT 사용 토큰 페이지 mongodb 저장 오류

하 ~ 어찌 저찌 거의다 했는데, 이제 마지막으로 로그인 회원가입 데이터 암호화 처리 작업만 남았다. 이미 기술매니저님이 시현해 주시고 코드를 공유해주신 상태라 쉬울 줄 알았는데, 부트스와치에서 버튼을 가져와서 그런지 onclick함수를 버튼에 넣었을때 코드가 망가지는 것 같은 (?)  모양을 띄었다. 시간이 너무 늦어서 결국 고치지 못하고 잠들었는데, 만약 진짜 부트스트랩, 부스트와치에서 버튼을 가져온게 문제라면 다시 화면단을 직접 만드는 작업을 해야할 것 같다.

 

 

2. 느낀 점 : 산넘어 산이라고 오류의 연속이지만, 나만 그런게 아니라 다들 겪는 과정인 것 같다. 뭔가 전쟁터에 나간 동지같은 느낌 ㅋㅋ 그리고 너무 많은분들이 같이 고민하고 해결을 도와주려 해주셔서 감동했다. 나도 누군가에게 알려줄 수 있는 실력으로 성장하기를 ! 그리고 그날의 오류는 그때 그때 정리해서 기억하는게 좋을 것 같다. 시간이 없어서 일단 작업에만 몰두했더니 오류 스크린샷이 없어서 정리하기가 불편하다.

 

3. 새로 알게 된 내용 :

  • from bson.objectid import ObjectId 사용법 ( 완전히 이해는 못했다. 다시 봐바야함 + find_ond() 참고
  • 페이지이동 동시에 필요한 db만 추출해서 옮기는 방법
const param = window.location.search;
const paramData = new URLSearchParams(param)
const id = paramData.get('id')

+

url: '/show/detail?id=' + id,
  • 오류가 생길땐 그냥 엎어버리자 ^^ - 몽고디비 새로 갈아엎고 다시 디비저장 잘 되는데, 그 과정까지 너무 고생했다.
  • 작업 파일은 무조건 그때그때 깃헙이든 백업파일에 저장하자. ( 오늘 갑자기 라이브러리 중첩 오류로 심장 떨어질뻔함 )

 

4. 셀프칭찬 : 내가 할 수 있는 만큼 최선을 다하고 있는 것 같다. 대단한 작업물을 만들 수 있는 수준은 아니지만, 그래도 0부터 10까지 혼자 작업을 해 볼 수 있어서 좋은 성장의 한 주가 될 것 같다.  

 

5. 내일 할 일 : 로그인 회원가입 페이지 서버단 만들기, UI 손보기, 깃허브에 코드 업로드 ! , 어제 새로 알게 된 정보 블로그 정리

 


[오늘 공부한 부분]

 

1. 미니프로젝트 서버단 작업 : 크롤링, 데이터 저장, 특정 데이터 추출

2. 블로그에 정리해야할 부분 :

  • 크롤링 코드 비교 ( 파이썬 vs 자바스크립트, select() 와 find() 차이 ) 
  • mongoDB 콜렉션 안에 필요한 데이터만 추출해서 다른 html에 적용하는 법
  • 부트스와치 사용법 (페이지 정리 + 복사해야할 코드 정리)
  • 페이지 이동과 데이터 이동 동시에 하는 방법
  • 오류 스크린샷 정리 
  • from bson.objectid import ObjectId 라이브러리와 mongodb 라이브러리 사용시 나타나는 에러 (삭제할 때)
  • 로그인 회원가입 데이터 저장 오류

 

'TIL (Today I Learned)' 카테고리의 다른 글

[11] TIL 알고리즘 시작  (2) 2022.11.19
[10] TIL 미니프로젝트 발표  (0) 2022.11.18
[08] TIL 미니프로젝트 시작  (2) 2022.11.15
[06] TIL Java 열거 타입, Git  (0) 2022.11.13
[05] TIL Java 참조 타입, 배열  (3) 2022.11.12

+ Recent posts