일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바스터디
- 제네릭 와일드 카드
- 브릿지 메소드
- 합병 정렬
- 람다식
- 로컬 클래스
- 접근지시자
- github api
- throwable
- System.out
- Switch Expressions
- 스파르타코딩클럽
- System.in
- 제네릭 타입
- Study Halle
- 바운디드 타입
- 정렬
- 상속
- docker
- 익명 클래스
- 자바할래
- annotation processor
- 항해99
- auto.create.topics.enable
- 함수형 인터페이스
- yield
- 프리미티브 타입
- System.err
- junit 5
- raw 타입
- Today
- Total
목록Diary/Today I Learned (85)
코딩하는 털보
Dockerfile FROM openjdk:11 MAINTAINER JeongIn Lee # set Time Zone ENV TZ=Asia/Seoul RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone ARG MIRROR=https://dlcdn.apache.org/flume ARG VERSION=1.11.0 ARG BIN_VERSION=apache-flume-${VERSION} RUN apt-get update && apt-get install wget ca-certificates #install apache flume RUN mkdir -p /opt/flume/plugins.d/agent/lib \ && mkdi..
카프카를 사용하다 자주 마주친 에러. 바로 메시지를 produce/consume할 토픽이 없다는 에러이다. 2023-02-01 16:01:58,034 WARN [kafka-producer-network-thread | producer-1] (org.apache.kafka.clients.NetworkClient$DefaultMetadataUpdater.handleSuccessfulResponse:1119) - [Pr oducer clientId=producer-1] Error while fetching metadata with correlation id 3 : {dev.pintel.simul.org.vehicle.json=UNKNOWN_TOPIC_OR_PARTITION}KAFKA topic은 DB 테이블처..
알고리즘 문제 풀기 with Python BFS 연습문제 ❓ Q. 문제 설명 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 벽 또는 빈 칸이다. 청소기는 바라보는 방향이 있으며, 이 방향은 동, 서, 남, 북중 하나이다. 지도의 각 칸은 (r, c)로 나타낼 수 있고, r은 북쪽으로부터 떨어진 칸의 개수, c는 서쪽으로 부터 떨어진 칸의 개수이다. 로봇 청소기는 다음과 같이 작동한다. 현재 위치를 청소한다. 현재 위치에서 현재 방향을 기준으로 왼쪽방향부터 차례대로 탐색을 진행한다. a. 왼쪽 방향에 아직 청소하지 않은 공간이 존재한다면, 그..
알고리즘 문제 풀기 with Python 해쉬 해쉬 테이블 : 키값 매핑 구조, 해쉬 함수를 이용하여 데이터의 검색과 저장이 아주 빠르다 (O(1)), 파이썬의 딕셔너리 해쉬 함수 : 임의의 길이를 갖는 메시지를 입력하여 고정된 길이의 해쉬 값을 출력하는 함수 해쉬 테이블은 내부적으로 해쉬 함수를 통해 키를 임의의 해쉬 값으로 변환하여 인덱스로 사용한다. 그렇기 때문에 즉각적으로 데이터를 찾고 추가할 수 있는 것이다. 딕셔너리 구현하기 class Dict: def __init__(self): self.items = [None] * 8 def put(self, key, value): index = hash(key) % len(self.items) self.items[index] = value def get..
알고리즘 문제 풀기 with Python 스택 Last In First Out push(data) : 맨 위에 데이터 쌓기 pop() : 맨 위의 데이터 꺼내기 peek() : 맨 위의 데이터 보기 isEmpty() : 스택이 비어있는지 확인하기 Linked List로 Stack 구현하기 class Node: def __init__(self, data): self.data = data self.next = None class Stack: def __init__(self): self.head = None def push(self, value): new_node = Node(value) new_node.next = self.head self.head = new_node return def pop(self):..
알고리즘 문제 풀기 with Python 정렬 데이터를 순서대로 나열하는 방법 정렬을 통해 이진 탐색을 가능하게 하거나 데이터를 조금 더 효율적으로 탐색할 수 있게 한다. 버블 정렬 : 두 수를 연속적으로 비교해가면서 가장 큰 수부터 오른쪽으로 보내도록 정렬 input = [4, 6, 2, 9, 1] def bubble_sort(array): for i in range(len(array)-1): for j in range(len(array)-i-1): if array[j] > array[j+1]: array[j],array[j+1] = array[j+1],array[j] return bubble_sort(input) print(input) # [1, 2, 4, 6, 9] 가 되어야 합니다! 시간 복잡도 ..
알고리즘 문제 풀기 with Python Array vs Linked List Linked List 구현하기 class Node: def __init__(self, data): self.data = data self.next = None class LinkedList: def __init__(self, data): self.head = Node(data) def append(self, data): if self.head is None: self.head = Node(data) return self.head node = self.head while node.next is not None: node = node.next node.next = Node(data) return node.next def print..
알고리즘 문제 풀기 with Python 외부 입력 받기 a,b = input().split() a=int(a) b=int(b) print(a+b) 문제 풀어보기 입력 조건과 문제, 출력 조건을 확인하기 최대 빈도수의 알파벳 찾기 def find_max_occurred_alphabet(string): array = [0] * 26 for s in string: if s.isalpha() : index = ord(s)-ord('a') array[index] += 1 max_num = 0 for num in array: if num > max_num : max_num = num return chr(array.index(max_num)+ord('a')) s = "hello my n..
면접 준비 시작 면접 전까지 내가 준비해야 할 것들 이력서, 코테 연습, 면접 예상 질문 정리 이력서 원래 쓰던 이력서는 지금 다시보니까 문제가 꽤 많았다. 면접관은 이력서를 보고서 질문하므로 이력서는 질문을 유도할 수 있는 좋은 방법이 되는데, 나는 이력서를 중구난방으로 썼기 때문에 내가 자신있는 것을 이력서에 제대로 표현하지 못한 것 같다. 이 이력서가 이전에 면접까지 어떻게 합격했는지 의문이 들 정도이다. 왠지 지난 면접 자리에서는 DB만 많이 물어본다 했다. 당연한 것이었다 내가 과거 DB관련 이력의 비중이 크게 작성해놓았으니.. 간결하게 정말 내가 하고싶은 말들만 함축해서 담기로 했다. 자기소개나 전 직장 이력들도 백앤드 서버 개발자와는 상관없는 내용이 있다면 과감히 절삭하고 최대한 간결하게 작..
최종 프로젝트 완료 6주의 기간이 지났고 오늘 항해의 마지막 프로젝트를 완료했다. https://habitmonster.app 내가 잘 해냈다고 생각하는 것 커뮤니케이션 프론트엔드 팀과 어떻게 기술적으로 잘 소통할 수 있을까를 많이 고민한 것 같다. 그리고 같은 백엔드 팀원들에게도 어떻게 하면 더 좋게 협업할 수 있을지를 고민했다. 트러블 슈팅 문제가 생겼을 때 빠르고 정확하게 문제를 파악하는 기술이 점점 더 발전하는 것 같다. 특히 테스트 코드가 있으면 원인 파악은 더 쉬워졌다. 아쉬움으로 남는 것 시간 약속, 체력 프로젝트에 너무 욕심을 냈던 것이었을까 나는 마지막 2주는 거의 매일 4시를 넘어서 잠들었던 것 같다. 그래서 팀과 회의가 있는 날에 몇차례 참여하지 못한 적이 있다. 이런 부분은 정말 잘..