일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- java
- jsp
- tool
- devops
- Spring
- javascript
- docker
- Gradle
- 요리
- springboot
- php
- jenkins
- MySQL
- elasticsearch
- Spring Boot
- Oracle
- redis
- db
- Design Patterns
- ReactJS
- it
- 맛집
- IntelliJ
- ubuntu
- JPA
- linux
- Git
- AWS
- Web Server
- laravel
- Today
- Total
목록it (680)
아무거나
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으로 수렴, 양쪽으..
1. 아파치 서버 MPM( Apache Multi-Processing Modules ) - 아파치 서버가 클라이언트에게서 받아들인 요청을 처리하기 위하여 자식 프로세스들에게 분배하는 모듈 - prefork 방식과 worker 방식이 있다 2. prefork - 하나의 자식 프로세스가 하나의 스레드를 갖는 구조로, 자식 프로세스는 최대 1024개까지 가능하다. - 스레드 간 메모리 공유 안 함(독립적이라 안정적인 대신에 메모리를 많이 사용) - 실행 중인 프로세스 복제하여 실행(메모리 영역까지 같이 복제) - 응답 프로세스를 미리 띄워놓고 클라이언트 요청 시 자식 프로세스가 반응하게 되는 방식 - 디버깅이 빈약한 플랫폼에서 쉬운 디버깅 가능 - 안전하지 않는 제3자가 만든 모듈 사용 가능 - 일반적으로 s..
Linear Regression란 Linear는 직선, Regression은 회귀 즉, 단어의 뜻을 그대로 이해하면 이름 그대로 이해하면 된다. 예를 들어 기계가 학습을 하기 위해선 하기와 같은 데이터가 필요하다. x(hours) y (score) 10 90 9 80 3 50 2 30 여기서 우리가 최종적으로 원하는 목표는 score이다 이와 같은 데이터는 score의 값이 다양하다. ( ex: 0 ~ 100 점대로 다양함) 이러한 것들은 영역이 넓기 때문에 이런 유형의 예측을 하는 것을 supervised 중에 regression이라고 한다. 만약, 위 데이터를 regression 모델에 학습을 시키고 나서, x로 8을 regression 모델에 입력하면 70 정도의 값이 출력 될 것이다. 이러한 과정..
티스토리 블로그를 네이버에 검색 노출을 하기 위해 네이버 웹마스터 도구에 등록하였다. 그렇지만 네이버 검색에 노출이 안 될 경우에 해결 방법에 대해 포스팅한다. [원인]- 네이버에 검색 노출이 되지 않는다.- 이전까지 잘 노출되었던 포스팅들이 갑자기 검색에 노출되지 않는다. [웹마스터 도구 > 요청 > 페이지 수집 선택 > 포스팅 주소 입력 후 확인 버튼 클릭] 검색 노출이 누락된 포스팅의 주소를 직접 입력하여 일간 최대 50회 제한으로 신청할 수 있다.해당 내용은 네이버 로봇의 실수로 포스팅이 누락될 경우에 수동으로 정상 노출을 위한 수집을 요청하는 내용이다.
티스토리에 포스팅을 하게 되면 다음에서는 유입이 되는데 타 사이트(네이버, 구글)에서는 유입이 되지 않는다.즉, 티스토리는 다음에서 자동으로 검색이 되게 되어있지만 구글, 네이버 등과 같은 사이트는 본인이 직접 등록을 해야 가능하다. 그래서 해당 포스팅은 네이버에 나의 포스팅을 노출시키는 방법에 대해 설명할 것이다. 1. 네이버 웹 마스터 도구 접속 (https://webmastertool.naver.com/) 하고 로그인인을 한 다음에 사이트 추가란에 내 블로그 주소를 입력하고 "추가" 버튼을 클릭한다. 2. 위의 1번에서 사이트 추가를 클릭하면 "사이트 소유 확인" 페이지로 이동된다. 티스토리는 HTML 파일 업로드가 되지 않으므로 "HTML 태그" 라디오 버튼을 선택하고 녹색 글씨인 메타태그를 복사..
TensorFlow란? 구글에서 만든 오픈소스 라이브러리이다. (https://www.tensorflow.org/)TensorFlow와 같이 다른 for Machine Intelligence 라이브러리가 존재한다. 그럼에도 불구하고 TensorFlow를 선택한 이유는 github 통계에서 순위가 1등이기 때문이다. 순위 이름 점수 1 Tensorflow 172 2 caffe 89 3 keras 69 4 mxnet 53 5 theano 38 6 deeplearning4j 29 7 cntk 27 8 torch7 17 9 paddle 14 ... ... ... 즉, 많은 사람들이 사용하기 때문에 레퍼런스가 많을 것이기 때문이라 최적하다고 판단했다. tensorflow는 data flow graphs라는 것을 ..
머신 러닝 ML(Machine Learning)이란? 쉽게 말하면 어떤 로직을 가지고 프로그래밍을 하려면 그에 따른 조건들이 무수히 많을 경우가 있다. 그래서 어떤 자료에서 또는 어떤 현상에서 프로그램이 알아서 학습하게 만들자는 생각에 나오게 된 것이 머신 러닝이다.즉, 프로그램 자체가 어떤 데이터를 보고 학습해서 뭔가 배우는 영역을 갖는 프로그램을 머신러닝이라 한다. 머신 러닝은 학습하는 방식에 따라서 Supervised / Unsupervised 2가지로 구분된다.1. Supervised Learning (지도학습) 어떤 하나의 정해져 있는 데이터를 가지고 학습을 하는 것 ex) 만약 어떤 이미지가 주어지면 그 이미지가 고양이일까 개일까 이런 것을 알아보는 프로그램은 머신 러닝으로 만들어졌다. 이와 ..