본문 바로가기

분류 전체보기292

Python staticmethod 왜 사용해야할까? Python staticmethod Python staticmethod는 @staticmethod 데코레이터를 사용한 정적 메소드 입니다. 인스턴스 메소드와는 다르게 self 인자를 받지 않는다. 클래스 이름으로 직접 메소드를 호출할 수 있다. 인스턴스 속성에 접근하거나 인스턴스 메소드를 호출할 수 없다. 이런 특징들이 있어서 유틸리티성 메소드를 생성할 때 사용된다고 한다. 그런데 유틸리티성 메소드들은 주로 따로 utils라는 모듈로 빼서 작성하는 경우가 많은데... 클래스 내에서는 왜 staticmethod가 필요할까요? 아래 실습을 통해서 좀 더 자세히 확인해보겠습니다. Playlist 실습 import random import json import hashlib class Playlist: clas.. 2021. 10. 4.
Windows 환경 Django Oracle 연동하는 방법 Windows 환경 Django Oracle 연동 Django를 이용해서 개발할 때... 은근히 한번도 해보지 않으면 시간을 꽤 소요하는 부분이 Oracle 연동이다. 실제 배포환경이나 테스트환경이 리눅스로되어 있어 Django DB 연동과 관련된 글은 대부분이 Linux기반이다. 그런데 막상 개발할 때 사용하는 PC나 Django를 배우는 입장에서는 Windows 환경에서 Django를 다루는 경우가 많다. 이번 글에서는 Windows 환경에서 Django에 Oracle을 연동하는 방법에 대해서 배울 것이다. 개발 환경 Django Oracle 연동 관련해서 버전에 대한 의존성이 존재하여 매우 중요하다. 해당 실습에서는 아래 버전으로 연동 성공되었다. Python 3.9.6 Oracle12c Oracl.. 2021. 10. 3.
[개발로그 Python] 가상환경 venv 사용해서 여러 형상 사용(intellij) 가상환경은 왜 사용할까? 회사내에 Python을 이용한 프로젝트가 많습니다. 2. 대 버전을 사용하는 프로젝트도 있고 3. 대 버전을 사용하는 프로젝트도 있습니다. 만약 각 프로젝트가 개별적으로 서로 하나의 서버를 사용해서 서비스되고 있다면 설치된 Python 인터프리터 하나만 사용해도 되기 때문에 큰 문제가 없을 것 입니다. 그런데 만약 하나의 서버에 여러 프로젝트가 서비스되고 있고 설치된 Python 인터프리터만 사용하면 어떤 문제가 발생할까요? 3가지 프로젝트가 하나의 서버에서 운영되고 있는 경우... Project3의 경우 3.8 버전을 사용하는 프로젝트는 하나밖에 없기 때문에 현재의 시점에서는 문제가 없지만... Python 3.9 버전을 사용하는 Project1과 Project2의 경우 호환성.. 2021. 6. 15.
[개발로그 Python] 데이터 구조 - No.6 Python 3.9.5 버전을 사용했습니다. 데이터 구조(Data Structure)란? 데이터 구조는 여러 데이터를 효율적으로 저장하기 위해 하나의 집합으로 데이터를 저장하는 구조(structure) 입니다. 이전에 변수에 숫자나 문자 형태의 데이터 타입을 저장했었는데... 과일들의 집합 처럼 연관된 데이터를 모두 각각 다른 변수로 선언을 해줘야할까요? # 각각 변수로 선언 fruit1 = '수박' fruit2 = '참외' fruit3 = '자몽' fruit4 = '멜론' # 데이터 구조인 리스트를 사용해서 선언 fruits = ['수박', '참외', '자몽', '멜론'] 위의 이미지를 코드화한 내용입니다. 연관된 데이터를 각각 변수로 만들지 않고 데이터 구조 중 하나인 list를 만들어서 하나의 변수.. 2021. 6. 5.
[개발로그 Python] 데이터 타입 - No.5 Python 3.9.5를 사용했습니다. 데이터 타입이란? 아래는 Java의 코드 입니다. // 원시 타입 int number1 = 1; double number2 = 10.1; boolean is = true; // 참조 타입 String word = new String(); 위의 예시와 같이 변수 앞에 붙어 있는 int, double, boolean, String 이 데이터의 타입입니다. 데이터 타입은 컴퓨터가 데이터를 어떻게 다뤄야할지 알려주기 위해 사용되는 표현입니다. 즉 변수의 타입이라고 할 수 있습니다. 데이터 타입은 원시 타입과 참조 타입으로 구분이 됩니다. 원시 타입 int, long, foat, boolean 등 메모리에 값이 저장 위 이미지는 Java의 숫자 타입의 메모리 크기와 표현 가.. 2021. 6. 3.
[개발로그 Python] 변수 - No.4 Python 3.9.5 버전을 사용 변수가 무엇인가? x = 100 y = 20.5 위의 예시 처럼 x 와 y가 변수 입니다. 프로그래밍을 해보지 않아도 x라는 변수는 100이고 y라는 변수는 20.5라는 값으로 사용한다는 것을 알 수 있습니다. 우리는 수학적으로 "=" 등호 기호가 "같다"라는 의미로 배워서 본능적으로 알고 있는거죠. 그래서 만약 "x + y 의 결과가 어떻게 되나요?"라고 질문하면 "120.5 입니다!"라고 당당하게 답할 수 있을 것 입니다. 그런데 프로그래밍에서 등호(=) 기호가 "같다"라는 의미가 아니라 "대입한다"의 의미를 갖고 있습니다. "x + y"와 같은 연산은 "같다"라는 의미로 해석해서 사용해도 큰 문제는 없을 만큼 프로그래밍할 때 변수를 사용하는 것은 쉽습니다. 하지만.. 2021. 6. 2.
[개발로그 Python] IDE 에디터(intellij) 설치 개발환경 구성 - No.3 IDE는 왜 사용하는가? 세탁기 없이 매일 손 빨래해야 된다는 생각해보셨나요? 시간도 오래걸리고 번거롭다는 생각이 드시죠? 실제 개발자들이 개발할 때 IDE(Integrated Development Environment 통합 개발 환경)란 개발자 툴(에디터)을 사용하는 이유도 마찬가지 입니다. 세탁기 없이 손 빨래를 할 수 있는 것 처럼... 개발도 IDE없이 할 수 있습니다. 메모장에 코드를 입력하고 python 인터프리터를 실행시켜 프로그램을 실행 시킬 수 있습니다. 하지만, 코딩하다보면 문법 오류나 오타를 입력할 수도 있고... 여러 python 파일로 나누어 개발하면 파일들을 관리 및 추적하기도 힘들 겁니다. IDE는 이러한 불편한을 해결하고 개발을 빠르고 편리하게 하기 위한 도구로 사용됩니다. .. 2021. 6. 1.
[후기] 비전공자 개발자 취업 이야기 - 비전공자가 공부해야하는 방법 개발자가 되고 싶으신가요? 5~6천만원대의 신입 초봉과 개발자 모시기 열풍이 불고 있습니다. 제가 취업하고 나서 대우도 좋아지고 수요도 높아지고 있다는 것을 많이 느끼고 있습니다. 물론 신입사원에게 5~6천만원 대의 연봉을 주는 회사는 손에 꼽지만... 대부분의 회사에서 기본 연봉 base가 올라 적어도 4천만원대의 신입 연봉을 주는 회사들이 많아졌습니다. 이번 글에서는 개발과 무관한 전공을 졸업하여 비전공자 출신 개발자인 저의 이야기를 해보려고 합니다. 고민이 많은 대학생... 꿈이 생기다. 저는 진로에 대헤서 고민이 많은 대학생이었습니다. 선택한 전공과는 맞지 않는 것 같고... 나중에 뭘해먹고 살까... 이것 저것 많이 경험해보다가... 프로그래밍을 한번 해볼까?라는 생각을 갖고 학교에서 비전공자들.. 2021. 6. 1.
[개발로그 Python] Python 설치하기 MacOS - No.2-2 Python 3.9.5 버전을 사용했습니다. MacOS Python 설치 MacOS도 Python 홈페이지 Downloads 탭에서 MacOS X를 선택하여 버전을 확인할 수 있습니다. Mac OS 버전에 따라 intel installer는 사용할 수 없다고 합니다. universal installer로 설치해줍니다. 설치가 완료되면 Applications 폴더 아래 Python 폴더가 생기는 것을 확인할 수 있습니다. Python 설치 확인 $ python3 -V Python 3.9.5 $ python3 Python 3.9.5 (v3.9.5:0a7dcbdb13, May 3 2021, 13:05:53) [Clang 12.0.5 (clang-1205.0.22.9)] on darwin Type "help",.. 2021. 6. 1.
[개발로그 Python] Python 설치하기 Linux - No.2-3 Python 3.9.5 버전을 사용합니다. Linux Python 설치 Linux 계열의 운영체제 에서는 이미 Python 2나 Python 3가 설치되어 있는 경우가 많습니다. 이번 실습에서는 CentOS 환경에서 Python을 설치하는 실습을 진행해 보겠습니다. $ yum groupinstall 'Development Tools' $ yum install openssl-devel bzip2-devel libffi-devel wget 설치에 필요한 라이브러리들을 사전에 설치해준다. Python 홈페이지에서 설치파일을 받을 수 있습니다. Downloads 탭에서 Linux의 python 버전별 설치파일을 확인합니다. 2021년 06월 01일 기준으로 Stable 버전(안전화된 버전)인 3.9.5 버전의 .. 2021. 6. 1.