본문 바로가기

전체 글

(68)
[django] FormView의 사용자 입력 처리과정 1. FormView 소개 장고의 FormView는 반복된 작업을 줄이기 위해서 장고가 제공하는 클래스형 뷰인 Generic View 중 하나이다. 폼이 주어지면 해당 폼을 보여주고, 사용자가 폼에 값을 입력하면 처리하여 다른 url로 리다이렉트한다. 개발자가 입력해야 할 사항은 다음 네 가지다. form_class: 사용자에게 보여줄 폼을 정리한 forms.py 파일 내 클래스 명 template_name: 폼을 포함하여 렌더링 할 템플릿 파일 이름 success_url: 폼 처리가 정상적으로 되었을 때 사용자를 리다이렉트 시킬 URL form_valid(): 유효한 폼 데이터를 처리할 로직 2. 빈 Form 보여주기 사용자는 최초로 폼을 조회하기 위해 GET 메소드로 요청을 보낸다. 요청을 받은 Fo..
파이썬 딕셔너리 사용법 & 유용한 모듈 1. 딕셔너리란? 키/값 구조로 이루어진 자료구조, 평균 O(1)의 시간복잡도를 가지는 해시테이블로 구현되어 있다. 2. 사용법 1) 선언 a = {} #빈 딕셔너리 선언 a = {'key1': 'value1', 'key2': 'value2'} 2) 조회 >>> a['key2'] 'value2' >>> a.keys() #모든 key 조회 dict_keys(['key1', 'key2']) >>> a.values() #모든 value 조회 dict_values(['value1', 'value2']) >>> a.items() #모든 value 조회 dict_items([('key1', 'value1'), ('key2', 'value2')]) >>> 'key1' in a # key가 존재하는지 확인 True 3..
<잘 쉬는 기술>을 읽고 휴식의 필요 우리에게는 더 많은 휴식이 필요하다. 나는 항상 바쁘게 살지만 바쁜 만큼 성과가 나오지 못하고, 피곤하다는 생각이 자주 든다. 충분한 휴식은 행복뿐만 아니라 생산성 향상을 위해서도 필요하다. 또한 휴식은 의사결정 능력, 기억력을 향상하고 우울증의 위협을 낮춰준다. 이 책은 2만여 명을 대상으로 시행한 조사를 바탕으로 가장 인기 있는 10가지 휴식을 골라 그 휴식에 대해 심리학적인 관점에서 분석한다. 명상, TV 시청, 목욕, 산책, 잡념, 독서, 음악 감상, 아무것도 안 하기, 혼자 있기가 그 대상이다. 저자는 바쁜 생활 속에서도 휴식을 꼭 취해야 한다고 말한다. 시간이 없다면 아주 잠깐 딴 생각을 하거나 잠깐이라도 팔을 쭉 펴고 스트레칭을 하는 것도 도움이 된다고 말한다. 창문 밖을 잠깐 ..
<호모 데우스>를 읽고 책 소개 인간이 세상을 지배하게 된 이유를 독창적인 시각으로 분석한 로 유명한 타고난 이야기꾼 유발 하라리의 후속작이다. 전작은 인류의 역사를 이야기했다면, 이 책은 앞으로 인류는 어디로 향할 것인지를 다루고 있다. 작가는 책에서 인간은 지금까지 기아, 전쟁, 역병을 대처하는데 역량을 쏟았다면 앞으로 인류는 불멸, 행복, 신성을 추구할 것이라고 예측한다. 인류를 지배하는 종교 인류를 지배하고 있는 종교는 무엇일까? 저자는 인간의 생명, 행복, 힘을 신성하게 여기는 인본주의이라고 말한다. 나는 기독교나 불교처럼 죽음 이후에 대한 약속이 있어야 종교라고 생각했다. 하지만 저자에 따르면 종교란 사회 질서 유지를 위해 어떤 사실을 주장하고, 이에 따른 실천적 지침을 지시하는 모든 사상을 가리킨다. 예를 들어 기..
<몰입의 즐거움>을 읽고 책 소개 세계적 심리학자이자 행복에 대한 전문가 칙센트미하이가 쓴 책이다. 그는 어떤 일에 모든 정신을 집중했을 때 시간이 순식간에 지나가는 것을 몰입 경험이라고 한다. 저자는 몰입 경험을 통해 인간은 성장해나갈 수 있고, 더 나은 삶을 살아갈 수 있다고 말한다. 몰입, 바람직한 삶의 방식 바람직한 삶은 무엇일까? 이 책은 이런 질문으로부터 시작한다. 저자는 바람직한 삶이란 아까운 시간과 재능을 허비하지 않고 나만의 개성을 발휘하면서 사는 충실한 경험이라고 말한다. 이를 위해서 한 가지 대상에 정신을 집중하는 몰입 경험이 필요하다. 누구나 자신이 좋아하는 게임을 하거나, 마감 기한 직전에 과제를 할 때 시간이 쏜살같이 지나가는 경험을 해보았을 것이다. 이렇게 물 흐르듯이 행동이 자연스럽게 이루어지는 몰입..
<파친코>를 읽고 1. 책 소개 1920년대 한국인들이 일본으로 건너가 살아간 삶의 모습을 그린 소설이다. 재미교포가 미국에서 영어로 먼저 출판해 베스트셀러가 되어, 한글로 번역되어 출판되었다. 2022년 3월에는 애플 tv+에서 드라마로 제작되어 공개되었다. 2. 간략한 줄거리 양진과 훈이는 하숙집을 운영한다. 두 부부는 갖은 고생을 하면서도 딸 선자를 사랑으로 키운다. 하지만 선자는 유부남인 한수의 아이를 임신하고 만다. 다행히 선자는 이삭과 결혼할 수 있었고, 선자와 이삭은 일본으로 떠난다. 한수의 핏줄인 노아, 이삭의 핏줄인 모자수가 태어나고 선자는 노점상을 하며 자식을 키워낸다. 이삭은 신사 참배 문제로 고문 끝에 죽고 만다. 선자 가족은 야쿠자 두목이 된 한수가 남몰래 도운 덕분에 힘든 환경에서도 살아남을 수 ..
[파이썬 알고리즘] 25. 부분 집합 1. 문제 Leetcode 78. subsets 정수형 배열 nums가 주어지면, 부분 집합을 모두 리턴하여라. 2. 풀이 DFS를 이용해서 탐색을 진행한다. 먼저 중복되지 않는 부분집합을 만들기 위해서는 한번 고른 원소 뒤에 있는 원소만 고른다는 규칙을 설정해주어야 한다. 이를 확인하기 위해, index라는 변수에 지금까지 탐색한 원소 중 가장 뒤에 있는 원소의 index를 저장한다. 탐색은 index 이후의 원소에 대해서만 진행한다. 그리고 변수 path에는 현재 탐색 중인 부분집합을 저장한다. path에 index 이후의 원소를 하나씩 추가하고, 다시 dfs 함수를 호출하는 방식으로 탐색을 진행한다. 또한 모든 부분 집합을 리턴해야 함으로 dfs 함수가 실행될 때마다 path를 result에 추가하..
[파이썬 알고리즘] 24. 이진 트리 합의 범위 1. 문제 Leetcode 938. 938. Range Sum of BST 이진 탐색 트리가 주어졌을 때 low 이상, high 이하의 값을 가진 노드의 합을 구하여라. 2. 재귀 구조 DFS를 이용한 풀이 이진 탐색 트리의 정의는 지난 글에서 정리했고, 간단히 말하면 정렬된 트리라고 할 수 있다. https://baechu-story.tistory.com/41 [파이썬 알고리즘] 23. 이진 탐색 트리(BST)를 더 큰 수 합계 트리로 1. 문제 leetcode 1038. Binary Search Tree to Greater Sum Tree 이진 탐색 트리(BST)의 루트가 주어지면, 해당 트리의 값을 트리에서 자기 자신보다 큰 수의 합 + 자기 자신의 값으로 바꾸어라. 2. 풀이 과정.. baechu..