본문 바로가기
728x90
반응형

분류 전체보기362

프로그래머스 _ 같은 숫자는 싫어 프로그래머스 _ 같은 숫자는 싫어 programmers.co.kr/learn/courses/30/lessons/12906 코딩테스트 연습 - 같은 숫자는 싫어 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 programmers.co.kr 같은 실수를 반복하지 않기 위해 의식의 흐름을 적는다. 가장 먼저 든 생각 → 중복 제거? Python set을 이용하자! 하지만 10초만에 문제점이 떠올랐다. 1. set은 중복을 몽땅 제거해버린다! 우리가 원하는 건 연속된 숫자만 제거하는 것. 2. set은 dic 형태를 return 한다! 우리가 원하는 건 l.. 2021. 2. 14.
Django REST Framework _ ViewSets & Router 이용하기 REST framework는 ViewSets라는 추상 클래스를 제공한다. 이 녀석을 통해 개발자는 API의 상호작용이나 상태별 모델링에 집중할 수 있고, URL구조는 기본 관례에 의해 자동적으로 설정된다...고 한다! (무슨 소리인지 원) 그래서 ViewSets이 뭔디? → View와 거의 유사! 다만 GET과 PUT은 지원하지 않고, READ와 UPDATE 메서드를 지원한다. ViewSets는 메서드가 실제 뷰로 구체화될 때 이를 연결해주기만 하며, 복잡한 URL의 경우 Router 클래스를 사용해 처리한다고 한다. 무슨 소리인지 모르겠으니... 지금껏 만들 view들을 살펴보며 ViewSets을 이용해 refactoring 해볼 예정! www.django-rest-framework.org/tutori.. 2021. 2. 10.
단위 테스트를 이용한 홈페이지 테스트 Django 애플리케이션에서 단위 테스트를 진행해보자! 그런데 그 전에, 단위 테스트는 뭐고 기능 테스트는 뭘까? 기능 테스트는 사용자 관점에서 애플리케이션 외부를 테스트하는 것이고, 단위 테스트는 프로그래머 관점에서 그 내부를 테스트한다는 것이다. 책에서 다루는 TDD 접근법은 요 양쪽을 모두 적용한다! 즉 작업 순서는... 1. 기능 테스트를 작성해 사용자 관점의 새로운 기능성을 정의. 2. 기능 테스트가 실패하고 나면 어떻게 코드를 작성해서 통과할지를 연구. (이 시점에서 하나 또는 그 이상의 단위 테스트를 이용해 어떻게 코드가 동작해야하는지 정의 한다) 3. 단위 테스트가 실패하고 나면 단위 테스트를 통과할 수 있을 정도의 최소한의 코드만 작성. (기능 테스트가 완전해질 때까지 과정 2와 3을 반.. 2021. 2. 10.
debug-tool-bar 이용하기 django 관련 블로그를 읽다 보면 (특히 실무, 큰 프로젝트에서) ORM관련 이슈가 많이 발생함을 볼 수 있었다. 이를 개발 단계에서 알 수 있는 방법은 없을까? 우리의 친절한 django가 만들어준 django-debut-toolbar를 이용해보자. 우선 pip install로 설치! settings.py의 INSTALLED_APP에 debug_toolbar를 추가해주자. 다음은 프로젝트 전체 urls.py에 관련 url을 추가! 기존에 적었던 urlpatterns 밑에 그냥 추가해주면 된다. 요 settings는? django.conf 에서 import! django-debug-toolbar는 주로 middleware에서 활동. 따라서 settings.py의 MIDDLEWARE에도 다음과 같이 추.. 2021. 2. 9.
JaveScript _ Ajax 맛보기 비동기 방식을 사용하기 위해 Ajax의 맛을 봐보자! 전체적인 흐름! 하나하나 무슨 소리인지 알아보자. js가 Ajax를 사용할 때 쓰는 객체인 XMLHttpRequest를 생성! 객체이므로 new를 통해 만들어 준거다! XMLHttpRequest 객체의 open() 메서드를 사용해 해당 요청의 전송 방식, 전송 위치, 방식 을 지정해준다. 배치 순서는 → open(전송 방식 , 전송 위치 , 방식) 형태로! 역시 XMLHttpRequest 객체의 send() 메서드를 통해 XMLHttpRequest를 보낼 수 있다! 성공적으로 보내질 경우 responseText란 속성으로 답이 오는데, 요 녀석도 XMLHttpRequest 객체의 속성! 아하... 이를 통해 지난번 PNU Quiz에서 사용된 Ajax .. 2021. 2. 6.
Project 100 _ PNU Quiz Project 100. 한 달 만에 100명이 이용하는 페이지 만들기. 1. Why? 방학 동안 코딩 공부에 매진하기로 다짐했었다. 도서관에서 django, JavaScript 관련 책을 빌려 코드를 따라 치고 개념을 정리했다. 그러던 어느 날, django 개발자 공고와 외주 모집글을 보게 되었다. 그곳에서 요구하는 사항은... 각종 기술과 최소 3년 이상의 경력 및 포트폴리오. 기술과 경력은 지금 당장 어찌할 수 있는 부분이 아니니, 남은 것은 포트폴리오. 자신 있는 포트폴리오를 위해서는? 결과물을 쌓아나가야겠다는 생각이 들었다. 그 형태가 크던 작던. 누군가에게 내보이고, 반응을 측정하고, 피드백을 받아보는 경험. 이것이 반드시 필요하겠다는 생각이 들었다. 그래서 목표로 세운 것이, Project .. 2021. 2. 6.
JavaScript _ 문서 객체 모델 문서 객체 모델을 사용하면 HTML 페이지에 태그를 추가, 수정, 제거할 수 있다! 1. DOM 관련 용어 문서 객체 모델(DOM)! 그런데 태그니, 문서 객체니, 노드니 하는 용어가 등장한다. 우선 태그는? 우리에게 익숙한, HTML 페이지에 존재하는 , 같은 녀석들! 이 태그를 js에서 이용할 수 있는 객체로 만들면? → 요놈이 문서 객체다! (var header = document.getElementById('header')시 header가 문서 객체! document 객체를 사용한걸 이제 안다!) 마지막으로 노드 란... HTML 페이지는 위 그림처럼 트리 모양으로 나타낼 수 있다. 이 때 그림 속 각 요소들을 노드 라고 부른다! 노드는 요소 노드와 텍스트 노드로 구분할 수 있는데, 요소 노도는 .. 2021. 2. 5.
주소로 위도경도 찾기 with Jupyter Notebook 얼마 전(약 4달 전) 시도했던 주소로 위도 경도 찾기! 2020/11/06 - [행요 👼] - 주소로 위도 경도 찾기 카카오 맵에서 주소 마커를 찍어주기 위해 위도 경도가 필요했다. 하지만 가지고 있는 데이터는... 주소 형태의 엑셀 파일! 따라서 주소를 위도 경도로 변환시켜줘야 했는데... Geocoder-Xr에서도 정확히 변환되지 않는 주소가 많았다! 따라서 두 번째 방법, jupyter notebook이라는 녀석을 사용해 볼 예정. velog.io/@sekkaro96/Anaconda-Python%EA%B3%BC-Jupyter-notebook-%EC%84%A4%EC%B9%98 Anaconda Python과 Jupyter notebook 설치 데이터 사이언스와 머신러닝을 위한 기본 툴 설치 velog.. 2021. 2. 5.
JavaScript _ 브라우저 객체 모델 브라우저 객체 모델(BOM)이란? 웹 브라우저와 관련된 객체의 집합! 그림처럼 최상위의 window, 하위의 location, navigator, history, screen, document 객체가 있다! 이중 document 객체와 관련된 객체의 집합을 DOM이라 부르는 것! 1. window 객체 브라우저 기반 js의 최상위 객체인 window 객체! open() 메서드를 통해 새로운 window 객체를 생성할 수 있으며, 만들어진 객체에 접근할 수도 있다. 역시나 다양한 기본 메서드를 제공하고 있으며, 위 예시처럼 작성하면... 새로운 window 객체가 뜨며, 1초마다 왼쪽으로 10px 아래쪽으로 10px씩 이동한다! 참말로 신기하고만. 2. screen 객체 다음은 운영체제 화면의 속성을 가지.. 2021. 2. 5.
728x90
반응형