전체 글

좋은사람의 개발 노트 입니다.
웹 백엔드/Django & Flask

Django(장고) - 에러 페이지 처리(커스터마이징 404, 500 외)

Django(장고) - 에러(Error) 페이지 처리 (1). Step1 - DEBUG(디버그) 모드 종료 ① DEBUG = True 일 경우 : 웹 서버의 정보가 브라우저에 노출 되므로 실 서버 배포시는 반드시 DEBUG = False ② 서버쪽에서 자체 에러 페이지를 보여주기 때문에 에러 핸들러(Handler) 를 등록해야 한다. ③ 2가지 작업은 setting.py, urls.py 두 파일에서 작업한다. 1 2 3 4 5 6 7 8 // settings.py DEBUG = False #디버그 모드를 Disable 하자. ......... ......... Colored by Color Scripter cs (2). Step2 - 핸들러(Handler) 등록 1 2 3 4 5 6 7 8 9 10 11..

웹 프론트/Javascript & ECMA

Javascript(자바스크립트) - Null, Undefined, 데이터형 비교 차이

Javascript(자바스크립트) - Null, Undefined, 데이터형 비교 (1). Javascript - 데이터형에 대한 간단 설명 ① false 반환하는 값 : '', "" , null , undefined, 0, NaN ② true 반환하는 값 : 위에 목록을 제외한 나머지 ③ Javascript 는 타 언어에 비해 데이터형에 대해서 자유로운 언어이다. (2). 데이터형 변환 비교 1 2 3 4 5 6 7 8 9 10 11 12 13 // Number 형 var value1 = 7; console.log(value, typeof value1); // String 형 var value2 = "7"; console.log(value, typeof value2); // 비교 console.log(..

언어/Python

파이썬 알고리즘 - 계단을 오르는 방법 횟수(재귀함수)

개발자 면접 트레이딩 - 파이썬 알고리즘 문제(15) (1). 개발자 면접 트레이닝 - 계단을 오르는 방법 횟수 구하기(재귀함수) ① 재귀함수 숙지 후 실습 ② 응용하면 팩토리얼, 순열 계산 등 여러분야에서 활용된다. (2). 소스 코드 PYTHON #countWays.py def countWays(n): if(n < 0): return 0 elif n == 0: return 1 else: return countWays(n-1) + countWays(n-2) + countWays(n-3) #재귀함수 #만약 4칸의 계단이 있다면 print(countWays(4)) (3). 소스 코드 분석 ① 5 라인 : 재귀함수 countWays 메소드 선언 ② 12 라인 : 함수를 리턴(return) ③ 17 라인 : ..

개발도구/Git

Git - 맥(Mac OS X) 버전 설치 및 기본 설정

Git - 맥(Mac OS X) 버전 설치 및 기본 설정 (1).Git 다운로드 및 설치 공식 홈페이지 링크 클릭 후 아래 그림과 같이 설치 Mac OS X 선택! pkg 파일 클릭! 설치 화면 계속 클릭! 설치 전 계정 정보 확인! 최종 설치 완료! (2). 설치 중 참고사항 * 알수없는 개발자 오류 발생 후 설치 불가시 아래와 같이 설정한다. 시스템 환경 설정 클릭! 보안 및 개인 정보 보호 클릭! 확인 없이 열기 클릭! (3). 실행확인 터미널 에서 실행git version git status (4). 기타사항 * 최초 설정은 아래와 같다. * git init : 프로젝트 활성화(해당 프로젝트 폴더 이동 후) * git config --global user.name "본인 이름" * git conf..

개발도구/Git

Git - 윈도우(windows) 버전 설치 및 기본 설정

Git - 윈도우(windows) 버전 설치 및 설정 후 실행 (1).Git 다운로드 및 설치 공식 홈페이지 링크 클릭 후 아래 그림과 같이 설치 윈도우 선택! 윈도우 버전에 맞게 다운로드 받는다. Advanced context menu 를 선택하면 마우스 바로가기 메뉴에 추가되서 더욱 편하게 사용 가능! 마우스 바로가기 메뉴에 추가 된 것을 확인! * Use Git Bash only : Git Bash 실행 * Run Git from the windows Command Prompt : 윈도우 cmd로 실행 * Run Git and included Unix tools from the Windows Command Prompt : Bash + Cmd 실행 (추천) (2). 실행 방법 * 윈도우즈 프로그램 목..

