전체 702

도커 명령어

도커 명령어 (이미지) - 도커 생성(이미지가 없을 경우, pull을 먼저 수행하여 이미지 다운로드) docker create [image] - 컨테이너 생성 및 시작(이미지가 없을 경우, pull을 먼저 수행하여 이미지 다운로드) docker run [image] 도커 명령어 (컨테이너) * [container]에는 컨테이너의 이름이나 id를 넣으면 된다 - 컨테이너 시작 docker start [container] //컨테이너 이름 or id로 실행가능 - 동작중인 도커 컨테이너 확인 docker ps - 동작중인 도커 컨테이너 bash 쉘 실행하기 docker exec -it [컨테이너명] bash - 모든 도커 컨테이너 확인 docker ps -a - 컨테이너 정지 docker stop [co..

도커 2023.01.14

데이터프레임 문자열 컬럼을 두개로 쪼개기

문자열 쪼개기 하나의 문자열 컬럼을 쪼개서 다른 문자열 컬럼 두개로 만든다 str사용 a = df["SNP_01"].str[0] b = df["SNP_01"].str[2] display(pd.DataFrame({"SNP_01_01":a,"SNP_01_02":b})) apply함수사용 def split_get_one(a): return a[0] def split_get_two(a): return a[2] a = train["SNP_01"].apply(split_get_one) b = train["SNP_01"].apply(split_get_two) display(pd.DataFrame({"SNP_01_01":a,"SNP_01_02":b}))

라이브러리 프레임워크 차이

라이브러리와 프레임워크의 공통점 공통으로 사용될 수 있는 특정한 기능들을 모듈화 한 것. 라이브러리와 프레임워크의 차이점 라이브러리 항목 프레임워크 사용자가 가지고 있음 (폴더명 파일명 등에 대한 규칙이 없음) 흐름 제어 권한 사용자가 가지고 있지 않음 (폴더명 파일명 등에 대한 규칙이 정해져 있음) "가위"라는 도구를 사용하여 내가 직접 컨트롤 함 예시 "비행기"라는 도구를 타고 이동하지만, 비행기를 내가 컨트롤하진 않음 텐서플로우, 파이토치 종류 예시 자바 스프링, 파이썬 플라스크, 파이썬 장고

IPV4, IPV6

