반응형

분류 전체보기 135

구름톤 2주차 후기 - 2

8.22 화요일 구름톤 문제! 무지 쉬운 완전탐색이었다. 근데 count 함수에서 입력이 (0,0) 일때, (-1,0) 등에 접근할 수 있는 위험이 있는데 이런 부분은 안 잡아주었다. 이렇게 풀었지만 #include using namespace std; long long N, K; int board[1001][1001]; int dist[1001][1001]; void count (int r, int c){ int dir[8][2] = {{1,0}, {-1, 0}, {0,1}, {0,-1}, {1,1}, {-1, 1}, {-1, -1}, {1, -1}}; int count = 0; for(int i = 0; i < 8; i++){ int x = r + dir[i][0]; int y = c + dir[i]..

구름톤 2주차 후기 -1

이번 문제는 난이도가 확 올라갔다. ㅠㅠㅠ... 중복 부분 문자열을 제거하고 사전 순으로 정렬하는 부분을 제대로 구현하지 않아 생긴 문제가 많았다. ㅠㅠ...,, 구현한 코드는 다음과 같다. 눈여겨 볼 점: 중복을 피하기 위해 map 을 사용했는데 중요한 점은 map은 저장 순서가 유지되지 않고 어차피 사전순으로 정렬되면서 알아서 저장된다. 그래서 iterator를 이용해서 점수를 차례대로 넣어주면 사전순이 구현된다. #include #include #include using namespace std; int main() { int N; map m; string str; cin >> N; cin >> str; //map 에 넣고 저장. 하고 없으면 점수 제거. //str[0] -> 개수 1개, ... 개..

구름톤 챌린지 1주차 후기 (1)

구름톤 챌린지라는 걸 처음 알아서 들어가봤다. 구름 이라는 곳은 아직 완전히 파악하지는 못했지만 코딩테스트를 위한 공간과 IDE 작성할 수 있는 컨테이너도 제공하는 곳이다. 구름이란? 회사 소개에 따르면, 구름은 ‘모두가 개발자가 된다’라는 비전으로 언제 어디서나 AI∙SW 개발을 배우고, 원하는 결과물을 구현할 수 있도록 ‘개발자 성장 중심’의 생태계를 만들어 나가고 있는 곳 이라고 한다. 카카오프렌즈와 함께하는 코딩운동회 콘텐츠 운영 실시간 화상 감독 서비스 ‘옵저뷰’ 출시 카카오엔터프라이즈-한국과학창의재단 업무협약 체결 SaaS 및 교육 분야 협업을 위한 카카오엔터프라이즈 업무협약 체결 등의 성과를 내고 있는 곳이다 . 구름 서비스 우리가 활용할 수 있는 전반적인 서비스는 다음과 같이 3가지 형태다..

세그먼트 트리

오랜만에 돌아온 알고리즘 공부 시간! 세그먼트 트리의 필요성 A1, A2, … AN 의 수열이 있을 떄, L, R을 입력 받아서 AL 부터 AR 까지의 수열의 합을 구하라. → 이런 쿼리가 있다면, 누적합을 이용해서 sum[R] - sum[L-1]을 통해서 쉽게 구할 수 있을 것이다. → 하지만, 이렇게 누적합을 구하는 과정에서 중간에 수열의 값이 변한다면, 각각의 누적합에 대해 연산을 실시해야하므로 O(N) 의 시간복잡도가 걸린다. → 이러한 연산을 효율적으로 실행할 수 있게 해주는 기법이 세그먼트 트리 기법이다. 세그먼트 트리란 각 노드는 특정 구간을 대표한다. 노드들은 이진트리 구조를 이룬다. (부모 노드가 대표하는 구간은 자식 노드가 대표하는 구간의 합집합이다. ) 총 길이는 2^k 꼴일 때, 비..

python-mysql-replication 과 transaction, GTID

1. replication Database 관점에서 replication이란 데이터베이스의 복제를 의미한다. 단순 그 시각에서의 복제 뿐만 아니라, 복제 서버로써 기존 서버와의 동기화도 되어있는 서버를 만드는 것이다. 이러한 replication 기술은 기존 서버를 master, 복제 서버를 slave 라고 부르기도 하는데, 이를 사용하는 이유는 다음과 같다. reference 1.high availability, data security 만약 데이터베이스에 화재가 나서 복구가 당장 시급할 때, 복제 서버 한대를 백업용으로 사용 중이었다면 손쉽게 복구 한 후 서비스를 지속가능하게 유지할 수 있다. 또한 data corruption이 일어나지 않게도 할 수 있다. 2. scale-out 기존 서버 한대에는..

카테고리 없음 2023.07.16

python-mysql-replication NameError: name 'byte2int' is not defined 오류 및 해결

설명 환경 : python3, pymysql 1.1.0 오류 byte2int 라는 함수가 없다는 오류 이유 byte2int 함수는 pymysql.util 이라는 package 안에 있습니다. 근데 pymyql.util 이 없어서 byte2int 를 가져오지 못하는 이슈들이 많이 있었습니다. (참고링크) 찾아본 결과, pymysql > 0.1 버전에서는 존재하지 않게 되는 문제가 있었습니다. (pymysql > 0.1 버전에서는 pymysql.util 이 import 가 되지 않는 이슈) 왜냐면 이 라이브러리를 import 하는 과정에는 aiomysql 가 import 되어야 하는데, requirements patch 가 제대로 안된 이유로 0.10 보다 큰 버전을 allow 하지 않기 때문입니다. 해결책..

git 에 실수로 올렸던 .env 파일 내리기

발단은 이렇다. docker compose file 을 작성하던 도중 .env 파일을 .gitignore 에 포함시키지 않고 업로드 하는 실수를 했다. 바로 github 페이지에서 삭제하고, master branch 로 commit 했다. 그 후에 .gitignore 파일에 .env, */*.env를 작성해서 push를 했음에도 불구하고 자꾸만 .env 파일이 github에 노출되는 것이었다! 그래서 이유를 찾아보았는데, 그 이유는 이미 파일이 git history에 저장되어있기 때문이었다. 그래서 해결방법은 다음과 같다. git rm .env --cached cached에서 파일을 삭제하는 것이다. 참고한 stackoverflow 사이트는 다음과 같다. https://stackoverflow.com/q..

개발/.git 2023.07.06

openSSL로 self-signed key 만들기, 명령어 의미

openssl로 self-signed key 와 certificate pair 만들기. openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem 🍎 req: x.509 CSR (certificate signing request) management 를 사용하겠다는 뜻. x.509는 ssl, tls 가 사용하는 public key infrastructrue standard. 🍎 -x509 : certificate signing request 대신에 self-signed certificate 를 사용하겠다고 명령. 🍎 -nodes : passphrase를 이용해 우리의 certificate 를 보안하는 과정..

nginx 공식문서 번역 (feat. cnf 파일 변경하는 법 for docker)

참고한 Nginx 공식 문서 : http://nginx.org/en/docs/beginners_guide.html Beginner’s Guide Beginner’s Guide This guide gives a basic introduction to nginx and describes some simple tasks that can be done with it. It is supposed that nginx is already installed on the reader’s machine. If it is not, see the Installing nginx page. This guide de nginx.org 🌕 nginx란 nginx는 하나의 master process와 여러 worker process로..

카테고리 없음 2023.07.04
728x90
728x90