일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 개발자와 비즈니스 관계
- ssl.key
- 개발회고
- 알고리즘
- AWS Aurora
- haystack
- public.pem
- django slack
- 서버 개발
- 개발자와 비즈니스
- django
- slack bot
- 비즈니스
- 백엔드 개발
- django #django 5.0 #django 5.0 요약
- 숲을 바라보는 개발자
- 웹소켓 api
- django slack bot
- 비즈니스적 관점에서 생각하는 개발자 #개발자 마인드
- add colume
- redis lock
- 비즈니스적 관점에서 생각하는 개발자
- 업비트 웹소켓
- MySQL
- 정렬
- private.pem
- 슬랙봇
- django 슬랙봇
- 개발자의 마인드
- 개발자에세이
- Today
- Total
Info-Tech
드래곤 커브는 다음과 같은 세 가지 속성으로 이루어져 있으며, 이차원 좌표 평면 위에서 정의된다. 좌표 평면의 x축은 → 방향, y축은 ↓ 방향이다.시작 점시작 방향세대0세대 드래곤 커브는 아래 그림과 같은 길이가 1인 선분이다. 아래 그림은 (0, 0)에서 시작하고, 시작 방향은 오른쪽인 0세대 드래곤 커브이다. 1세대 드래곤 커브는 0세대 드래곤 커브를 끝 점을 기준으로 시계 방향으로 90도 회전시킨 다음 0세대 드래곤 커브의 끝 점에 붙인 것이다. 끝 점이란 시작 점에서 선분을 타고 이동했을 때, 가장 먼 거리에 있는 점을 의미한다. 2세대 드래곤 커브도 1세대를 만든 방법을 이용해서 만들 수 있다. (파란색 선분은 새로 추가된 선분을 나타낸다) 3세대 드래곤 커브도 2세대 드래곤 커브를 이용해 만..
데이터베이스에서 하나의 논리적인 실행단계를 트랜잭션이라고 한다. 은행에서 계좌이체를 트랜잭션이라고 할 수 있다. 이러한 트랜잭션이 안전하게 이루어지기 위해서는 ACID가 지켜져야 한다. Atomicity (원자성) 은행에서 계좌이체를 할 때 돈을 보내는 계좌에서는 돈이 차감이 되었지만, 받는 사람의 걔좌에서는 입금이 되지 않으면 안된다. 이처럼 처음부터 끝까지 작업이 실패하면 안되도록 하는 것이다. Consistency(일관성) 트랜잭션이 성공되면 언제나 일관성 있는 데이터베이스 상태로 유지되어야 한다. 트랜잭션 전, 후 데이터베이스가 정해논 제약을 어겨서는 안된다. Isolation(고립성) 트랜잭션 수행시 다른 트랜잭션의 연산작업이 끼어들지 못하도록 막는 역할이다. 즉, 각 트랜잭션끼리 영향을 끼쳐서..
출발점에서 목표점까지의 최단거리를 구할 때 사용하는 알고리즘 int distance [ ] = new int [n+1]; // 최단 거리를 저장할 변수 boolean check[ ] = new boolean[n+1]; //해당 노드를 방문했는지 체크할 변수 알고리즘 순서 1. distance는 처음에 나올 수 있는 가장 큰 값으로 초기화 하기 (Integer.MAX_VALUE)와 같은 값 2. 시작노드의 거리를 0으로 표시 (자기자신까지 거리는 0), 시작노드의 check값은 true로 바꾸기 3. 시작노드와 연결이 되어있는 노드들의 distance 값을 갱신하기 4. 방문하지 않은 노드중 distance 값이 최소인 노드(min_node)를 찾는다 5. min_node의 check값을 true로 변경한..
최악일때도 (nlogn) N개를 정렬하는 알고리즘이다. n개를 n/2로 나눈다. 그리고 왼쪽 n/2개와 오른쪽 n/2를 정렬한다. 정렬한 결과를 합친다. void sort(int start, int end){ if (start == end){ return; } int mid = (start+end)/2; sort(start, mid); sort(mid+1,end); merge(start,end); } void merge(int start, int end){ int mid = (start+end)/2; int s = start; int j = mid+1; int k = 0; //위에서 정해진 구간에 맞게끔 값 넣어주기 while( s