본문 바로가기

분류 전체보기

(30)
Python 코딩 스타일 가이드: PEP8 이란? PEP 8은 Python 코드의 가독성을 높이고, 일관성을 유지하기 위해 권장되는 스타일 가이드이다. PEP 8 문서에서 중요한 부분을 추려서 소개한다.PEP 8 주요 내용1. 들여쓰기스페이스 4칸 사용: 들여쓰기는 4개의 스페이스를 사용한다. 탭은 사용하지 않는다. def my_function(): if True: print("Hello, world!")2. 최대 줄 길이79자 제한: 한 줄의 길이는 79자로 제한한다. 이는 가독성을 높이고, 코드 리뷰 시 편리함을 제공한다. # 긴 코드 예제 my_long_variable_name = "This is a long string that is split over multiple lines to keep the line len..
비 오는 날 와이파이가 더 안터진다?? 그 이유! 비오는 날 와이파이가 잘 안되는 이유는 여러 가지가 있을 수 있다. 주된 이유는 날씨가 무선 신호와 네트워크 장비에 영향을 미칠 수 있기 때문이다. 다음은 비오는 날 와이파이 성능이 저하될 수 있는 몇 가지 주요 원인들이다.1. 전파 간섭비나 습기가 무선 신호에 간섭을 일으킬 수 있다. 비가 올 때 공기 중의 습도가 높아지면서 물 분자가 무선 신호를 흡수하거나 반사할 수 있어 신호의 강도가 약해질 수 있다.2. 장애물비가 올 때 물방울이 건물 외벽이나 창문 등에 붙으면서 무선 신호가 통과해야 할 장애물이 더 많아진다. 이는 신호가 약해지거나 왜곡될 수 있다.3. 네트워크 장비 문제비가 많이 내리면 네트워크 장비가 습기에 노출되거나, 전원 공급에 문제가 생길 수 있다. 특히 야외에 설치된 장비는 비로 인해..
자바스크립트(JavaScript)와 자바(Java)의 차이점 JavaScript와 Java는 이름이 비슷하지만, 그 목적과 사용 사례, 언어적 특징이 많이 다르다. 다음은 JavaScript와 Java의 주요 차이점을 소개한다.자바스크립트 (JavaScript)개요정의: JavaScript는 클라이언트 사이드 웹 개발을 위해 설계된 스크립팅 언어이다.용도: 주로 웹 브라우저에서 동적 웹 페이지를 만드는 데 사용된다. 서버 사이드(Node.js)에서도 사용될 수 있다.실행 환경: 웹 브라우저, Node.js형식: 인터프리터 언어특징동적 타입: 변수의 타입이 런타임에 결정된다.인터프리터 언어: 소스 코드가 실행 시점에 해석된다.객체 기반: 객체를 통해 데이터와 메서드를 구성한다.함수형 프로그래밍 지원: 함수가 일급 객체로, 함수 표현식, 클로저, 고차 함수 등의 기능..
ReLU란 무엇인가? + ReLU의 장단점 ReLU (Rectified Linear Unit) 소개ReLU란 무엇인가?ReLU(Rectified Linear Unit)는 인공 신경망에서 널리 사용되는 활성화 함수 중 하나이다. ReLU는 입력 값이 양수일 경우 그대로 반환하고, 음수일 경우 0을 반환하는 비선형 함수이다.ReLU 함수 정의ReLU 함수는 다음과 같이 정의된다:( x )가 양수이면 ( x )를 반환한다.( x )가 음수이면 0을 반환한다.ReLU 함수 그래프ReLU 함수의 그래프는 다음과 같다:x축을 기준으로 오른쪽(양수)에서는 입력 값 그대로의 선형 그래프가 된다.x축을 기준으로 왼쪽(음수)에서는 모든 값이 0이 된다.ReLU가 잘 쓰이는 이유ReLU는 딥러닝 모델에서 여러 가지 이유로 널리 사용된다.1. 계산 효율성ReLU는 다..
awk 명령어 사용법과 예제 awk는 강력한 텍스트 처리 도구로, 주로 데이터를 검색하고 조작하는 데 사용된다. awk는 데이터를 행(row)과 열(column)로 처리하며, 텍스트 파일이나 명령어의 출력을 분석하고 조작할 수 있다. awk 명령어의 기본적인 사용법을 소개한다.awk 명령어의 기본 문법awk 'pattern {action}' filepattern: 조건식으로, 이 조건을 만족하는 레코드(행)에 대해 action을 수행한다.action: pattern과 일치하는 레코드에 대해 수행할 작업이다. {}로 묶어서 여러 작업을 수행할 수 있다.file: 입력 파일이다. 파일을 지정하지 않으면 표준 입력을 사용한다.awk의 주요 기능1. 기본 사용법awk 명령어는 기본적으로 입력 파일을 읽어 각 행에 대해 지정된 pattern..
신경망(Neural Network; NN)란 무엇인가? + 신경망의 역사 Neural Network란 무엇인가?정의Neural Network는 인공 지능(AI)과 기계 학습(Machine Learning)에서 사용되는 모델로, 인간의 뇌 신경망을 모방하여 데이터를 처리하고 패턴을 인식하는 시스템이다. 신경망은 여러 개의 노드(또는 뉴런)로 구성된 레이어(층)로 이루어져 있으며, 이 노드들은 서로 연결되어 데이터를 전달하고 변환하는 역할을 한다.구조입력층(Input Layer): 외부 데이터를 받아들이는 층.은닉층(Hidden Layers): 입력 데이터를 처리하고 특징을 추출하는 중간 층. 은닉층의 수와 각 층의 노드 수는 모델의 복잡성에 따라 달라진다.출력층(Output Layer): 최종 결과를 출력하는 층.작동 원리신경망은 입력층에서 받은 데이터를 은닉층을 거쳐 출력층으..
TCP와 UDP 비교, 네트워크 기본 지식 TCP (Transmission Control Protocol)와 UDP (User Datagram Protocol)는 인터넷 프로토콜 스위트의 전송 계층에서 사용되는 두 가지 주요 프로토콜이다. 이 두 프로토콜은 데이터 전송 방식을 다르게 하여 각각의 용도에 맞는 특징을 제공한다. 다음은 TCP와 UDP의 주요 차이점을 소개한다.TCP와 UDP의 차이점TCP (Transmission Control Protocol)특징연결 지향(Connection-oriented): 데이터 전송 전에 연결을 설정하고, 데이터 전송이 완료되면 연결을 종료한다.신뢰성 보장: 데이터의 정확한 전송을 보장한다. 전송된 데이터가 손실되거나 손상되면 재전송한다.흐름 제어 및 혼잡 제어: 네트워크의 상태를 감지하여 데이터를 전송하는..
git blame 명령어 사용법 (커밋한 사람 확인하기) git blame 명령어는 파일의 각 줄에 대해 마지막으로 수정한 커밋 정보를 표시하여, 누가 언제 해당 줄을 변경했는지 추적하는 데 사용된다. 이를 통해 코드 변경 내역을 쉽게 파악하고, 특정 코드 변경에 대해 책임이 있는 사람을 식별할 수 있다. 다음은 git blame 명령어의 사용법과 잘 쓰는 법을 설명한다.git blame 명령어 사용법기본 사용법git blame 특정 파일의 각 줄에 대해 마지막 커밋 정보를 표시한다.예:git blame main.py특정 커밋 범위 지정특정 범위의 커밋에 대해 git blame 명령어를 사용할 수 있다.git blame .. 예:git blame HEAD~10..HEAD main.py특정 라인 범위 지정파일의 특정 라인 범위에 대해서만 git blame 명령어..
grep 명령어 예제와 함께 보는 POSIX 정규식 (regular expression; regex) POSIX 정규 표현식(Regular Expression)의 기본 문법과 사용법을 이해하는 데 도움이 되는 실생활 예제를 각 문법 엔트리마다 2개 이상씩 들어 설명한다. 글의 말미에는 유용한 정규식을 10개 소개했으니 끝까지 읽어주길 바람.POSIX 정규 표현식 기본 문법기본 정규 표현식 (BRE)문자 클래스[abc] : 'a', 'b', 'c' 중 하나와 일치한다.예: grep '[aeiou]' text.txt는 text.txt 파일에서 모음(a, e, i, o, u)을 찾는다.예: grep '[0-9]' data.txt는 data.txt 파일에서 숫자를 찾는다.[^abc] : 'a', 'b', 'c'가 아닌 문자와 일치한다.예: grep '[^aeiou]' text.txt는 text.txt 파일에서 ..
코드 예제로 보는 시간복잡도의 개념 (a.k.a. 빅오, Big-O) 시간 복잡도(Time Complexity)는 알고리즘의 효율성을 나타내는 개념으로, 알고리즘이 실행되는 데 걸리는 시간을 입력 크기에 대한 함수로 표현한다. 시간 복잡도는 주로 빅오 표기법(Big-O Notation)을 사용하여 나타낸다.시간 복잡도의 기본 개념빅오 표기법(Big-O Notation)빅오 표기법은 알고리즘의 성능을 나타내기 위해 가장 널리 사용되는 표기법이다. 입력 크기 ( n )이 무한히 커질 때 알고리즘의 실행 시간이 어떻게 증가하는지를 나타낸다. 빅오 표기법은 상수 계수를 무시하고 가장 높은 차수의 항만을 고려한다.시간 복잡도 종류O(1) - 상수 시간 복잡도입력 크기와 상관없이 항상 일정한 시간이 걸리는 알고리즘이다.def example_function(): return 1O..

728x90