일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Oracle
- ubuntu
- Design Patterns
- MySQL
- 맛집
- IntelliJ
- Spring
- jsp
- Spring Batch
- linux
- redis
- php
- Spring Boot
- Gradle
- springboot
- it
- Git
- java
- jenkins
- elasticsearch
- AWS
- db
- devops
- tool
- 요리
- laravel
- javascript
- ReactJS
- JVM
- Web Server
- Today
- Total
아무거나
@OneToOne이나 @OneToMany .. 등의 외래키 관계의 데이터를 삭제할 경우에 Foreign key가 지정되어있는 경우 Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot delete or update a parent row: a foreign key constraint fails ...... FOREIGN KEY .... 라는 에러를 출력한다. 해결방법은 만약 entity의 annotation이 @OneToMany이라고 하면 해당 annotation에 cascade 설정을 추가한다.@OneToMany(fetch = FetchType.LAZY, cascade = CascadeTy..
웹 개발을 하다 보면 정적 리소스에 대해 변경이 될 때마다 계속하여 서버 restart 하는 경우가 비일비재하다.왜냐하면 spring은 spring boot와 다르게 webapp 폴더에 정적 리소스가(html/css/js) 있어서 해당 경로로 tomcat이 동작하기 때문에 실시간 반영이 되지만 spring boot는 resources 폴더 아래에 정적 리소스를 관리하다 보니 갱신을 하기 위해서는 tomcat을 restart해줘야 한다. 즉, javascript와 같은 언어를 중심으로 개발을 할 때 새로고침만 하면 바로 갱신이 되게끔 해주고 싶으면 spring boot의 정적 리소스의 path를 예전처럼 webapp으로 지정하는 방법도 있지만 해당 방법은 패키징하거나 아니면 다른 것들의 path를 일일히 ..
1. 텍스트 박스에 시간을 HH:MM 형태로 입력하는것을 자동으로 형식을 맞춰주고 잘못된 입력에 대한 예외처리를 하기 위함.2. HTML5의 은 미 사용
태그에 이미지를 첨부할 때 첨부한 이미지를 미리보고 싶을경우에는 서버에서 작업할 필요없이 클라이언트측에 바로 이미지를 표시하는 스크립트를 알아보자. (크롬기준) 1. 코드 2. 확인* 위와 같이 이미지가 미리보기료 표시된다. * 위의 내용은 크롬기준이며 그 외 브라우저 기준중 대표적인 Microsoft 전용 스크립트는 아래와 같다. ( 출처 : https://stackoverflow.com/questions/1887519/how-to-preview-an-image-before-upload-in-various-browsers ) function preview(what) { if(jQuery.browser.msie) { document.getElementById("preview-photo").src=what..
.gitignore란 project에 원하지 않는 back up file, log file, compile된 파일 등을 git에서 제외시킬 수 있는 설정 파일이다. git을 사용하다보면 중요한 정보들이나 원하지 않는 파일들이 같이 commit되는 경우가 있다. 그럴땐 .gitignore 파일을 생성하여 사용하면 된다.그러나 매번 .gitignore의 내용을 입력하기에는 귀찮기 마련이다. 그럴땐 자동으로 .gitignore를 생성해주는 사이트에서 만들어보자. ( https://www.gitignore.io/ ) 1. https://www.gitignore.io/ 사이트에 접속한다. 2. Search box에 제외시킬 내용을 입력하자. 예를 들어 gradle이란 단어를 입력해보자. 3. 입력 후 create..
Selection Sort [선택정렬] Worst case performance : O(n^2) Best case performance : O(n^2) Average case performance : O(n^2) Worst case space complexity : O(n) total, O(1) auxiliary 선택정렬은 퍼포먼스가 n squared 로 좋지 않다. 하지만 구현이 쉬워서 많은 사람들이 사용하고 있다. [ 예제 ] 아래 그림의 4 6 1 3 5 2 리스트를 1 2 3 4 5 6 으로 차례가 맞게 정렬하자. 선택정렬의 예시를 알아보자. 선택정렬은 하나의 공간이 필요하다 그것을 Minimum value라는 공간이라고 한다. 그러면 처음 아이템부터 끝까지 비교하면서 해당 리스트를 정렬해보자. ..
3계층 구조(3 Tire Architecture)란 프레젠테이션 로직(클라이언트, 사용자 인터페이스), 비즈니스 로직, 데이터베이스를 각각 다른 플랫폼 상에서 구현한 것이다. 우리가 보편적으로 개발하는 웹프로그램은 최소 3tier이상, 4tier로도 개발을 할 수 있다. 보통 프레젠테이션 로직은 UI를 구성하는 document 페이지(ex-html)정도로 생각할 수 있고, 비즈니스로직은 웹서버 즉 iis, apache... 등에서 돌아가는 서비스로 보면되며 마지막은 데이터베이스가 된다. 그래서 보통 웹은 3tier로 가져간다. 특별한 경우에는 데이터 트랜잭션 등의 용도로 미들웨어를 웹 서버와 데이터베이스서버 사이에 두는 경우도 있다. 이런 구조는 데이터 작업의 부분적인 프로세스를 미들웨어로 분산시키는 4..
Bubble Sort [거품정렬] performance : O(n^2) space complexity : O(1) * 시간복잡도가 O(n^2) 이므로 느리지만 코드가 단순하기 때문에 자주 사용된다고 한다. 거품정렬은 원소의 이동하는 모습이 거품이 수명으로 올라오는듯한 모습과 비슷하므로 지어진 이름이다. 해당 정렬의 목표는 인접한 두개의 자료를 비교해서 차순에 맞게 교환하는 작업을 정렬이 완료 될 때까지 해준다. 자료수에 한 개를 뺄 만큼 Looping을 하면서 서로 인접한 아이템을 swapping해주는 방법으로 해당 리스트를 정렬할 것이다. 즉, 아래와 같이총 4개의 아이템이 있으므로 우리는 총 3번(=n-1) Looping을 할 것이다. ( 예제 리스트: 6 5 3 1 ) [Loop Count : 1,..
Big-O Notation(빅오표기법) 알고리즘의 성능을 수학적으로 표현해주는 표기법, 이걸로 알고리즘은 시간과 공간복잡도를 표현할 수 있다. 그리고 알고리즘의 실제 러닝타임을 표시하는것이아니라 데이터나 사용자의 증가율에 따른 알고리즘의 성능을 예측하는것이 목표이기때문에 상수와 같은 숫자들은 모두 1이 된다. * 성능 순서(오른쪽으로 갈수록 성능이 안좋음) - O(1) < O(log n) < O(n) < O(nlog n) < O(n^2) < O(n^3) < O(2^n) 1. O(1) : 입력 데이터의 크기와 상관없이 언제나 일정한 시간이 걸리는 알고리즘을 말한다. (Constant Time) [중요] - 입력되는 데이터양과 상관없이 일정한 실행 시간을 가진다. - 알고리즘이 문제를 해결하는데 오직 한 단..
[Hypothesis and Cost]* 가설의 값과 실제 값의 차이를 제곱한 다음에 이것들을 총 더하고 이것을 m으로 나누면 된다. 즉, W와 b의 값을 우리가 가지고 있는 데이터를 통해서 구해보자는 것이 Linear Regression의 목표이다. [ Simplified hypothesis : 쉬운 설명을 위해서 간단하게 hypothesis를 만들었다. ] 이제 cost를 minimize 하려고 하는데 그렇게 하기 위해서는 cost라는 함수를 한번 확인해보자.하기 이미지에 표와 같은 데이터를 갖고 있다고 하자. 그리고 W에 값이 주어지면 cost(W)를 구해보자. W=2일 때도 값을 구하면 4.6667로 나온다. 즉, 계속 값을 구하다 보면 cost(W, b)는 W가 1로 갈수록 0으로 수렴, 양쪽으..