분류 전체보기

· CS
🔐 HTTPS 그게 뭔데?S는 secure의 약자왜 HTTPS를 사용함?서버에 보내는 정보를 제 3자가 볼 수 없게 (비밀번호 같은거 서버로 보낼 때 가로채면 아찔)사이트가 진품인지, 즉 신뢰할 수 있는 사이트인지 검증 (기관으로 부터 검증된 사이트만 HTTPS 사용이 허가됨)암호화 방식대칭키 방식: 하나의 키를 가지고 암호화, 복호화문제점: 결국 한 번은 한 쪽에서 다른 쪽으로 대칭키를 전송해야하는데.. 대칭키를 해킹 당하면 말짱 도루묵비대칭키(공개키) 방식: 공개키로 암호화, 비공개키로 복호화 가능.비대칭키(공개키)대칭키의 문제점 때문에 비대칭키 방식을 사용하는 건 알겠어.그러면 비공개키가 클라이언트에 있어야 하는데, 네이버가 우리에게 준 공개키가 정품인지 확인..
· Algorithm
2022 카카오 신입 공채 https://programmers.co.kr/learn/courses/30/lessons/92334 머리말 처음 엄청 쉽게 작성하고 10점 미만나와서 띠용? 30분 더 투자해서 솔브 dictionary 관련 자주 접하다보면 외워지겠지... 누적 신고 횟수 담으면서 불량 이용자 찾기 → 이메일 보낼 횟수 담기 순으로 처리하였다. 🐥 이건 얻어가자 리스트에서 중복을 중복을 제거하고 싶으면? list(set(리스트)) 해시맵을 구성할 때 key값이 정해져있다면? dict.fromkeys(리스트, 초기값) 코드 def solution(id_list, report, k): answer = [] report = list(set(report)) # set을 이용해 중복으로 신고한 내역 제..
· Algorithm
[2020 카카오 블라인드 채용] https://programmers.co.kr/learn/courses/30/lessons/60057 머리말 딱 구현 문제라고 느껴져 문제를 잘 해석하려고 노력하였다. 하지만, 문자열은 제일 앞부터 정해진 길이만큼 잘라야 합니다. 이 문장을 과소평가하여 첫 제출 때 틀렸다. 그리고 올바르게 짠 것 같은데 자꾸 72점이 나와 다른 사람의 코드를 참고할까 하다가 끝까지 디버깅하여 결국 풀어냈다. 코드 의식의 흐름대로 작성하여 코드가 난잡합니다 🤢 def solution(s): answer = [len(s)] for cut in range(1, len(s) // 2 + 1): # 자를 수 있는 범위 (최소 2개 최대 절반개) substrIdx = 0 cutstr = '' # ..
· Algorithm
https://www.acmicpc.net/problem/2357 머리말 solved 통계를 보니 자료구조 관련 데이터가 별로 없길레 관련 문제 중에 랜덤으로 하나를 골랐다. 문제 자체는 굉장히 평이해보였지만 n, m 범위가 1 이상 10만 이하 라는 점에서 아,, 이거 뭔가 트리 써야할 것 같은데? 라는 생각이 들었다. 어떤 트리 써야할 지 몰라 알고리즘 분류를 보니 세그먼트 트리 문제라고 한다. 세그먼트 트리 백준 블로그에 상세한 설명이 적혀있다. 세그먼트 트리는 어떠한 구간 내의 로직을 처리할 때 굉장히 효율적인 알고리즘이다. 트리의 노드에 범위라는 개념이 들어가고, 저장할 데이터는 로직에 따라 다르겠지만 이 문제에서는 해당 구간의 최솟값, 최댓값을 저장한다. 리프 노드(idx)라면 idx ~ id..
· Algorithm
https://www.acmicpc.net/problem/1162 머리말 오랜만에 9시에 일어나서 백준 문제를 풀어봤다. 일찍 일어난거 맞지..? 어떤 문제를 풀지 고민하다가 최근 수업시간에 다루었던 다익스트라 문제를 골랐다. 1시간 30분 고민해서 풀었다가 6%에서 바로 틀렸다. 허허 아직 부족하다. 나의 접근 방법 다익스트라 문제라는 것만 생각하고 어떻게 문제에 다익스트라를 녹여낼까 고민했던 것 같다. 모든 가중치를 priority queue에 넣고 크기가 큰 순으로 weight를 0으로 집어 넣고 다익스트라를 적용시켰다. 하지만, 조금만 생각해보면 당연히 잘못된 풀이법이다. weight가 큰 것을 포장 도로로 만들 필요가 없기 때문이다. 또한 'k번 이하'라는 조건에 주의를 기울여야 했을 것이다. ..
· Books
"오브젝트: 코드로 이해하는 객체지향 설계" 책의 기록입니다. 객체지향 설계 설계란 코드를 배치하는 것이다. 설계를 구현과 떨어트려서 이야기하는 것은 불가능하다. 좋은 설계란, 오늘 요구하는 기능을 온전히 수행하면서 내일의 변경을 매끄럽게 수용할 수 있는 설계 왜? 요구사항이 항상 변경되기 때문임. 개발을 시작하는 시점에 구현에 필요한 모든 요구사항을 수집하는 것은 불가능에 가까움 코드를 변경할 때 버그가 추가될 가능성이 높기 때문 변경에 유연하게 대응할 수 있는 코드를 짜자.ᐟ 객체지향 프로그래밍을 향해 다음 두 가지에 집중하자 첫째, 어떤 클래스가 필요한지를 고민하기 전에 어떤 객체들이 필요한지 고민하라. 클래스의 윤곽을 잡기 위해서는 어떤 객체들이 어떤 상태와 행동을 가지는지 먼저 결정 둘째, 객체..
· CS
Elasticsearch 엘라스틱서치는 모든 요청과 응답을 REST API 형태로 제공한다. 키바나 콘솔 사용법 Management -> Dev Tools 손쉽게 엘라스틱서치와 REST API로 통신할 수 있음 인덱스 : 도큐먼트를 저장하는 논리적 구분자 특정 도큐먼트 개수에 도달하거나 특정 용량을 넘어서면 인덱스를 분리 ex) 날짜/시간 단위로 인덱스를 분리하면 특정 날짜의 데이터를 쉽게 처리 도큐먼트 : 실제 데이터를 저장하는 단위 클러스터 내부 구조 하나의 프로젝트에서 하나의 클러스터를 생성 클러스터 내부는 여러 개의 인덱스를 생성 인덱스 내부에는 JSON 형태로 된 다수의 도큐먼트가 존재 다수의 도큐먼트는 복수의 필드를 가짐 실행 확인 8.0.1 버전부터 자동 보안 설정이 되어 있어서 다음과 같이..
· Back/spring
개요 앞선 포스트에서 JPA를 연결하는 과정에서 application.properties를 다음과 같이 설정하였다. ## h2 데이터베이스 설정 ## spring.h2.console.enabled=true ## Maria DB 데이터베이스 설정 spring.datasource.driverClassName=org.mariadb.jdbc.Driver spring.datasource.url=jdbc:mariadb://localhost:3306/around_hub_shop spring.datasource.username=root spring.datasource.password=비밀번호 ## JPA 설정 spring.jpa.hibernate.ddl-auto=create spring.jpa.show-sql=true..
squareyun
'분류 전체보기' 카테고리의 글 목록 (3 Page)