일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- framework
- db
- centos
- Web
- error
- SSH
- Analysis
- 자바
- DeepLearning
- git
- Linux
- mysql
- learning
- Pattern
- data
- Deep
- 인공지능
- java
- mariaDB
- ai
- Github
- Numpy
- Server
- Python
- LIST
- javascript
- 함수
- interface
- Security
- Spring
- Today
- Total
목록Post IT (192)
PostIT
# [Python/Data Analysis] Numpay - Array Tranposition 사용하기 - Day 6import numpy as np arr = np.arange(50).reshape((10,5)) arr array([[ 0, 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, 32, 33, 34], [35, 36, 37, 38, 39], [40, 41, 42, 43, 44], [45, 46, 47, 48, 49]]) arr.T array([[ 0, 5, 10, 15, 20, 25, 30, 35, 40, 45], ..
# [Database] 트랜잭션의 네 가지 속성 Atomicity (원자성) 트랜잭션 내에 있는 모든 작업이 완료되거나 모든 작업이 완료되지 않아야 한다. 즉, 트랜잭션 내의 작업 중 하나라도 에러가 발생하면 트랜잭션 내의 모든 작업이 롤백(Rollback) 되어야 한다. Consistency (일관성) 트랜잭션 중에 오류 없이 유효한 데이터만 데이터베이스에 저장되어야 한다. Isolation (격리성) 트랜잭션 중에 변경된 내용이 트랜잭션이 완료되기 전까지 다른 트랜잭션에 영향을 미쳐서는 안 된다. Durability (지속성) 트랜잭션이 완료된 경우 시스템 고장이나 네트워크 에러 등으로 데이터가 유실되지 않고 정상적으로 기록되어야 한다.
# [Java/Comparator/Comparable] 자바 객체 비교를 위한 인터페이스 분석 작성일 : 2017년 6월 3일최종 수정일 : 2017년 7월 23일 ## 1. 배경Java로 알고리즘을 풀면서 Java 또한 Sort가 Quick Sort로 구현되었다는 글을 보았습니다. 이를 테스트 하기 위해 Quick Sort를 구현한 클레스와 자바에서 제공하는 API Sort 클래스를 사용하여 어떤 것이 더 빠른지 비교하고 싶었습니다. 웹 개발을 하면 DB의 정렬을 통해 Sort를 직접 쓸일은 생각보다 많지 않다고 생각합니다. 하지만, 최근 API를 이용해서 객체에 API 값을 매핑하는 서비스를 만들었는데, Sort를 서버 내에서 정렬하는 것이 필요하다는 생각을 갖게 만들었습니다. 이를 위해서 알아본 결..
# [Java/Sort] QuickSort Algorithm 구현하기 최종작성일 : 2017년 6월 2일 ## 1. Quick Sort란? 찰스 앤터니 리처드 호어가 1959년에 개발한 알고리즘이다. 퀵이라는 이름에서 알 수 있듯이 평균적인 상황에서 최고의 성능을 나타낸다. 컴퓨터로 가장 많이 구현된 정렬 알고리즘 중 하나이다. C, C++, PHP, 자바 등 거의 모든 언어에서 제공하는 정렬 함수에서 퀵 정렬 혹은 퀵 정렬의 변형 알고리즘을 사용한다. 방식은 적절한 원소 하나를 기준(피벗, pivot)으로 삼아 그보다 작은 것을 앞으로 빼내고 그 뒤에 피벗을 옮겨 피벗보다 작은 것, 큰 것으로 나눈뒤 나누어진 각각에서 다시 피벗을 잡고 정렬해서 각각의 크기가 0이나 1이 될 때까지 정렬한다. 위에서도 ..
# [Java/Regex] 자바 정규표현식에 대해서 공부하고 예제 만들기 최종작성일 : 2017년 6월 2일 ## 배경 Web Project를 진행하면 Client에게서 어떠한 정보가 입력될지 모르기에, 이 정보를 정규화하는 과정이 필요합니다. 이를 유효성 검사라고 하는데 유효성검사를 제대로 하지않으면, 데이터의 신뢰도가 떨어지게 되고, 예기치 않은 에러를 발생시키기 때문입니다. 이를 위해서는 각 언어마다 정규표현식을 제공해주고 있으며, 크게 다르지 않습니다. 그렇다면, 이번 블로그를 통해 Java의 정규표현식에 대해서 알아보겠습니다. ## 목적 자바의 정규표현식의 규칙을 이해하고, 예제를 만들어서 새로운 정규형식을 만들어보겠습니다. ## 내용 표현식 설명 ^ 문자열의 시작$ 문자열의 종료 . 임의의 한..
# [Interpreter/Compiler] 인터프리터와 컴파일러의 차이점 최근 작성일 : 2017.06.01 ## 컴파일러고급언어로 쓰여진 프로그램이 컴퓨터에서 수행되기 위해서는 컴퓨터가 직접 이해할 수 있는 언어로 바꾸어 주어야 합니다. 이러한 일을 하는 프로그램을 컴파일러라고 합니다. 번역과 실행 과정을 거쳐야 하기 때문에 번역 과정이 번거롭고 번역 시간이 오래 걸리지만, 한번 번역한 후에는 다시 번역하지 않으므로 실행 속도가 빠릅니다. ## 인터프리터소스 프로그램을 한번에 기계어로 변환시키는 컴파일러와는 달리 프로그램을 한 단계씩 기계어로 해석하여 실행하는 ‘언어처리 프로그램’입니다. 줄 단위로 번역, 실행되기 때문에 시분할 시스템에 유용하며 원시 프로그램의 변화에 대한 반응이 빠릅니다.한 단계씩..
[Java/JVM] JVM 이해를 통한 Java의 작동원리 이해하기 최근 작성일 : 2017.06.01 ## 1. JVM이란? JVM은 물리적 머신을 소프트웨어 구현한 Java 프로그램을 실행할 수 있게 해주는 추상컴퓨팅 시스템입니다. Java는 WORA(Write Once Run Anywhere)의 철학을 위해 VM을 개발하였습니다. JVM은 OS에 상관없이 어느 환경에서도 Java가 실행이 가능토록 만들어 준 것입니다. Java를 컴파일 언어로서 실행하기 위해서는 컴파일을 거쳐야 합니다. Java 컴파일러는 .java 파일을 .class 파일로 컴파일 합니다. 이는 .java 파일을 Java byte code로 변환하여 .class 만드는 것입니다. Byte Code는 기계어가 아니기 때문에 OS에서..
# [AI/Deep Learing] 인공지능을 위한 Deep Learning 준비(다차원 배열의 계산) - 3 이번에는 신경망에서 필요한 다차원 배열에 대해서 알아보겠습니다. ## 다차원 배열 숫자가 한 줄로 늘어선 것이나 직사각형으로 늘어 놓은 것, 3차원으로 늘어놓은 것, N차원으로 나열하는 것을 통틀어 다차원 배열이라고 합니다. ### 1. 다차원 배열을 구현해보겠습니다. import numpy as np a = np.array([1,2,3,4]) print(a) [1 2 3 4] # 배열의 차원 수 확인하기. np.ndim(a) 1 # shape는 튜플을 반환 a.shape (4,) a.shape[0] 4 b = np.array([[1,2],[3,4],[5,6]]) print(b) [[1 2] [..
# [AI/Deep Learing] 인공지능을 위한 Deep Learning 준비(신경망을 위한 시그모이드 함수 구현하기) - 2 1일차에서 퍼셉트론과 계단함수에 대해 알아봤습니다. 이번에는 계단함수와 시그모이드 함수를 비교해보겠습니다. 1일차 계단함수 ## 시그모이드 함수 구현하기import numpy as np import matplotlib.pylab as plt def sigmoid(x): return 1 / (1 + np.exp(-x)) x = np.array([-1.0, 1.0, 2.0]) sigmoid(x) array([ 0.26894142, 0.73105858, 0.88079708]) t = np.array([1.0,2.0,3.0]) 1.0 + t array([ 2., 3., 4.]) 1...
# [Java/Stack/Heap] JAVA의 Stack과 Heap의 이해를 통해 Java의 메모리 관리 - 최근 수정일 : 2017.05.31 ## 1. 배경.C언어를 하시던 선임께서 Python의 Stack과 Heap의 메모리 할당을 정확히 모르겠다는 얘기를 들으면서 정작 이와 관련한 Java에 대한 필수 정보가 부족하다는 사실을 알게되면서 조사를 시작했다.Software는 Hardware와 결국 관련이 깊을 수 박에 없다. 그리고 현재까지 컴퓨터는 무어의 법칙에 의거하여 하나의 CPU 속도가 빨라지는 것이 아니라, 컴퓨터에 들어가는 코어의 개수를 늘려 속도가 빨라지게 하였으나 한계를 맞이하고 있다. 이를 해결하기 위해 최근에 읽은 '7가지 동시성 모델'이란 책의 저자는 멀티 코어의 위기를 벗어나기 ..