전체 글 14

데이터프레임 기본 [2/2]

행 선택 행 데이터를 선택하기 위해서 loc와 iloc 인덱서를 사용한다. 인덱스 이름(예: '홍길동', '이순신' 등)을 기준으로 행을 선택할 때는 loc를 사용 정수형 위치 인덱스(예: 1,2,3,4 등)를 사용알 때는 iloc를 사용 # 행 인덱스를 사용하여 행 1개 선택 label1 = df.loc['서준'] position1 = df.iloc[0] print(label1) print(position1) ----------------------------------------------------------------------------------------------- 수학 90 영어 98 음악 85 체육 100 Name: 서준, dtype: int64 수학 90 영어 98 음악 85 체육 1..

머신러닝/Pandas 2022.04.27

데이터프레임 기본 [1/2]

데이터프레임은 2차원 배열이다. 행과 열로 만들어지는 2차원 배열 구조는 엑셀과 RDBMS등 다양한 컴퓨터 분양에서 사용중 데이터프레임의 열은 각각 시리즈 객체. 시리즈를 열벡터(vector)라고 하면, 데이터프레임은 여러개의 열벡터들이 같은 행 인덱스를 기준으로 줄지어 결합된 2차원 벡터 또는 행렬(matrix) 데이터프레임은 행과 열을 나타내기 위해 두 가지 종류의 주소를 사용 행 인덱스(row index) 와 열 이름(column name 또는 column label) 데이터프레임의 열은 공통의 속성을 갖는 일련의 데이터를 나타내고, 행은 개별 관측대상에 대한 다양한 속성 데이터들의 모음인 레코드가 된다. 데이터프레임 만들기 데이터프레임을 만들기 위해서는 같은 길이(원소의 개수가 동일한)의 1차원 ..

머신러닝/Pandas 2022.04.23

판다스 기초

파이썬 데이터 처리를 위한 라이브러리 시리즈와 데이터프레임이라는 구조화된 데이터 형식을 제공 파이썬 클래스로 만들어지고, 서로 다른 종류의 데이터를 한곳에 담는 그릇이 됨 시리즈는 1차원 배열이고, 데이터프레임이 2차원 배열 판다스의 1차적인 목적 서로 다른 여러 가지 유형의 데이터를 공통의 포맷으로 정리하는 것 특히 행과 열로 이루어진 2차원 구조의 데이터프레임은 데이터 분석 실무에서 자주 사용됨. 먼저 시리즈에 대해 알아보자. 시리즈(Serise)란 시리즈는 데이터가 순차적으로 나열된 1차원 배열의 형태 인덱스는 데이터 값과 일대일 대응이 되고 키(k)와 값(v)이 '{k : v}' 형태로 짝을 이루는 딕셔너리와 비슷한 구조 시리즈 만들기 딕셔너리와 시리즈 구조가 비슷하기 때문에 딕셔너리를 시리즈로 ..

머신러닝/Pandas 2022.04.22

도커 기본 개념

회사 동료가 도커를 공부하는 저에게 와서 도커 이미지랑 컨테이너 차이점이 뭐냐고 했었는데.... 대답이 별로 였던거 같아 다시 공부해서 정리를 하였다. Docker의 구성요소 컨테이너 개별 소프트웨어의 실행에 필요한 실행환경을 독립적으로 운용할 수 있도록 기반환경 또는 다른 실행환경과의 간섭을 막고 실행의 독립성을 확보 해주는 운영 체계 수준의 격리 기술이다. 가상 머신은 하드웨어 스택을 가상화하는데 반해, 컨테이너는 운영체제 수준에서 가상화를 실시하여 다수의 컨테이너를 OS커널에서 직접 구동하는 방식이다. 동일한 런타임 환경 제공 애플리케이션의 샌드박스화 디스크 용량 감소 낮은 오버헤드 이미지 컨테이너 실행에 필요한 파일과 설정값 등을 포함하는 것을 뜻하며, 상태값은 없고 변하지 않는다. 결론 컨테이너..

DEVOPS/Docker 2022.03.21

도커(Docker)가 무엇인가요?

