일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Web Server
- javascript
- ReactJS
- IntelliJ
- Gradle
- elasticsearch
- php
- Spring Batch
- 요리
- springboot
- Spring
- 맛집
- redis
- it
- MySQL
- Spring Boot
- Git
- jsp
- laravel
- Oracle
- ubuntu
- db
- JVM
- linux
- devops
- java
- tool
- AWS
- Design Patterns
- jenkins
- Today
- Total
목록java (242)
아무거나
NodeJS vs Vert.x 해당 문서는 NodeJS와 Vert.x에 대한 대략적인 특징 및 성능 비교에 대해 간단명료하게 작성하였다. 해당 내용에 대해 더 자세한 정보를 보고 싶다면 아래 링크에서 확인하자. NodeJS Vert.x NodeJS NodeJS는 Google의 Chrome V8 Javascript 엔진 기반인 고성능의 비동기 IO를 지원하는 네트워크 서버이다. Event - Driven 방식 Async / Non Blocking IO 기반 Single Thread Model (이미지 출처) 동작과정 먼저 V8 엔진 기반으로 동작하며 그 기반으로 Single Thread 기반의 Event Loop (libev) 가 돌면서 요청을 처리하고 시스템 적으로 Non-blocking io를 지원하지..
[super 키워드] super는 부모를 찾는 키워드 (this는 내 안에있는걸 찾겠다 super는 내 위쪽에 있는걸 찾겠다 둘은 반대개념(this super)) - 자식클래스에서 부모클래스를 override하면 부모클래스의 메소드는 사용할 수 없습니다. 사용하기 위해서는 super키워드를 사용하자. ex1) [ParentClass.java] public class ParentClass { public ParentClass() { } public void method1() { System.out.println("ParentClass의 method1() 입니다."); } } [ChildClass.java] public class ChildClass extends ParentClass { @Override ..
[오버라이드] 부모 클래스의 메소드를 자식 클래스에서 재정의함 - 자식 클래스가 부모 클래스를 상속하여 자식한테 없는 메소드를 호출하면 부모클래스에 가서 해당 메소드를 찾게 된다. - 만약 부모 클래스의 메소드를 자식클래스에서 동일한 이름으로 다시 재정의 하면 부모클래스의 메소드를 찾지 않고 자식 클래스의 메소드를 호출한다. - 부모클래스와 자식클래스의 타입을 따를 수 없지만, 자식클래스와 자식클래스에 나온 객체가 부모클래스의 타입을 따를 수 있다.
[static] 필요에 의해 클래스를 만들고, 사용할 때는 생성자를 통해 객체로 만들어서 사용합니다. 하지만 예를 들어 집안에 엄마 아빠와 세 쌍둥이가 있는데 아빠 지갑에 100원짜리 2개가 있다고 알고 있는 경우 세 쌍둥이가 100원씩 객체를 만들어 받았다고하면 총 -300원이다 그러면 버그이지만 해결하기 위해선 아빠지갑이 모든 아이들에게 공유 되어야한다. 그러기 위해선 static 키워드를 사용하면 된다. 즉, static = 공유 라고 생각하면 된다. 1. 선언 방법 - public static int MONEY = 200; PapaPouch.MONEY = ... ; 2. 객체를 생성하지 않고 바로 접근이 가능하다. - 클래스명.static명 3. static은 클래스 변수이다. 즉, 객체를 생성하..
[접근 제어자] public : 접근제한 없음 private : 자신의 클래스에서만 사용 가능 protected : 해당 클래스와 동일한 패키지에 있거나 상속받은 클래스일 경우에만 사용 가능 default : 해당 클래스와 동일한 패키지에서만 사용 가능
[패키지의 일반적인 설계방식] 주로 패키지 이름은 유니크한 도메인 주소를 역방향으로 하여 만듭니다. ex) 회사 도메인이 www.javalec.com 이라면 'com.javalec.'라고 하고 뒤에 기능별 또는 개발팀에서 정한 규칙에 의해 패키지명을 만듭니다.
[SpringBoot & Handlebars로 화면 생성] Handlebars는 흔히 사용하는 Freemarker, Velocity와 같은 서버 템플릿 엔진이다. -> 현재 Freemarker, Velocity는 몇년동안 업데이트가 되지 않아서 사실상 springboot에서 권장하지 않는다. Freemarker는 프리뷰버전은 계속나오고 있지만 릴리즈가 2015년이다. 현재까지 꾸준하게 업데이트 되고있는 Handlebars나 Thymeleaf이다. spring에선 Thymeleaf를 밀고 있음. [Handlebars 특징] (1) 문법이 다른 템플릿엔진보다 간단하고 (2) 로직 코드를 사용할 수 없어 View의 역할과 서버의 역할을 명확하게 제한할 수 있으며 (3) Handlebars.js와 Handleb..
private int age; public bong(int age) { this.age = age; // 여기의 this는 위에 private int age를 가리킨다.(해당하는 인스턴스내에서만 공유됨) }
프로젝트 개발 환경은 다음과 같습니다. IDE : IntelliJ IDEA Ultimate Git Tools : Source Tree OS : Mac OS X SpringBoot 1.5.9 Java8 Gradle 가. springboot + gradle 프로젝트 생성 1. new project -> Spring Initializr -> project SDK에서 자바경로를 선택한 후 Next를 선택 2. Group: com.bk, Artifact: webservice 입력, Gradle Project로 선택 후 Next 선택 - 빌드툴은 아무거나 써도 무방하지만 Gradle이 4.x대로 업하면서 빌드속도가 대폭 개선되었다고 한다. 또한 다양한 Task를 쉽게 생성가능해서 많은 프로젝트에서 도입하려고 한다...
[java로 queue 구현] 큐는 FIFO - First in First out(선입선출) 구조이다. 큐는 기본적으로 Enqueue, Dequeue, isEmpty를 갖고 있다. - Enqueue : 데이터의 삽입 - Dequeue : 데이터를 삭제 [예제소스] package test; import java.util.ArrayList; import java.util.List; public class MyQueue { private List queue = new ArrayList(); public void enqueue(Integer n) { queue.add(n); } // add function을 사용해 데이터를 순차적으로 넣는다. public Integer dequeue() { // queue에 만..