일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 데이터엔지니어
- 부트캠프
- 데이터웨어하우스
- airflow
- 데이터베이스
- 파이썬
- 프로그래머스
- WEB
- Service
- DataWarehouse
- 데이터엔지니어링
- 웹자동화
- 클라우드
- 개념정리
- 웹스크래핑
- SQL
- Django
- AWS
- 데브코스
- 기술면접
- 취준
- 개발
- Amazon
- 관계형데이터베이스
- 자료구조
- 운영체제
- 에어플로우
- 웹크롤링
- CS
- 알고리즘
- Today
- Total
목록전체 게시글 (90)
사진과 음악을 좋아하는 개발자 지망생의 블로그
테스트란? - 제품이 원하는 대로 동작하는지 검증하는 작업 기존방식 - 디자인 → 코드개발 → 테스트 → 배포 - 문제점 1. 소비자의 요구사항이 명확하지 않을 수 있다 -> 완벽한 설계 불가능 2. 잦은 재설계로 인해 불필요한 코드가 남거나 중복처리될 가능성이 크다 3. 작은 부분의 기능 수정에도 모든 부분을 테스트해야 하므로 전체적인 버그 검출이 어려워진다 TDD란? - 개발(코드 작성) 전 테스트 코드를 먼저 작성 후 실제 코드를 작성하는 개발 방식 또는 방법론 중 하나 TDD 절차 1. 실패하는 테스트 코드를 먼저 작성한다 2. 테스트 코드를 성공시키기 위한 실제 코드를 작성한다 3. 중복 코드 제거, 일반화 등의 리팩도링을 수행한다
API? - 응용 프로그램(한글, 인터넷 익스플로러 등)에서 운영체제나 프로그램 언어에서 제공하는 기능을 제어할 수 있도록 하는 '인터페이스(매개체)' * 인터페이스? - 상호 간의 소통을 위해 만들어진 매개체 → ex) 가게 점원 - 예를들어 데이터 베이스에서 데이터를 가져오기 위해선 MYSQL과 같은 데이터 베이스 관리 시스템을 설치 후 들어가 해당 문법을 맞는 명령어를 입력해야 한다 - 하지만, API를 활용하면 직접 sql문을 작성하지 않아도 API를 통해 인터넷 익스플로러 같은 응용 프로그램에서 데이터 베이스의 데이터 처리 기능을 활용할 수 있다 REST? - 월드와이드웹과 같은 분산 하이퍼미디어 시스템에서 운영되는 소프트웨어 아키텍처스타일 - 자원을 이름으로 구분하여 해당 자원의 상태를 주고 ..
객체지향 프로그래밍이란? - 여러 개의 독립된 단위인 '객체'들의 상호작용(메시지 주고받기, 데이터 처리 등)으로 프로그램 로직을 구성하는 프로그래밍 추상화란? - abract:개요 → 복잡한 자료, 모듈, 시스템등에서 핵심적인 개념 또는 기능들만 간추리는것 ex) 마우스: 마우스에 커스를 누르면 전기 신호가 어쩌구 저쩌고... → 마우스를 움직이고 클릭하게 해주는 입출력 장치 클래스란? - 구현하고자 하는 것의 속성(attribute)과 행위(behavior)를 변수와 메서드로 정의한 것 → 가방을 만들기 위해 여러 도구와 장비 그리고 제작 방법을 정의한 것 객체란? - 클래스에서 정의한 것을 토대로 실제 메모리에 할당된 것 상속이란? - 상속은 한 클래스가 또 다른 클래스의 필드 멤버와 메소드 기능들..
코드란 무엇인가 - 컴퓨터 또는 기계에게 어떤 연산이나 행동을 지시하는 문서 - 그런데 내가 작성한 문서 내용과 관련된 모든 사람이 씹고 뜯고 맛보고 즐기는... - 그래서, 내가 작성한 문서를 누군가가 검토해주거, 또는 가져다가 쓸 경우가 반드시 발생한다. - 이를 대비하기 위해 문서 작성시, 가독성은 높게, 수정은 편하게 작성해야 한다 좋은 코드란 무엇인가? - 성능은 당연하고, 본인 뿐만 아니라 다른 사람이 읽거나 가져다 수정하기 편하게 작성된 코드 → 읽기 편한(적절한 주석과 읽는 사람의 배경지식을 반영한 + 일관성) 코드, 중복이 없는 코드, 가져다 쓰기(확장성 있는) 편한 코드 등등 1. 읽기 쉬운 코드? - 내가 만약 공고문을 작성해서 모든 사람들에게 뿌렸다고 가정해보자 - 그 공고문에 주석..
flush() - 이 메서드를 호출하면 버퍼에 있는 모든 레코드가 즉시 전송 가능 상태가 되며(linger_ms가 0보다 크더라도), 이러한 레코드와 관련된 요청이 완료될 때까지 블로킹됨. - flush()는 이전에 전송된 레코드의 처리가 완료될 경우 실행된다(예: Future.is_done() == True). - 요청은 성공 여부와 상관 없이 Producer의 'acks' 구성에 따른 전송 결과가 반환되면 완료된 것으로 간주됨. - 한 스레드가 flush 호출이 완료될 때까지 블로킹되는 동안 다른 스레드는 메시지를 계속해서 전송할 수 있지만, flush 호출이 시작된 이후에 전송된 메시지의 완료에 대해서는 보장할 수 없음 매개변수: timeout (float, 선택 사항) – 완료를 기다리기 위해 제..
에러에 따른 시스템 동작에 의해 메세지가 한번에 하나씩 처리되지 않을수있으며, 유실될수도 있고 중복될수도있다. 그리고 에러상황은 다음과 같다 1. Producer failure - 생산자 장애는 생산자가 메시지를 전송하는 도중에 발생하는 상황을 의미함. - 예를 들어, 생산자가 네트워크 오류나 시스템 장애 등으로 인해 메시지를 정상적으로 전송하지 못하는 경우임. → 이러한 경우에는 메시지가 손실될 수 있으며, 장애가 복구되더라도 해당 메시지를 다시 전송해야 할 수 있음. 2. Consumer publish remote call failure - 소비자의 원격 호출 실패는 소비자가 원격 시스템에 대한 호출을 수행하는 중에 발생하는 오류를 의미함. - 예를 들어, 소비자가 데이터를 처리한 후 외부 시스템으로..
kafka란? - 다양한 데이터 소스에서 실시간으로 흐르는 데이터를 처리하는 오픈소스 분산 스트리밍 플랫폼(소프트웨어) - 규모 가변성(scalability)와 내결함성(Fault Tolerance)를 제공하는 Publish-Subscription 메시징 시스템(데이터 처리 시스템) - hight Throughput(많이)과 Low Latency(빨리) 실시간으로 데이터를 처리할 수 있도록 구현됨 - 서버(Broker) 추가를 통해 Scalability 달성 - 정해진 보유기한(retention period) 동안 메시지(데이터)를 저장 기존 메시징 시스템 및 데이터베이스와의 비교 - 기존 메시징 시스템과 달리, 카프카는 메시지 보유 기간 동안 저장(기본 보유 기간은 일주일) - 브로커를 통해 메시지를 ..
자료구조를 배우다 보면 우선순위 큐(Priority Queue)와 힙(Heap)을 접하게 된다. 그리고, 힙(Heap)에 대해 공부하다보면 다음과 같은 문장을 무조건 보게 된다 힙(Heap)은 우선순위 큐를 위해 고안된 완전이진트리 형태의 자료구조이다 우선순위 큐는 힙(Heap)이라는 자료구조를 가지고 구현할 수 있다 분명, 하나의 자료구조를 통해 다른 자료구조를 구현할 수 있다? 문듯 감이 오면서도 정확히 이해가 가지 않는 말이다. 따라서, 우선순위 큐와 힙 간의 정확히 어떤 차이가 있기 때문에 저런 문장들이 나올 수 있는지 알아보자 우선순위 큐(Priority Queue)와 힙(Heap) ○ 우선순위 큐(Priority Queue) - 데이터의 우선순위에 따라 요소들을 저장하고, 가장 높은 우선순위를..