[CS] "나누기 0"은 왜 어떤 언어에선 에러가 나고, 어떤 언어에선 무한대(Infinity)가 될까?
·
Development
자바 예외처리(exception)에 대해 보다가 문득 ArithmeticException에 대해 궁금해져서 정리하게 된 글입니다. 개요아래 코드의 실행 결과는 뭘까?public class Main { public static void main(String[] args) { int a = 5, b = 0; try { System.out.print(a / b); } catch (ArithmeticException e) { System.out.print("출력1"); } catch (ArrayIndexOutOfBoundsException e) { System.out.print("출력2"); ..
[Python] 람다 함수(lambda)
·
Development/Python
람다 함수의 존재는 익히 알고 있었지만 그동안 활용하지 못하다가, 기존 코드의 길이를 줄이고 가독성을 향상 시키기 위해 사용하려고 정리하는 글이다. (드디어) 🤓🤪 람다 함수란 람다 함수는 파이썬에서 간단한 함수를 빠르게 작성하기 위한 방법 중 하나다. 일반적인 함수를 정의하는 것보다 문법이 더 간결하며, 보통 한 줄로 표현된다. 람다 함수의 기본 구조 lambda arguments: expression lambda: 람다 함수를 정의하는 키워드 arguments: 람다 함수에 전달할 인자를 나열. 쉼표로 구분되며, 여러 개의 인자를 사용할 수 있음. expression: 인자를 사용하여 계산되는 표현식. 이 표현식의 결과가 람다 함수의 반환값이 됨. 예시 1. 두 숫자를 더하는 람다 함수: f = la..
[Python] 명명 규칙에 관련한 내용 정리
·
Development/Python
**파이썬 변수명을 작성 중에 문득 명명 규칙에 대해 생각하게 되어 이를 정리하려는 글입니다. 변수명을 짓고 있는데, 생각해 보니 상수여서 대문자로 표기해야 되나 순간 헷갈렸다. 보통 다른 예제 코드들을 보면 상수는 대문자로 표기되어 있는 경우가 많았기 때문이다. 그래서 명명 규칙을 다시 한번 확인하기로 했다. 기본적인 개념은 숙지하고 있지만 아무래도 언어별로 규칙이 조금씩 다르기 때문에 문득문득 헷갈려서 새로 찾아보게 되는 것 같다..! 변수명을 선택할 때는 일관성이 중요하며, Python에서는 PEP 8이라는 스타일 가이드에 따라 코드를 작성하는 것이 권장된다. PEP 8 이란? PEP: Python Enhancement Proposal PEP 8은 Python Enhancement Proposal의..
[MongoDB] 몽고디비 python 에 연결하기
·
카테고리 없음
pymongo 모듈을 사용하여 몽고디비에 연결하려고 했는데 인증에러로 연결이 안되었다. 쉘에서는 잘 접속 되었건만,,로컬에서 하니까 안된다 ㅠ pymongo.errors.OperationFailure: Authentication failed., full error: {'ok': 0.0, 'errmsg': 'Authentication failed.', 'code': 18, 'codeName': 'AuthenticationFailed'} 계속 연결이 안되서 고민이였는데 아래 사이트를 참고하여 해결하였다. https://stackoverflow.com/questions/72048051/pymongo-auth-failure-ok-0-0-errmsg-authentication-failed-code-18 PyMon..
[Python] 이미지 분석 모듈 사용해보기
·
Development/Python
python 에서 keras 모듈이 좋다고 해서 사용해보려고 한다. 하려고 하는 작업은 이미지를 분석하여 캡션을 다는 일이다. 설치 해야할 모듈은 아래와 같다. pip install keras pip install tensorflow 사용 하는 모듈은 아래와 같다. import os from keras.applications.inception_v3 import InceptionV3 from keras.models import Model from keras.preprocessing import image from keras.applications.inception_v3 import preprocess_input from keras.models import load_model from PIL import I..
[Python] pass 명령어란?
·
Development/Python
pass는 파이썬에서 사용되는 특수한 명령어이다. 아무 작업도 수행하지 않고, 단순히 실행 흐름을 건너뛰는 데 사용된다. 구문적으로 블록이 필요하지만 아무 동작이나 작업할 필요가 없는 경우에 주로 사용된다. 일반적인 사용 예 블록 구조에서 미완성한 부분 함수, 클래스, 조건문, 반복문 등의 블록 구조에서 구현할 내용이 없는 경우 pass를 사용하여 구문적으로 블록을 유지할 수 있다. 이는 나중에 구현할 내용이 있을 경우에 유용하다. def my_function(): pass # 나중에 함수 구현을 추가할 예정 if condition: pass # 나중에 조건에 따른 코드를 추가할 예정 for item in my_list: pass # 나중에 반복문의 내용을 추가할 예정 임시로 블록을 비워둘 때 특정 조건..
[Python] scrapy 모듈 사용하여 크롤링하기
·
Development/Python
scrapy란? scrapy는 파이썬 기반의 오픈 소스 웹 크롤링 프레임워크이다. 크롤링 작업을 자동화하고, 웹 사이트에서 데이터를 추출하고, 웹페이지를 크롤링하는 데 사용된다. scrapy는 웹 크롤링에 필요한 다양한 기능과 도구를 제공하여 개발자가 효율적으로 크롤링 작업을 구현할 수 있도록 도와준다. scrpapy의 핵심 기능 스파이더 (Spider): Scrapy의 핵심 개념으로, 크롤링 작업을 수행하는 데 사용된다. 스파이더는 웹페이지를 탐색하고 데이터를 추출하는 룰 기반의 크롤링 로직을 포함한다. 사용자는 스파이더를 작성하여 필요한 데이터를 웹페이지에서 추출할 수 있다. 요청 및 응답 처리: Scrapy는 HTTP 요청을 보내고 웹 서버로부터 받은 응답을 처리하는 기능을 제공한다. 이를 통해 스..
멀티 스레딩(Multi Thread)
·
Development
멀티 스레딩(Multi Thread) 한 번에 여러 작업을 동시에 처리하기 위해 사용되는 프로그래밍 기법이다. 멀티 스레딩을 통해 여러 작업을 병렬로 실행하여 시스템 자원을 효율적으로 활용할 수 있다. 스레드(Thread) 프로세스 내에서 실행되는 작은 실행 단위. 하나의 프로세스는 여러 개의 스레드를 가질 수 있으며, 각각의 스레드는 독립적으로 실행될 수 있다. 스레드는 프로세스 내의 자원을 공유하면서 동시에 실행될 수 있으므로, 여러 작업을 동시에 처리할 수 있게 된다. 프로세스(Process) 운영체제에서 실행 중인 프로그램을 의미한다. 각 프로세스는 독립적인 메모리 공간을 가지며, 운영체제에 의해 관리된다. 프로세스는 하나 이상의 스레드를 포함할 수 있다. 프로세스는 프로그램의 실행 인스턴스로써,..