Light Blue Pointer
본문 바로가기

분류 전체보기303

@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.
웹소켓이란? (feat.Spring,STOMP,SockJS) 웹소켓이란?웹소켓(WebSocket)은 클라이언트와 서버 간의 실시간 양방향 통신을 가능하게 하는 프로토콜기존의 HTTP 통신 방식은 클라이언트가 요청을 보내면 서버가 응답하는 요청-응답 모델을 따른다.반면, 웹소켓은 최초 연결 이후 클라이언트와 서버 간에 지속적인 연결을 유지하면서 상호 간에 데이터를 주고받을 수 있다.이는 실시간 기능이 필요한 애플리케이션(채팅, 실시간 알림, 게임) 등에 유용하게 사용된다.웹소켓의 특징양방향 통신클라이언트와 서버 모두 메시지를 보낼 수 있다.지속적인 연결HTTP와 달리 웹소켓은 연결이 한번 성립되면 끊기지 않고 계속 유지된다낮은 오버헤드HTTP처럼 매번 요청 헤더를 보내지 않고, 한 번 연결되면 지속적으로 데이터를 주고받을 수 있어 오버헤드가 적다.지연 감소(실시간 .. 2024. 10. 26.
[React] 페이지 로딩시에 단 한 번만 실행하기 (document.ready()같은 메서드) 원래는 습관적으로 이렇게 하고 있었는데 불필요하게 데이터를 매번 읽어와서 너무 비효율적이고 트래픽이 많아진 기분이 들어 더 찾아보았다useEffect(() => { handleGetConnection(useAuthStore.getState().currentCode); }, [rowData]);  빈 배열을 넣어주면 컴포넌트가 처음 마운트될 때 (페이지가 로드될때) 단 한 번만 실행되게 된다useEffect(() => { handleGetArsConnection(useAuthStore.getState().currentBotCode); }, []); 2024. 9. 27.