일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ReactJS
- devops
- MySQL
- db
- it
- Spring
- redis
- php
- Oracle
- java
- 요리
- Design Patterns
- tool
- jsp
- Git
- jenkins
- linux
- Gradle
- Web Server
- laravel
- 맛집
- javascript
- ubuntu
- springboot
- IntelliJ
- JVM
- Spring Batch
- AWS
- elasticsearch
- Spring Boot
- Today
- Total
목록Java & Kotlin (250)
아무거나
[패키지의 일반적인 설계방식] 주로 패키지 이름은 유니크한 도메인 주소를 역방향으로 하여 만듭니다. 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에 만..
[자바로 스택(stack) 구현] * 스택은 먼저 들어간것이 먼저 나온다. - 스택오버플로우란 스택이 꽉찼을때 아이템을 push하려고 하는 행위(더 이상 데이터가 들어갈 자리가 없을때) - 스택언더플로우란 스택안에 데이터가 하나도없을때 pop을 하려고하는 경우라한다. 1. 스택 오버플로우 / 언더플로우 예제 [예제] package test; public class NumStack { private int[] arr; // stack private int top = 0; // index(arr index) public NumStack(int stackSize) { this.arr = new int[stackSize]; } public static void main(String[] args) { // cas..
java hashmap 사용시 value에 어떠한 자료형이와도 상관없이 출력할 때 - Map map = new HashMap(); // Object타입을 이용하자(오버라이딩이 아닌 이상 object 타입을 사용하려면 강제 형변환 해줘야한다.) java mybatis에서 hashmap형태의 값을 반환받고 싶을 때 ex) ... SELECT book_name bookName FROM book WHERE book_num = #{value}
split 메서드 사용시 실수(. 관련) // 작동 안되는 예제 tring 문자열 = "가.나.다.가나다"; String[] 나눈배열 = 문자열.split("."); // 작동 되는 예제 String 문자열 = "가.나.다.가나다"; String[] 나눈배열 = 문자열.split("\\.");
객체지향 프로그래밍(Object-Oriented Programming) - 프로그래밍을 구성하고 있는 로직을 상태와 행위로 이루어진 객체로 만드는 것이다. ex) 레고블럭처럼 조립해서 하나의 프로그램을 만드는 것 기능적으로 로직들을 구분해서 사용 [객체 ex] 본문 댓글 변수 변수 메소드 메소드 -> 다른곳에서 일종의 부폼으로써 활용된다. 1. 부품화 - 메소드는 부품화의 예라고 할 수 있으며 이 메소드들을 부품으로 해서 하나의 독립된 프로그램을 만드는 것이다. 메소드를 사용하면 코드의 양을 줄이고, 메소드 별로 기능이 분류되어 있어서 문제 진단속도도 향상된다. 그러나 프로그램이 엄청나게 커지면 그에 따라 메소드의 양도 비례하여 생겨나게 되므로 메소드와 변수를 관리하는 것은 점점 어려워진다. 이것들을 연..
웹개발 할때 필요한 수많은 프로그래밍 언어중에 자바를 공부하는 이유 하나만 말하자면, 자바는 객체를 지향하는 언어라 사용하기 쉽고 편리하기 때문인데요. 객체 지향이 무엇인지 알아보자면 그 반대인 절차지향 언어와 비교해서 한번 알아보면 이해하기 쉽습니다. 대표적으로 C언어가 절차지향 언어로 프로그램의 데이터를 처리하는 방법인 알고리즘을 중요시하며 순차적으로 실행하는 구조를 가집니다. 헷갈리기 쉬운점은 절차지향을 사용할때 외부적으로 객체지향과 같은 처리를 하는걸로 보일 수 있으나, 여기서 말하는 순차적 실행은 프로그래밍 내부적으로 함수 호출을 할때 순서대로 처리하는걸로 이해하시면 되겠습니다. 1. 절차지향 언어 - 장점 # 완성된 코드의 실행처리 속도가 빠르다. # 초기 프로그래밍 언어로 컴퓨터의 처리구조와..