전체 글 13

__pycache__ 란

__pycache__란 무엇인가요?__pycache__는 파이썬이 소스 코드를 더 효율적으로 실행하기 위해 만들어지는 디렉터리입니다. 이 디렉터리는 우리가 작성한 .py 파일을 바탕으로 생성된 바이트코드 파일을 저장합니다. 왜 __pycache__가 생성될까요?파이썬은 .py 파일을 실행할 때, 먼저 해당 코드를 바이트코드로 변환합니다.바이트코드는 CPU가 바로 이해할 수는 없지만, 인터프리터(Python)가 빠르게 읽어 실행할 수 있는 중간 형태의 코드입니다.이 변환 과정을 반복하지 않도록, 파이썬은 변환된 바이트코드를 저장합니다.그 결과 생성된 파일들이 바로 __pycache__ 디렉터리에 들어가는 .pyc 파일들입니다..pyc 파일이란?.pyc는 "Python Compiled file"의 약자로, ..

python 2025.01.11

[네트워크 기초] 다중 접속 프로토콜

다중접속(Multiple Access)링크를 여러장치들이 공유하는 환경에서 전송을 시도하는 경우를 의미합니다.일반적으로 데이터링크 계층에서 수행 >>>>복습해보기더보기네트워크의 계층구조데이터를 송수신하기 위해 필요한 일련의 단계나 계층을 의미하며, 이 과정에서 데이터는 각 계층을 거쳐 가공, 전송, 수신됩니다.네트워크 인터페이스 계층 --> physical + data link 계층 무작위 접근(Random Access)서로 대등한 관계의 통신임의의 시스템이 전송을 위해 시간을 정하지 않음 --> random access(무작위 접근)어떤 시스템이 전송 할 차례인지 정하는 규칙이 없음 --> contention(경쟁)여러 시스템에서 전송하면 충돌(collision)이 가능하며, 해당 프레임은 손상되어 재..

네트워크 2024.11.04

LAN (local area network)

컴퓨터간 소통케이블을 연결해서 전기신호로 주고받기전자기파를 통해 소통 가능컴퓨터가 여러대 있을떄 어떻게 소통?Hub를 사용 --> 케이블들을 연결시켜줌Hub 문제정보가 모든 컴퓨터에 전달된다정보 충돌이 일어날 수 있다.(data collision)최근에는 더이상 사용되지 않는다.Hub문제 해결방법 >>데이터 충돌문제 해결방법CSMA/CD(Carrier Sense Multiple Access/ Collision Detection)네트워크에서 여러 장치가 동시에 데이터를 전송할 때 충돌을 감지하고 이를 관리하는 프로토콜입니다. 주로 유선 이더넷 네트워크에서 사용되며, 데이터 전송의 효율성을 높이기 위해 개발되었습니다. 캐리어 감지 (Carrier Sense):네트워크에 연결된 장치는 데이터를 전송하기 전에 ..

네트워크 2024.11.04

[네트워크 기초] 네트워크 개념

네트워크란?Node들이라고 불리는 장치(pc,server,router, switch etc)들이 link(간선)을 통해 message를 주고받는 집합체 Link의 형태 네트워크 Topology네트워크 토폴로지(Network Topology)는 네트워크 장치들이 서로 연결된 구조를 나타내는 방식입니다. 각 토폴로지는 성능, 비용, 안정성에서 차이를 보입니다.node(장치)와 link(링크) 배치가 어떻게 되는가?더보기1. 버스 토폴로지 (Bus Topology)구조: 모든 장치가 하나의 중앙 케이블(버스)에 연결된 형태특징: 설치와 구성 비용이 낮으며, 장치가 추가되면 쉽게 연결할 수 있음단점: 중앙 케이블에 장애가 발생하면 전체 네트워크가 다운될 수 있음사용 예: 소규모 네트워크, 구형 이더넷2. 스타 ..

카테고리 없음 2024.11.04

[네트워크 기초] 스위칭(switching) 방법과 종류

네트워크 스위칭(Network switching)이란?네트워크 장비를 통해 데이터가 목적지로 효율적으로 전달되도록 하는 기술입니다.스위칭은 데이터를 분리된 경로로 나눠 전송하여 통신을 원활히 하고, 네트워크 자원을 효율적으로 사용하도록 도와줍니다. 스위칭의 필요성여러 개의 장치가 있는 경우, 서로 데이터를 주고받게 하기 위해 선으로 연결.모든 장치에 서로 링크로 연결되면 문제점이 발생장치가 많아질수록 비용이 많이 발생링크의 대다수는 유휴시간이 많아 효율이 저하됨문제점 해결을 위해 여러 장치들을 스위치에 연결되도록 구성 스위칭 방식과 종류 1. 회선교환(circuit switching)두 장치사이에 물리적인 선을 연결하는 방식통신을 시작하기 전에 데이터를 주고받는 양 끝 사이에 고정된 경로를 설정하는 방식..

