목록전체 글 (101)
최용우
나를 괴롭혔던 정렬 알고리즘. 병합정렬과 함께 가장 빠른 정렬 알고리즘이다. 다만 안정성은 병합정렬이 좋아서 대다수의 내장함수들은 병합정렬을 채택한다. 분명 2년전 자료구조 수업때 java로 구현해봐서 당연히 알고있다고 착각하고 있었다. 파이썬으로 간만에 재미삼아 구현하려니 안된다. 진짜 실력의 부족함을 매일 느낀다. 나는 언제쯤 잘해질 수 있을까. 추상적으로는 아래와 같은 절차를 따르면 된다. 1. pivot 원소 지정(어디든 상관 없음, 일반적으로 처음 or 끝 or 중간) 2. 배열 양끝단에 두개의 포인터를 지정한다. 일반적으로 i, j 3. 피벗원소보다 작은 원소는 왼쪽으로, 큰건 오른쪽으로 보낸다. - 원소 교체 후 i++, j-- 4. 3번을 반복하다 i > j 가 엇갈리면 i 혹은 j를 기준..
현재 많은 사람들이 엑셀과 MS 워드를 쓰듯이 짧게는 5년, 길게는 10년 뒤 모든 사람들이 컴퓨터 언어 1가지 이상은 다루는 시대가 올 것이다. 왜냐하면 단순 반복적인 업무는 컴퓨터가 제일 잘하고 업무의 많은 부분들을 컴퓨터로 대체하고자 하는 시도들이 늘어날 것이기 때문이다. 어떤 사람은 컴퓨터나 로봇에게 일자리를 빼앗긴다고 걱정한다. 일리 있다. 대다수의 사람들이 컴퓨터 프로그래밍에 익숙하지 않고 이를 활용하여 부가가치를 창출하는 법을 모르기 때문이다. 또한 학습의 문턱이 낮아졌다고 하더라도 여전히 자유롭게 사용하기엔 어려운 부분이 존재한다. 현재의 하는 일이 노동집약적이지만 그 삶에 만족하는 사람들에게 로봇과 컴퓨터의 존재는 두렵다. 우리 아버지가 그렇다. 나의 아버지는 현장직이다. 본인의 일에 만..
2022년 1회차 정보처리기사 자격증을 취득했다. 난이도는 필기와 실기 모두 평이했다. 평소에도 꾸준히 개발 공부를 하는 학부생 수준이라면 쉽게 취득할 수 있다고 생각한다. 첨언을 하자면 정보처리기사 자격증을 공부하며 보안과 네트워크 공부를 할 수 있었다. 웹개발을 하다보면 프레임워크에 치중하는데 해결 안되는 대부분의 문제들은 인프라 지식 부족에 기인하는 경우가 많다. 따라서 시스템이나 네트워크 공부를 소홀히 하면 안되겠다는 생각을 했다. 요새는 IT열풍으로 많은 비전공자들이 정보처리기사 시험에 응시한다. 매우 바람직한 현상이라고 생각한다. 물론 자격증과 실력은 비례하지 않지만. 나는 모든 사람이 컴퓨터 공부를 해야한다고 생각한다. 워드와 엑셀이 매우 기본적인 업무 도구가 된것처럼 프로그래밍언어도 훗날 ..
장고 모델을 설정하다 보면 아래 3가지 옵션을 자주 사용한다. default (기본값) blank (벨리데이터에서 빈값 체크) null (데이터베이스 저장될 때 빈값 체크) ex) default = 0, blank = True, null = False 위와 같은 상황에서 값을 주지 않고 저장을 시도하면 0으로 저장된다. ex) blank = True, null = False 위와 같은 상황에서 값을 주지 않고 저장을 시도하면 에러 ex) blank = True, null = True 위와 같은 상황에서 값을 주지 않으면 null 값을 저장
여지껏 DB를 업데이트 할 때 케이스별로 update view를 작성하는 우매한 실수를 저지르고 있었다. 장고의 Serializer에서는 칼럼을 read_only=True 처리 하지 않으면 "This Field is required"오류에 직면한다. 시리얼라이저를 정의할 때 칼럼에 required = False를 선언하면 null 혹은 none 값이 있어도 에러가 생기지 않는다. 그런데 받아오는 Json에 아예 칼럼조차 존재하지 않을 때는 어떻게 해야할까? 나는 모든 케이스에 대해서 view를 새로 작성해야 하는 줄 알았다. 그러나 Serializer의 partial기능을 쓰면 쉽게 해결이 가능하다. 함수형 view에선 serializer = MySerializer(queryset, data={'cont..