IPV4 - 전세게에서 사용된 첫 인터넷 프로토콜(인터넷 주소를 만드는 규칙, 체계) - 주소를 만드는 규칙 * (주소용량) = (8bit 씩 4묶음) = (8bit.8bit.8bit.8bit) = (32bit) * (각 묶음은 8bit 이므로 각 묶음은 2^8=256개의 숫자를 나타낼 수 있음) = (0~255) = (000.000.000.000) * 따라서 총 (2^8)^4 = 2^32개의 주소를 만들 수 있음 - 주소 부여 : 네트워크 크기나 호스트의 수에 따라 클래스가 나뉘고 클래스에 따라 IPV6 - IPV4의 주소부족 문제를 해결하기 위해 만들어짐 - 주소를 만드는 규칙 * (주소용량) = (16bit 씩 8묶음) = (16bit.16bit.16bit.16bit.16bit.16bit.16bit..

CS/네트워크 2022.12.03

사설 IP, 공인 IP의 차이

공인 IP - 인터넷 사용자의 로컬 네트워크를 식별하기 위해 ISP가 제공하는 IP주소 - 공용 IP주소라고도 불리우며 외부에 공개돼 있는 IP주소(전세계에서 유일한 IP주소) - 외부에 공개되어 있기에 인터넷에 연결된 다른 PC로 부터 접근이 가능하다. 따라서 방화벽과 같은 보안설정을 해 주어야 한다. 사설 IP - 일반 가정이나 회사 내 등에 할당된 네트워크 IP주소 - 라우터(공유기)등을 통해서 로컬 네트워크 PC나 장치에 할당된다.

CS/네트워크 2022.12.03

[프로그래머스] 즐겨찾기가 가장 많은 식당정보 출력하기 #group by

문제 음식 종류별 즐겨찾기 수가 최대인 값들을 구하는 문제. 오답 SELECT A.FOOD_TYPE, A.REST_ID, A.REST_NAME, A.FAVORITES FROM (SELECT *, max(FAVORITES) as max_favorites FROM REST_INFO group by FOOD_TYPE) AS A order by FOOD_TYPE DESC 위 쿼리가 틀린 이유는 서브쿼리(SELECT *, max(FAVORITES) as max_favorites FROM REST_INFO group by FOOD_TYPE)에서 SELECT문을 "*, max(FAVORITES)"로 하면 max(FAVORITES)컬럼에는 FOOD_TYPE별 최댓값이 들어가지만, 나머지 컬럼들에는 FOOD_TYPE별 ..

DB/SQL 2022.11.26

해쉬테이블

해시테이블 - key와 value구조로 이루어져 있는 자료구조 - key를 해시함수를 이용해서 index로 바꾸고 해당 index를 주소로 사용 해시함수 1. digit folding : key의 문자열을 ASCII 코드로 바꾸고 그 합을 index로 사용 2. division method : 숫자 key를 테이블의 크기로 나누어 나온 나머지를 index로 사용 (index = key % 테이블 크기) * 테이블의 크기는 소수(prime number) 3. multiplication method : 숫자로 된 key 값에 A(0~1사이 실수)를 곱한 후 그 나머지에 2의 제곱수 m을 곱하는것을 index로 사용 (index = (K*A mod 1)*m) 충돌 회피 - 해시함수를 이용해 구한 index가 ..

CS/자료구조 2022.11.13

소트의 종류

시간복잡도 정리 최악 평균 최선 1. 삽입정렬 n^2 n^2 n 2. 선택정렬 n^2 n^2 n^2 3. 버블정렬 n^2 n^2 n^2 4. 퀵정렬 n^2 nlog(n) nlog(n) 5. 힙정렬 nlog(n) nlog(n) nlog(n) 6. 병합정렬 nlog(n) nlog(n) nlog(n) 1. 삽입정렬 - 앞에서 부터 순차적으로 선택하고 적절한 위치에 삽입 하는 정렬 방법 - 시간복잡도 최악 평균 최선 n^2 n^2 n 2. 선택정렬 - 가장작은(혹은큰) 값부터 선택해서 순차적으로 나열하는 것 - 시간복잡도 최악 평균 최선 n^2 n^2 n^2 3. 버블정렬 - 인접한 두 값을 서로 비교하여 교체하는 작업을 앞에서 부터 순차적으로 진행 - 시간복잡도 최악 평균 최선 n^2 n^2 n^2 4. 퀵정..

환경변수 PATH설정

PATH설정이란? https://sosoeasy.tistory.com/616에서 시스템변수를 설정해 보았다. 이번에는 PATH설정을 해 본다. 시스템변수는 어느 위치에서든 특정 디렉토리로 이동하거나 프로그램을 실행시키기 위해 변수를 지정하는 것이고(%변수% 로 실행) PATH는 어느 위치에서든 해당 PATH안에 모든 프로그램을 실행시킬 수 있도록 한다. (path속 프로그램을 바로 입력하여 실행가능, 아래 python과 %python%의 차이로 확인) PATH설정 1. 환경변수 -> 시스템변수 -> path 더블클릭. 2. 실행할 파일이 있는 디렉토리를 입력한다 PATH 확인 1. python 실행 가능 * python이라는 시스템변수를 이용할때는 %python%으로 실행했던 것과 다른것을 주의! 2. ..

CLI/터미널 2022.10.09

윈도우 시스템 환경변수

시스템 환경변수 cmd에서 특정 프로그램을 실행하기 위해선 해당 프로그램이 설치되어 있는 경로까지 이동하여 프로그램을 실행하여야 한다. 또한 특정 디렉토리로 이동하기 위해선, (해당 디렉토리가 아무리 길어도) 그 경로를 모두 입력하여야 이동할 수 있다. 이때 시스템 변수를 설정하면 변수입력만으로 특정 프로그램을 실행하거나 긴 경로로 바로 이동할 수 있다. 시스템 환경변수를 설정하는 방법과, 사용하는 방법을 알아본다. 시스템 환경변수 설정방법 1. 왼쪽아래 검색창에 "시스템 환경변수 편집" 검색 2. "고급"탭에 아래 "환경변수" 클릭 3. 아래 시스템 변수에 "새로 만들기"클릭 4. 변수이름과 값을 설정한다 5. 재부팅을 한다 시스템 환경변수 실행방법 %변수% 위와 같은 형태로 변수를 사용할 수 있다. ..

CLI/터미널 2022.10.09

[2022 KAKAO TECH INTERNSHIP] 코딩 테스트 공부 dp

주의점 1. dp구성은 다음과 같다 dp[i][j] : 알고력이 i, 코딩력이 j를 얻기위해 걸리는 최소시간 2. 1시간 이후일 때 if now_alp != max_alp: dp[now_alp + 1][now_cop] = min(dp[now_alp][now_cop] + 1, dp[now_alp + 1][now_cop]) if now_cop != max_cop: dp[now_alp][now_cop + 1] = min(dp[now_alp][now_cop] + 1, dp[now_alp][now_cop + 1]) 3. 문제를 이용할 때 * 문제를 통해 개선된 알고력과 코딩력이 max를 넘어가면 안되는것에 주의 for alp_req, cop_req, alp_rwd, cop_rwd, cost in problems:..

알고리즘/search 2022.09.17

파이썬 k-means 클러스터링 군집분석

K-means 클러스터링 sklearn의 kmeans클러스터링을 이용하여 군집분석을 수행한다. 데이터는 iris데이터를 사용한다. 코드 - 필요한 패키지 설치 # 필요한 패키지 설치 import pandas as pd import numpy as np from sklearn import datasets import seaborn as sns from matplotlib import pyplot as plt from mpl_toolkits.mplot3d import Axes3D from mpl_toolkits.mplot3d import proj3d - 본 데이터 업로드 및 산점도 그리기 # skearn.datasets에 포함된 iris(붓꽃) 데이터 가져오기 iris = datasets.load_iris..

파이썬 다항회귀분석

다항회귀분석 차수가 2차수 이상인 다항회귀분석 모델을 만든다. 코드 설명 1. 학습데이터 준비 # 데이터 생성 x_train = sorted(6*rd.rand(100,1)-3) y_train = 0.5 * x**2 + x + 2 + rd.randn(100,1) 2. 학습데이터 다차항으로 transform하기 파이썬에서 다항회귀를 하기 위해선 다항데이터를 만들어 주어야 한다. 즉 aX => bX+cX^2으로 만들어야 한다. degree 파라미터를 이용해 몇차항으로 만들것인지 판단한며 include_bias를 이용하여 bias를 만들껀지 판단한다. 코드는 다음과 같다. # 데이터 만들기 quadratic = PolynomialFeatures(degree=2, include_bias=False) # 다항회귀..

[2022 테크 여름인턴십 코딩테스트] 등산 코스 정하기 #다익스트라 응용

다익스트라 응용 문제 다익스트라 알고리즘만 정확히 이해하고 있으면 조금만 응용해서 풀 수 있다. 핵심은 다음과 같다. 1. 경로중 가장 긴 거리를 pq로 관리한다. 기존의 다익스트라는 경로의 합의 최소를 찾지만, 이 문제에서는 경로중 가장 긴 거리의 최소를 찾는다. 즉 기존에 다음과 같이 경로의 합을 pq에 넣는 방식을 addedD=toD+d if addedD

알고리즘/graph 2022.09.11

파이썬 선형계획법 해찾기

파이썬 선형계획법 파이썬을 이용하여 선형계획법 문제를 해결한다. 예시문제 1 - 문제상황 A,B,C 세개의 제품이 있고 가장 수익을 많이 내는 방법을 찾는다. 판매가격은 A제품이 10, B제품이 8, C제품이 9 이다. 생산비용은 A제품이 2, B제품이 3, C제품이 1 이며 생산비용의 총합은 1000을 넘어서는 안된다. 생산시간은 A제품이 5, B제품이 6, C제품이 6 이며 생산시간의 총합은 2400을 넘어서는 안된다. 모든 제품은 700이상 생산해서는 안된다. B제품은 160이상 생산해야 한다. - 목적함수 max (10X_1+8X_2+9X_3) - 제한조건 2X_1+3X_2+X_3 = 0 - 코드 from pulp import * # sense: LpMaximize or LpMinimize(de..

파이썬 계층적 군집분석(dendrogram)

계층적 군집분석 파이썬 sklearn 라이브러리의 hierarchy 를 이용하여 계층적 군집분석을 수행한다. 예시 import matplotlib.pyplot as plt import pandas as pd import numpy as np file_path = "파일경로" df = pd.read_csv(file_path) display(df) import scipy.cluster.hierarchy as shc # data transformation data = df.iloc[:, 3:5].values # display(data) # dendrogram 그리기 plt.figure(figsize=(10, 7)) plt.title("Customer Dendograms") link = shc.linkage(d..