언어/Python

파이썬 알고리즘 - 비트 위치 A,B 로 비트열 M을 N으로 삽입

개발자 면접 트레이딩 - 파이썬 알고리즘 문제(14) (1). 개발자 면접 트레이닝 - 비트 위치 A,B 로 비트열 M을 N으로 삽입 ① 비트(Bit)구조 이해하는 것이 중요 ② 비트 연산자에 대해서 개념 숙지 후 코딩 실습 ③ 비트열 삽입 관련 코딩 문제는 자주 출제 된다. ④ 예를들어 스택 사이즈가 M = 10011, N = 10000000000 일 경우 i = 1 , j = 7 이 주어졌을 때 결과는 10000100110 출력 (2). 소스 코드 PYTHON #updateBits.py """ N = 10000000000 M = 10011 i = 1 j = 7 output : 10000100110 """ def printBinary(num): b_num = bin(num) print(b_num[2:]..

언어/Python

파이썬 알고리즘 - 스택(Stack)으로 큐(Queue)를 구현하기

개발자 면접 트레이딩 - 파이썬 알고리즘 문제(13) (1). 개발자 면접 트레이닝 - 스택(Stack)을 Set(리스트)으로 구현하기 ① 큐(Queue : 선입선출) 구조 이해하는 것이 중요 ② Enqueue, Dequeue 개념 파악 후 아래 코드 실습 ③ 스택 공간에 데이터가 가득 찰 경우 스택 자체를 리스트로 구성 ④ 예를들어 스택 사이즈가 3, 2, 1 순서로 Enqueue 후 Dequeue 결과는 1, 2, 3 순서로 출력 (2). 소스 코드 PYTHON #two_stack_make_queue.py import unittest class Stack: def __init__(self): self.items = [] self.max = 3 def push(self, item): self.items..

개발도구/Atom & VScode

아톰(Atom) 에디터 - 터미널(Terminal) 설치 후 Git , Npm 등 실행

