[Git]Git hooks 를 활용한 자동 black 포매팅
2020. 10. 24. 15:48
Programming/Git
Git hook Hook은 특정 이벤트, 함수가 호출되기 전/후에 실행되는 스크립트/명령을 말합니다. Git은 다른 버전 관리 시스템처럼 어떤 이벤트가 발생할 때 자동으로 특정 스크립트를 실행하도록 할 수 있습니다. 이 훅은 클라이언트 훅(commit or merge 시 발생)과 서버 훅(push 시 발생) 두가지가 있습니다. I. 자주 사용되는 hooks 1. 클라이언트 훅 pre-commit 커밋할 때 가장 먼저 호출되는 훅으로 커밋 메시지를 작성하기 전에 호출됩니다. 즉 git commit "something" 시 즉시 발생하는 hook 입니다. 보통 commit 하기 전에 파일의 코드 스타일 체크, 파일 검사 등을 위해 사용하는 경우가 많습니다. git commit --no-verify 를 이용해..
[Git] 실수로 삭제한 파일/커밋/브랜치 복구하기
2020. 10. 21. 17:42
Programming/Git
Git 삭제한 파일 및 브랜치/커밋 복구하기 I. Git log git을 이용해 로컬과 원격저장소를 관리하다보면 종종 뜻하지 않은 실수로 작업물을 모두 날리거나, 브랜치를 지우는 경우가 발생합니다. 이 경우 git reflog 를 이용해 강제로 과거 시점으로 돌아가는 것이 가능합니다. 작업도중 홀린듯 merge pull을 땡기며...날아가버린 내 작업물을 되찾았던 기억을 잊지않기 위해 메모합니다... II. 삭제한 커밋/브랜치 복구 터미널을 열고 해당 git local repo로 이동하여 git reflog 명령어를 실행합니다. 명령어를 실행하면 사진과 같이 기록되어 있는 모든 log와 log id를 확인할 수 있습니다. 1. commit 복구 커밋을 복구하려는 경우 커밋 내용과 id 를 확인하고 git..
[Python/Data]Pandas Profiling을 활용한 쉽고 빠른 Python EDA
2020. 10. 8. 13:48
Data/Data Analysis
Pandas_profiling I. Pandas Profiling 머신 러닝 등 데이터를 이용하는 모든 활동에서 선행되는 것은 보유한 데이터의 성격과 변수간 관계 파악 등 분석 과정과 전처리 과정입니다. 오늘 주제인 pandas profiling 은 한 줄의 명령어로 빠르게 데이터 EDA를 가능하게 해주는 라이브러리입니다. II. Pandas Profiling 사용 1. 설치 pip install pandas_profiling 2. 사용하기 google colab 환경에서 사용한 예시입니다. profile_report(), to_file() 이 두가지 메소드만 기억하시면 됩니다. 패키지 import 후 원하는 데이터를 가져와서 profile_report() 를 사용하면 됩니다. 파일로 저장하고 싶을 땐 ..
찰스 프록시(Charles Web Debugging Proxy)를 이용한 앱 크롤링/웹 디버깅!
2020. 10. 7. 18:46
Programming
찰스 프록시(Charles Web Debugging Proxy)를 이용한 웹 디버깅 Charles proxy 찰스 프록시는 앱과 웹 사이에 위치하여 모든 네트워크 요청과 결과를 확인할 수 있고, 요청값을 수정하여 실제로 요청을 송신하고 결과를 즉각적으로 확인할 수 있는 프로그램입니다. (+) 추가 수정 외부 어플리케이션의 통신을 확인해 부당한 목적으로 사용하는 것은 잘못된 행동입니다. 따라서 이 후 본문에서는 어떤 방식으로 활용이 가능하며, 사용하는에 대한 자세한 사용법은 제외하며 초기 설정에 대해서만 다루도록 하겠습니다. 사용 시 발생하는 문제는 본인에게 있음을 잊지말아주세요. 특징 1. 앱과 웹간 통신이 목적대로 동작하는지 확인 가능 2. 요청 시 발생하는 params 와 요청 결과를 확인 가능 3...
[Go/Golang] Go 배열(array)과 슬라이스(slice) 차이
2020. 9. 30. 16:26
Programming/Go
Go 배열과 슬라이스 차이 I. Array vs Slice 두 데이터 타입 모두 컨테이너의 역할을 하는 것은 동일하지만 아래의 차이가 있음. 배열(array) 슬라이스(slice) 타입 값 참조 용량(cap) 수정불가 수정가능 길이(len) 수정불가 수정가능 비교연산 가능 불가능 호출 복사 전달 참조 전달 가변적 특성때문에 슬라이스를 주로 사용하게 됨 cap() : 배열/슬라이스 용량 len() : 배열/슬라이스 개수 1. 배열/슬라이스 차이 확인 배열 arr1 := [...]int{1, 2, 3, 4, 5, 6, 7} //--> 입력하는 데이터수에 맞게 자동으로 크기 조정 var arr2 [7]int arr2 = arr1 arr2[0] = 10 fmt.Printf("1번 배열 : %v , 1번 배열 메..