일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 재설치
- 확률변수
- Algorithm
- 이분탐색
- 표본 추출
- 확률
- 추론 통계
- 오일러 경로
- 깊이 우선 탐색
- 다형성
- dfs
- Solid
- 확률분포
- Random variable
- 너비 우선 탐색
- spring boot
- 인터페이스
- dag
- 스프링
- 기술 통계
- PostgreSQL
- 베이지안
- Probability Distribution Function
- 분할정복
- 객체 지향 설계
- BFS
- 확률분포함수
- divide and conquer
- 이진탐색
- 알고리즘
- Today
- Total
목록전체 글 (40)
말하는 감자
daemon 데몬 프로그램의 재밌는 어원이 있는데,맥스웰의 열역학 문제의 도깨비 사고실험에서 분자들을 골라주는 일을 하고 있는 도깨비에서 영감을 얻었다고 한다.그래서 데몬 프로그램은 멀티태스킹 운영체제에서 사용자가 직접적으로 제어하지 않고 백그라운드에 돌면서 여러 작업을 하는 프로그램을 말한다. 직장에서 데몬, 슈퍼 데몬 이런 용어를 자연스럽게 습득하다 보니 어림짐작으로 상시 대기 최종 보스 프로그램인가 보다 했다가 직접 찾아 보게 되었다. 그래서 갑자기 데몬 프로그램 얘기는 왜 꺼냈냐 하면TCP/IP 통신은 보통 서버와 클라이언트 사이에 일어나는 통신 규격인데, 서버에서는 통상 데몬 같은 프로그램이 클라이언트로부터 요청을 받아 네트워크 메세지를 보내기 때문이다. 언제나 예외는 있듯이 복잡한 네트워크 ..
유닉스는 서버에서 많이 사용하는 운영체제이다. 유닉스 (Unix) 의 토대가 되는 멀틱스 (Multics) 라는 OS의 이름을 보면 이 운영체제가 뭘 위해 태어나게 됐는지 짐작할 수 있다. 일단 멀틱스는 다중유저, 멀티태스킹, 이식성 등의 기능을 가지고 있다. 그 크기가 무거워서 마이크로 컴퓨터에도 적용할 수 있도록 단순화하기 위해 유닉스가 만들어지게 된 것이다. 리눅스는 이 유닉스의 한 종류이다. BSD 버클리 대학교에서 주도한 개방형 소프트웨어 계열, System V 라고 AT&T에서 주도한 상업형 소프트웨어 계열을 비롯해서 하나의 계열로 존재하는 소프트웨어이고, BSD에 영향을 많이 받은 운영체제이다. 유닉스를 그래서 왜 쓰나 1. 강력한 CLI (Command line interface) 서버 O..

운영체제란? 시스템의 자원과 동작을 관리하는 소프트웨어로서, 프로세스 관리, 저장장치 관리, 네트워킹, 사용자 관리, 디바이스 드라이버 관리의 다섯가지 역할이 있다. 관리 대상 설명 대표 개념들 프로세스 응용 프로그램을 관리한다. cpu를 관리하는 것이라고도 볼 수 있다. 프로세스, 스레드, 스케줄링, 동기화, IPC 통신 저장장치 1차 저장장치와 2차 저장장치를 관리한다. 메모리 관리, 가상 메모리, 파일 시스템 네트워킹 네트워크 프로토콜을 지원한다. TCP/IP, 기타 프로토콜 사용자 각 계정을 관리하기 위해 접근 권한을 관리한다. 계정 관리, 접근권한 관리 디바이스 드라이버 여러 하드웨어를 계층으로 추상화하여 관리한다. 순차접근, 임의접근 장치, 네트워크 장치 메모리 구조 (RAM) 메모리는 CPU..
스프링 컨테이너는 객체들을 담는 곳이라고 이해하면 된다. 더 정확히는 'BeanFactory' 와 'ApplicationContext'로 구분해서 이야기하지만, 일반적으로 후자를 많이 사용한다. ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); ApplicationContext 라는 인터페이스를 스프링 컨테이너라고 한다. 스프링 컨테이너의 생성 과정은 다음 일련의 과정을 거친다. 1. 스프링 컨테이너 생성 new AnnotationConfigApplicationContext ( AppConfig.class ) 구성 정보를 지정하여 스프링 컨테이너를 생성한다. 2. 스프링 빈 등록 파라미터로 넘어온 설정 클래스 ..
숫자 하나가 소수인지 판별하는 알고리즘 public boolean isPrime(int x){ if (x < 2) return false; else for(int i=2 ; i
최대공약수 구하기 - 유클리드 호제 public int gcd(int a, int b){ int x = Math.max(a, b); int y = Math.min(a, b); if(y==0) return x; else return gcd(y, x%y); } 최소공배수 구하기 public int lcm(int a, int b){ int gcd = gcd(a, b); return a * b / gcd; }

객체 지향이란 어떤 것인가? JAVA의 특성은 무엇이 있는가? (혹은 JAVA란 무엇인가?) 자바가상머신의 동작은 어떻게 이루어 지는가? 객체지향의 개념 실제 세계를 모델링하여 소프트웨어를 개발하는 방법론 데이터와 절차를 하나의 묶음으로 이해 객체의 상태는 데이터에 의해 결정되고 동작은 메서드에 의해 결정됨 JAVA의 특성 OS (operating system)에 독립적이다. JVM에 의해 어떤 OS상에서도 동작이 가능하다. Garbage collection 기능이 있어 자동으로 메모리 관리를 해준다. 네트워크 프로그래밍이 가능하고, 분산처리 등에 유용하다. JVM (Java Virtual Machine) 동작 방식 Java 소스코드가 컴파일러에 의해서 .class의 바이트 코드로 컴파일 되고, JVM의..
Minimum spanning tree 1. n 개의 노드를 연결하는 간선 n-1 개의 트리 (사이클 없음) 2. 가중치의 합이 최소임 구현 방법 1. Kruskal Algorithm 탐욕적인 방법(greedy method) 을 이용하여 이전 단계에서 만들어진 신장 트리와는 상관없이 무조건 최소 간선만을 선택하는 방법이다. 단, 사이클을 만들지 않는다는 가정하에 선택해야 한다. 1. 그래프의 간선들을 오름차순으로 정렬한다. 2. 정렬된 간선 리스트에서 가장 낮은 가중치를 먼저 선택한다. 단, 사이클을 형성하는 간선을 제외한다. (Union-find algorithm) 3. 해당 간선을 현재의 MST 집합에 추가한다. union - find private static int find(int x) { if ..
이산확률분포의 종류 Bernoulli Distribution, 베르누이 분포 Binomial Distribution, 이항분포 Multinomial Distribution, 다항분포 Poisson Distribution, 포아송분포 Geometric Distribution, 기하분포 Negative Binomial Distriution, 음이항분포 Hypergeometric Distribution, 초기하분포
Random Varialbe 확률 변수와 Probability Distribution Function 확률분포함수 Random Variable 확률 변수는 사건의 시행 결과를 하나의 수치로 대응시키기 위한 함수이다. Probability Distribution Function 확률분포함수는 확률들을 확률공간으로 할당해주는 함수이다. 이때 확률변수 X가 취할 수 있는 값이 discrete (finite, countable)하냐 continuous 하냐에 따라서 지칭하는 이름도 살짝 다르다. 이산확률분포인 경우 Probability Mass Function 확률질량함수, 연속확률분포인 경우 Probability Density Function 확률밀도함수이다. 그리고 확률분포의 종류도 discrete과 con..