전체 글

전체 글

    완벽주의를 버리자

    완벽주의를 버리자

    어느덧 새해라는 말이 어색할 정도로 2022년 1분기가 끝나가고 있습니다. 시간 참 빠르네요. '올해는 이런 것들을 해야지' 다짐을 하면서 2021년 회고를 쓰고 만다르트를 작성하며 설날 연휴를 보냈었는데, 정말 슬프게도 아직 포스팅을 하지 못했어요. 완벽주의 성향이 심해서 글을 하나 쓰려고 해도 제 마음에 들지 않으면 세상에 공개하지 못하고 있습니다. 위는 제 MBTI인데요. J 100%라는 광기를 느낄 수 있는 ESTJ입니다. 솔직히 이런 제 성향이 싫지만은 않고, 인생에서 많은 도움이 되었다고 생각합니다. 특히 계획적인 성향과 완벽주의적인 성향이 큰 보탬이 되었습니다. 물론 학창 시절 때는 말도 안 되는 계획을 잡아놓고 매일매일 스터디 플래너에 X표 치며 고통받는 하루하루를 살았지만, 이제는 하도 ..

    [파이썬/Python] 정규표현식 - 리스트 내 원소들 중 숫자만 필터링하기

    import re page = ['처음', '5개 앞', '이전', '6', '7', '8', '9', '10', '다음', '5개 뒤', '마지막'] p = re.compile("^[0-9]+$") page_only_digit = list(filter(p.match, page)) print(page_only_digit) # ['6', '7', '8', '9', '10'] 원래는 p.match 부분에 isdigit 내장 함수를 사용하려고 했는데, '5개 앞' 같이 원소 내 공백이 존재하면 내부적으로 구현되어 있는 ord 메서드를 적용할 수가 없어서 먹히질 않았습니다. 그래서 어쩔 수 없이 정규표현식으로 걸러줬습니다.

    [Mac OS] 맥북 기본 실행 프로그램 변경

    [Mac OS] 맥북 기본 실행 프로그램 변경

    들어가며 평소에 Typora라는 프로그램으로 md 파일을 보고 있었는데, Xcode를 깔고 난 다음부터 갑자기 모든 md 파일이 Xcode로 열리기 시작했습니다. 파일 우클릭 - 다음으로 열기 - 기타 - 원하는 프로그램 선택 - '항상 선택한 응용 프로그램으로 열기' 체크 를 통해 기본 실행 프로그램이 변경될 줄 알았는데, 해당 파일에 대해서만 기본 실행 프로그램이 변경되더라고요. 그래서 특정 확장자를 가진 모든 파일에 대해 기본 실행 프로그램을 변경하는 방법을 찾아봤습니다. 본론 1. 파일 우클릭 2. '정보 가져오기' 클릭 3. '다음으로 열기' 클릭 후 원하는 응용 프로그램 선택 4. '모두 변경' 클릭 후, 열린 팝업창에서 '계속' 클릭 5. 선택한 응용 프로그램명 우측에 (기본)이라는 글자가 ..

    2021년 하반기 목표

    2021년 하반기가 시작된 지 벌써 한 달이 지나버렸는데, 뒤늦게라도 목표를 명시적으로 적어두면 좋을 것 같다는 생각이 들었다. 우선 2021년에 들어서면서 생각했던 목표는 무엇이었는지, 그중에 상반기에 이뤄낸 것은 무엇인지 생각해봤다. 2021년 목표 - 취업하기 - 새로운 취미 갖기 - 음악 공부하기 - 투자 공부하기 - 운동(특히 웨이트 트레이닝) 시작하기 - 교정치료를 통해 목/어깨 통증 없애기 - 운전면허 따기 - 자취 분명 더 있었을 텐데 생각나는 굵직한 목표는 이 정도인 것 같다. 여기서 상반기(1~6월)에 이뤄낸 것은 다음과 같다. 상반기 이뤄낸 목표 1. 취업하기 작년 하반기 네이버 부스트캠프를 통해 효율적으로 성장할 수 있었고, 덕분에 이번 상반기 네이버에 취직하게 되었다. 너무 행복하..

    특정 브랜치 pull 해오기

    # git pull {remote 저장소 이름} {브랜치 이름} # 예시 git pull origin feature/1

    [Shell Script] 변수에 값 할당/변수에 할당된 값 참조

    들어가며 쉘 스크립트에서 변수에 값을 할당하고, 변수에 할당된 값을 어떻게 참조하는지 살펴보겠습니다. 변수에 값 할당 (1) 일반적인 형태 VAR1=1004 VAR2=hello VAR3="hello" VAR4='hello' # 큰따옴표/따옴표를 사용하는 습관을 들이자 VAR5=hello world # NO VAR6="hello world" # OK 일반적으로 변수에 값을 할당하는 문법은 변수명=값 으로 통일되어 간단합니다. 단, 주의할 점은 다음과 같습니다. 쉘 스크립트는 기본적으로 값의 타입이 없고(untyped) 모두 문자열로 인식됩니다. 위 예시에서 var1에 할당된 1004도, var2에 할당된 hello도 모두 문자열입니다. 반드시 할당 연산자 좌/우에 공백이 없어야 합니다. 대부분의 언어에서 ..

    실수할 여지를 줄이자

    실수하는 것은 문제가 되지 않는다. 누구나 실수를 할 수 있으니까. 위험에 처하는 것도 문제가 되지 않는다. 도처에 위험이 존재하고, 누구나 그 위험으로 인해 사고를 겪을 수 있으니까. 중요한 것은 사후 처리를 하는 태도이다. 실수를 한 뒤 그 실수를 다시 하지 않기 위해, 위험에 처한 후 동일한 사고가 발생할 확률을 최소화하기 위해 어떠한 노력을 했는가? 어떤 실수를 저질렀거나 사고가 발생했을 때, 원인에 대해 생각해 본 적이 있는가? 원인을 생각해봤다면, 앞으로 어떻게 해야 실수를 방지하고 사고를 예방할 수 있을지 생각해 본 적이 있는가? 위의 것들을 다 생각해봤지만, 실수를 방지하고 사고를 예방하기 위해 투입되는 노력과 시간 등의 비용이 아깝다고 생각한 적이 있는가? 물론 실수를 방지하고 사고를 예..

    [DB] SQL Injection (SQL 인젝션)

    정의 SQL Injection은 응용 프로그램 보안 상의 허점을 의도적으로 이용해 악의적인 SQL문을 실행되게 함으로써 데이터베이스를 비정상적으로 조작하는 코드 인젝션 공격 방법입니다. SQL Injection을 하기 위해서는 아래의 조건을 만족해야 합니다. 웹 애플리케이션이 DB와 연동되어 있다. 사용자가 입력한 외부 입력값이 SQL 구문의 일부로 사용된다. 사실 현대 웹 애플리케이션의 대부분은 위 조건들을 충족하고 있기 때문에 SQL Injection의 대상이 될 수 있습니다. 원인 데이터베이스와 연동된 웹 애플리케이션에서 입력된 데이터에 대한 유효성 검증을 하지 않아 발생하는 취약점으로, 취약한 웹 애플리케이션은 사용자로부터 입력된 값을 필터링 과정 없이 넘겨받아 동적 쿼리(Dynamic Query..