일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- removetooltip
- 건대입구맛집
- 컴퓨터과학
- Python
- 속초여행
- 포인터
- 추상클래스
- 정렬알고리즘
- 가상환경
- 자바
- richtext
- JavaScript
- 성수동카페
- python3
- 상속
- 노마드코더
- BeautifulSoup
- 강원도속초맛집
- DOM
- Django
- 부스트코스
- 알고리즘
- 남양주맛집
- 장고
- pipenv
- 아스키코드
- FLUTTER
- 코딩독학
- popupmenubutton
- c언어문자열
- Today
- Total
목록Programming Languages (65)
YUYANE
처음 코딩을 시작할 때 부터 종종 등장하는 환경변수/Path가 너무 낯설어서 이참에 개념 정리. 환경변수(Path) 1) 운영체제가 참조하는 변수 - 마이크로소프트의 윈도우 시리즈는 운영체제 중 하나 - 요즘 윈도우는 GUI 환경에서 실행 되지만, 초기 모델은 DOS 환경 (쉽게 말해 cmd 환경) - cmd 환경에서는 명령어를 통해 행동이 실행 된다. - 덧붙이자면, GUI 환경에서 더블클릭 등으로 경로 이동해도 내부적으로는 아래 명령프롬프트에서 명령어들이 실행된다고 이해할 수도 있다. - 자바에서 자동적으로 import 되는 object 클래스 처럼, 여기에도 기본적으로 내장 된 내장 명령어들이 있다. 2) 기본 명령어에 없는 경우? 예를 들어 자바컴파일러인 javac.exe를 실행하고 싶다고 하자...
Object클래스와 메서드 - 일반화의 끝판왕 - java의 클래스는 모두 Object로부터 상속받음 - 따라서 Object에 있는 메서드들은 어떤 클래스에서도 오버라이딩 가능 1) toString() 메서드 - 사람이 읽기 편하게 해당 개체를 문자열로 표현 - print 할 떄 내부적으로 toString()을 호출하여 어떤 개체든 그것을 문자열로 표현한 모습을 출력 할 수 있다 - 자바 공식 문서는 모든 클래스에서 이 메서드를 오버라이딩하라 권장(근데 사실 잘 안함..) 2) equals()메서드 - 문자열의 동치 비교할 때 이미 본 메서드 - Object 클래스 안의 기본 구현 - 단순한 주소 비교 : this == obj - 실제 개체 속의 데이터를 일일이 비교하지 않음 - 문자열의 경우에는 두 문..
final 1. 의미 1) 변수 앞에 붙은 final - 더 이상 변수 값을 변경하지 못함 2) 메서드 앞에 붙는 final - 자식 클래스에서 더 이상 메서드를 오버라이딩하지 못함 3) 클래스 앞에 붙는 final - 더 이상 상속하지 못함 - 자식 클래스 존재 불가 - 따라서 오버라이딩을 할 수도 없음 * final에 어긋나는 코드를 작성하면 모두 컴파일 오류(컴파일러가 검사해줌) 2. 팁 1) 베스트 프랙티스 : final은 기본적으로 붙인다 - 변수, 메서드, 클래스 가능하면 모두 final을 붙이는 게 좋다! (유지보수 관리가 쉬움) - 나중에 상속 및 변경해야 하는 상황이 오면 그때 final을 빼도 됨 2) 그러나 다음과 같은 경우는 에외 - 상속 및 변경을 할 개연성이 높은 클래스 및 메서..
다형성(polymorphism) 1. 의미 poly : 많은, 다양항 morph : (모습이나 형태가) 변하다 => 즉, 다형성이란 어떤 개체가 다양한 형태로 변할 수 있는 능력 - 어떤 개체 : 부모 클래스형의 변수로 참조 중인 개체 - 다양한 형태 : 실제 개체에 구현된 메서드 Animal animal = new Dog(); animal.shout(); // 실제 개체 자료형인 Dog 클래스에 있는 shout()메서드가 호출된다. 2. 특징 1) 상속은 다형성에 필요한 선수 조건 - 단, 상속 없이 다형성을 지원하는 비주류 OO언어도 있음 2) 많은 사람들이 OOP의 핵심이라 여기는 특징 3) 같은 지시를 내렸는데 다른 종류의 개체가 동작을 달리하는 것 4) 어떤 함수 구현이 실행될지는 프로그램 실행..
Beautiful Soup - html에서 정보 추출하기 좋은 파이썬 라이브러리 - 설치 cmd pip install beautifulsoup4 - 공식 홈페이지 : www.crummy.com/software/BeautifulSoup/#Download Beautiful Soup: We called him Tortoise because he taught us. www.crummy.com
Requests 1) 파이썬에서 http 요청을 만드는 기능을 모아놓은 곳 2) 설치 $ pip install requests $ pipenv install requests import requests 3) THe GET Request : 특정 소스에서 얻기 원하는 데이터를 나타내는 메서드 requests.get('url주소') - The Response : the request의 결과 값을 검사하는 개체 response = requests.get('url주소') - status_code : Response으로부터 얻을 수 있음. -200 : 요청이 성공적으로 수행됨 - 404 : 요청했던 소스가 없음(Not Found) response.status_code #200 if response.status_c..
Modules - 기능의집합 - 프로그램에 import 해서 사용 가능 import math print(math.ceil(1.2)) import - 모든 기능을 전부 import 할 필요는 없다. 사용할 것만 import 하는 것이 좋음 from math import ceil, fsum print(ceil()) print(fsum([1,2,3,4,5,6,7])) - import와 동시에 이름을 바꿔줄 수도 있다. from math import fsum as sul_sum print(sul_sum([1,2,3,4,5])) - 다른 클래스에 함수를 정의해주고, 그 클래스를 import 할 수도 있다. calculator.py def plus(a,b): return a+b main.py from calcula..
상속 vs 컴포지션 1) 공통 - 재사용성이 목적 - 많은 경우에 두 가지 모두 사용 가능 2) 성능이 중요한 경우 - 상속 : 개체 생성 시, 메모리가 하나의 덩어리(초기화를 한 번만 하므로) - 컴포지션 : 개체 생성 시, 메모리가 여러 덩어리 - 메모리 상의 차이는 실행 성능에 영향을 미친다. 개체가 여러 메모리로 나뉘어져 있으면 속도가 느려짐 이유 : cpu는 메모리로부터 데이터를 받아와 연산한다. - 상속 모델로 만든 개체 : 개체가 한 번에 캐시 메모리에 들어갈 가능성이 높음 - 컴포지션 모델로 만든 개체 : 개체 내 부품 수 만큼 캐시 메모리로 로딩할 가능성이 높음 - 프로그래밍 언어에 따라 새로운 메모리를 할당하고 해제하는 것에 있어서 특히 느린 것이 있음 - 상속 : 메모리 할당/해제가 ..