본문 바로가기

전체 글

[Github] git reset 작업 취소 방법 오늘 파이썬 코드 작업 도중 git에 올려야 하는 코드를 제외하고 commit메시지를 작성하였다. commit을 취소 하기 위해 git reset --hard HEAD^ 를 입력하여 commit을 취소하고 다시 git add 를 실행하는데 Nothing to Commit이라고 출력이 되었다. 다시 깃허브 명령어를 보니 --soft 옵션이 아니고 --hard옵션으로 실행되어 commit이 취소되는 동시에 해당 파일들은 예전 코드로 변경이 되어 있었다. 흘려본적 없는 식은땀이 났고, 고객사에 제출해야하는데 코드가 모두 날아가서 매우 당황스러웠다. git-scm을 찾아서 되돌릴 방법을 찾아 본 결과 획기적인(그 당시의 나에게만) 명령어가 있었다. 그 명령어는 다음과 같다. SYNOPSIS git reflog .. 더보기
20191126 회고 - 프로그래밍 패턴 1. 예외 처리 def S3ObjectDownload(bucket, key): # S3에 자원에 접근 할 access key와 secret key를 입력합니다. s3 = boto3.resource('s3', aws_access_key_id='', aws_secret_access_key='YOUR_SECRET_KEY') # 추출 된 key에서 경로 값을 제외한 순수 파일 명을 얻기 위한 작업 preOutPutName = key.split('/') outPutName = preOutPutName[-1] # 파라미터로 받은 값을 이용하여 가장 최근에 올린 파일을 EC2로 다운로드 s3.Bucket(bucket).download_file(key, outPutName) print("Download successf.. 더보기
[Spring] Servlet의 동작 과정과 메모리 적재 어제 학습한 servlet에 대해 의문점이 생겼다. Chrome에서 servlet을 1회 최초 호출하고, Safari에서 servlet을 1회 호출한 결과는 위 사진과 같이 나왔다. 2번 호출 했으니, init 매서드가 2번 호출 될 것이라고 생각했었는데 아니었다. 그 이유는 다음과 같다. 서블릿의 동작과정을 한눈에 보기 쉽게 다이어그램으로 정리해보았다. Servlet는 최초 호출이 되면 해당 selvlet은 메모리에 적재됩니다. 그 이후로 다른곳에서도 중복 호출 하게 되면, 똑같이 Servlet를 불러오는 것이 아니라, 메모리에 적재된 Servlet을 재사용해서 사용자와의 인터페이스를 제공한다고 한다. Servlet는 메모리에 이미 init()이 실행된 채로 메모리에 적재되어 있기 때문에 또 다시 같은.. 더보기