📝 TIL

    [TIL] 1주차 알고리즘ㅣ주간 시작

    알고리즘 주간 시작 4일간의 폭풍 같았던 미니 프로젝트가 끝나고, 오전 9시 발제를 기준으로 알고리즘 주간이 시작되었다. 걷기반과 달리기반으로 나뉘는데 나는 패기 넘치게 달리기반을 선택했다. 마라톤 24문제 + 챌린지 16문제와 함께 할 일들이 쏟아졌다. 오늘 자정까지 주특기 언어 과제 제출 내일 1시 문제풀이 세션 다음 주 화요일 알고리즘 모의고사 다음 주 목요일 알고리즘 테스트 내가 팀장이라니 한 번쯤은 팀장을 할 것 같았지만 막상 팀장이 되니 괜히 무게가 느껴진달까.. 새롭게 만난 팀원분들과 이번 주도 잘 헤쳐나갈 수 있으면 좋겠다. 오늘의 나는 오늘 하루만 약 10개의 알고리즘 문제를 풀었다. 타입을 변환하는 부분이나 Array, ArrayList 등 자료구조를 활용하는 부분이 아직 많이 부족하다..

    [TIL] 1주차 미니 프로젝트ㅣ발표

    ☕ Coffee Duckhu(커피덕후) ☕ 1. 프로젝트 소개 커피 덕후(coffee Duckhu) 커피 덕후는 커피에 진심인 사람들이 모여 카페별로 인기 메뉴를 살펴보고 나만의 커피 컬렉션을 만들 수 있는 서비스입니다. 👇커피 덕후 보러 가기👇 http://coffeeduckhu.shop/ 👇커피 덕후 Github 보러 가기👇 https://github.com/ingwang-kim/coffee_duckhu 2. 주요 기능 프랜차이즈 카페의 메뉴를 크롤링하여 DB 저장 카페별 커피 정렬 기능 커피 즐겨찾기 기능 즐겨찾기 개수로 순위를 매겨 인기 커피 정렬 기능 즐겨찾기 한 커피를 볼 수 있는 마이페이지 커피에 대한 설명과 영양정보를 보여주는 상세 조회 페이지 좋아하는 커피에 댓글 기능 JWT를 이용한 회..

    [TIL] 1주차 미니 프로젝트ㅣ협업과 에러

    안전한 협업을 위한 규칙 우리 팀은 현재 [main branch로부터 따온 각각의 기능 branch]에서 작업을 하고 있다. 약식으로나마 PR을 날려 코드가 덮어씌워지는 불상사를 막기 위함이다. 오전 내로 메인이 되는 기능 구현을 마무리하고 팀원분들과 첫 merge를 진행하였다. 아무래도 작업 분리가 완벽하게 되지 않은 상태에서 동시에 작업하는 파일들이 많다 보니 conflict가 어마 무시했다..😂 팀원들이 각자의 공간에서 마음껏 작업할 수 있도록 확실한 분리가 필요했다. JS와 CSS는 HTML내에 넣지 않고 따로 파일 생성하여 /static/css or js 디렉토리에 저장 변수명, 파일명 컨벤션 정하기(camelCase, snake_case 등) 남이 알아보기 쉽도록 주석을 꼼꼼하게 적기 단순 출..

    [TIL] Flask 로그인/회원가입 구현하기(JWT, 유효성 검사)

    인증 방식에 대해 웹서비스의 필수 기능이라고 할 수 있는 로그인, 회원가입 기능. 서버에서 회원을 인증하는 방식은 여러 가지이다. 이전에는 세션을 이용한 방식으로 로그인을 구현했었는데, 오늘은 토큰 기반 인증 방식의 JWT를 이용해보려 한다. 회원가입 기능을 구현해보자 회원가입 로직 회원가입을 하기 위해 필요한 정보를 선별한다.(아이디, 닉네임, 비밀번호 등) 각각의 규칙을 정해 검사하고, 저장된 회원 정보와 중복되는 값이 없도록 확인한다. 확인이 끝났다면, 입력 정보를 DB에 저장한다. 이때, 비밀번호는 항상 암호화 필수! 비밀번호 암호화 해시 함수란? 알고리즘의 한 종류로서 임의의 데이터를 입력받아 항상 고정된 길이의 임의의 값으로 변환해주는 함수이다. sha256은 어떤 길이의 입력값을 넣어도 항상..

    [TIL] 1주차 미니 프로젝트ㅣ시작

    드디어 시작 오전 9시 스파르타 대표 범규님의 발제를 시작으로 항해99의 1주차가 시작되었다. 좋은 개발자란 무엇인지 말씀해주셨는데 정리해보면 다음과 같다. 1) 호기심이 많고, 스스로 문제를 파고들어갈 줄 아는 사람 2) 함께 밥먹고 싶고, 일하고 싶은 사람 좋은 개발자 이전에 좋은 사람이 되야겠다고 생각했다. 항해99 기간 동안 주 100시간씩 몰입하면서 효율적으로 일하고, 능동적으로 개선하는 개발자가 되어야지! 1주차 미니 프로젝트 기획 새로운 팀원들과 새롭게 프로젝트를 진행하게 되었다. 프로젝트 주제 선정부터 API 설계까지 빠른 시간 안에 이루어졌다. 역시 집단 지성의 힘은 위대해. 1. 프로젝트 주제 ☕ 커피 덕후(coffee Duckhu) ☕ ‘요즘 사람들 무슨 커피 먹지?’ 커피에 진심인 ..

    [TIL] Java 열거 타입(Enum)

    ✍ Today I Learned 05 참조타입 05-3 열거 타입 열거 타입이란? 한정된 값인 열거 상수(enumeration constant)중에서 하나의 상수를 저장하는 타입 ex) 요일에 대한 데이터(월, 화, 수, 목, 금), 계절에 대한 데이터(봄, 여름, 가을, 겨울) 열거 타입 선언 먼저 열거 타입 이름을 정하고, 해당 이름으로 소스파일(.java)을 생성해야 한다. 이름은 관례적으로 첫 글자를 대문자로, 나머지는 소문자로 한다. ex) Week.java / MemberGrade.java / ProductKind.java public enum 키워드로 선언한다. 열거 타입의 값으로 사용 되는 열거 상수는 관례적으로 모두 대문자로 작성한다. 열거 상수가 여러 단어일 땐 밑줄(_)로 연결한다. ..

    [TIL] Java 참조 타입, 메모리 사용 영역, String, 배열

    ✍ Today I Learned 오늘의 고비는 메모리 사용 영역과 다차원 배열이었는데, 글이 이해가 안 가서 그림을 찾아보고, 그림에 궁금한 부분이 있어서 동영상을 찾아보고 하다 보니 어느 정도 틀은 잡힌 것 같다. 안다고 생각했지만 사실 그건 아는 게 아니었다. 그 생각 자체가 오만 아닐까? 깊게 파고들수록 어려운 것 같다. 근데 너무 재밌어..! 05 참조타입 05-1 참조 타입과 참조 변수 기본 타입과 참조 타입 기본 타입(primitive type): 정수, 실수, 문자, 논리 리터럴을 저장하는 타입 참조 타입(reference type): 배열, 열거, 클래스, 인터페이스를 말하며, 객체(object)의 번지를 참조하는 타입 기본 타입 변수와 참조 타입 변수의 차이점은? 기본 타입 변수는 실제 ..

    [TIL] Java 조건문, 반복문, break, continue

    ✍ Today I Learned 예제 문제를 풀어보면서 제어문은 하나의 답이 아닌 여러 방향이 있다는 걸 또 한번 깨달았다. 항상 효율적인 방향이 무엇인지 고민하고 코드를 구현하자! 04 조건문과 반복문 04-1 조건문: if문, switch문 조건문의 종류 if문 조건식의 결과가 true, false이냐에 따라 실행문 결정 주로 else 블록과 함께 사용 switch문 변수의 값에 따라 실행문 결정 default는 생략 가능 break가 없다면 다음 case 연달아 실행 switch 연산은 char 타입, String 타입도 가능하다 중괄호 {} 블록 여러 개의 실행문을 하나로 묶기 위해 중괄호 {} 사용 조건식이 true가 될 때 실행해야 할 문장이 하나밖에 없다면 생략 가능 그러나 코드의 가독성을 ..