네트워크 2024.11.04

정규표현식 re

정규표현식이란?정규 표현식(Regular Expressions, regex)은 문자열에서 특정 패턴을 찾고 조작하는 강력한 도구입니다.Python의 re 모듈은 이러한 정규 표현식을 사용할 수 있도록 다양한 기능을 제공합니다.  import re 1. re.match()문자열의 시작 부분에서 정규 표현식과 일치하는지 검사합니다. 일치하는 경우 Match 객체를 반환하고, 그렇지 않으면 None을 반환합니다.pattern = r'\d+' # 하나 이상의 숫자text = '123abc'match = re.match(pattern, text)if match: print("Match found:", match.group())else: print("No match")  2. re.search()문자열..

python 2024.10.17

두 리스트에서 중복 된 값 추출하기

list1 = [1, 2, 3, 4, 5]list2 = [4, 5, 6, 7, 8]1. set 두 리스트를 집합으로 변환한 후 교집합(intersection)을 구하면 공통된 요소들을 추출할 수 있습니다.# 집합으로 변환 후 교집합 구하기common_elements = set(list1) & set(list2) # 또는 set(list1).intersection(set(list2))print(common_elements) # 출력: {4, 5} 2. List Comprehension# 리스트 내포를 사용해 공통된 요소 찾기common_elements = [x for x in list1 if x in list2]print(common_elements) # 출력: [4, 5] 3. filter() 함수..

python 2024.10.17

HTML/CSS 디자인하기 - Bootstrap4

Bootstrap이 뭔가?홈 UI를 이쁘게 하기 위해서 Bootstrap 라이브러리 사용프런트엔드의 컴포넌트 라이브러리임html 쌩코딩없이 UI개발을 끝낼 수 있음!원하는 UI검색해서 예제 코드 복붙하면 간단하게 UI개발 가능!! Bootstrap 다운받기1. 홈페이지 방문https://getbootstrap.kr/ Bootstrap강력하고 확장 가능하며 기능이 풍부한 프론트엔드 툴킷. Sass로 빌드 및 커스터마이징하고, 사전 빌드된 그리드 시스템 및 구성 요소를 활용하고, 강력한 JavaScript 플러그인으로 프로젝트에 생기getbootstrap.kr그러면 버전을 선택하고 설치할 수 있는 npm명령어를 제시해줌. 2. 설치하기나는 5.3 버전을 설치해보겠다.npm i bootstrap@5.3.3 b..

웹개발 2024.10.14

node.js서버에서 html파일 전송

node.js에서 작성한 코드는 수정시 매번 서버 재실행을 해야 적용이 됨.==> 자동화 시키자==>how? nodemon으로 nodemon으로 서버 재실행 자동화npm 으로 설치-g : 모든 폴더에서도 nodemon을 사용한다는 명령어npm install -g nodemon yarn으로 설치yarn add global nodemon nodemon으로 서버 실행nodemon server.js  에러 해결법실행시 만약 이런 에러가 난다면 윈도우 검색-> powershell 관리자 권한으로 실행관리자권한 powershell에서1. executionpolicy 입력executionpolicy결과가 Restricted면 문제 있는것2. set-executionpolicy unrestricedset-executi..

웹개발 2024.10.14

node.js+ express로 웹서버 빨리 띄우기

1. 터미널에서 내가 현재 위치한 폴더가 todoapp 인지 확인한다2. 그리고 todoapp폴더에 server.js를 만든다 3. server.js작성 --> 서버를 띄우기 위한 기본 세팅임listen(서버띄울 포트번호, 띄운 후 실행할 코드) 포트가 머임?외부와 네트워크 통신을하기위한 구멍 아래 코드가 기본 서버 띄우는 세팅이다//server오픈하는 기본 세팅const express = require('express'); //설치한 express라이브러리 첨부const app = express(); //설치한 express 라이브러리로 새로운 객체를 만든다app.listen(8080, function(){ console.log('listening on 8080');}); //8080 port로 웹서..

웹개발 2024.10.13