전체 글
-
타입스크립트에서 "using" 예약어의 동작👔, 📚, 🍱 2025. 1. 2. 22:07
들어가며using 예약어는 const와 let 대신 사용되는 일회용 객체, 즉 사용 후 스스로 정리되는 객체를 의미합니다.하지만, 이 예약어는 C#에서도 사용됩니다. 타입스크립트가 C#보다 늦게 태생된 것을 보아 C#을 배낀것일까요?정답은 아닙니다, 타입스크립트는 전반적인 개발자 경험을 향상시키기 위해 C#에서 가장 좋은 기능을 골라낸 것일 뿐입니다.오늘은 타입스크립트에서 using예약어가 어떻게 작동하는지, 그리고 using예약어가 가장 적합한 일반적인 사용 사례에 대해 설명하겠습니다.바로 들어가보시죠!사용 방법using예약어는 const 및 let과 같은 방식으로 사용할 수 있습니다.// 참고. x에는 값 또는 함수를 할당해야합니다.using x = getX()위 방식으로 할당은 가능하나, using..
-
Hadoop - 읽기 쓰기 Data 흐름Data 2024. 4. 3. 00:49
들어가기 앞서, 데이터를 읽고 쓰는 명령을 받는 역할은 Name node가 아닌 Data node에서 수행한다. 그리고 데이터를 읽고 쓰는 명령을 받은 Node를 Client node라고 칭한다. 데이터 읽기 사용자가 데이터 읽기 명령어를 입력하면 Client node에서 수신하고 데이터 읽기를 처리하는 과정을 알아보자. (JVM Client 예시) HDFS JVM Client를 통해서 읽고자하는 파일을 여는 명령을 날린다. (Client node 영역) Client node에서 파일 읽기에 대한 명령을 받는 주체는 DistributedFileSystem이다. DistributedFileSystem은 명령을 받은 파일의 위치를 알아내기 위해서 Name node에 질의한다. 블록의 위치를 얻은 Distri..
-
Hadoop - Name node, Data node, HDFS 클라이언트Data 2024. 3. 25. 23:09
Name Node, Data Node, HDFS 클라이언트 들어가며 Hadoop HDFS 클러스터는 마스터 노드, 워커 노드로 분리되어 관리하고있다. 마스터 노드를 Name Node라고 칭하고, 워커 노드를 Data Node라고 칭한다. Name Node Name Node에서는 HDFS에서 메타 데이터를 관리하는 노드이다. 메타 데이터에는 네임스페이스 이미지와 에디트 로그 두가지 파일로 저장된다. 또한 Data Node의 블록 데이터 위치를 저장하는데 이거는 메모리에 저장되기 때문에 Name Node가 재시동되면 Data Node의 블록 위치가 다 날라가서 재구성해야한다. Data Node Data Node에는 실질적인 파일이 물리적으로 저장되는 곳이다. Data Node는 클라이언트 혹은 Name No..
-
Hadoop - HDFS 알아보기Data 2024. 3. 25. 03:29
HDFS (하둡 분산 파일 시스템) 분산 파일 시스템이란? 물리 디스크에 저장되어있는 파일을 각각의 서버들이 데이터셋을 나눠가져 저장/관리함. 그러므로 데이터를 가지고있는 머신들이 네트워크로 연결되어야함. 네트워크 문제와 디스크 문제를 모두 가지고있어 관리가 복잡하다. 그 중 가장 큰 문제는 분산된 데이터를 가진 노드가 죽었을 때 복구를 하는 것이 가장 난제이다. HDFS의 설계와 실무 적용시 고려사항 고가용성을 가지고있기 때문에 데이터셋 볼륨 자체가 매우 클 때 유용함 HDFS는 "쓰는 것"보다 "읽는 것"에 더욱 집중을하였음. 읽는 것 중에서도 전체 데이터셋을 읽는 것에 중심을 두었음. HDFS는 특정 노드가 죽더라도 복구가 가능하도록 구성되어있다. 최종 사용자는 이를 보고 장애에 대한 판별을 할 수..
-
Airflow - TestingAirflow 2024. 3. 25. 03:03
Airflow Test1. DAG 무결성 테스트 - Airflow DagBag내가 작성한 DAG가 잘 등록이되었는지 확인하려고할 때 유용.from airflow.models import DagBag def test_dag_loading(): dag_bag = DagBag(dag_folder='dags',include_examples=False) assert dag_bag.size() == 2dag_folders 파라미터에 dag들이 들어있는 디렉토리로 설정한다. include_examples=False 설정으로 기본 예제 DAG들을 무시할 수 있다. 더 자세히def test_task_dependencies(): ## DAG, 테스크 무결성 테스트 dag_bag = DagBag(dag_folder='dag..
-
Airflow - SensorAirflow 2024. 2. 18. 18:48
Airflow - Sensor센서는 N개의 Task 중 하나라도 구동완료시 의존하는 다른 Task 하나 이상을 실행시키는데 유용하다. 유스케이스로 한번 알아보자.유스케이스쿠컬팡리라는 쇼핑몰에서 여러 광고를 진열중이다. 이 중 광고가 4가지가 존재한다. 1번째 광고는 쿠컬팡리 구독서비스 가입 이벤트이다. 2번째 광고는 참치회사에서 할인 해주는 행사를 디스플레이한다. 3번째는 강아지 사료 회사에서 할인해주는 상품 디스플레이 4번째는 애플 신제품 오픈 안내 광고 안내이다. 4가지 광고를 조회하는 클라이언트의 IP와 시간의 결과값을 분석해야한다. 같은 IP에서 출발하여 광고를 조회하는 중복된 조회는 스킵한다. 마지막으로 해당 결과 값을 엑셀로 만든 후 마케팅팀과 사업팀에 메일로 전송해야하는 케이스다. 클라이언트..
-
2024년 3째,4째 주 주기장👔, 📚, 🍱 2024. 1. 30. 01:33
밀려쓴 주기장쓰기. 3째주 주기장 머리하기 긴 머리를 히피펌했다. 지금 단장발(거지존)인데, 너무 조선시대 돌쇠머리같아서 히피펌을 하기로 맘먹었다. 파마 후 첫 날 머리를했는데 생각보다 이쁘게 말려서 맘에 들었다. 그런데 2째날이 되더니 예상했던대로 악성 찬머리를 소유한 내가 당연히 풀릴거라 생각은했지만, 앞머리가 너무 심하게 풀리긴했다. 맘에들었던 미용실인데 생각보다 잘 안나와서 이제 슬 미용실도 다른데를 알아볼까 생각중이다... 내돈 8만원... 영화관가서 엔드 오브 에반게리온 보기. 최근에 메가박스에서 에반게리온을 재개봉했다. 집근처에있는 메가박스가서 최대한 늦게 예매를해서 혼자보려고했는데 나말고 부부 한쌍분꼐서 와서 이미 시청하고계셨다. 혼자 보는 영화가 좋은데 쩝. 최근에 영화 산업이 잘안되는게..
-
Airflow - BranchAirflow 2024. 1. 21. 18:25
Branch git에서도 흔히 사용되는 기능이다. "가지"라는 뜻으로 나무가 가지를 나뉜어 자라는 것처럼 DAG, Task 내부에서 분기 기능이 필요할 경우, 사용된다. Branch를 어디에 적용할까? Branch를 누가봐도 if문 혹은 Airflow에서 기본적으로 제공하고 이용할 줄 알지만, 효용성이 필요하다. 카드사의 새로운 시리즈 얼마전, H카드사에서 A신용카드를 에디션1에서 혜택, 실적, 카드 디자인을 리뉴얼하여 에디션2라는 카드를 새로 출시한다. A 신용카드 에디션1을 기존에 이용하던 고객들은 실적, 혜택을 그대로 유지하고 에디션 2를 새로 발급하여 이용하는 고객들의 경우, 에디션2만의 혜택과 에디션1의 일부 혜택을 이어가는 형식이었다. H 카드사에서는 익월부터 에디션1 뿐만아닌, 에디션2의 실..