본문 바로가기

전체 글190

원격 저장소에 올라간 커밋 되돌리기 회사에서 일을 하거나 개인 프로젝트를 할때도, 커밋 실수가 나서 되돌려야 하는 경우가 많은데 이미 원격 저장소에 푸시를 한 경우, 자꾸 구글에서 반복적으로 찾게 되는 경향이 있어서 정리를 해야겠다는 생각에 글을 작성하게 되었습니다. git log를 통해 커밋 내역을 확인하고 가고 싶은 commit id를 입력합니다. -> git reset {commit_hash_id} 그러면 해당 commit 으로 돌아가게 되고 git push -f origin (브랜치명) 을 통해 강제로 푸시합니다. 그런데 회사에서 팀차원으로 개발을 진행하거나 푸시 강제로 인한 타격이 염려되는 경우가 있을 수 있을 것 같아 걱정이 되어 좀 더 조사해보아야 할 것 같다는 생각이 들었습니다. 또한 이 강제로 push한 커밋이 아닌 다른 .. 2021. 12. 29.
nginx 정의 nginx는 비동기 event-driven기반의 구조로 다수의 연결을 효과적으로 처리가 가능합니다. 대부분 코어 모듈이 아파치보다 적은 리소스로 더 빠르게 동작가능하며, 더 작은 쓰레드로 클라이언트의 요청들을 처리 가능합니다. nginx는 아파치와 비교를 많이 하는데 아파치와 nginx의 가장 큰 차이는 쓰레드 방식과 event-drive의 차이라고 합니다. 쓰레드 기반은 하나의 커넥션 당 하나의 쓰레드를 사용하지만, event-driven방식은 여러 커넥션을 모두 event-handler를 통해 비동기 방식으로 처리해서 먼저 처리되는 것부터 로직이 진행됩니다. nginx가 사용될 수 있는 곳은 정적 파일을 처리는 web server의 역할- HTTP server의 역할-과 로드 밸런싱 기능을 수행하는 .. 2021. 12. 28.
redis의 정의 데이터베이스 쿼리 캐시를 사용하거나 로그인 구성에 있어 redis를 활용하고 있는데 알지 못하는 부분이 많아 기본적인 정의 내용과 활용 예시를 조사해보았습니다. redis는 빠른 오픈 소스인 메모리 키 값 데이터 구조 스토어로, 캐싱, 세션 관리, pub/sub 및 순위표 등에 사용할 수 있다고 합니다. 데이터를 디스크 혹은 SSD에 저장하는 대부분의 데이터 베이스 관리 시스템과 다르게 모든 redis 데이터는 서버의 주 메모리에 상주하고, 이러한 인 메모리 데이터베이스는 디스크에 엑세스할 필요를 없앰으로써 검색 시간으로 인한 지연을 방지하는 것입니다. 따라서 이러한 CPU 명령을 더 적게 사용하는 좀 더 간단한 알고리즘으로 데이터에 엑세스 할 수 있습니다. 이러한 작업은 보통 1밀리 초 미만이 소요됩니다. 2021. 12. 28.
python 리스트를 딕셔너리로 한줄에 바꾸는 방법. 기본적으로 여러 줄을 사용하면 많은 방법이 있지만, 자주 사용하는 방법인데 자꾸 까먹기도 하고 기본적인 사항이기 때문에 기록을 확실히 해두기로 결정했습니다. 기존에 hours = { "00":0, "01":0, ...... "23":0} 과 같은 선언이 있는데 black을 적용했을때 줄이 너무 길어지기도 하고, 이런 식으로 정형화 된 것이 아닌 변형이 있을때 한번에 적용할 수 있는 방식으로 적용하기 위해 hours = { str(i).zfill(2): 0 for i in range(24)} 와 같은 방식으로 구성했습니다. 단순히 key : value 와 for 문을 한줄로 쓰는 방식을 혼합한 것인데요, zerofill는 이름처럼 길이를 parameter에 해당하는 값에 0을 채워줘서 맞춰주는 함수입니다... 2021. 12. 28.