| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- db
- 요리
- Web Server
- it
- springboot
- Git
- Spring Boot
- Gradle
- linux
- Spring Batch
- 맛집
- IntelliJ
- php
- redis
- elasticsearch
- ubuntu
- MySQL
- Spring
- JVM
- docker
- AWS
- Design Patterns
- javascript
- devops
- java
- jsp
- tool
- jenkins
- laravel
- ReactJS
- Today
- Total
목록전체 (817)
아무거나
Strategy Pattern 개념 Strategy Pattern이란 알고리즘군을 정의하고 각각을 캡슐화하여 교환해서 사용할 수 있도록 만든다. Strategy를 활용하면 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경할 수 있다. 즉, 동적으로 알고리즘을 교체할 수 있는 구조를 말한다. 먼저 Duck이라는 슈퍼클래스와 각각의 오리별 클래스인 MallardDuck, RedheadDuck를 구현해보자. 위의 구조를 설명하자면 Duck 클래스에선 모든 오리들이 소리를 내고 헤엄을 칠 수 있어 quack(), swim() 메소드를 구현했고 오리들의 모양이 각각 다르기 때문에 display() 메소드는 추상 메소드이다. 그 외에도 다른 유형의 오리들이 Duck 클래스로부터 상속을 받는다. 여기서 만..
... (commit or discard the untracked or modified content in submodules) modified: ... (modified content, untracked content) ``` 위와 같이 에러메세지가 뜨면서 무시하고 push를 할 경우에는 repo에 제대로 저장되지 않는 현상이 일어난다. 그럴 경우 말 그대로 서브모듈로 뭔가 서브 디렉토리에 .git 저장소가 또 존재한다는 것이다. find -name ".git" 위의 명령을 통하여 하위 디렉토리에 .git 모듈이 존재하는지 확인하면 존재하는 목록이 표시된다. 그러면 하위 .git 폴더를 모두 삭제한다. 그러면 해결된다.
아래와 같이 vuejs + springboot + gradle 프로젝트가 존재할 경우 vuejs(=client) 의 파일들을 빌드할 때 gradle 스크립트를 통하여 gradle명령 하나로 한번에 빌드하는 기능을 만들었다. 아래는 프로젝트의 구조이다. spring-boot-vuejs ├─┬ server → backend module with Spring Boot code │ └── src │ ├── main │ └── resources │ └── application.yml ├─┬ client → frontend module with Vue.js code │ ├── src │ ├── config │ └── index.js → build path ( move: resources/templates/* ) └..
vuejs에서 페이지를 라우팅 할 때마다 url에 # 기호가 생기는데 상당히 거슬리다. 이럴경우 아래와 같이 설정하면 해결된다. export default new Router({ mode: 'history', // mode값 추가 routes: [ { path: '/', name: 'HelloWorld', component: HelloWorld } ] })
선택조건 낮은 Learning Curve 성능 안정적 큰 커뮤니티 또는 큰 단체에서 지원하며 문서화가 잘되어 있거나 레퍼런스 또한 많아야 한다. Vue 특징 낮은 Learning Curve 단순한 구성 요소 기존 자바스크립트 지식만으로 충분 컴포넌트 단위 관리 가능성 github 2017-06-30 현재 ( vuejs는 역사가 짧음에도 엄청난 성장을 보여주고 있다. ) Model-View 양방향 바인딩 지원 두 데이터 혹은 정보의 소스를 모두 일치시키는 기법 Component-Based ( 단일 파일 Component -> 유지보수 용이하며 개발속도가 빠름 ) Virtual DOM 을 사용하여 빠른 렌더링 DOM의 복사본을 메모리 내에 저장하여 사용하며 변경 사항을 "가상의" 위치에서 처리하므로 "실제D..
Okta Okta는 응용 프로그램, 웹 사이트 웹 서비스 및 장치에 대한 엑세스를 관리할 수 있는 AWS(=Amazon Web Services) 기반 솔루션이다. 제품목록 Single Sign-On Adaptive Multi-factor Authentication Lifecycle Management Universal Directory API Access Management Advanced Server Access 가격 Okta + Nginx (https://www.okta.com/partners/nginx/) Okta + Nginx는 애플리케이션 및 API에 대한 안전하고 관리가 용이 한 세분화 된 액세스 제공한다. Solution Okta는 NGINX와 통합되어 앱의 위치와 상관없이 앱과 API를..
[springboot] elasticsearch 5.x 사용(transportClient) elasticsearch는 자바로 개발되었다. 그래서 9300 포트는 자바 네이티브로 API개발이 가능하다. 자바 관점에서 API 분류 - 자바 네이티브 API - TransportClient, NodeClient - HTTP Rest API - restTemplate/Apache HttpClient와 같은 툴로 직접 연결, Jest **** 해당 내용은 NodeClient와 TransportClient로 개발이 쉽게 가능하다는 장점이 있다. 그러나 공식적으로 쓰지 않기를 권고 하고 있다. 기능이 추가되어 버전이 올라갈 때 모델이 바뀌고 있다는 점을 현재 강조하고 있으며, 9200포트를 이용하여 REST API로 ..
[JPQL 사용] Query annotation : Repository의 조회 메소드에 직접 실행될 쿼리를 작성 1. Controller.java List productLogs = productLogService.getProductLog(productLog, limit); 2. Service.java List getProductLog(ProductLog productLog, Integer limit); 3. ServiceImpl.java @Override public List getProductLog(ProductLog productLog, Integer limit) { return repository.sqlFindWmpVendorIdAndDataProviderProcessType(productLog.g..