분류 전체보기
-
Mac Java 11 설치Data Engineer 2023. 7. 27. 14:09
Spring 실습을 위해 java 11을 설치해야 하는데, 꽤 오래 걸리는 작업이었다... ㅠ 우선 mac 상위에서 리스트를 검색하고, Library/Java/JavaVirtualMachines 에 들어간다. % cd Library/Java/JavaVirtualMachines jdk-20.jdk 기본적으로 깔려있는 java 20이 보인다. 먼저, oracle 공식 사이트에 접속하여 java 11을 다운로드 한다. https://www.oracle.com/java/technologies/downloads/#java11-mac 위 링크에 접속하여 스크롤을 내리다보면 다음과 같은 화면이 나온다 m2 칩을 사용하기 때문에 ARM64 DMG 를 선택하여 다운로드 받는다. (m1의 경우 x64 DMG 선택. m2 ..
-
-
데이터 엔지니어링 수명 주기<견고한 데이터 엔지니어링> 2023. 7. 20. 15:41
데이터 엔지니어링 수명 주기는 원천 시스템에서 데이터를 가져와 저장하는 것에서 시작한다. 데이터를 변환한 뒤 분석가, 데이터 과학자, ML 엔지니어 등에게 데이터를 제공한다는 주요 목표를 향해 나아간다. 실제로 데이터 저장은 데이터가 처음부터 끝까지 흐르면서 수명 주기 전체에 걸쳐 발생한다. 데이터 생성 원천 시스템 : 데이터 엔지니어링 수명 주기에서 사용되는 데이터의 원본이다. IoT 장치와 애플리케이션 메시지 대기열 또는 트랜잭션 데이터베이스를 예로 들 수 있다. 데이터 엔지니어는 원천 시스템의 데이터를 소비하나, 일반적으로 원천 시스템 자체를 소유하거나 제어하지 않는다. 데이터 엔지니어는 원천 시스템의 작동 방식, 데이터 생성 방식, 데이터 빈도 및 속도, 생성되는 데이터의 다양성을 실무적으로 이해..
-
[직무탐색] Upstream, Downstream 이해 관계자<견고한 데이터 엔지니어링> 2023. 7. 20. 13:56
( 서적을 참고했습니다.) * External Engineer : 소셜 미디어 앱, IoT 장치, 전자 상거래 플랫폼과 같은 외부 애플리케이션의 사용자와 연계하며, 이러한 애플리케이션에서 발생하는 트랜잭션 및 이벤트 데이터를 수집/저장/처리하는 시스템을 설계, 구축, 관리한다. 이러한 데이터 엔지니어가 구축한 시스템에는 애플리케이션에서 데이터 파이프라인으로, 그리고 다시 애플리케이션으로 향하는 피드백 루프가 있다. [External Engineer가 가져야할 문제의식] 1. 외부 대면 쿼리 엔진은 내부 대면 시스템보다 훨씬 더 큰 동시성 부하를 처리하는 경우가 많아. 사용자가 실행할 수 있는 쿼리에 엄격한 제한을 두어 단일 사용자가 인프라에 미치는 영향을 제한해야 한다 2. 보안은 외부 쿼리에서 훨씬 더..
-
웹 크롤러 설계Project 2023. 7. 12. 18:17
웹 크롤러 - 검색 엔진에서 널리쓰는 기술로, 웹에 새로 올라오거나 갱신된 콘텐츠를 찾아내는 것이 주된 목적 - 콘텐츠는 웹 페이지일수도, 이미지나 비디오 또는 PDF 파일일 수도 있다. 1. Search Engine Indexing - 웹 페이지를 모아 검색 엔진을 위한 로컬 인덱스를 만든다 - GoogleBot : 구글 검색 엔진이 사용하는 크롤러 2. Web Archiving - 나중에 사용할 목적으로 장기보관하기 위해 웹에서 정보를 모으는 절차 - 많은 국립 도서관이 크롤러를 돌려 웹사이트를 아카이빙 3. Web Mining - 인터넷에서 유용한 지식을 도출해 낼 수 있는 것 - 유명 금융 기업들은 크롤러를 사용해 주주총회 자료나 연차 보고서를 다운받아 기업의 핵심 사업 방향을 제시 4. Web ..
-
27. 영어 끝말잇기Programmers 2023. 7. 12. 11:19
문제 설명 1부터 n까지 번호가 붙어있는 n명의 사람이 영어 끝말잇기를 하고 있습니다. 영어 끝말잇기는 다음과 같은 규칙으로 진행됩니다. 1번부터 번호 순서대로 한 사람씩 차례대로 단어를 말합니다. 마지막 사람이 단어를 말한 다음에는 다시 1번부터 시작합니다. 앞사람이 말한 단어의 마지막 문자로 시작하는 단어를 말해야 합니다. 이전에 등장했던 단어는 사용할 수 없습니다. 한 글자인 단어는 인정되지 않습니다. 다음은 3명이 끝말잇기를 하는 상황을 나타냅니다. tank → kick → know → wheel → land → dream → mother → robot → tank 위 끝말잇기는 다음과 같이 진행됩니다. 1번 사람이 자신의 첫 번째 차례에 tank를 말합니다. 2번 사람이 자신의 첫 번째 차례에 ..
-
26. 짝지어 제거하기Programmers 2023. 7. 12. 09:24
문제 설명 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다. 문자열 S가 주어졌을 때, 짝지어 제거하기를 성공적으로 수행할 수 있는지 반환하는 함수를 완성해 주세요. 성공적으로 수행할 수 있으면 1을, 아닐 경우 0을 리턴해주면 됩니다. 예를 들어, 문자열 S = baabaa 라면 b aa baa → bb aa → aa → 의 순서로 문자열을 모두 제거할 수 있으므로 1을 반환합니다. 제한사항 문자열의 길이 : 1,000,000이하의 자연수 문자열은 모두 소문자로 이루어져 있습니다. ..
-
25. 카펫Programmers 2023. 7. 11. 16:07
문제 설명 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다. Leo가 본 카펫에서 갈색 격자의 수 brown, 노란색 격자의 수 yellow가 매개변수로 주어질 때 카펫의 가로, 세로 크기를 순서대로 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 갈색 격자의 수 brown은 8 이상 5,000 이하인 자연수입니다. 노란색 격자의 수 yellow는 1 이상 2,000,000 이하인 자연수입니다. 카펫의 가로 길이는 세로 길이와 같거나, 세로 길이보다 ..