분류 전체보기304 [프로그래머스] 충돌위험 찾기 문제 주소https://school.programmers.co.kr/learn/courses/30/lessons/340211 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명문제 설명어떤 물류 센터는 로봇을 이용한 자동 운송 시스템을 운영합니다. 운송 시스템이 작동하는 규칙은 다음과 같습니다.물류 센터에는 (r, c)와 같이 2차원 좌표로 나타낼 수 있는 n개의 포인트가 존재합니다. 각 포인트는 1~n까지의 서로 다른 번호를 가집니다.로봇마다 정해진 운송 경로가 존재합니다. 운송 경로는 m개의 포인트로 구성되고 로봇은 첫 포인트에서 시작해 할당된 포인트를 순서대로 방문합니다.운송 시스템에 사용되.. 2025. 3. 13. [Open Search] OpenSearch text/keyword 매핑 차이로 인한 검색 오류 해결기 스터디 일정이 있어서 일찍 퇴근한 나는 내가 개발한 로그 페이지에 결과가 출력되지 않는다는 과장님의 카톡을 받게 된다.다음날 아침 일찍부터 출근해서 문제를 파악해 보았다. 우리팀은 tts, stt, 대화엔진 등 여러 시스템을 거칠때마다 로그를 남긴다.각 서비스간 연동 로그를 OpenSearch에서 조회해서 유의미한 정보로 가공한 후 스프링으로 백엔드 api를 구현하고 리액트로 프론트단까지 구현하는게 내 업무였다. 분명히 정말 동일한 코드로 생성된 동일한 쿼리가 날아가는데왜 TB 환경에서는 되고 STG 환경에서는 되지 않는지 고민을 시작했다. OpenSearch dashboard의 dev tools를 켜고 쿼리가 왜 안 되는지 조건을 하나씩 빼면서 실행해보았다 ```GET project_name_log_*.. 2025. 2. 18. @Slf4j = Facade 패턴 + Service Locator 패턴 나는 항상 로그를 찍을때 이렇게 Logger를 클래스 최상단에 생성한 후 이용해 왔는데Logger logger = Logger.getLogger(현재클래스.getName());팀원이 내가 로그를 찍는 방식을 보더니 @Slf4j를 추천해 주었다.그 후 직접 생성할 필요 없이 @Slf4j어노테이션만 달아주고 log.info , log.debug 등으로 바로 사용할 수 있어서 코드가 더 깔끔해지고 간편해졌다.사용하다가 문득 저 해괴한 알파벳의 조합이 무슨 의미일까 궁금해서 찾아보았다Slf4j : Simple Logging Facade for JavaFacade 패턴이란 ?복잡한 서브시스템들의 통합 인터페이스를 제공하는 구조적 디자인 패턴건물의 정면(facade)처럼, 내부의 복잡한 구조를 감추고 깔끔한 외관을.. 2025. 1. 25. 2024년 회고 2024년은 시야가 넓어지고 크게 성장하는 시간이었던 것 같다올해의 나는 운이 좋아서 성장할 수 있는 이벤트들이 많이 일어났고좋은 사람들을 정말 많이 만나게 되었고 철도 조금 들었고 인생의 방향성도 정하게 되었다개발자로써의 성장만 적고 싶었는데 그냥 두서없고 정말 긴 일기가 되고 말았다 일단 나에게 있었던 가장 큰 이벤트는 취업 준비를 하고 태어나서 처음으로 면접을 보러 다니고 실제로 취업을 한 것이다학부 졸업 이후 회피하며 손놓고있던 개발자 취업을 2월에 다시 시작했다계속 풀지 않고 있던 코테도 2월에 풀기 시작하고3월에 은행권 si 코테를 붙고 4월에 지금 회사 코테를 붙었다반년동안 외국계 기업, 스타트업, 대기업 si, 중소 si의 채용 프로세스를 모두 경험해 보면서 각 회사들의 특징과 장단점을 .. 2025. 1. 19. Canada Uber 2024 Graduate 코테 후기 생각보다 쉬웠고.. 다 풀어서 면접이라도 불러줄 줄 알았더니 다 풀고 난 다음에 탈락 메일이 왔다서류를 코테 후에 보나...나중엔 꼭 가보고 싶다 2024. 12. 19. 웹소켓 Subscribe시에 Interceptor에서 채팅방 권한을 조회하도록 함 지난번에 이렇게 해서 웹소켓 연결을 했는데 Spring과 STOMP를 이용해서 웹소켓 연결하기Gradle에 필요한 설정 import // WebSocket implementation("org.springframework.boot:spring-boot-starter-websocket") implementation("com.fasterxml.jackson.core:jackson-databind") implementation("com.fasterxml.jackson.module:jackson-module-kotlin") implegreedydeveloper.tistory.com연결해두고 보니 아무나 특정 채팅방이나 서버를 Subscribe할 수 있는 구조라 보안 이슈가 있을 것 같았다 그래서 Intercep.. 2024. 11. 5. 네트워크 병목 현상 Network Bottleneck 네트워크 병목 현상 Network Bottleneck네트워크 병목현상이란?네트워크 병목 현상은 네트워크나 시스템의 특정 지점에서 대역폭, 처리량 등이 제한되어 전체 성능을 저하시키는 현상을 말한다주요 원인 primary causes네트워크 대역폭 부족 limited network bandwidth서버 처리 능력 저하 server processing capacity과도한 트래픽 excessive traffic토폴로지는 병목현상을 찾을 때 중요한 기준이 된다네트워크 구조(예: 스타, 버스, 링, 메쉬 등)에 따라 데이터 흐름 경로가 다르기 때문에, 특정 노드나 연결부가 병목 현상을 유발할 가능성이 있다 병목 현상의 사례 (Examples of Bottlenecks)서버 과부하 (Server Overload).. 2024. 11. 5. 네트워크 토폴로지 Network Topology 네트워크 토폴로지 Network Topology네트워크 구성 요소들이 연결된 방식각 노드(서버, 컴퓨터, 라우터)와 링크가 배치된 구조네트워크 성능, 비용, 확장성, 장애 대응에 영향을 미침버스 토폴로지 (Linear) Bus Topology하나의 메인 케이블(백본)에 모든 노드가 연결된 구조근거리 통신망(LAN)에서 사용한다Pros설치가 간단하고 저렴신뢰성이 우수노드 추가와 삭제가 쉽다Cons메인 케이블에 문제가 생기면 전체 네트워크에 영향을 미침메인 케이블의 양 끝단에 모두 Terminator가 필요하다전체 네트워크가 다운되었을때 원인 파악이 힘들다스푸핑이 가능하다🔎스푸핑 SpoofingLAN 상에서 송신부의 패킷을 송신과 관련없는 다른 호스트에 가지 않도록 하는 스위칭 기능을 마비시키거나 속여서 .. 2024. 11. 5. 네트워크란? 네트워크란?네트워크란 노드와 링크로 이루어진 연결 시스템리소스를 공유함노드 : 서버, 라우터, 스위치 등 네트워크 장치링크 : 무선 혹은 유선으로 연결된 통신 경로네트워크 성능 지표많은 처리량짧은 지연 시간적은 장애 빈도좋은 보안처리량(throughput)성공적으로 전송 및 처리된 데이터의 양단위 : bps (bits per second) ,초당 전송되는 비트 수트래픽, 대역폭, 에러 빈도, 하드웨어 스펙 → 처리량트래픽(Traffic)네트워크를 통해 전송되어야 하는 데이터의 양전송 중인 데이터의 볼륨을 나타낸다단위 : MB, GB, 초당 요청 수🔎헷갈리기 쉬운 개념 Traffic vs ThroughputTraffic is the amount of data that needs to be transmit.. 2024. 10. 28. 이전 1 2 3 4 ··· 34 다음