본문 바로가기

전체 글

(74)
스프링과 싱글톤(Singleton) 싱글톤? 싱글톤에 대해 이해하기 위해서는 먼저 객체의 동일성과 동등성에 대해 알고 있어야 한다. ▼ 이 글을 참고하면 좋다. tang-co.tistory.com/160 싱글톤이란 클래스의 인스턴스를 딱 한 개만 만드는 거다. 객체가 여러 개 있으면 메모리를 많이 잡아먹으니까. 안에 든 값이 똑같은 건 객체 한 개로 공유한단 뜻이다. 스프링은 모든 빈 들을 싱글톤으로 관리한다. 그 이유는 스프링이 사용되는 곳이 대부분 엔터프라이즈급의 서버 환경이기 때문이다. 이용하는 사람도 많고, 요청 횟수도 엄청 많기 때문이다. 사용자가 10번 요청하면 10개의 객체를, 100번 요청하면 100개의 객체를 만들어줘야 한다. 그래서 스프링은 각각의 빈들을 싱글톤으로 관리하고 여러 스레드에서 이를 공유해서 사용할 수 있도록..
동일성과 동등성(==, equals()) 동일성과 동등성 Java를 쓰다보면 equals()를 써야하는데 ==를 써서 에러가 나는 경우가 많다. ( ... ㅜㅜ ) 두 변수의 값을 비교하기 위해서 == 연산자를 사용하고 있는데 이 연산자를 이용한 비교는 primitive 타입의 자료형에만 해당한다. primitive 타입 자료형은 char, byte, short, int, long, float, double, boolean과 같은 기본형 타입을 말한다. Java에는 primitive말고 reference 타입이란 게 있는데 우리가 흔히 사용하는 new 연산자로 생성할 수 있는 객체입니다. 얘네는 주소 값을 가지고 있다. new 연산자란 클래스의 객체를 생성하고 -> 메모리를 올리고 -> 참조변수(주소 값)를 반환해주는 연산자다. 여기서 동일성과..
Gradle(그레이들) 설치하기 1. Gradle(그레이들) 설치 그레이들 홈페이지에 접속해서 그레이들을 다운로드 받아주도록 한다. Gradle Build Tool Accelerate developer productivity. Gradle helps teams build, automate and deliver better software, faster. gradle.org Download의 complete를 클릭해서 다운받아주도록 한다 2021년 1월 기준 최신버전은 v6.8이다 * Gradle을 사용하기 위해선 Java version 8 이상이어야 한다고 함 내 PC - C드라이브 처럼 찾기 쉬운 곳에 압축을 풀어주도록 한다. (저는 C:\Program Files\gradle-6.8로 했습니다) 압축을 제대로 풀었다면 [메이븐설치폴더..
컴파일(Compile)과 빌드(Build) 이제는 좀 익숙하게 언어를 다룰 수 있지만.. 그래도 역시 개념이 약하다는 생각이 든다. 오늘은 컴파일과 빌드의 개념에 대해 간단히 정리해보려고 한다. 컴파일(Compile) 컴파일이란 개발자가 작성한 소스코드를 바이너리(Binary) 코드로 변환하는 과정을 말한다. 그러니까 개발자가 작성한 코드를 컴퓨터가 이해할 수 있도록 '기계어'로 변환하는 작업이다. 우리는 컴파일 작업을 도와주는 프로그램을 컴파일러(Compiler)라 부른다. 자바의 경우, 자바 가상 머신에서 실행 할 수 있는 클래스파일을 생성한다. 빌드(Build) 소스코드 파일을 실행할 수 있는 산출물로 만드는 일련의 과정을 말한다. 빌드의 단계 안에 컴파일이 포함되어 있다. 빌드 과정을 쉽게 할 수 있도록 해주는 도구를 빌드 툴이라고 한다...
메이븐(Maven)과 그레이들(gradle) 빌드 관리 도구? - 프로젝트에서 쓰는 xml이나 jar 파일들이나 java 코드를 JVM나 WAS가 인식할 수 있게 패키징 해주는 빌드 과정을 관리주는 도구이다. - 라이브러리 왕창 써야하는데 빌드 관리 도구가 없다? 일일이 jar파일 다운받아서 설정해줘야한다... 그거 일일이 안하고 그냥 작성하면 자동으로 다운받아서 연결시켜주는 기능이 있다. - 프로젝트 생성, 빌드 설정, 배포 등의 작업을 위한 전용 프로그램이다. ( 빌드 : 소스코드 파일을 실행가능한 소프트웨어 산출물로 만드는 일련의 과정 ) 이 빌드 관리 도구의 대표적인 애들이 바로 Maven과 Gradle이다. 메이븐(Maven) Maven은 빌드 관리 도구로 가장 많이 사용되고 있다. 메이븐(Maven)은 내가 사용하려고 등록한 라이브러리 ..
Vue 라우터 및 BootstrapVue 설치 방법 이번에는 Vue.js를 사용할 수 있도록 베이스를 구성해보려고 한다. 1) Vue 라우터 설치 뷰에서 라우팅 기능을 쓸 수 있도록 지원해주는 공식 라이브러리가 있음 라우팅(Routing)은 쉽게 말하면 웹페이지 간 이동하는 방법에 대한 건데 @@자세한 건 다음에 공부해서 포스팅하기로..@@ 그렇다면 왜 라우터를 설치해서 쓰느냐? 바로 SPA(Single Page Application)을 잘 사용하기 위해서이다. SPA의 장점은 앞선 포스팅에서도 밝혔듯이 => 페이지 변환도 빠르고, 트래픽 양도 줄어드니 개이득 Visual Studio Code TERMINAL에서 npm install vue-router --save으로 설치 2 ) BootstrapVue * BootstrapVue 설치 bootstrap-..
Vue.js 시작하기 ( CLI 설치 ) Vue.js란? 쉽게 말해 사용자에게 보여지는 페이지 뷰 만들어주는 프레임워크다 특징을 꼽자면 1 ) 컴포넌트(Component) 기반 로고, 메뉴, 버튼 등 웹 페이지 내에서 여러 번 사용되는 것을 다시 안 만들고 쓸 수 있도록 구조화 한 것 2 ) SPA(Single Page Application)를 구축 - 하나의 페이지 안에서 필요한 영역 부분만 로딩되는 형태.. 쉽게 말해 그냥 페이지 이동시에 똑같이 생긴 건 새로 가져오기 안 한단 말 => 그럼 페이지 변환도 빠르고, 트래픽 양도 줄어드니 개이득 CLI 설치 Vue.js를 사용하기 위해 CLI를 설치하도록 한다 인터페이스(CLI)는 Command-Line Interface 또는 Character User Interface이다. Visual St..
Spring WebSocekt으로 채팅 기능 구현 HTTP 통신에서 웹 브라우저는 사용자가 무언가를 요청(Request) 하면 서버는 데이터를 뿌려주는(Response) 방식으로 작동한다. 하지만 메신저의 경우는 사용자가 브라우저에 접속한 상태... 그렇다고 언제 대화를 주고 받을지 모르는 상태이다. 이 때 사용할 수 있는 게 WebSocket이다. WebSocket - HTTP 환경에서 전이중 통신(full, duplex, 2-way communication)을 지원하기 위한 프로토콜 1) spring-websocket 라이브러리 추가 우선 라이브러리를 가져와야겠지? pom.xml에 다음 과 같이 spring-websocket 라이브러리를 추가한다. org.springframework spring-websocket ${org.springframewor..

반응형