일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 쇼트유알엘
- JWT
- emqx
- visualvm
- Spring
- 개인프로젝트
- Spring Security
- Kafka
- docker
- @jsonproperty
- WEB SOCKET
- 패스트캠퍼스
- 스웨거
- java
- 시큐리티
- 데이터베이스
- MYSQL
- 스파르타코딩클럽
- 카프카
- CentOS
- 항해99
- EC2
- DB
- 생성자 주입
- 웹개발
- AWS
- JavaScript
- 스프링의 정석
- 프로그래머스
- 남궁성과 끝까지 간다
- Today
- Total
목록회고록 (121)
Nellie's Blog
오늘은 번아웃이 와서 공부를 거의 못했다. 정말 반성해야겠다. 그래도 암기노트 보면서 배웠던 것을 복습했다. 항해99 우리C반에 55명정도가 있었던거같은데 벌써 38명이다. 17명이 탈주했나보다. 미리 3개월 예습하고 온 나도 이렇게 종종번아웃이 오는데 처음접하는 사람은 많이 힘들것같다.. 내일부터는 제대로 하자. 제발..정신차리자!!!
선형탐색 (Linear Search)라는것을 배웠다. 생각없이 contains나 replaceAll을쓰면 CPU도 엄청 잡아먹고, 성능도 느려지기 때문에 웬만하면 선형탐색으로 알고리즘을 짜도록 하자! https://yeees.tistory.com/87 [프로그래머스][코딩테스트 연습] 숫자 문자열과 영단어 문제 설명 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자 yeees.tistory.com
일주일동안 공부했던 알고리즘을 테스트 하는 날이었다. 알고리즘 테스트 2문제를 30분만에 풀고 나왔다. 모의고사 보다는 쉬웠다. https://www.youtube.com/watch?v=ye71-z33-Xc
오늘 공부한 내용 어제 풀었던 모의고사 문제 중 , 3번 소수의 개수와 덧셈문제를 팀원들끼리 다같이 풀어봤다. 어려워서 다들 끙끙대다가 기술매니저님께 여쭤봤다. 3번. 소수의 개수와 덧셈 (상) 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 소수의 최대값과 소수가 아닌 수의 최소값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를들어 s가 "2 3 4 5"라면 "4 5"를 리턴하고, "15 3 10 9 7 8"라면 "8 7"을 리턴하면 됩니다. 제한사항 s에는 둘 이상의 정수가 공백으로 구분되어 있습니다. 문자열에는 소수가 한개 이상 섞여 있습니다. 문자열에는 소수가 아닌 수가 한개 이상 섞여 있습니다. 음수는 ..
3번. 소수의 개수와 덧셈 (상) 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 소수의 최대값과 소수가 아닌 수의 최소값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를들어 s가 "2 3 4 5"라면 "4 5"를 리턴하고, "15 3 10 9 7 8"라면 "8 7"을 리턴하면 됩니다. 제한사항 s에는 둘 이상의 정수가 공백으로 구분되어 있습니다. 문자열에는 소수가 한개 이상 섞여 있습니다. 문자열에는 소수가 아닌 수가 한개 이상 섞여 있습니다. 음수는 없습니다. 답안포맷 public class Main { public String solution(String s) { String answer = ""; retu..
오늘 공부한 내용 https://yeees.tistory.com/80 https://www.youtube.com/watch?v=RUZ34bNB1AA 신대륙 발견 문제를 풀었는데, 생각보다 손이 많이 갔다. 나는 날짜를 일일이 다 카운트 해서 다시 합산하는 방식으로 코드를 작성했다. 그런데 Calendar, Date클래스를 알았다면 간단하게 풀 수 있었던 문제였다. Calendar, Date 클래스에 관하여 공부했다. 느낀점 코딩테스트는 매일매일 한문제씩 꾸준히 풀어야 한다고 한다.. 첫술에 배부르고 싶어하지 말자!
1번. 신대륙 발견 기원이는 오늘 항해99를 시작했다. 성격이 급한 기원이는 항해 1일 차부터 언제 수료를 하게될 지 궁금하다. 항해 1일 차 날짜를 입력하면 98일 이후 항해를 수료하게 되는 날짜를 계산해주는 알고리즘을 만들어보자. 제한 조건 1 ≤ month ≤ 12 1 ≤ day ≤ 31 (2월은 28일로 고정합니다, 즉 윤일은 고려하지 않습니다.) 아래 답안 포맷을 참고하여 답안을 작성해주시기 바랍니다 public class Main { public String solution(int month, int day) { String answer = ""; return answer; } public static void main(String[] args) { Main method = new Main()..
알고리즘을 계속 푼다. 10문제 정도 풀었다. 짝수 홀수만 대문자로 만들고 싶으면 인덱스 지정해 줄것. String으로 변환할때 쓰는 valueOf() 문자를 정수형으로 바꿔주려면, -'0' 을 하기 정수를 내림차순으로 배치할때 쓰는 StringBuilder / List사용해도 된다.
오늘 공부한 내용 프로그래머스 10문제 가량 풀었다. 배열 관련 문제들 위주로. charAt(), toLowerCase(), REGEX, indexOf() Arrays.asList() 등등그리고 배열을 꼭 new로 지정해줘야 한다는 것!! 느낀점 확실히.. 코테 문제를 푸니 자바 공부를 더 심화있게? 공부할 수 있는 것 같다. 그런데 처음이라서 고전중이다... 더 열심히 하자.!!!
오늘 공부한 내용 substring(int start): start 위치부터 끝까지 문자열 반환 substring(int start, int end): start 위치부터 end 전까지 문자열 반환 느낀점 알고리즘 걷기반/ 달리기반 중 걷기반을 선택했다. 7일동안 28문제를 푸는 것이다. 나는 54문제 풀어야지!!!
오늘 공부한 내용 여기까지 만들다가 에러가 났다 상세페이지로 들어가는 기능을 만들려다 보니 인덱스도 넣어야 하고, jinja를 이용하여 데이터를 html로 넘겨주기도 해야하는데, 시간이 얼마 남지 않았음에도 발표직전까지 꾸역꾸역하다가 에러가 났다.... 배포나 발표 하루 전에는 코드는 웬만하면 건들지 말자는 교훈을 얻었다. 느낀점 상세페이지를 만드려고 욕심내다가 프로젝트 발표 직전에 jinja에러가 났다... 너무 속상했다. 정말정말............ 며칠동안 밤도새고 하루종일했는데......우울했다.
오늘 공부한 내용 트러블슈팅 1. 2. 소스트리에서 commit후, push가 안되는 문제.. 터미널에서 해결 khj@DESKTOP-TONFSUI MINGW64 ~/Desktop/athumb (cbjung) $ git branch * cbjung khj@DESKTOP-TONFSUI MINGW64 ~/Desktop/athumb (cbjung) $ git checkout -b error: switch `b' requires a value khj@DESKTOP-TONFSUI MINGW64 ~/Desktop/athumb (cbjung) $ git checkout -b hjkim2 Switched to a new branch 'hjkim2' khj@DESKTOP-TONFSUI MINGW64 ~/Desktop/at..
오늘 공부한 내용 트러블슈팅 1. 데이터베이스에 값이 전달되지 않음 → id값을 에 넣어야 하는데 과 에 생긴 문제 2. 버튼이 가운데정렬이 되지 않은 문제 → style 에서 } 로 닫지 않아 생긴 문제 3. 디비에서 데이터를 가져오지 못하는 문제 → 몽고디비 폴더 이름을 제대로 설정하지 않아서 생긴 문제. user 에서 athumb로 수정하니 해결 4. 메인페이지에서 로그인을 클릭하니 에러가 나는 문제 → 를 제대로 설정하지 않아서 생긴 문제. - 잘못된 코드 로그인 - 수정한 코드 로그인 5. 로그인 화면에서 쿠키 전송 이후 코드 진행 오류의 문제 → 아래 한줄을 login_hj.html에 추가하지 않아서 생긴 문제 - 개발자 도구에서 , network - paload에서 값이 전송되는지를 파악하기..
1. Github에 있는 저장소(Repository)를 Clone하기 깃헙 코드 복사하여 2번에 붙여넣기 클론 후 전체선택 하고 Pull ! 2. 프로젝트를 Github로 Commit / Push하기 커밋 - 선택해서 파일 스테이지로 올려주고 - 코멘트작성 - 커밋 - Pull! 리모트 브랜치를 열어보면 HEAD와 main이 있다. HEAD는 현재 작업중인 브랜치를 의미한다. 지금은 HEAD와 main의 차이가 없지만, 이후에 프로젝트를 진행하다 보면 branch와 merge 과정을 다수 거친다. 임의의 branch에서 checkout을 받으면, 해당 branch가 HEAD가 된다. https://velog.io/@jkh9615/%EC%86%8C%EC%8A%A4%ED%8A%B8%EB%A6%ACsource..
1. 회원가입 기능 1) 해시함수란? 알고리즘의 한 종류로서 임의의 데이터를 입력 받아 항상 고정된 길이의 임의의 값으로 변환해주는 함수. 회원가입 창에서 비밀번호를 입력하면 그대로 저장할 수 없다. 개발자도 모르고 아무도 알 수 없게 해야하기 때문에, 해시함수를 사용해서 암호화 해야 한다. pw_hash = hashlib.sha256(pw_receive.encode('utf-8')).hexdigest() 디비에 이렇게 저장된다. 암호화를 한 값은 해커가 가져가도, 이 암호가 어떤 비밀번호인지 해석할 수 없다. 우리가 회원가입에 사용할 암호화기술은 해시함수 sha256 이다. 비밀번호를 sha256 방법(=단방향 암호화. 인코딩만 가능하고 디코딩 불가. 풀어볼 수 없음)으로 암호화해서 저장한다. SHA2..
오늘 공부한 내용 프리온보딩이 끝나면서, 새로운 팀이 구성되었다. 미니프로젝트를 기획하고 4일만에 배포하라는 미션을 받았다. 금일 6시까지 SA를 제출하고, 7시에 로그인/회원가입세션을 듣고 8시20분에 기술매니저님 코칭을 받았다. 로그인 / 회원가입 세션 강의내용 - 회원가입 : 해시함수 사용 (알고리즘의 한 종류로서 임의의 데이터를 입력 받아 항상 고정된 길이의 임의의 값으로 변환해주는 함수) - 로그인 : JWT 사용 (JSON Web Token의 줄임말로, JSON 객체를 사용해 정보를 안정성 있게 전달하는 웹표준) 깃허브 브랜치 생성 - 깃허브 자체에서 생성하는 방법과, 명령어 코드로 생성하는 방법 두가지가 있다. 나는 깃허브 내에서 팀원명으로 구성된 4개 브랜치를 생성하였다. 어려웠던 내용 로..
팀명 : 10조 일자 : 11/14 - 11/17 1. 프로젝트 명 어떰b (A Thumb) 2. 소개 내가 좋아하는 브랜드의 상품 후기가 한번에! 관심 브랜드 별로 상품 후기를 게시하고 댓글로 소통함으로써 내게 알맞는 상품을 찾아 구매하도록 정보를 공유하는 패션아이템 플랫폼입니다. 3. 와이어 프레임 1) 로그인 페이지 2) 회원가입 페이지 3) 글 목록 페이지(메인 페이지) - 목록이 많아야 하기 때문에 나이키, 아디다스 홈페이지에서 크롤링으로 당겨오기 4) 글 작성 페이지 - 구매링크 붙일 때는 쿠팡 링크 (법적으로 안전) 붙이기 - 추후 문제 없도록 robot.txt 확인해서 사용할 것 - 사진 첨부는 갤러리 사진이 아닌 url 붙일 것(손이 많이 가기 때문에 주특기 프로젝트 때 구현 하기) 4...
오늘 공부한 내용 오전 8시부터 오후9시까지 도서관에서 공부했다. 인프런 강의 게시판 63강 완강!! 게시판 코드 쭉 복습. 코드를 쭉 보다 보니까 이해가 좀 되는 것 같다! 배포도 시도 했으나 실패했다...ㅜㅜ 어려웠던 내용 flask는 배포가 간단했는데 spring은 뭐가 많다.. 배포하려고 리눅스에 jdk 등등을 설치하려 하는데 yum설치를 해야해서 업데이트?를 하래서 했다가 yum설치를 하려고보니 또 오류나서 vi를 수정해야 한대서 수정했다가,,,, 또 오류나고.... 오류의 늪에 빠졌다. 좀 해결하려고 하니 이번엔 또 톰캣이 말썽이었다. 원래 잘 열리던 게시판도 안 열렸다. 톰캣을 또 지우고 다시 깔고...... 거의 두시간을 톰캣오류를 못찾아서 헤맸다ㅠ.. 하 증말...;; 내일 다시 해봐야겠..
오늘 공부한 내용 오전 8시부터 오후1시까지 도서관에서 공부했다. 인프런 강의 게시판 60-62강 페이징처리 등 어려웠던 내용 페이징처리가 어려웠다. 선생님이 게시판 만들기의 꽃이라고 했는데 과연 그런 것 같다!! 궁금하거나 부족한 내용 Jsp 문법도 한번 공부하면 좋을것같다 ㅎㅎ 느낀점 게시판만들기 어렵긴 하지만 흥미롭고 신기하다. 모르는게 많지만 그렇기 때문에 배우는 재미가 있어서 좋다. 더 열심히 해야지!
오늘 공부한 내용 오전 8시부터 오후 10시까지 도서관에서 공부했다 인프런 강의 게시판 글 작성하기 57-59강 게시글 업로드 및 수정방법 혼자공부하는자바 참조타입 어려웠던 내용 게시판 코드의 흐름이 잘 이해가 안된다. 답답하다 ㅠ 궁금하거나 부족한 내용 혼공자를 전에 한번 봤지만 다시 보니 모르는게 꽤 많았다. 앞부분을 잘 안보게 됐었는데 항해에서 시켜서 다시 들춰보니 뭔가 새롭다. 역시 책은 2회독이상 해야되나보다. 자바 공부를 더 꼼꼼히 해야겠다. 느낀점 스프링 강의 끝나면 자바를 더 꼼꼼히 하고싶다.
오늘 공부한 내용 오전 8시부터 오후 9시반까지 도서관에서 공부했다 인프런 강의 게시판 글 작성하기 54-56강 RequestScope SessonScope 쿠키 데이터베이스구조 혼자공부하는자바 조건문 반복문 어려웠던 내용 게시판에 이미지업로드하는 방법 게시판 정보수정 쪽에서 계속 500?에러나서 Mapper쪽에서 한참 찾았는데 알고보니 오라클디비에서 insert하고 commit을 안해서 그랬었다..!! 커밋을 생활화 하자!!! 궁금하거나 부족한 내용 다 부족한거같다 느낀점 게시판만들기 빨리 끝내고 싶다 ...😥
오늘도 8시 도서관 출석하여 9시반까지 공부했다. 윤재성 스프링 MVC 50~53강 게시판 회원가입 저장처리, 로그인처리, 상단메뉴 및 로그아웃처리, 로그인확인처리 강의를 들었다. 인터셉터는 이렇게 쓰는 거구나, 로그인 로그아웃 처리도 이렇게 일일이 해주는거구나... 등등을 깨달았다. 근데 어렵다 😂 항해99에서 10시부터 입학시험을 풀었다. 기능구현하기인데 파이썬 로직을 추가하여 화면에 띄우는 것이었다. 처음엔 당황했는데 30분만에 풀고 시험장을 나왔다. 기분이 좋았다. 그리고 항해에서 하는 출첵 및 공부시간 기록 사이트가 있는데 다같이 공부하는 느낌이 나서 자극되고 좋다. 맘에든다. 오늘도 열심히 공부해서 뿌듯한 하루다 😊
아래 부분을 추가했다. app.py에서 파이썬 문법으로 평당 가격을 구하는 로직을 만들고, db에 저장한후, index.html에서 price를 가져와서 temp_html에도 추가해준후, #order-box에 append해줬다. 끝 ^_^
오늘은 8시 도서관 출석하여 10시까지 공부했다. 개인공부위주로 했다. 윤재성 스프링 MVC 46~49강 게시판 상단메뉴 구성하기, 유효성 검사, 아이디중복확인 강의를 들었다. 유효성 검사 어렵다.. 뭐가 많고 복잡하다. 얼른 익숙해져야겠다.. 항해99에서 진행하는 혼자공부하는자바 챕터3. 연산자도 공부했다. 다 아는거라 생각했는데 , 연습문제에서 몇문제 막히는걸 보고 자바부터 탄탄하게 해야겠다는 생각이 들었다. 개선할 점은 8시부터 바로 공부 시작하기!!!! 다이어리 쓰다보면 점점 늦어진다. 그래도 열심히 공부해서 뿌듯한 하루다 !!
항해 1일차이다. TIL이란 것에 대해 배웠다. 오늘부터 TIL을 써보도록 해야겠다. TIL은 'Today I Learned(오늘 내가 배운 것)' 으로 일일 회고이다. 일일 회고를 하는 본질적인 이유는 '일하는 나의 성장'이며,지표의 성장이나 프로젝트의 진척도가 아닌, 나는 이 과정에서 무엇을 배웠는가에 집중해야만 '일하는 나의 성장'을 스스로 확인할 수 있다. TIL은 '성취 > 개선 > 학습'의 순서로 구성된다. 오늘은 뭘 잘했나, 뭘 개선해야 하는가, 뭘 배웠나 에 집중해서 작성한다. 오늘 일정은 9시, 1시에 일주일 설명 및 TIL 특강, 3~9시는 혼공자 자습 및 토론으로 이루어졌다. 아날로그에 익숙한 나로서는 ZEP환경, 게더타운? 같은 가상환경이 익숙하지 않아서 불편했다. 집에서 공부하는 ..
1. EC2 서버 구매하기 더보기 웹 서비스를 런칭하기 위해 클라이언트의 요청에 항상 응답해줄 수 있는 서버에 프로젝트를 실행시켜야 한다. 언제나 요청에 응답하려면, 1) 컴퓨터가 항상 켜져있고 프로그램이 실행되어 있어야하고, 2) 모두가 접근할 수 있는 공개 주소인 공개 IP 주소(Public IP Address)로 나의 웹 서비스에 접근할 수 있도록 해야한다. 서버는 그냥 컴퓨터이기 때문에, 외부 접속이 가능하게 설정한 다음에 내 컴퓨터를 서버로 사용할 수 있다. AWS라는 클라우드 서비스에서 편하게 서버를 관리하기 위해서 항상 켜 놓을 수 있는 컴퓨터인 EC2 사용권을 구입해 서버로 사용해 보자. 클릭 만으로 내가 원하는 서버(컴퓨터)의 설정을 정하고, 거기에 컴퓨터를 실행시키기 위한 운영체제(OS..
👉 5주차 수업목표 1. '버킷리스트'를 완성한다. 2. EC2에 내 프로젝트를 올린다. (배포) 👉 5주차 설치 1. Filezilla 설치하기 (내 작업물을 클라우드에 올리기위해 파일을 보낼수 있는 프로그램) 2. 가비아 가입하기 & 도메인 구입하기 👉 버킷리스트 사이트 만들기 - 버킷리스트 목록을 기록하고, 완료 버튼을 누르면 취소선이 그어지도록 만들어 보자! - 힌트 : 취소선이 그어지도록 만든다는 것은? 넘버링이 되어야 한다는 뜻! 어떤 목록을 취소선 그을지 알아야 하니까! 패키지 설치하기 3개 : flask, pymongo, dnspython (기본으로 3개 설치하고, 크롤링 할거면 request, bs4추가) 1. 서버 만들기 (순서대로 작성) from flask import Flask, r..
👉 4주차 수업목표 1. Flask 프레임워크를 활용해서 API를 만들 수 있다. 2. '화성에 땅사기' API를 만들고 클라이언트에 연결한다. 3. '스파르타피디아' API를 만들고 클라이언트와 연결한다. 1,2주차에는 html,css,js를 배웠고, 3주차에는 서버를 다룰수있는 python과 저장소인 db를 배웠다. 4주차에는 드디어 서버를 배워본다! 👉 Flask 시작하기 - 서버만들기 참고) 파이썬으로 웹개발을 할 때 가장 유명한 것은 Django(장고)인데, 장고는 무겁고 기능이 많아서 복잡하여 초보가 쓰기 쉬운 라이트한 flask프레임워크를 사용한다. (자바의 Spring) - HTML과 mongoDB까지 연동해서 서버를 만들어보자! 1. 파이참에서 Flask 패키지 설치 (Flask 프레임워..
👉 3주차 수업목표 1. 파이썬 기초 문법을 안다. 2. 원하는 페이지를 크롤링 할 수 있다. 3. pymongo를 통해 mongoDB를 제어할 수 있다. 👉 3주차 설치 1. Python 설치 파이썬을 설치한다는것은? → 일종의 번역팩을 설치하는것. 컴퓨터는 101010001 과 같은 언어만 알아듣는데, 파이썬 문법으로 된 것을 101010001로 변환해줄 수 있도록, 번역 패키지를 설치하는 것!!! 2. (윈도우만!) Git bash 설치 👉 2주차 연습 겸 복습 - 스파르타피디아에 OpenAPI 붙여보기 - 아티클들의 정보를 불러오는 OpenAPI를 써서 저장된 포스팅 불러오기(GET)를 만들어보자! 아래 처럼! ..... // ⭐id="cards-box"를 이용해서 이쪽에 append해주자! 영화..
2주차에서는, HTML파일을 받았다고 가정하고, Javascript로 다시 서버에 데이터를 요청하고 받는 방법을 배운다. jQuery를 이용해 Javascript로 HTML을 쉽게 제어하고, Ajax를 이용해 다시 서버에 데이터를 요청하고 받아보기! 👉 jQuery 란? - HTML의 요소들을 조작하는, 편리한 Javascript를 미리 작성해둔 라이브러리! (쓰기 전에 "임포트"필수! 아래와 같이 head안에 한줄 넣어주면 끝!) Javascript로도 모든 기능(예 - 버튼 글씨 바꾸기 등)을 구현할 수는 있지만, 1) 코드가 복잡하고, 2) 브라우저 간 호환성 문제도 고려해야해서, jQuery라는 라이브러리가 등장하게 됨. - jQuery와 Javascript 코드 비교 document.getEle..