HTTP Response Status Code (HTTP 응답 상태 코드) Status Code 란? HTTP response is called the status line and includes a numeric status code (such as "404") and a textual reason phrase (such as "Not Found"). The way the user agent handles the response depends primarily on the code, and secondarily on the other response header fields. Custom status codes can be used, for if the user agent encounters a cod..
HTTP Request Method (HTTP 요청 방법) HTTP 는 GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH Reqeust Method 가 있으며, 상황별 알맞게 사용을 권장한다. GET The GET method requests a representation of the specified resource. Requests using GET should only retrieve data and should have no other effect. (This is also true of some other HTTP methods.)[1] The W3C has published guidance principles on this distin..
HTTP (HyperText Transfer Protocol) 란? HTTP는 클라이언트와 서버 사이에 이루어지는 요청/응답(request/response) 프로토콜이다. W3 상에서 정보를 주고받을 수 있는 프로토콜이다. 주로 HTML 문서를 주고받는 데에 쓰인다. 주로 TCP를 사용하고 HTTP/3 부터는 UDP를 사용하며, 80번 포트를 사용한다 예를 들면, 클라이언트인 웹 브라우저가 HTTP를 통하여 서버로부터 웹페이지(HTML)나 그림 정보를 요청하면, 서버는 이 요청에 응답하여 필요한 정보를 해당 사용자에게 전달하게 된다. 이 정보가 모니터와 같은 출력 장치를 통해 사용자에게 나타나는 것이다. 추가로, HTTP는 여러가지 버전이 있다. HTTP의 버전은 이후 알아보기로 한다. 클라이언트 요청 ..
Diagrams 라는 Python Github 오픈소스 라이브러리 이며, 이 라이브러리는 소스 작성을 통해서 그림을 그려주는 것을 정말로 간단하게 해준다. Github 주소 : github.com/mingrammer/diagrams mingrammer/diagrams :art: Diagram as Code for prototyping cloud system architectures - mingrammer/diagrams github.com Docs 주소 : diagrams.mingrammer.com/docs/guides/diagram Diagrams · Diagram as Code Diagram as Code diagrams.mingrammer.com 이하 샘플로 작성한 코드. from diagrams ..
정의 def all(*args, **kwargs): # real signature unknown """ Return True if bool(x) is True for all values x in the iterable. If the iterable is empty, return True. """ pass all() 함수는 iterable 안의 값이 모두 참이거나 empty 라면 return True. 그렇지 않다면 return False 를 한다. 실행결과 sample = [ [], [0], ['0'], [1], ['1'], [0, 1, 2], [1, 2, 3], [-0], [-1], [True], [False], ] for s in sample: print(s, '=>', all(s)) """ [] =..
abs(x) 함수는 입력 받은 값의 절대값을 return 해주는 함수이다. 정의 def abs(*args, **kwargs): # real signature unknown Return the absolute value of the argument. 실행결과 sample = [ 10, - 10, 10.5, - 10.5, 0, 0.0, ] for s in sample: print('{} => {}'.format(s, abs(s))) """ 10 => 10 -10 => 10 10.5 => 10.5 -10.5 => 10.5 0 => 0 0.0 => 0.0 """ 이런식으로도 사용이 가능하다. from operator import __abs__ __abs__(10) 구현단 PyObject * PyNumber_Ab..
MariaDB sharding using docker (도커를 이용한 마리아DB 세팅) https://github.com/sanggi-wjg/docker_mariadb_sharding sanggi-wjg/docker_mariadb_sharding Contribute to sanggi-wjg/docker_mariadb_sharding development by creating an account on GitHub. github.com
Django chatting demo app(장고 이용 채팅 데모) https://github.com/sanggi-wjg/django_chat_demo sanggi-wjg/django_chat_demo Contribute to sanggi-wjg/django_chat_demo development by creating an account on GitHub. github.com Django with MonggoDB (장고와 몽고 DB 사용) https://github.com/sanggi-wjg/django_mongodb sanggi-wjg/django_mongodb django_mongodb. Contribute to sanggi-wjg/django_mongodb development by creating..
통신사별 DNS IP 리스트 (구글, SKT, KT, LG) 구글 (Google Public) 기본 DNS 서버 : 8.8.8.8 보조 DNS 서버 : 8.8.4.4 SKT 기본 DNS 서버 : 219.250.36.130 보조 DNS 서버 : 210.220.163.82 KT 기본 DNS 서버 : 168.126.63.1 보조 DNS 서버 : 168.126.63.2 LG 기본 DNS 서버 : 164.124.101.2 보조 DNS 서버 : 203.248.252.2
5S 철학... 1. 정리 또는 조직화(정렬) : 적절한 명명법 방법 등을 통해 무엇이 어디에 있는지 알아야 한다. 2. 정돈 또는 체계화 : 코드는 누구나 예상하는 위치에 있어야 한다. 그렇지 않다면 위치 정돈을 하여라. 3. 청소 또는 정리 : 소스에 과거 이력이나 주석으로 처리한 코드 등은 제거하기 바란다. 4. 청결 또는 표준화 : 프로젝트 내 일관적인 구현 스타일과 기법을 가져라. 5. 규율 또는 생활화 : 관례를 따르고, 변경이 필요하다면 기꺼이 변경 하여라. 맞는 말도 있는 것 같고 아닌 말도 있는 것 같고...
현재 디렉토리에서 django_sample 이라는 디렉토리 를 생성 > django-admin startproject django_sample django_sample 디렉토리에 생성된 파일 및 구조 (https://docs.djangoproject.com/en/2.2/intro/tutorial01/) django_sample / manage.py django_sample/ __init__.py settings.py urls.py wsgi.py MySQL 을 사용할 것이므로 settings.py 소스 수정 과 패키지 설치가 필요하다. # Database # https://docs.djangoproject.com/en/2.2/ref/settings/#databases # DATABASES = { # 'de..
Python 3.7 설치 1. 패키지 설치 yum install gcc openssl-devel libffi-devel bzip2-devel wget 2. 해당 버전 다운로드(https://www.python.org/ftp/python/) wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz 3. 압축 해제 tar zxf Python-3.7.4.tgz 4. Configure And Install cd Python-3.7.4 ./configure --enable-optimizations make altinstall 5. 설치 확인 python3.7 -V 그냥 python 명령어로 python3.7 을 실행하고 싶을 때... vi /root/.bash..
간단한 수식을 대입받는 임시변수를 사용할때는 임시변수 참조 부분을 수식으로 치환 변경 전 double basePrice = anOrder.basePrice(); return (basePrice > 1000); 변경 후 return (anOrder.basePrice() > 10000); 변경 전 double basePrice = _quantity * _itemPrice; if (basePrice > 1000) return basePrice * 0.5; else return basePrice * 0.9; 변경 후 A if (getBasePrice() > 1000) return getBasePrice() * 0.5; else return getBasePrice() * 0.9; double getBasePric..
리팩토링의 주된 작업은 코드를 포장하는 메소드를 적절히 정리하는 것이다. 핵심적인 리팩토링 기법은 코드 뭉치를 별도의 메소드로 빼내는 메소드 추출, 반대로 메소드를 호출 하는 곳에 메소드 삽입 기법이다. 메소드 추출 메소드 추출시에 가장 힘든 작업은 지역변수 처리, 주로 임시변수로 힘든경우가 많음. 1. 임시변수를 메소드 호출로 전환 후 없어도 되는 임시변수 삭제 2. 임시변수가 여러곳에서 사용된다면 임시변수 분리 3. 임시변수가 너무 얽혀 있다면 자료 객체 클래스로 전환해서 사용 void printOwing(double amound) { printBanner(); print("name : " + _name); print("amount : " + amound); } void printOwing(doubl..
중복 코드 똑같은 코드 구조가 두 군데 이상 있을 때 그 부분을 하나로 통일하면 개선할 수 있다. 단순한 예는 한 클래스의 두 메소드 안에 같은 코드가 들어 있는 경우다. 이럴 때는 메소드 추출 기법을 적용해서 겹치는 코드를 빼내어 별도의 메소드로 만들고 그 메소드를 두 곳에서 호출 또, 한 클래스의 두 하위 클래스에 같은 코드가 들어 있는 경우가 있다. 메소드 추출 기법을 적용해서 중복을 없앤 후 메소드 상향 기법을 적용한다. 코드가 같지 않고 비슷하다면, 같은 부분과 다른 부분을 분리한 다음 템플릿 메소드 형성 기법을 알고리즘만 다르다면, 알고리즘 전환 기법을 중복코드가 중간에 있다면 주변 메소드 추출 기법을 적용한다. 서로 상관없는 두 클래스 안에 중복 코드가 있다면, 모듈 추출로 제3의 클래스로 ..