회사를 다니다 보니 전 회사에서도 그렇고 지금 회사에서도 동일하게 개발자들 사이에 '도커'라는 말이 참 빈번하게 오고 가는 것을 느낄 수 있었다. 사실 도커가 어떤 것인지, 무슨 역할을 하는지는 대충 알고 있지만 정작 왜 사용을 하는지는 잘 모르기에 이 기회에 한번 도커에 대해 진지하게 공부를 해보고자 한다. 도커가 뭐죠? 컨테이너에 여러 기능을 추가함으로써 애플리케이션을 컨테이너로서 좀 더 쉽게 사용할 수 있게 만들어진 오픈소스 프로젝트 사실 위에 말을 봐도 뭔 말인지 알기가 쉽지 않다. 최대한 간단히 이야기 해보자면, 똑같은 두 서버가 있다고 해도, 서버 내부의 운영체제 및 패키지는 절대 완벽하게 같을 수가 없습니다. 이러한 작지만 소소한 차이점이 운영하는데 서버 장애를 일으키곤 합니다. (예 : 같..

DEVOPS/Docker 2022.03.20

Codewars - Isograms

문제 An isogram is a word that has no repeating letters, consecutive or non-consecutive. Implement a function that determines whether a string that contains only letters is an isogram. Assume the empty string is an isogram. Ignore letter case. Isogram은 연속적이든 비연속적이든 반복되는 문자가 없는 단어이다. 문자만 포함하는 문자열이 isogram인지 판단하는 함수를 구현한다. 빈문자열이 isogram이라고 가정하고, 대소문자를 무시한다. 예시 "Dermatoglyphics" --> true "aba" --> fa..

코딩테스트 2022.02.13

Kafka 란

주변 개발자 지인들 한테 카프카에 대해 설명을 하자니 나 자신 조차도 정리가 되지 않아서 설명을 잘 해주지 못했는데 이참에 정리를 해서 확실히 하고자 글을 적게 되었다. Kafka? 카프카? 가 뭐야 Apache Kafka는 Data in Motion Platform for Enterprise 또는 Event Streaming Platform 이라고 할 수 있다. 대개 고성능 분산 이벤트 스트리밍 플랫폼이라고 많이 하는데, 여기서 핵심은 이벤트라는 단어이다. 이벤트는 비즈니스에서 일어나는 모든 일(데이터)을 의미하고, 또한 빅데이터의 특징을 가지고 있다. 비즈니스의 모든 영역에서 광범위하게 발생 event stream은 연속적인 많은 이벤트들의 흐름을 의미 탄생 배경 링크드인 내에서 개발 탄생됨 링크드인..

DEVOPS 2022.02.12

기술부채에 관하여

이번 설날에 지금까지 진행하였던 프로젝트를 정리하면서 기술부채에 대한 생각이 들었다. 현직 또는 예비 개발자라면 한번 정도는 들어 보았을 기술 부채에 대해 간단하게 설명하자면, 기술적으로 해결되어야 할 문제들을 뒤로 미루고, 비즈니스 문제를 해결하는 시점을 당기는 행위 8퍼센트 CTO이신 이호성님의 글에서 가져온 말이다. 무슨 말인지 대부분 쉽게 짐작을 하실 수 있을 것이다. 나도 아직 신입 개발자이긴 하지만 지금까지 다녔던 회사에서는 이러한 느낌을 너무 자주 느낄수 있었다. 프로젝트를 진행하려고 하면 갑자기 다른 프로젝트에 헬프를 주러 가야하고, 서류를 작성하려고 하면 심부름 같은 잡무가 들어와서 흐름이 방해되고.... 약 1년간 생산성 있게 진행해 본 경험은 별로 없었던 것 같다. 지금와서 이야기 하..

개발 이야기 2022.02.02

[리팩토링] 리팩토링이란?

오늘은 진행했던 프로젝트의 하자 보수 요청이 와서 코드를 보던 중 조금 더 효율적으로 코드를 작성 할 수 있지 않을까에 대한 생각이 들어 문득 리팩토링에 대한 생각이 나서 공부를 해보고자 한다. 리팩토링이 뭐하는 건가? 소프트웨어의 겉보기 동작은 그대로 유지한 채, 코드를 이해하고 수정하기 쉽도록 내부 구조를 변경하는 기법 마틴 파울러의 리팩토링이라는 책에서 나와 있는 문구이다. 위 글로만 봤을 때는 단순히 읽기 어려운 코드를 깔끔하게 정리한다는 것이 아닌 개발자가 만든 기능은 유지 하면서 기능 안에 있는 여러 단계(예. 메서드, Funtion 등등)를 세분화 또는 간략화 시키는 과정이라고 할 수 있다. 리팩토링은 어떻게 하는가? 개인적으로는 OKKYCON: 2018 에서 박재성님의 의식적인 연습으로 T..

JAVA 2022.01.30

HTTP

1. HTTP ? HyperText Transfer Protocol 거의 모든 형태의 데이터 전송 가능 HTML / TEXT IMAGE, 음성, 영상 ,파일 JSON, XML 2. HTTP 특징 클라이언트 서버 구조 무상태 프로토콜(Stateless), 비연결성 HTTP 메시지 단순함, 확장 가능 클라이언트 서버 구조 Request Response 구조 클라이언트는 서버에 요청을 보내고, 응답을 대기 서버가 요청에 대한 결과를 만들어서 응답 무상태 프로토콜(Stateless) 서버가 클라이언트의 상태를 보존하지 않음 서버의 확장성이 높음(스케일 아웃) 클라이언트가 추가 데이터를 전송해야 함 비 연결성 HTTP는 기본이 연결을 유지하지 않는 모델 일반적으로 초 단위 이하의 빠른 속도로 응답 수천명이 서비시..

HTTP 기본 2021.12.27