728x90

분류 전체보기 76

[Python] Anaconda/Miniconda 설치 및 가상화 설정

아나콘다가 뭔데 ?우리는 파이썬 언어를 이용해서 프로젝트를 진행할때 여러가지 라이브러리 및 패키지들을 사용하게 된다.그런데 각 라이브러리끼리의 권장 버전이 각각 달라서 종종 라이브러리끼리 의존성이 충돌하는 경우가 있어이러지도 저러지도 못하고 애를 먹을때가 있다.그러나 이 의존성 충돌을 방지하면서 서로 호환되는 라이브러리를 평화롭게 쓸 수 있는 방법이바로 가상환경(Virtualenvs)이다.아나콘다는 이러한 가상환경을 만들어 파이썬과 패키지들을 독립적으로 관리할 수 있게 해주는 툴이다.  1. 설치https://www.anaconda.com/ Anaconda | The Operating System for AIDemocratize AI innovation with the world’s most truste..

Python 2024.10.28

[Network] VPN의 개념 및 원리

PN( Private Network )VPN을 알아보기에 앞서, PN(Private Network)에 대해서 먼저 알아보도록 하자.PN (사설 망)은 쉽게 생각하면 LAN과 같다고 생각하면 된다.예를 들어 위와 같은 환경의 회사가 있다 생각하자.A 회사의 대역폭은 3.3.3.x 로 할당 받았다고 가정해보자.그럼 A 회사 내부에 있는 컴퓨터 및 서버들은 모두 3.3.3.~ 으로 IP가 할당될 것이다.예시의  IP는 대역폭 내에서 임의로 설정해보았다. 그러나 기업내부에 있는 PC 가 아닌 외부의 PC 5번이 A 회사의 서버에 접근하고자 한다면, PC 5번에 할당된 IP 주소가 A회사의 대역폭과 달라서 방화벽 등의 보호 시스템에 의해  접근 차단당할 것이다. 회사 외부인이 접근하는 경우라면 차단 당하는 것이 ..

Network 2024.08.01

파이썬으로 정적 페이지 웹 크롤링 하기 - 1

✔️ 사전 준비- VSCode 설치https://code.visualstudio.com/ Visual Studio Code - Code Editing. RedefinedVisual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications.  Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.code.visualstudio.com  - 파이썬 설치https://www.python.org/ Welcome to Python.orgThe offici..

Python 2024.05.14

병행 프로세스 1

