일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- raw 타입
- annotation processor
- 제네릭 타입
- 스파르타코딩클럽
- 자바스터디
- yield
- 프리미티브 타입
- 정렬
- System.err
- 합병 정렬
- 상속
- junit 5
- 로컬 클래스
- Switch Expressions
- 람다식
- 익명 클래스
- Study Halle
- 제네릭 와일드 카드
- docker
- 항해99
- System.out
- auto.create.topics.enable
- 브릿지 메소드
- 자바할래
- 접근지시자
- System.in
- throwable
- github api
- 함수형 인터페이스
- 바운디드 타입
- Today
- Total
목록Diary (125)
코딩하는 털보
오늘은 다음 협업에서 Git을 제대로 사용해보고자 생활코딩의 지옥 Git,그리고 생코에 최근에 올라와서 보고싶었던 Docker 입문 수업을 보면서 정리를 해본다. 참고 : https://www.youtube.com/watch?v=hFJZwOfme6w&list=PLuHgQVnccGMA8iwZwrGyNXCGy2LAAsTXk&index=1, https://www.youtube.com/watch?v=EbTJtanJUfE&list=PLuHgQVnccGMDeMJsGq2O-55Ymtx0IdKWf&index=3 오늘은 버전 관리 / branch 정리하고 다음엔 외부 저장소 관리 방법을 정리하면 좋을 것 같다. Git 버전 관리하기 저장소 만들기(init) / 파일 버전관리 등록하기(add) [/Users/ijeong-..
오늘은 스프링 1주차 강의를 보다가 Gradle에 대한 얘기가 잠깐 나와서 1주차 강의 끝내고나서 평소에 궁금했었던 Gradle, Maven 같은 빌드 툴에 대해서 공부해본다. 참고 : https://www.youtube.com/watch?v=Nabjqv8KDgc, https://www.youtube.com/watch?v=3Jp9kGDb01g Build Tools 빌드 도구란 빌드 자동화를 도와주는 소프트웨어 애플리케이션이다. 빌드 자동화 빌드 자동화는 소프트웨어 개발자가 수행하는 다양한 활동을 자동화하는 프로세스이다. 아래 목록은 빌드 도구가 자동화해주는 주요 활동이다. 소스코드 컴파일링 패키징 종속성 관리 자동화 업무 실행 (테스트, 분석 등) 배포 알림 일반적인 빌드 도구들 Apache Ant, A..
어제는 람다를 공부해봤으니 오늘은 함수형 프로그래밍과 스트림(java.util.stream.Stream)에 대해서 공부한다. 참고 : https://www.slideshare.net/arawnkr/api-42494051 함수형 프로그래밍(FP: Functional Programming) 함수형 프로그래밍은 순수 함수를 조합하고 공유 상태(shared state), 변경 가능한 데이터(mutable data) 및 부작용(side-effects) 을 피하는 기본 원칙에 따라 소프트웨어를 구성하는 프로그래밍 패러다임 입니다. 내가 보통 사용하던 프로그래밍 방식(for, if문 같은 로직에 따라 구현된 기능의 메서드를 호출하는 것. 어떻게 할 것인가(How)를 표현)은 명령형 프로그램이다. 그와 대비적으로 선언..
항해99 DAY 6 try-catch 문에서 실행부를 제외한 catch 블록이 동일한 코드로 자주 사용됩니다. 중복을 없앨 수 있을까요? @app.route('/post', methods=['DELETE']) def delete_post(): token_receive = request.cookies.get('mytoken') try: #jwt에서 payload 가져오기 payload = jwt.decode(token_receive, SECRET_KEY, algorithms=['HS256']) #payload를 통해 user 정보 조회 user = db.users.find_one({"user_id": payload["user_id"]}) post_i..
항해99 DAY 5 오늘은 미니 프로젝트 마감일이다. 진행 중 어려웠던 것들 Response(), jsonify(), render_template() 스프링을 할 때도 그렇지만 View에 리스폰스를 제공할 때 이런 여러가지 메서드들 때문에 골치가 아프다. 하나로 통일하자니 실제 동작시 어려움이 많았다. 이 부분은 내가 조원들에게 소통을 더 많이했다면 나았을까 싶다. jsonify() 메서드는 response를 보내기 위해 아규먼트들을 json 타입으로 만드는 메서드이다. Response 타입 객체를 반환한다. 때문에 Rest API에서는 이 메서드를 많이 사용하지 않을까 예상한다. render_template() 메서드는 매칭되는 html 파일을 전달해준다. 스프링에서 @ResponseBody가 아닌 기..
항해99 DAY 3 우리 조는 어제부터 하나의 깃 리포지토리에 각자의 작업을 적용하는 식으로 진행했다. 오늘은 AWS에 지금까지 만들어진 어플리케이션을 실행해보고 문제를 확인했다. Issue HTML reload 좋아요나 댓글이 달릴때 마다 페이지를 리로드 하는 작업으로 인해 좀 느린 느낌이 들어서 정호님한테 얘기했는데 페이지를 전체 리로드하는 대신 좋아요 수나 댓글 리스트 부분만 데이터를 변경하도록 해주셨다. 생각보다 반응 속도차이가 어마어마함. 댓글 삭제 글 도큐먼트에는 댓글 리스트가 있다. 이 댓글 삭제를 생각 안하고 있었는데 mongodb에 저장될 때 글 컬렉션에는 ObjectId가 있기 때문에 이 값을 기준으로 글을 삭제했었는데... 문제는 댓글에는 ObjectId 같은 고유한 값이 없었다. 선..
항해99 DAY 2 jinja2 flask에 내장되어 있는 Python 용 웹 템플릿 엔진. 서버 쪽에서 템플릿 HTML에 데이터를 끼워넣어 완성된 형태의 HTML을 보내주는 방법, 즉 서버사이드 렌더링 방식을 구현할 수 있다. python에서 render_template 메서드를 호출할 때 아규먼츠를 넣어주면 return render_template("detail.html", rows=rows) 템플릿에서 해당 아규먼츠를 사용할 수 있다. {% for row in rows %} {% set gu_name = row["MSRSTE_NM"] %} {% set gu_mise = row["IDEX_MVL"] %} {% if gu_mise>=40 %} {{ gu_name }}: {{ gu_mise|int }} ..
항해99 DAY 1 드디어 오늘부터 항해99가 시작되었다. 자 요이땅! 하자마자 바로 프로젝트를 진행한다. 괜히 스파르타가 아닌듯하다. 미니 프로젝트는 사전 준비 과정에서 배운 기술들을 토대로 새로운 웹어플리케이션을 만들어보는 것. 팀원들과는 처음에는 어색했지만 하루 종일 같이 앉아서 고민하고 소통하니까 자연스럽게 친해진 것 같다. 뭔가 웃을일도 많았음. 되도록 매일 그날 배우고 진행한 내역을 기록하려고 한다. 우리의 프로젝트는 재판하는 존경장님. 나는 python으로 백엔드 개발을 맡아했다. from flask import Flask, render_template, jsonify, request from pymongo import MongoClient client = MongoClient('localh..
백준 코딩 테스트 브루트 포스 서치 (완전 탐색) 2798 블랙잭 카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 있다. 한국 최고의 블랙잭 고수 김정인은 새로운 블랙잭 규칙을 만들어 상근, 창영이와 게임하려고 한다. 김정인 버전의 블랙잭에서 각 카드에는 양의 정수가 쓰여 있다. 그 다음, 딜러는 N장의 카드를 모두 숫자가 보이도록 바닥에 놓는다. 그런 후에 딜러는 숫자 M을 크게 외친다. 이제 플레이어는 제한된 시간 안에 N장의 카드 중에서 3장의 카드를 골라야 한다. 블랙잭 변형 게임이기 때문에, 플레이어가 고른 카드의 합은 M을 넘지 않으면서 M과 최대한 가깝게 만..
백준 코딩 문제 https://www.acmicpc.net/problem/2447 2447 별 찍기 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 하나씩 있는 패턴이다. *** * * ***N이 3보다 클 경우, 크기 N의 패턴은 공백으로 채워진 가운데의 (N/3)×(N/3) 정사각형을 크기 N/3의 패턴으로 둘러싼 형태이다. 예를 들어 크기 27의 패턴은 예제 출력 1과 같다. 첫째 줄에 N이 주어진다. N은 3의 거듭제곱이다. 즉 어떤 정수 k에 대해 N=3^k이며, 이때 1 ≤ k < 8이다. 첫째 줄부터 N번째 줄까지 별을 출력한다..