전체 글

전체 글

    [Java/프로그래머스] 2016년

    문제 풀이 (1) 문제 분석하기 각 요일을 배열로 선언 전체 월의 마지막일을 배열로 선언(1일은 금요일이므로 index 1이 금요일이 될 수 있게) 입력받은 날짜까지의 총 일수를 계산하고 7로 나눈 나머지로 요일 배열에 index로 접근 (2) 슈도코드 작성하기 요일 배열 선언 전체 월의 마지막일 배열 선언 for(입력 받은 월 - 1 만큼) { 전체 월의 마지막 일 배열 돌면서 총일수 구하기 } 총일수에 b를 더하고 7로 나눈 값을 int형 변수에 담기 int형 변수로 요일 배열에 index로 접근하여 출력 (3) 코드 구현하기 package algorithm.test01; public class YearOf2016 { public static void main(String[] args) { // 요일..

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

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

    [Java] 정수 나눗셈 연산, 증감 연산자, while문과 조건식

    정수 나눗셈 연산 (혼자 공부하는 자바 p.80) 다음 코드를 실행하면 출력 결과로 5를 기대했는데 4가 출력되었다. 어디에서 잘못 작성된 것일까? int var1 = 5; int var2 = 2; double var3 = var1 / var2; int var4 = (int)(var3 * var2); System.out.println(var4); // 4 3번 라인의 결과값부터 잘못 되었다고 할 수 있다. 이유는 자바에서 정수 연산의 결과는 정수이기 때문이다. 디버깅 모드로 라인 하나하나를 살펴보자. 7번 라인에서 var1 / var2의 연산 결과는 2.5가 아니라 2가 되고, 2를 double 타입으로 변수 var3에 저장하므로 2.0이 된다. 8번 라인에서 var3 * var2의 연산 결과는 4.0이..

    [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 키워드로 선언한다. 열거 타입의 값으로 사용 되는 열거 상수는 관례적으로 모두 대문자로 작성한다. 열거 상수가 여러 단어일 땐 밑줄(_)로 연결한다. ..