일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- db
- it
- ubuntu
- laravel
- javascript
- IntelliJ
- AWS
- java
- 요리
- tool
- JVM
- Spring
- Spring Batch
- springboot
- Oracle
- redis
- linux
- elasticsearch
- ReactJS
- Spring Boot
- 맛집
- Git
- jsp
- MySQL
- Design Patterns
- php
- jenkins
- devops
- Gradle
- Today
- Total
목록IT (87)
아무거나
웹 개발을 하다 보면 정적 리소스에 대해 변경이 될 때마다 계속하여 서버 restart 하는 경우가 비일비재하다.왜냐하면 spring은 spring boot와 다르게 webapp 폴더에 정적 리소스가(html/css/js) 있어서 해당 경로로 tomcat이 동작하기 때문에 실시간 반영이 되지만 spring boot는 resources 폴더 아래에 정적 리소스를 관리하다 보니 갱신을 하기 위해서는 tomcat을 restart해줘야 한다. 즉, javascript와 같은 언어를 중심으로 개발을 할 때 새로고침만 하면 바로 갱신이 되게끔 해주고 싶으면 spring boot의 정적 리소스의 path를 예전처럼 webapp으로 지정하는 방법도 있지만 해당 방법은 패키징하거나 아니면 다른 것들의 path를 일일히 ..
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) [중요] - 입력되는 데이터양과 상관없이 일정한 실행 시간을 가진다. - 알고리즘이 문제를 해결하는데 오직 한 단..
티스토리 블로그를 네이버에 검색 노출을 하기 위해 네이버 웹마스터 도구에 등록하였다. 그렇지만 네이버 검색에 노출이 안 될 경우에 해결 방법에 대해 포스팅한다. [원인]- 네이버에 검색 노출이 되지 않는다.- 이전까지 잘 노출되었던 포스팅들이 갑자기 검색에 노출되지 않는다. [웹마스터 도구 > 요청 > 페이지 수집 선택 > 포스팅 주소 입력 후 확인 버튼 클릭] 검색 노출이 누락된 포스팅의 주소를 직접 입력하여 일간 최대 50회 제한으로 신청할 수 있다.해당 내용은 네이버 로봇의 실수로 포스팅이 누락될 경우에 수동으로 정상 노출을 위한 수집을 요청하는 내용이다.
티스토리에 포스팅을 하게 되면 다음에서는 유입이 되는데 타 사이트(네이버, 구글)에서는 유입이 되지 않는다.즉, 티스토리는 다음에서 자동으로 검색이 되게 되어있지만 구글, 네이버 등과 같은 사이트는 본인이 직접 등록을 해야 가능하다. 그래서 해당 포스팅은 네이버에 나의 포스팅을 노출시키는 방법에 대해 설명할 것이다. 1. 네이버 웹 마스터 도구 접속 (https://webmastertool.naver.com/) 하고 로그인인을 한 다음에 사이트 추가란에 내 블로그 주소를 입력하고 "추가" 버튼을 클릭한다. 2. 위의 1번에서 사이트 추가를 클릭하면 "사이트 소유 확인" 페이지로 이동된다. 티스토리는 HTML 파일 업로드가 되지 않으므로 "HTML 태그" 라디오 버튼을 선택하고 녹색 글씨인 메타태그를 복사..
티스토리에 포스팅을 하게되면 다음에서는 유입이 되는데 타 사이트(네이버, 구글)에서는 유입이 되지 않는다.즉, 티스토리는 다음에서 자동으로 검색이 되게 되어있지만 구글, 네이버 등과 같은 사이트는 본인이 직접 등록을 해야 가능하다.그래서 해당 포스팅은 구글에 나의 포스팅을 노출시키는 방법에 대해 설명 할 것이다. 1. 구글 웹 마스터 도구 접속(https://www.google.com/webmasters/#?modal_active=none)하고 로그인을 한다. 2. 로그인하면 아래 그림과 같은 화면이 보인다. 여기서 빨간색 네모로 표시한 "속성 추가"를 클릭한다. 3. "속성 추가"를 클릭하고 나면 아래 이미지처럼 권장 방법과 대체 방법이 표시된다. 티스토리는 HTML 파일 업로드가 되지 않으므로 "대체..
기존 Putty보다 좋은 기능들을 제공해주는 확장된 Putty를 글에 첨부.세션정보를 저장할 수 있는 기능이 추가되었다. 실행화면은 아래와 같다.
해당 포스트를 진행하려면 Super Putty가 설치되어 있어야 한다. ( http://bkjeon1614.tistory.com/8 )기본적으로 AWS EC2는 .pem 형태인 인증키를 발급해준다. 해당 인증키로 SSH를 접속해보자. 1. puttygen을 사용하여 pem 파일 -> ppk 파일로 변환 * putty로 이용하여 ssh로 접속하기 위해서는 putty 전용인 ppk 파일이 필요하다. 그러므로 기존 pem 파일을 puttygen이라는 ppk로 변환해주는 툴을 이용해보자. (1) https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html 에 접속하여 puttygen 설치파일 다운 (2) puttygen을 실행하여 아래 그림의 표시한 숫자처럼 ..