일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 한이음
- 코테
- 트러블슈팅
- kafkaconsumer
- 자바
- c
- 기록
- 코딩테스트
- Django
- 알고리즘
- testcode
- java
- 시스템프로그래밍
- 공부기록
- github
- 회고록
- 협업도구
- 문자열압축
- git
- 자료구조
- SpringSecurity
- jwt
- 문자열함수
- 선택정렬
- AWS
- IT
- 백준
- codingtest
- kafka
- 기술블로그
- Today
- Total
목록분류 전체보기 (84)
신뇽이 되어보자
옵션 별로 강의를 검색하는 기능을 구현할 때 선택한 키워드에 맞게 검색하는 방식이 달라지며 호출하는 메서드들이 각각 달라진다는 특징이 있다. 기존코드에서는 enum클래스에 선택 옵션들의 키워드를 선언한 후 서비스에서 구분을 했었다. 그러다가 Enum 클래스가 단순히 상수 값을 넘어서 상수 메소드로서의 이용 또한 가능함을 알게되었다. 상태와 행위를 한 곳에서 관리를 할 수 있어객체지향적으로 코드를 패턴화 하여 유지보수가하기 용이하다는 장점이 있음을 알게 되었고코드 개선을 해보고자 하였다.public enum SearchOption { DEPARTMENT{ @Override public List search(LectureRepository lectureRepository, S..
멘토링에서 코드 리뷰시간을 가졌었다.많은 피드백을 받게 되었고, 나의 코드를 조금 더 개선시키도록 고민을 하게 해준 경험이었다.피드백을 받았던 부분들이었고, 투두로 만들어서 개선을 했다. depth가 5줄 이상으로 들어가는 함수는 따로 빼주는 것이 좋다고 하셨기에 메서드 분리를 많이 했던 것 같다.중복된 코드는 config클래스로 한 곳에 정의해서 호출하는 식으로 코드를 개선하여 중복코드를 줄였고,Enum클래스에서 단순히 키워드만 정의한 것이 아니라 enum타입별로 비교가 들어가는 경우에는 enum 클래스 안에 함수를 만들어서 호출하는 식으로 코드를 단순화시킬 수 있었다.구현과 실행에 중심을 두어 짠 코드에는 하드 코딩이 난무했었다.(하드코딩으로 인하여, 하나의 코드가 무엇을 의미하는지 한번에 알 수 ..
Trouble 1 : 카프카를 기동할 때 마주친 에러 - 메모리 초과 해결: vi kafka-server-start.sh 에 들어가서 JVM 힙 크기 조정해주었다. Trouble 2 : zookeeper실행도중 Permission 거부 ls -lia로 확인 해결: chmod +x zoo_start.sh Trouble 3 : producer실행시 나타난 에러 해결 : server.properties 파일에서 advertised.listeners 에 ip주소를 설정을 안해줘서 나타났던 에러였다. Trouble 4 : 데이터베이스에 데이터를 집어넣는 과정에서 나타난 에러 (1001, 80, '교선B8051', '텍스트이해와크리에이션', '6', 532, 3, '전체', '원0207 : 월[05],..
FileToDBConsumer : Consumer객체를 생성하고 토픽의 데이터를 가져온다.LecturesDBHandler : 가져온 데이터를 DB에 저장한다. (JPA를 사용하였다.) 일단 db에 넣으려면 topic에서 데이터를 가져와야하므로이전 글에서 Controller에서 스레드2개를 사용했다고 했는데,startKafkaConsumer() 를 호출하며 하나의 스레드를 사용했다고 했었다. 이 메서드에서kafkaTopicConfig 에서 토픽 이름 가져오고,kafkaConsumerConfig 에서 카프카 기본 설정들 가져온 후LecturesDBHandler 객체 생성 → FileToDBConsumer 객체 생성 후 FileToDBConsumer의 startConsuming 메서드 호출한다고 이전 글에서 ..
구분 : 그리디public class Main { static int N; static int result; static int min; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); N = Integer.parseInt(br.readLine()); result = 0; int count = 0; int temp = 0; while(true){ if(N%5 == 0){ ..
구분: 구현public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int []arr = new int[14]; int zun=0; int sung=0; int zn = n; int sn = n; int resultz = 0; int results = 0; StringTokenize..