분류 전체보기

카카오 모빌리티 코테 1차와 토스 next 챌린지 코테를 친 한주가 지나왔다토스는 아직 갈 수준이 아닌 것 같다는게 확실히 느껴졌고 카카오 모빌은 1차 코테가 너무 쉬웠는데 불합격을 통보 받았다.분명 쉬웠고 문제를 전부 풀었기 때문에 불합격한 이유를 잘 모르겠었는데 오늘 흑백 요리사를 보다 보니 이유를 알 것 같다. 흑백 요리사를 보면 와 한번 먹어보고 싶다. 그리고 다음 요리가 어떨지 기대가 된다. 이런 생각이 들었는데 내가 제출했던 그리고 평소에 만드는 코드를 보면 기대가 되는 코드인가 생각해보면 아니였다.또한 나는 코테 마무리를 하면서 한번 더 이쁘고 더 다른 방법이 없는지 열정과 섬세함을 챙기지 못한 것 같다. 물론 다른 분야이지만 발전하기 위해서는 이러한 부분이 필요하다고 생각된다. 또 느낀점은..
· Java
AssertJ는 JUnit과 함께 사용해 검증문의 가독성을 확 높여주는 라이브러리 입니다.윗 쪽 보다 아래쪽 가독성이 더 좋습니다.Assertions.assertEquals(a+b, sum);assertThat(a+b).isEqualTo(sum);  메서드 목록 isEqualTo(A) A와 값이 같은지 검증isNotEqualTo(A) A와 값이 다른지 검증contains(A) A 값을 포함하는지 검증doesNotContain(A) A 값을 포함하는지 않는지 검증startsWith(A) 접두사가 A인지 검증endsWith(A) 접미사가 A인지 검증isEmpty() 비어있는 값인지 검증isNotEmpty() 비어있는 않은 값인지 검증isPositive() 양수인지 검증isNegative() 음수인지 검증is..
· Java
제어의 역전과 의존성 주입스프링은 모든 기능의 기반을 제어의 역전IoC와 의존성 주입DI에 두고 있습니다. Inversion of Control외부에서 관리하는 객체를 가져옴, 스프링 컨테이너가 객체를 관리, 제공하는 역활을 한다.public class A { b = new B();}//클래스 A 에서 new 키워드로 클래스 B 의 객체를 생성 Dependency Injection어떤 클래스가 다른 클래스에 의존한다.public class A{ @Autowired B b;}  빈과 스프링 컨테이너스프링 컨테이너: 빈을 생성하고 관리, 빈의 생명주기를 관리함빈: 스프링 컨테이너가 생성하고 관리하는 객체빈을 스프링 컨테이너에 등록하기 위해 XML 파일 설정 애너테이션 추가 등 여러가지 방법을 제공MyB..
· CS지식
APACHE요청이 들어오면 커넥션을 형성하기 위해 프로세스 생성 (계속해서 새로운 프로세스가 만들어짐)PREFORK를 통해 미리 프로세스를 생성해서 요청이 들어오면 대응하는 방식으로 바뀜=> 개발하기 쉽다, 확장성이 좋다, 안정성이 높다 시간이 지나 C10k 에러 발생=> 동시에 연결된 커넥션 수 증가 (요청을 처리하기 위해 서버가 얼마나 많은 클라이언트와 연결 가능한가)1. 커넥션이 많아져 프로세스가 많아짐2. 메모리 부족으로 이어짐3. CPU 부하(컨텍스트 스위칭 증가) Nginx(event 기반 서버)미스터 프로세스 워커 프로세스의 구조로 이루어져있다 시간이 오래는 작업은 Thread Pool을 만들어서 처리하게 함(워커 프로세스에서 넘겨줌)cpu 코어 갯수만큼 worker process 만듬단점..
· CS지식
Index를 쓰는 이유: 조건을 만족하는 튜플(들)을 빠르게 조회하기 위해, 정렬, 그룹핑 하기 위해 Index 만들기CREATE INDEX player_name_idx ON player(name);CREATE UNIQUE INDEX team_id_backnumber_idx ON player(team_id, backnumber);// multicolumn index, composite indexSHOW INDEX FROM player; B-tree 기반 Index 동작 방식index로 지정한 것 기준으로 Tree 구조로 만들어짐EXPLAIN SELECT*FROM player WHERE backnumber = 7;// 어떤 키를 사용하는 지 알 수 있음 직접 INDEX 고르기SELECT * FROM pla..
· CS지식
DB의 부하를 줄이기 위해 캐시 사용 할 수 있음캐시: 데이터나 값을 미리 복사해놓는 임시 저장소(Memcached, Redis, Local Memory cache 등 구현)활용: Dynamic Programming(이 전의 값을 저장), JPA의 영속성 컨텍스트 파레토의 법칙에 의해 자주 사용되는 내용의 20%를 캐싱해두면 성능 증가를 이룰 수 있다 Cache Hit: 캐시에 데이터가 존재, 해당 데이터를 바로 반환Cache Miss: 원하는 데이터가 존재x, db에 찾아가서 반환 캐싱 전략 패턴읽기 전략Look Aside(옆을 보다): 캐시에 데이터가 없을 때 db에 요청장점: 캐시에 문제가 생기는 경우 DB로 요청을 위임단점: 캐시와 DB의 데이터 정합성 유지 어려움, 첫 조회 시 DB 부하 발생 ..
기왕 실업급여 받게 된 것 스펙 업 할 것 백준 플레티넘 달성 10월 31일 까지9월 골드 2 달성자바 스프링 프로젝트 CRUD 완성11월 15일 까지아래 기술 스텍 적용카프카 정리11월 15일 까지도커 정리11월 15일 까지레디스 정리11월 15일 까지  이력서 제출11월 30일 까지 취직카프카 정리, 구현도커 정리, 구현레디스 정리, 구현 추 후토스 110점 이상
문제 제목이 참 재밌다 벽 부수고 이동이라현실적으로는 쉽지만 코드로 구현하기 어려웠다ㅠ 문제  코드from collections import dequedx = [0, -1, 0, 1]dy = [1, 0, -1, 0]def bfs(): visit = [[[0]*2 for _ in range(M)] for _ in range(N)] visit[0][0][0] = 1 while q: x,y, wall = q.popleft() if x == N-1 and y == M-1: return visit[x][y][wall] for k in range(4): xx = x + dx[k] yy = y + dy[k..
두잇 두두
'분류 전체보기' 카테고리의 글 목록 (4 Page)