본문 바로가기

전체 글115

[SK shieldus Rookies 19기] - 애자일(Agile) 특강 1. 애자일(Agile) 사전적 의미 기민한, 민첩한 애자일이란 Agile Software Development로 기민하고 민첩하게 발전하고 성장하는 것을 말한다. 최근 회사에서 하나의 서비스를 출시할 때 일정을 얼마나 줄까? 평균적으로 4개월, 많으면 6개월, 적으면 3개월을 준다. 서비스 출시 일정이 빨라지기 시작하면서 빠른 출시를 위해 효율적인 방법을 찾다가 협업을 하기 시작했다. 1) 폭포수 모델 이전 단계가 끝날 때까지 다음 단계를 실행하지 않고 대기 장점 Simple - 단순한 선형 모델 Systematic - 단계별 정형화된 접근 Clarity - 명확한 진행 상황 파악 단점 Parallel - 각 단계 병행 불가능 Issue Check - 중요 결함에 대한 대응 어려움 Flexible - .. 2024. 3. 12.
[SK shieldus Rookies 19기][Python] - 자료형 2 1. 리스트(list) 자료형의 집합을 표현할 수 있는 자료형 1) 생김새 a = [] b = [1, 2, 3] C = ['Life', 'is', 'too', 'short'] d = [1, 2, 'Life', 'is'] e = [1, 2, ['Life', 'is']] a = 빈 리스트 b = 숫자가 들어 있는 리스트 c = 문자열이 들어 있는 리스트 d = 숫자와 문자열이 들어 있는 리스트 e = 숫자와 문자열 리스트가 들어 있는 리스트 2) 인덱싱 리스트에서도 문자열처럼 인덱싱할 수 있다. a = {1, 2, 3] 위와 같은 리스트가 있을 때 a[0] = 1이 된다. 인덱스는 0부터 사용한다는 것을 항상 기억해야 한다. a[0] + a[2] = 4 a[0]은 1이고, a[2]는 3이므로 1 + 3이 되.. 2024. 3. 11.
[SK shieldus Rookies 19기][Python] - 자료형 1 1. 자료형이란? 프로그래밍을 할 때 쓰이는 숫자, 문자열 등과 갈이 자료 형태로 사용하는 모든 것을 뜻함 프로그램의 기본이자 핵심 단위 '어떤 프로그래밍 언어이든 그 언어의 자료형을알고 이해할 수 있다면 이미 그 언어의 절반을 터득한 것이나 다름없다'라는 말이 있다. 자료형을 충분히 이해하지 않고 프로그래밍을 시작하려는 것은 기초 공사가 마무리되지 않은 상태에서 빌딩을 세우는 것과 같다. 1) 변수 자료형의 값을 저장하는 공간 변수 이름 = 변수에 저장할 값 변수에 대해서는 뒤에서 더 자세히 설명한다. 여기서는 자료형을 설명하기 위한 간단한 설명이다. a = 1 위 코드에서 a를 변수라고 한다. 변수를 만들 때는 할당 연산자(=)를 사용한다. 2. 숫자형 숫자 형태로 이루어진 자료형 1) 정수형 정수형.. 2024. 3. 10.
[SK shieldus Rookies 19기][Python] - 실습 환경 구성 1. 파이썬 실습 환경 구성 파이썬 실습을 위해서는 파이썬을 설치해야 한다. 이전 포스트에서 봤듯이 파이썬은 무료로 아무나, 어디서나 다운받아 설치할 수 있다. 파이썬 다운로드 위 다운로드 페이지에 들어가면 이 화면을 볼 수 있다. 중간에 있는 다운로드를 누르면 자동으로 자신의 운영체제 파일을 다운받을 수 있다. 받은 파일을 실행하면 볼 수 있는 화면인데 밑에 있는 파이썬 PATH를 등록해 주어야 한다. 설치 시에 하지 않으면 따로 등록해야 하는 번거로움이 있기 때문에 무조건 누르고 진행한다. 설치를 완료하면 설치가 되었는지 확인해봐야 한다. 이때 cmd를 키고 python --version 또는 python -V를 입력하면 버전이 나오면 설치가 잘 된 것이다. 설치를 완료했다면 파이썬으로 프로그램을 만.. 2024. 3. 8.
[SK shieldus Rookies 19기][Python] - 시작 1. 준비 지금까지 파이썬은 생활코딩, 인프런, 유튜브 등에서 무료 강의의 앞부분들만 공부했다. 그래서 파이썬을 깊숙하고 자세히 알지 못한다. 그래서 아는 만큼, 이해한 만큼 표현하려고 한다. 모르는 것들은 구글링, 지인, GPT, 강사님께 질문을 통해 이해하려고 한다. 이 강의는 파이썬 하면 모두가 아는 Do it! 점프 투 파이썬을 교재로 사용한다. 이 책은 파이썬 공부를 시작한 사람이라면 누구나 아는 입문서 같은 책이라고 해도 과언이 아니다. 최근 개정이 되면서 유튜버 조코딩과 협업하여 유튜브 채널 조코딩에서 강의 영상을 무료로 제공한다. 2. 파이썬이란? 파이썬은 1990년 암스테르담의 귀도 반 로섬이 개발한 인터프리터 언어다. 언어에는 크게 파이썬이 사용하고 있는 인터프리터 언어와 컴파일러 언어.. 2024. 3. 7.
[SK shieldus Rookies 19기] - DT특강 1. 클라우드란? 클라우드란 영어 Cloud 즉 구름에서 나왔다. 복잡한 네트워크 및 서버 구성 등을 갈 필요 없이 구름과 같이 내부가 보이지 않고, 일반 사용자는 복잡한 내부를 굳이 알 필요도 없이 어디서나 구름 속의 컴퓨터 자원으로 자기가 원하는 작업을 할 수 있다. 클라우드란 인터넷을 통해 컴퓨터 시스템 자원(서버, 스토리지, 데이터베이스, 네트워크, 소프트웨어, 분석 등)을 제공하는 기술 클라우드는 데이터 센터에 맡겨 수행됨 2. 데이터 센터 (법적 정의) 정보통신 서비스의 제공을 위해 다수의 정보통신 기반을 일정한 공간에 집적시켜 통합 운영/관리하는 시설 (국가정보화 기본법 제23조의 3) 데이터 센터(DC)는 기업이 다양한 네트워크 형식의 컴퓨팅 및 스토리지 인프라를 수용하는 데 사용하는 물리.. 2024. 3. 5.
[자료구조] 그래프 구현 1. 그래프 구현 방법 인접 행렬(adjacent matrix) : 2차원 배열 사용 인접 리스트(adjacency list) : 연결리스트 사용 1) 인접 행렬 방법 if(간선 (i, j)가 그래프에 존재) M[i][j] = 1. 존재하지 않으면 M[i][j] = 0 2. 인접 행렬 행렬에 대한 2차원 배열을 사용하는 순차 자료구조 방법 그래프의 두 정점을 연결한 간선의 유무를 행렬로 저장 n개의 정점을 가진 그래프 : n * n 정방 행렬 행렬의 행 번호와 열 번호 : 그래프의 정점 행렬값 : 두 정점이 인접되어 있으면 1, 인접되어있지 않으면 0 1) 인접 행렬 예 2) 무방향 그래프 행 i의 합 = 열 i의 합 = 정점 i의 차수 3) 방향 그래프 행 i의 합 = 정점 i의 진출 차수(Out) 열.. 2020. 6. 28.
[자료구조] 그래프 1. 정의 그래프 G는 정점 V(Vertex)와 간선 E(Edge)로 구성되며 G = (V, E)로 표시된다 V는 정점(Vertices)들의 집합이다. E는 간선(Edge)들의 집합이다. 정점과 간선은 모두 관련되는 데이터를 가질 수 있다. 트리는 사이클이 없는 그래프의 한 종류이다. 1) 그래프 종류 G1과 G2는 무방향 그래프다. G2는 Tree다. G3은 방향성 그래프다. 2. 무방향 그래프(Undirected Graph) 두 정점을 연결하는 간선의 방향이 없는 그래프 정점 Vi와 정점 Vj를 연결하는 간선을 (Vi, Vj)로 표현 (Vi, Vj)와 (Vj, Vi)는 같은 간선을 나타낸다. V(G1) = {A, B, C, D} E(G1) = {(A, B), (A, D), (B, C), (B, D),.. 2020. 6. 27.
[자료구조] 힙(Heap) 1. 개념 완전 이진 트리에 있는 노드 중에서 킷값이 가장 큰 노드나 킷값이 가장 작은 노드를 찾기 위해서 만든 자료구조 힙은 완전 이진 트리이므로 배열로 표현 가능 힙(Heap)이란 완전 이진 트리로써 각 노드의 값은 자신의 자식 노드의 값보다 크거나 같다. 따라서 힙은 언제나 루트의 값이 최댓값이 된다. 힙에서 최댓값을 삭제하게 되면 힙의 마지막(배열 마지막 인덱스) 원소를 삭제된 위치인 루트에 넣고 힙을 하나 줄인 뒤 힙이 되도록 자식들과 크기를 비교하며 필요한 값을 서로 교환한다. 힙 정렬은 힙을 활용하여 정렬하는 방식이다. 1) 최대 힙(Max Heap) 킷값이 가장 큰 노드를 찾기 위한 완전 이진 트리 {부모 노드의 킷값 ≥ 자식 노드의 킷값} 루트 노드 : 킷값이 가장 큰 노드 2) 최소 힙.. 2020. 6. 27.
[자료구조] 이진 탐색 트리 (Binary Search Tree) 1. 이진 탐색 트리(Binary Search Tree) 이진 트리에 탐색을 위한 조건을 추가하여 정의한 자료구조 1) 정의 모든 원소는 서로 다른 유일한 키를 가진다. 왼쪽 서브 트리에 있는 원소의 키들은 그 루트의 키보다 작다. 오른쪽 서브 트리에 있는 원소들의 키들은 그 루트의 키보다 크다. 왼쪽 서브 트리와 오른쪽 서브 트리도 이진 탐색 트리다. 2. 탐색 연산 루트에서 시작 탐색할 킷값 x를 루트 노드의 킷값과 비교 킷값 x = 루트 노드의 킷값인 경우 - 원하는 원소를 찾았으므로 탐색 연산 성공 킷값 x 루트 노드의 킷값인 경우 - 루트 노드의 오른쪽 서브 트리에 대해서 탐색 연산 수행 - 서브 .. 2020. 6. 26.