아톰(Atom) 에디터 - 터미널(Terminal) 설치 후 Git 실행 방법 (1). 아톰 에디터 실행 및 패키지 설치 File > Settings > Install -> terminal 검색 후 설치 (2). 실행 방법 *패널 왼쪽 하단 + 모양 클릭 *단축키 : ctrl + ` 입력을 통해 실행 (3). 실행확인 (4). 기타사항 * 커맨드 쉘(osx, window)를 통해서 Git , Npm 등 CLI 서비스를 쉽게 사용할 수 있다. * 터미널 실행이 안될 경우 패키지 설치 후 아톰 에디터를 재 실행하면 정상적으로 동작한다. * 아톰 에디터(Atom Editor) 개발 편의성 증가

언어/Python

파이썬 알고리즘 - 스택(Stack)을 Set(리스트)으로 구현하기

개발자 면접 트레이딩 - 파이썬 알고리즘 문제(12) (1). 개발자 면접 트레이닝 - 스택(Stack)을 Set(리스트)으로 구현하기 ① 스택(Stack) 구조 이해하는 것이 중요 ② Push, Pop, Peek 개념 파악 후 아래 코드 실습 ③ 스택 공간에 데이터가 가득 찰 경우 스택 자체를 리스트로 구성 ④ 예를들어 스택 사이즈가 3 이라면 [2, 3, 7, 9, 12] 의 스택리스트는 [2, 3, 7] , [9, 12] -> 2개로 구성 (2). 소스 코드 PYTHON #list_of_stack.py import unittest class Stack: def __init__(self): self.items = [] self.max = 3 def push(self, item): self.items...

언어/Python

파이썬 알고리즘 - 스택(Stack)에서 최소값 출력하기

개발자 면접 트레이딩 - 파이썬 알고리즘 문제(11) (1). 개발자 면접 트레이닝 - 스택(Stack)에서 최소값 출력하기 ① 스택(Stack) 구조 이해하는 것이 중요 ② Push, Pop, Peek 개념 파악 후 아래 코드 실습 ③ 스택은 개념 상 사용 하는 곳이 많다. (ex : 브라우저 뒤로가기 등) ④ 예를들어 [2, 3, 7, 9, 12] 의 최소값은 2 출력 (2). 소스 코드 PYTHON #stack_min.py import unittest class stack(): def __init__(self): self.items = [] self.mins = [] self.min = None def push(self, item): self.items.append(item) if self.min ..

언어/Python

파이썬 알고리즘 - 링크드리스트(LinkedList) 회문(대칭) 출력

개발자 면접 트레이딩 - 파이썬 알고리즘 문제(10) (1). 개발자 면접 트레이닝 - 링크드리스트(LinkedList) 회문(대칭) 출력하기 ① 링크드리스트(LinkedList)를 역으로 출력하는 것이 포인트 ② 링크드리스트를 정확히 생성하고 역으로 출력하는 것이 중요 ③ 링크드리스트의 회문(역)을 리턴 ④ 예를들어 [2, 3, 5, 3, 2] 의 회문은 [2, 3, 5, 3, 2] 으로써 결과값은 같다. (2). 소스 코드 PYTHON #palindrome_linkedlist.py import unittest class Node: def __init__(self, item): self.val = item self.next = None class LinkedList: def __init__(self, ..

OS/Windows 10

윈도우10 팁 - SSD 최적화(서피스프로, 노트북, PC 가이드)

윈도우10 SSD 최적화 가이드 (1). 기본 설명 * 아래의 내용 잘 따라하면 된다. -> 성능 향상

언어/Python

파이썬 알고리즘 - 두 링크드리스트(LinkedList)의 합(SUM) 계산

개발자 면접 트레이딩 - 파이썬 알고리즘 문제(9) (1). 개발자 면접 트레이닝 - 두 개의 링크드리스트(LinkedList)의 합(SUM) 계산 ① 단순해 보이지만, 난이도가 있는 알고리즘 문제 ② 두 링크드리스트의 각 자리수를 계산하는 것이 중요 ③ 합산 된 링크드리스트의 합을 리턴 ④ 예를들어 [7, 1, 6] + [5, 9, 2] 두 링크드리스트의 합 -> 912 출력 (2). 소스 코드 PYTHON #sum_linkedlist.py import unittest class Node: def __init__(self, item): self.val = item self.next = None class LinkedList: def __init__(self, item): self.head = Node(..

언어/Python

파이썬 알고리즘 - 선택 노드를 기준으로 링크드리스트(LinkedList) 분할

개발자 면접 트레이딩 - 파이썬 알고리즘 문제(8) (1). 개발자 면접 트레이닝 - 특정 노드를 입력 받아 링크드리스트 분할 후 병합 ① 링크드리스트는 다음 노드의 위치를 가르키고 있는 포인트 보유 ② 분할(Split) 후 다시 병합(Merge)하는 것이 중요 ③ 첫 번째 노드(Node)의 위치를 지정하는 것이 중요 ④ 예를들어 [6, 3, 8, 1, 5, 9] 에서 5 노드 기준으로 나누면 -> [3, 1, 5, 6, 8, 9] 출력 (2). 소스 코드 PYTHON #split_merge_linkedlist.py import unittest class Node: def __init__(self, item): self.val = item self.next = None class LinkedList: d..

언어/Python

파이썬 알고리즘 - 링크드리스트(LinkedList)에서 끝 에서 N 번째 값

개발자 면접 트레이딩 - 파이썬 알고리즘 문제(7) (1). 개발자 면접 트레이닝 - 링크드리스트에서 끝에서 지정 하는 노드의 값 구하는 알고리즘 ① 링크드리스트는 다음 노드의 위치를 가르키고 있는 포인트 보유 ② 파이썬 클래스 Next 변수 활용 ③ 첫 번째 노드(Node)의 위치를 지정하는 것이 중요 ④ 예를들어 [3, 4, 5, 6, 7, 7, 8, 9, 9] 에서 끝에서 2번째의 노드의 값은 은 -> 9 출력 (2). 소스 코드 PYTHON #last_n_val_linkedlist.py import unittest class Node: def __init__(self, item): self.val = item self.next = None class LinkedList: def __init__(s..

[좋은사람]
좋은사람의 개발 노트