전체 글

전체 글

    [Spring Boot] controller 404

    [Spring Boot] controller 404

    컨드롤러에서 404 오류가 발생하는 경우 Spring Boot를 시작해주는 main메서드와 Controller가 같은 경로에 있어야 한다. (설정으로 변경할 수 있음) 기본으로 생성된 main메서드가 있는 AminApplication.java 파일과 같은 경로에 위치해 주면 정상적으로 출력된다.

    리눅스 ln 명령어

    파일 링크 리눅스에는 파일 링크라는 개념이 있다. A에 저장되어 있는 실행파일을 B에서도 실행시킬 수 있게 하는 것이다. ln은 link의 약어로서 리눅스 파일시스템에서 링크파일을 만드는 명령어이다. 리눅스에서는 심볼릭링크와 하드링크의 두가지 파일이 존재한다 심볼릭 링크 (Symbolic Link) 단순히 원본파일을 가리키도록 링크만 시켜둔 것으로 '바로가기' 와 유사한 개념이다. ln -s /tmp /var/tmp 하드링크 (Hard Link) 원본파일과 다른이름으로 존재하는 동일한 파일이며, 원본파일과 동일한 내용의 다른 파일이라고 할 수 있다. 원본파일과 링크파일 두개가 서로 다른파일이기 때문에 둘 중 하나를 삭제하더라고 나머지 하나는 그대로 존재한다. 원본파일이 변경된 경우 링크파일의 내용도 자동..

    Redis (Remote Dictionary Server)

    Redis (Remote Dictionary Server)

    레디스는 "키-값" 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈소스 기반의 비관계형 DBMS이다. 특징 데이터 저장소로 디스크가 아닌 메모리를 사용한다. 메모리 접근이 디스크 접근보다 빠르기 때문에 기존 관계형 데이터베이스(Oracle, MySQL) 보다 훨씬 빠르다. 데이터의 안전한 보관과 백업을 위해 다른 서버의 메모리에 실시간으로 복사본을 남길 수 있고, 디스크에 저장하는 방법을 제공한다. Redis는 1밀리초 미만의 응답 시간을 제공 하여 실시간 애플리케이션을 위해 초당 수백만 건의 요청을 지원할 수 있다. 빠른 성능 덕에 Redis는 캐싱, 세션 관리, 게임, 리더 보드, 실시간 분석, 지형 공간, 라이드 헤일링, 채팅/메시징, 미디어 스트리밍 및 게시/구독 앱에서 주로 사용된다. 기본적..

    Build Tool

    빌드 도구란 프로젝트 생성, 테스트 빌드, 배포 등의 작업을 위한 전용 프로그램이다. History 1. Make 빌드 개념을 확립 Unix 계열 OS에서 사용 2. Ant 1990년대 자바가 등장하면서 Make를 java적용시 생긴 문제를 보안하기 위해 탄생 Java + XML 도입 하여 Make의 약점이었던 플랫폼 의존 문제를 해결 간단하고 사용하기 쉽지만, 복잡한 처리를 하려고 하면 스크립트가 장황해져 관리가 어렵다. 3. Maven 빌드 생명주기와 프로젝트 객체모델(POM) 개념을 도입 -> Ant의 문제점인 장황한 빌드스크립트 문제를 해결하였다. POM에 메타 데이터를 적용해서 라이브러리 의존관계를 자동으로 관리해주는 기능을 구현 maven이 빌드툴 세계에 혁명을 가져오긴 했지만, 이해해야할 암..

    Build, Compile, Link, Deploy

    로컬 PC에서 개발을 하고 테스트 까지 진행한 뒤에 문제가 없을 경우 수정된 코드를 실서버에 반영해야 한다. 서버에 반영하는 것을 배포 라고 하고 그 과정을 위한 준비 과정을 빌드라고 한다. Build 소스 코드 파일을 컴퓨터에 실행할 수 있는 독립적인 형태로 변환하는 과정과 그 결과를 말한다. 컴파일 된 코드를 실제 실행할 수 있는 상태로 만드는 일이다. 자바를 예로 들면 빌드시 컴파일, 테스팅, 패키징 등 작업이 일어난 후 target 폴더 안에 생성되는 (.jar .war) 것을 의미한다. - JAR (Java Archive) : 자바에서 사용되는 압축양식, 클래스 + 리소스파일로 구성 - WAR (Web Archive) : 웹 어플리케이션을 압축하고 배포하는데 사용되는 파일 형태. JAR에 비해 ..

    싱글톤 패턴 (Singleton Pattern)

    싱글톤 패턴 (Singleton Pattern)

    싱글톤 패턴은 어플리케이션이 시작될 때 어떤 클래스가 최초 한번만 메모리를 할당하고 (static) 그 메모리에 인스턴스를 만들어 사용하는 디자인 패턴이다. 레지스트리 같은 설정파일의 경우 객체가 여러개 생성되면 설정 값이 변경될 위험이 생겨 인스턴스가 한개만 생성되는 싱글턴 패턴을 이용한다. 싱글톤 패턴을 적용하는 경우 - 프로그램 내 에서 어떤 객체가 단 한개만 존재해야 하는 경우 - 프로그램 내부의 여러 부분에서 이 객체를 공유하며 사용하는 경우 싱글톤 패턴 기본 구현 방식 public class Singleton { private Singleton () {}; private static Singleton instance = null; public static Singleton getInstance..

    쿠키(cookie)와 세션(session) - 패킷으로 확인하기

    쿠키(cookie)와 세션(session) - 패킷으로 확인하기

    HTTP (Hypertext Transfer Protocol) HTTP는 인터넷 상에서 데이터를 주고 받기 위해 서버/클라이언트 모델을 따르는 통신규약을 말한다. 특징으로는 비연결성(Connectionless)과 비상태성(Stateless)이라는 특징을 가지고 있다. 이는 서버 자원을 절약하기 위해 모든 사용자의 요청마다 연결과 해제의 과정을 거치기 때문에 상태가 유지되지 않고, 연결 해제 후에 상태 정보가 저장되지 않는다는 것이다. 이러한 특성을 보완하여 서버가 클라이언트를 식별하게 해주는 것이 쿠키와 세션이다. Cookie 쿠키는 서버가 사용자의 웹 브라우저에 저장하는 데이터다. Key와 Value로 구성되며 String으로만 이루어져 있다. 쿠키의 사용목적 세션관리 개인화 : 사용자마다 적절한 정보..

    [javascript] 화살표 함수(Arrow Function)

    [javascript] 화살표 함수(Arrow Function)

    화살표 함수 표현은 전통적인 함수표현(function)의 간편한 대안이다. 사용할 수 없는 경우 this나 super에 대한 바인딩이 없고, methods로 사용될 수 없다. new.target 키워드가 없다. 일반적으로 스코프를 지정할 때 사용하는 call, apply, bind methods를 이용할 수 없다. 생성자로 사용할 수 없다. yield를 화살표 함수 내부에서 사용할 수 없다. https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Functions/Arrow_functions 에서 자세하게 확인 가능하다. 기본 사용 문법 //전통적인 함수표현 const func = function(arg1, arg2, ...argN) { retur..