프로그램 코드 이야기

고정 헤더 영역

글 제목

메뉴 레이어

프로그램 코드 이야기

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기
    • 언어
      • Java
      • Spring Frame Work
      • Spring Boot
    • nginx
    • linux
    • tool download
    • 개발자를위한다양한이야기

검색 레이어

프로그램 코드 이야기

검색 영역

컨텐츠 검색

분류 전체보기

  • 웹소켓 통신 시 1::, h, a와 같은 문자열

    2025.01.08 by codeon

  • java:comp/env/ 규칙은 뭘까?

    2025.01.08 by codeon

  • OS 엔디안 확인 (Little Endian, Big Endian) and Bi-Endian

    2025.01.06 by codeon

  • 클래스 불변식(Class Invariant)

    2024.12.31 by codeon

  • MAVEN 설치 방법

    2024.12.18 by codeon

  • JAVA 어플리케이션에서 사용하는 라이선스 확인

    2024.12.18 by codeon

  • Spring Boot 다양한 설정

    2024.12.14 by codeon

  • 로드 밸런싱 (Load Balancing) vs 리버스 프록시 (Reverse Proxy) 차이

    2024.11.29 by codeon

웹소켓 통신 시 1::, h, a와 같은 문자열

웹소켓 통신 시 1::, h, a와 같은 문자열이 붙는 이유는 주로 SockJS라는 라이브러리를 사용할 때 나타나는 현상입니다. SockJS는 웹소켓을 지원하지 않는 브라우저에서도 웹소켓과 유사한 기능을 제공하기 위한 폴백(Fallback) 메커니즘을 제공합니다. 즉, 웹소켓을 사용할 수 없는 환경에서는 HTTP Long-Polling, HTTP Streaming 등의 방식을 사용하여 실시간 통신을 에뮬레이션합니다. 이때, SockJS는 이러한 폴백 방식들을 관리하고 데이터 전송을 효율적으로 처리하기 위해 특정 문자열들을 사용하여 메시지를 구분하거나 제어합니다.  SockJS의 메시지 포맷SockJS는 단순한 문자열 전송 외에도 다양한 제어 메시지를 사용합니다. 이러한 메시지들은 특정 접두사(Prefix..

개발자를위한다양한이야기 2025. 1. 8. 16:52

java:comp/env/ 규칙은 뭘까?

java:comp/env/ 컨텍스트는 Java EE 스펙에서 정의된 표준이므로, 모든 Java EE 호환 WAS는 이 컨텍스트를 지원해야 합니다. 따라서, java:comp/env/를 사용하는 것은 Java EE 표준을 준수하는 방법이며, 애플리케이션의 이식성과 상호 운용성을 보장합니다. java:comp/env/의 의미:java:: JNDI 네임스페이스의 루트를 나타냅니다.comp:: "component"의 약자로, 현재 실행 중인 컴포넌트(예: 웹 애플리케이션, EJB)의 네임스페이스를 나타냅니다.env:: "environment"의 약자로, 컴포넌트의 환경 항목(environment entries)을 저장하는 컨텍스트를 나타냅니다.즉, java:comp/env/는 "현재 컴포넌트의 환경 설정"을 의..

개발자를위한다양한이야기 2025. 1. 8. 15:00

OS 엔디안 확인 (Little Endian, Big Endian) and Bi-Endian

엔디안이란 컴퓨터의 메모리에 데이터를 저장할 때 바이트의 순서를 나타내는 방식을 말합니다. 크게 빅 엔디안(Big Endian)과 리틀 엔디안(Little Endian) 두 가지 방식이 있습니다. 엔디안이라는 용어 자체는 조너선 스위프트의 소설 "걸리버 여행기"에서 유래했습니다. 소설 속 릴리퍼트라는 나라에서는 삶은 달걀을 깰 때 뭉툭한 쪽(big-end)을 깨야 하는지, 뾰족한 쪽(little-end)을 깨야 하는지를 두고 큰 논쟁이 벌어집니다. 이처럼 사소한 차이로 인해 사람들이 갈등하는 모습을 빗대어, 컴퓨터의 바이트 저장 방식의 차이를 엔디안이라고 부르게 되었습니다. 요즘에는 Intel x86 계열의 CPU가 널리 사용되면서 리틀 엔디안이 사실상 표준처럼 자리 잡았습니다. 하지만, 네트워크 통신,..

linux 2025. 1. 6. 17:44

클래스 불변식(Class Invariant)

클래스 불변식(Class Invariant)은 객체의 상태가 항상 만족해야 하는 조건 또는 규칙을 의미합니다. 즉, 객체가 생성된 이후부터 소멸될 때까지 특정 속성이나 관계가 항상 참(true)이어야 한다는 것입니다. 이러한 불변식은 객체의 일관성과 안정성을 보장하는 데 중요한 역할을 합니다.  불변식의 의미:어떤 클래스가 있을 때, 그 클래스의 객체는 특정 조건을 만족해야 정상적인 상태로 간주될 수 있습니다. 이러한 조건을 불변식이라고 합니다. 예를 들어, Person 클래스가 있고, 나이를 나타내는 age 속성이 있다면, age는 0보다 크거나 같아야 한다는 것이 불변식이 될 수 있습니다. 만약 age가 음수 값을 가지게 된다면, 이는 객체의 상태가 비정상적인 것이므로 불변식이 깨진 것입니다.불변식의..

개발자를위한다양한이야기 2024. 12. 31. 15:37

MAVEN 설치 방법

MAVEN은 Apache Software Foundation에서 개발한 프로젝트 관리 및 빌드 자동화 도구입니다. 주로 자바 프로젝트에서 사용되지만, 다른 언어와 프레임워크에서도 활용될 수 있습니다. 프로젝트 구조 관리: MAVEN은 표준화된 디렉토리 구조를 제공하여 프로젝트의 일관성을 유지합니다.의존성 관리: MAVEN은 프로젝트에서 사용하는 라이브러리와 그 버전을 자동으로 관리해줍니다. 이를 통해 필요한 라이브러리를 쉽게 다운로드하고 업데이트할 수 있습니다.빌드 자동화: MAVEN은 프로젝트 빌드를 위한 다양한 플러그인을 제공하여, 코드 컴파일, 테스트 실행, 패키징, 배포 등의 작업을 자동화할 수 있습니다.프로젝트 정보 관리: pom.xml 파일을 통해 프로젝트의 메타데이터(버전, 의존성, 빌드 설..

언어/Java 2024. 12. 18. 16:35

JAVA 어플리케이션에서 사용하는 라이선스 확인

MojoHaus 프로젝트에서 제공하는 Apache Maven용 플러그인을 제공하는데 그 중에서 어플리케이션에서 사용하는 라이선스가 어떤 종류를 사용하고 있는지 확인 할 수 있는 플러그인이 존재합니다. [오픈소스 라이선스 종류 확인 명령어]mvn license:license-list [ 오픈소스 라이선스 종류 확인  실행 결과][INFO] Available licenses : * agpl_v3 : GNU Affero General Public License (AGPL) version 3.0 * apache_v2 : Apache License version 2.0 * bsd_2 : BSD 2-Clause License * bsd_3 : BSD 3-Clause License *..

언어/Java 2024. 12. 18. 16:17

Spring Boot 다양한 설정

어플리케이션에 프로퍼티 파일 PATH 설정스프링 부트 어플리케이션에 외부 프로퍼티 설정을 가능하도록 하는 실행 옵션java -jar ./code.jar --spring.config.location=file:C:/GAME/application.yaml Profile 설정 부분실행 옵션 : -Dspring.profiles.active=dev리눅스 export 환경설정 이용 : export spring_profiles_active = dev 위와 같이 설정을 하게 되면 프로퍼티 파일에서 application-dev.yaml 파일 또는 application-dev.properties를 선택해 어플리케이션이 기동된다.

언어/Spring Boot 2024. 12. 14. 17:04

로드 밸런싱 (Load Balancing) vs 리버스 프록시 (Reverse Proxy) 차이

로드 밸런싱과 리버스 프록시는 둘 다 네트워크 트래픽을 관리하는 기술이지만, 목적과 기능에서 차이가 있습니다. 아래에서 두 기술을 비교하여 설명합니다.1. 리버스 프록시(Reverse Proxy)정의: 리버스 프록시는 클라이언트의 요청을 받아 적절한 백엔드 서버에 전달하고, 서버의 응답을 다시 클라이언트로 전송하는 중개자 역할을 합니다.주요 기능:보안 강화: 클라이언트와 백엔드 서버 간의 직접적인 연결을 차단하여 보안을 향상합니다.캐싱: 자주 요청되는 데이터를 캐시하여 응답 속도를 높입니다.SSL 종료: SSL 암호화 및 복호화를 처리하여 서버의 부하를 줄입니다.단일 접근 지점 제공: 여러 서버를 단일 도메인으로 통합하여 클라이언트가 하나의 주소만 접근하도록 합니다.사용 사례:정적 콘텐츠 제공 속도를 높..

개발자를위한다양한이야기 2024. 11. 29. 11:20

추가 정보

반응형

인기글

최신글

페이징

이전
1 2 3
다음
TISTORY
프로그램 코드 이야기 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바