일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- lazy evaluation
- 냅색 알고리즘
- Docker 원리
- 배낭 문제
- 최장공통부분수열
- 그래프탐색
- dfs
- 구현
- 파이썬
- 수학
- 정처기 필기
- 클래스
- 그래프 이론
- 너비 우선 탐색
- 그래프 탐색
- Python
- 최장공통부분문자열
- 문자열
- LCS 알고리즘
- npm start
- Container vs VM
- 깊이 우선 탐색
- 나는 바보야...
- 동적 계획법
- bfs
- 다이나믹 프로그래밍
- 일단 시도
- error:0308010C:digital envelope routines::unsupported
- 모듈러 연산 분배법칙
- db replication
- Today
- Total
목록개인공부 (17)
Save my data
알고리즘 문제를 풀다가 map을 쓸 일이 생겼다.상황은 이러하다. 1. list1 에 있는 내부 요소들을 list2 로 옮겨야 된다.2. 방법이야 여러 가지가 있겠지만, map을 써서 옮길 수 없을까 생각했다.3. append 함수가 있으니, map을 활용해서 해볼 수 있겠다 생각함.4. 여러 가지 버전의 코드들을 테스트 해봤다.# 1list1 = [1, 2, 3]list2 = []list2 = [*map(list2.append, list1)]print(list2) # [None, None, None]# 2list1 = [1, 2, 3]list2 = []map(list2.append, list1)print(list2) # []# 3list1 = [1, 2, 3]list2 = [][map(list2.app..
영상 참고 : https://www.youtube.com/watch?v=EV3FZ3cWBp8 메인(마스터) 브랜치 하나만 관리하는 방식. 그리고 필요할 때 마다 feature 등의 브랜치를 만들고 작업한 다음 머지하여 배포. Github Flow와 유사한 방식임. 장점 : 소스코드를 관리하기 용이함. 단점 : 테스트의 양이 많아지고 꼼꼼하게 해야 함.
영상 참고 : https://www.youtube.com/watch?v=EV3FZ3cWBp8 예전에 팀 프로젝트 할 때 시험삼아 도입해봤던 방식. 당시에는 중요성을 잘 모르기도 했고 때문에 이런 비중이 크다고 생각하지 않아서 물 흐르듯이 넘어가버렸던 기억이 았다. 스탭업을 위해서는 반드시 알아야 할 지식이라고 본다. GitFlow 방식. 보통 아래 다섯 가지의 브런치로 구성된다. main(master) 말 그대로 프로젝트의 메인 브랜치. release에서 최종 검수가 끝나면 배포를 위해 main에 머지시킨다. 최종 검수가 끝난 부분을 develop에도 반영해야 한다. develop 개발용 브랜치. 근데 여기서 바로 개발하는건 아니다. 개발자간에 여러 개발중인 기능들이 있을 때, 그 각각의 개발자들이 만든..
자바스크립트는 비동기 처리를 위해 콜백 함수를 사용한다.남발하게 되면 콜백 지옥에 빠지게 된다.프로미스를 사용함으로써 다음과 같이 복잡성을 해소할 수 있다.비동기 처리 시점을 명확하게 표현할 수 있다.연속된 비동기 처리 작업을 수정, 삭제, 추가하기 편하고 유연하다.비동기 작업 상태를..
이번에 입사한 우리 회사에서는 Github 대신 Bitbucket이라는 걸 사용한다고하여 조사해보았다.Bitbucket이란?2008년 스타트업에서 개발하기 시작했고, 2010년에 Atlassian이라는 회사에 인수되었다.웹 기반 버전 관리 저장소 호스팅 서..
AWS EC2 instance는 ubuntu 22.04 버전으로 생성했다. 아래와 같이 VS Code SFTP 확장을 설치한다. 설치 후 fn + f1을 눌러 config를 연다. 자신의 환경에 맞게 설정을 한다. name 임의로 정해도 되는 서버의 이름이다. fn + f1을 누르면 나오는 SFTP: List All에서 표시될 이름을 정한다. host EC2 인스턴스의 호스트명을 입력한다. EC2 인스턴스의 연결 탭을 누르면 알 수 있는 도메인 네임이다. protocol sftp 방식으로 연결하겠다는 것을 정의한다. 수정하지 않는다. port 해당 번호의 포트를 사용하겠다는 의미이다. 기본적으로 수정하지 않는다. username 유저 네임을 입력한다. EC2 인스턴스를 생성할 때 설정된 유저 이름을 입력..
요새 하고있는 크롤링 프로젝트를 하다가 고민했던 부분이다. 데이터를 dict형태로 바로 반환하면 되는데, jsonify로 굳이 한줄 더 써서 직렬화 하는 절차에 대해,왜 그럴까 잠깐 고민했다. 지금 하고 있는 프로젝트에서는 특정 메서드가 작업을 수행한 후 결과값을 dictionary형태로 반환하고 있다. 그리고 flask view 함수에서는 dict형태의 반환값은 자동으로 직렬화 해주기 때문에, 사실 이것을 그대로 전달해버려도 response.json() 해서 쓸 수가 있다.디테일한 구성이 필요하다면 data에 status code나 message 등을 덧붙이면 되는 일이고, 어쨌든 dict 형태로 반환이 가능하다. 그리고 직렬화 하기 전에도 결국 dict 형태로 바꿔줘야 하는건 마찬가지였다. 그럼 그냥..
요청 부하 설계에 대해서, 서버의 부하 분산 외에도 DBMS 서버의 부하도 신경을 써야한다. 이 경우 DBMS 서버를 이중화하여 부하를 해결할 수 있다. DB Replication Replication은 복제를 뜻하며 DB Replication은 두 대 이상의 DBMS에 데이터를 나눠서 저장하는 방식이다. 사용하기 위해 최소 Master / Slave 구성을 취해야 한다. Master DBMS 서버로부터 데이터 등록, 수정, 삭제 요청시 바이너리 로그(Binarylog)를 생성하여 Slave DBMS로 전달한다. 주로 웹서버가 요청한 데이터의 등록, 수정, 삭제를 하는 용도로 사용된다. Slave DBMS Master DBMS로부터 전달받은 바이너리 로그를 데이터로 반영하게 된다. 주로 데이터를 불러오고..