전체 글 188

구현 문제

구현 문제는 머릿 속에 있는 알고리즘을 소스코드로 바꾸는 과정이다. 알고리즘은 간단한데 코드가 길어지는 문제구현 문제는 머릿 속에 있는 알고리즘을 소스코드로 바꾸는 과정이다. 알고리즘은 간단한데 코드가 길어지는 문제, 특정 소수점까지 출력해야하는 문제, 문자열 입력이 주어졌을 때, 한문자 단위로 끊어서 리스트에 넣어야 하는 문제 등이 까다로운 구현 문제에 속한다. 라이브러리 사용 경험이 부족하면 구현 유형의 문제를 풀 때 불리하다. '이것이 코딩테스트다' 책에서는 완전 탐색과 시뮬레이션 문제를 구현 문제로 정의했다. 완전탐색은 모든 경우의 수를 주저 없이 다 계산하는 해결 방법, 시뮬레이션은 문제에서 제시한 알고리즘을 한 단계씩 차례대로 직접 수행하는 방식. 상하좌우 문제 상하좌우에 대한 리스트를 작성했..

Algorithm 2021.03.27

JSP, Servlet

Spring 프레임워크를 배우기 전에 JSP, Servlet에 대한 개념을 익히고자 한다. JSP Java Server Page의 약자로, HTML 문서 내에서 JAVA 코드를 사용할 수 있는 파일 형식이다. 태그를 추가하는 형식으로 태그 내부에 JAVA 코드를 사용한다. JSP는 톰캣과 같은 웹 컨테이너에서 java file로 만들어지고, class file로 만들어진 후 html 파일 형식으로 출력된다. 1) page : 페이지 기본 설정, 속성에 대한 속성 값 2) include : 해당 JSP 파일에 다른 파일을 추가함. 3) taglib : 외부 라이브러리 태그 설정. (prefix는 namespace 이름) 선언 태그를 통해 JAVA 변수 선언 및 초기화. 0) { %> num > 0 num ..

Java 2021.03.27

MVC 패턴

MVC 패턴이란? MVC (Model-View-Controller) pattern으로, 소프트웨어 디자인 패턴이다. 사용자 인터페이스에서 비지니스 로직을 분리하여 서로 영향 없이 쉽게 고칠 수 있도록 한다. Model App의 정보, 데이터 View 텍스트, 체크 박스 등 사용자 인터페이스 요소 Controller 데이터와 비지니스 로직 사이의 상호동작 동작 Controller는 모델에 명령을 보내 모델 상태를 변경하고, 뷰에 명령을 보내 모델의 표시 방법을 수정한다. Model은 변화시 뷰와 컨트롤러에 통보한다. 이를 통해 뷰는 최신 결과를 출력하고, 컨트롤러는 모델에 대한 명령을 추가, 제거, 수정을 할 수 있다. View는 사용자가 보는 화면 구성을 위해 모델에서 정보를 읽어온다.

Anything 2021.03.26

Kafka 개념 정리

Kafka? Kafka는 스트리밍 데이터를 다루기 위한 미들웨어와 그 주변 생태계를 말한다. Kafka는 pub-sub 모델의 메시지 큐, 분산환경에 특화되어 설계된다. 기존의 RabbitMQ와 같은 다른 메시지 큐보다 훨씬 빠르게 처리한다. Pub-sub 모델 (발행 / 구독) Pub-sub은 메시지를 특정 수신자에게 직접 보내는 것이 아니다. Publisher는 메시지를 topic을 통해 카테고리화한다. receiver는 받기 원하는 메시지의 topic을 구독(Subscribe)함으로 메시지를 읽어온다. Kafka에 주요 개념 topic, partition 하나의 topic에는 여러 개의 partition으로 구성될 수 있으며, partition 내에 로그 별로 offset이 지정되어 있다. 메시지가..

Anything 2021.03.20

2021. 03. 19.

오늘 할 일 1) 지도 API 호출해서 맛집 지도 만들어보기 지도 API를 호출해서 지도를 볼 수 있고, 나의 맛집 리스트를 작성하고 지도에서 볼 수 있고 나의 리뷰를 달 수 있게, 그리고 가능하다면 크롤러를 사용해서 네이버나 다음 리뷰도 가져올 수 있도록, 2) 웹소설 페이지 완성 카카오 지도 Web API apis.map.kakao.com/web/guide/ 따라하면 쉽게 웹에 지도를 띄울 수 있다. 웹소설 페이지 웹소설 페이지에서 사이드바를 통해 작품명 리스트를 만들고, 작품명 클릭시 해당 작품에 대한 서브타이틀, 작품 목록이 나올 수 있도록 구현하려고 함. 해당 페이지 구현을 위해 request 메서드가 GET인 경우에 작품 리스트가 출력되도록 함. 작품 링크에 태그를 사용할 때, GET 파라미터..

Python/Jabbok 2021.03.19

2021. 03. 18. 회원정보 페이지, 수정 & 웹소설, 홈 구성

오늘 할 일 1) 회원정보 페이지 구성 2) API 사용 방법 조사 (지도같은) 3) 웹 소설 페이지 제작 후 게시판과 연결 4) Home 구성 (Home에서 게시판, 웹소설로 이동할 수 있도록) 5) 회원 탈퇴 기능 회원정보 페이지 구성 회원정보 페이지에서 수정까지 할 수 있도록 함. USER ID는 바꾸면 안되기 때문에 readonly로 고정시켰음. 그리고 PASSWORD는 기본적으로 제공하면 안되기 때문에 제공하지 않음. (readonly로 할 경우 비활성화되면서도 form에 전달됨, disabled의 경우 form에는 전달 안됨) 프로필 페이지로 넘어갈 때, 먼저 현재 비밀번호로 인증하는 기능을 추가하면 좋을 것 같음. 그리고, 현재 user의 pk 값으로 접근하는데, 이에 대한 접근제어도 필요함..

Python/Jabbok 2021.03.18

Django User 모델 정리

https://docs.djangoproject.com/en/3.1/ref/contrib/auth/ Field username : 필수 요소, 유저 ID first_name : 옵션, first name last_name : 옵션, last name email : 옵션, 이메일 password : 필수, 해시값으로 저장, raw password는 저장하지 않음. groups : group 정보 user_permissions : 권한 정보 is_staff : Boolean, admin 페이지 접근 권한 is_active : 활성화 정보, Boolean, is_superuser : Boolean, 슈퍼유저인지, last_login : 마지막 로그인 date_joined : 계정 만들어진 날 Method ge..

Python 2021.03.17

2021. 03. 17. 답변 수정 삭제 기능 추가, 게시판 검색 기능

할 일을 미리 정리하고 시작하기로 했다. 1. 오늘 할 일 1) 답변 수정 삭제 기능 추가 2) 게시판 검색 기능 (전체 검색, 주제별 검색 기능) 3) 회원가입 수정 (이메일 인증, SSO 기능, Django User 모델 확인) 4) 회원정보 페이지, 회원정보 수정 5) 웹 소설 페이지 제작 진행 2. 오늘 한 일 Issue #1. 검색 기능에 대해서 (Django ORM) Django에서는 SQL문을 직접 사용하지 않고 ORM을 통해서 대신 DB를 참조할 수 있다. # Class는 model 객체 Class.objects.all() # SELECT * Class.objects.get(T=v) # SELECT v FORM T Class.objects.create() # INSERT INTO filte..

Python/Jabbok 2021.03.17
반응형