개요최근에는 여러 프로세스가 단순히 순차처리가 아닌 병행처리될 필요가 많다.음악 파일을 배경음악으로 재생하며 동시에 동영상도 틀어놓고 문서작업을 하는 등 운영체제는 이들을 병행으로 처리해야 한다.특히 이렇게 병행처리되는 프로세스가 서로 상호작용하며 동작하는 경우에는 해결해야 할 다양한 문제가 존재한다.따라서 해당 글에서는 병행 프로세스의 기본 개념과 함께 상호 배제와 동기화 문제에 대해 정리하고자 한다. 병행프로세스의 실행형태- 1개의 CPU : 인터리빙 형식- 여러개의 CPU : 병렬처리 형식📍 멀티 프로세서 시스템에서의 메모리 구조에 따라- 강결합 시스템(공유 메모리 구조): CPU는 여러 개 존재 , 메모리는 하나만 존재하는 구조 > 여러 CPU들이 하나의 메모리를 공유 !- 약결한 시스템(분산 ..

운영체제 2024.05.13

데이터베이스의 이해

데이터베이스 사용의 의미 데이터 사용자가 데이터를 저장하는 곳에 직접 접근하지 않고 , 모든 것들은 데이터베이스에 일임해서 실질적으로 데이터에 접근하는 건 데이터베이스만 가능하도록 만든것이 데이터베이스의 사용의미이다. 즉, 데이터 사용과 데이터 관리 영역을 분리하여 바로 넘나들지 못하도록 못하도록 만든 것이 큰 의미이다. 데이터베이스의 특징 1. 데이터베이스 시스템의 자기 기술성 ▶ 데이터와 데이터의 정의 및 설명(메타데이터)을 포함 2. 프로그램과 데이터의 격리 및 추상화 ▶ 사용자에게 데이터에 대한 개념적인 표현을 제공하여 접근성을 향상 3. 다중 뷰 제공 ▶ 각 사용자가 관심을 갖는 데이터베이스의 일부만을 표현할 수 있는 기능 제공 4. 데이터 공유와 다수 사용자 트랜잭션 처리 ▶ 다수의 데이터 조..

DB 2024.04.13

[Python] 선택구조

선택구조 선택구조의 구문형식 - 구문형식 → 들여쓰기는 코드 블럭을 표현 → 특정 동작을 수행하는 한 라인 이상의 명령문 집합 → 스페이스 4칸 권고 (PEP-8) if 불리언식 : 명령문 1 명령문 2 선택구조의 실행흐름 → if 라는 선택구조에 의해서 명령문이 실행될수도 , 안될 수도 있다. 불리언식 - 비교연산자를 사용하여 결과가 불리언 타입으로 생성되는 표현식 불리언 타입 - 논리값이 참(True) 과 거짓 (False)의 값만 표현할 수 있는 데이터 타입 → True 또는 False 예약어를 사용하여 표현 → 비교 연산자를 사용한 표현식의 결과로 생성 원뿔 계산 프로그램 개선 - 기존 코드 # 반지름 사용자 입력 rad = int(input("반지름을 입력하세요 : ")) # 높이 사용자 입력 ..

Python 2024.03.25

[Python] 제어구조

제어구조의 이해 구조적 프로그래밍 패러다임 - 절차적 프로그래밍 패러다임의 하위개념 - goto문을 사용하지 않고 프로그램을 3가지 제어만으로 구성하는 프로그래밍 패러다임 → 순차 (sequence) 구조 → 선택(selection)구조 → 반복(interation) 구조 - 프로그램 실행흐름이 간결하고 작은 규모로 조직화하기 쉬움 순차구조 설계 > 생산 > 조립 - 실행의 흐름을 주어지는 명령의 위치적 흐름에따라 수행하는 구조 → 명령 라인 위에서 아래로 흐르는 가장 직관적인 구조 선택구조 검사 > 정상 ? > 배송 > 불량 ? > 재생 - 특정 영역 내의 명령문에 대한 실행 여부를 프로그램 실행 과정 중 결정하는 구조 → 실행 여부는 조건에 따라 결정 반복구조 설계 > 배송 > 설계 > 배송 > 설계..

Python 2024.03.22

[Python] 프로그래밍 기초

프로그래밍 기초 숫자와 문자 숫자 - 정수(integer) : 소수점이 없는 숫자 - 실수(floating point) : 소수점이 포함되는 숫자 문자 - 유니코드(unicode) 기반 문자 또는 문자열 - 인용부호 " 또는 '를 사용하여 표 >> 문자가 하나이든, 여러개이든 파이썬에서는 모두가 문자타입 * unicode? → ASCII 코드 표는 실제 영국, 미국에서 사용하는 영문자와 특수기호만을 다룬다. 그 외 한글, 일본어, 중국어 등 영문자 외의 다른 나라의 언어들에도 별도의 코드표가 필요한데, 전 세계의 모든 문자들을 표현하기 위해 가변길이의 4byte로 문자를 표현하는 코드 체계를 유니코드(unicode) 라고 하며, 파이썬 3.0 부터는 모든 문자를 유니코드로 처리한다. 기본연산자와 표현식 ..

Python 2024.03.21

[Linux] 권한 및 그룹 설정

ls -l - 리눅스 시스템의 모든 파일과 디렉터리에는 접근권한(permission)과 소유권(ownership)이 부여된다. - 명령어 ls -l 은 파일 속성을 나타낸다. ls -l 명령어를 입력하면 위와 같이 파일 속성이 나온다. 예시로 파일 하나만 뽑아서 살펴보도록 하자 ! drwxr-xr-x@ 7 oyoon staff 224 12 7 2022 IdeaProjects 1. drwxr-xr-x - 파일 허가권(permission) - 파일 유형과 파일 접근 권한으로 구성 2. 7 - 물리적 파일 연결 개수 3. oyoon - 파일 소유자 명(USer Ownership) 4. staff - 파일 소유 그룹 명 (Group Ownership) 5. 224 - 파일 크기 (바이트 단위) 6. 12 7 2..

Linux 2024.01.31

[ Mybatis ] sqlSession 이용해서 commit 수동만들기

개요 배치 작업을 맡고 난 뒤 35만건 까지는 mybatis 문으로 어떻게든 만회했으나.. 4000만건 이상의 데이터를 배치작업 해야할수도 있는 상황이 생겨서 트랜젝션 관련 고민을 하게 되었다. 그래서 모든 동작이 끝나고 난 뒤 commit 하는 방식 대신, 수동으로 만들어서 for문 돌면서 insert 해줄때마다 commit을 수동으로 해주는 방법을 해야겠다고 생각했다. 1차로 작성한 코드 public Boolean excuteJob (){ Boolean result = false; List exampleVo = new ArrayList(); try{ mybatisEdbConfig.edbSqlSessionTemplate().getConnection(); deleteMenualTransactionExam..

Spring 2024.01.15
728x90