구현

이 글은 아래의 글 부터 이어집니다. https://0422.tistory.com/332 실시간 동시편집 구현 연대기 (1) - CRDT와 OT 들어가며 네이버 부스트캠프에서 진행중인 그룹프로젝트로 algoitni라는 알고리즘을 동료, 친구들과 화상, 음성, 채팅을 공유하며 코드를 함께 작성할 수 있는 서비스를 만들고 있다. https://algoitni 0422.tistory.com 우리 프론트엔드 팀은 우선은 CRDT 구현에 도전해보기로 했다. 굉장한 기술적 도전이 될것이라 판단했기때문이다. 어떻게 구현하지? 구현하기위해서는 필요한 것들부터 알아야한다. CRDT, 즉, 클라이언트 측에서 원활하게 상호 병합을 문제없이 하기위해서는 어떤 조건을 만족해야할까? A 사용자에서 병합하나, B 사용자에서 병합하..
Friending서비스를 구현하기위해 해시태그 검색, 해시태그를 통한 유저 검색을 구현하게 되었다. DB는 MySQL이고, 서버는 nodejs, express환경이다. 삽질 이를 위해서 처음에는 User와 HashTag테이블에 각각 HashTags, Users라는 컬럼을 만들고 배열형태로 저장하려고 했다. 초기 로직 설계 추가만 생각하고 섣부르게 구현하지말자...라는걸 배웠다. 이렇게 하면 이 태그들을 어떤 순서로 보장할 것인지, 어떻게 삭제할 것인지가 어려워지고, 탐색을 위한 시간이 많이 필요해지게 된다. 해결 추가 테이블 생성 user테이블은 그대로 두고 hashTag와 hashTagRelation이라는 테이블을 새로 만든다. 해시태그가 추가될 때 hashTag테이블에서 찾아보고, 없으면 새로 생성하..
·CS/백준 풀이
상당히 귀찮았던 문제. 고려해야 할 점은 1. 미세먼지의 확산은 모든 방향에서 동시에 일어난다. -> 단순 반복문으로 구현해서는 안된다. 2. 공기청정기 순환에 신경쓰자. 3. 리스트의 전체 합을 구하면 공기청정기 값인 -2가 더해진다. 출력값에서 +2를 해주자. 1번 항목은 따로 임시 배열을 선언해서 해결했다. 2번은.. 좀 걸렸다. 차근차근, 천천히 하자. def mise(): miselist=[] for x in range(r): for y in range(c): if m[x][y]!=0 and m[x][y]!=-1: miselist.append([x,y]) tmp=[[0 for _ in range(c)] for _ in range(r)] for t in miselist: x=t[0] y=t[1] ..
_0422
'구현' 태그의 글 목록