본문 바로가기
반응형

전체 글731

Scala를 처음 접하는 초보자를 위한 입문 가이드_01 스칼라 스터디guide doc : https://docs.scala-lang.org/tour/tour-of-scala.htmlscope : Introduction, Basic, Unified Types, Classes IntroductionScala란 무엇인가?Scala는 모던한 다중 패러다임 프로그래밍 언어로,일반적인 프로그래밍 패턴을 간결하고 우아하며, 타입 안정성(type-safe)을 유지하면서 표현할 수 있도록 설계되었습니다.Scala는 객체지향(Object-Oriented)과 함수형(Functional) 프로그래밍의 장점을 결합한 언어입니다.Scala는 객체지향 언어다Scala는 완전한 객체지향 언어입니다.• 모든 값이 객체이며,• 객체의 타입과 동작(behavior)은 클래스(Class)와 트.. 2025. 3. 21.
2) Apache HBase® Architecture HBase의 전체적인 구성요소들이 뭐가 있는지 아키텍처를 살펴보고 세부적으로 가이드문서를 통해 알아보도록 하겠습니다1. HBase 아키텍처 (HBase Architecture)설계 개념 (Design Idea)HBase는 분산 데이터베이스(Distributed Database)이며,클러스터 관리를 위해 ZooKeeper를 사용하고, HDFS를 기본 스토리지로 활용함.HBase 주요 구성 요소HMaster- Zookeeper에 의해 리더(Leader)로 선출됨- 클러스터 관리 및 메타데이터 관리 역할 수행HRegionServer (다수의 서버가 존재) - 데이터의 실제 저장 및 읽기/쓰기 요청 처리 - 각 RegionServer는 여러 개의 Region을 관리아래 그림에서는 HBase의 기본적인 구조를 나.. 2025. 3. 13.
1) Apache HBase® Architecture : Overview Apache HBase란?Apache HBase®는 Hadoop 데이터베이스로, 분산형이며 확장 가능한 빅데이터 저장소입니다.Apache HBase는 빅데이터에 대한 랜덤(random)하고 실시간(real-time) 읽기/쓰기 접근이 필요할 때 사용됩니다.이 프로젝트의 목표는 수십억 개의 행(row)과 수백만 개의 열(column)로 이루어진 매우 큰 테이블을일반적인 하드웨어(cluster of commodity hardware) 위에서 호스팅하는 것입니다.Apache HBase는 오픈소스 분산 버전 관리 비관계형 데이터베이스로,Google의 Bigtable을 모델로 개발되었습니다.(Bigtable: A Distributed Storage System for Structured Data, Chang et.. 2025. 3. 6.
2주차) 백엔드 개발자의 데이터플랫폼 온보딩! 2주차에 한 일서비스 가이드 정리 및 사용해보기 진행생각보다 봐야할께 많았다...그리고 정리를 하면서 전체적으로 다 따라하지는 못했다.디테일한 서비스 사용은 나중에 소스를 보면서 좀 더 deep하게 보자!한번 보고 한번 정리했다고해서 내것이 아니다. 생각나지 않을때마다 자꾸 보자! 2월이 지나갔다.3월부터는 스터디를 통해 학습하자!물론 나는 더 학습해보고 스터디 이외에도 관심을 가져야 한다.데이터플랫폼 관련 책을 하나 샀다.내용이 괜찮아서 샀는데 조금씩 보자!온보딩 3주차부터는 이제 기술 도메인이다.Scala, Hadoop, HBase, Kafka등 굵직한것부터 보자!3월1일~3일까지 조금이라도 학습해보자! 2025. 3. 1.
1주차) 백엔드 개발자의 데이터플랫폼 온보딩! 목표 생소한 비즈니스 도메인 파악! 1주차에 한 일2025.02.17 - [Data Platform/Backend to DataPlatform] - 백엔드 개발자가 데이터 플랫폼 팀으로 이동하면?2025.02.17 - [Data Platform/Backend to DataPlatform] - 데이터 플랫폼에서 데이터는 어떻게 흘러갈까?비즈니스 도메인 파악을 위해 업무 wiki 정리Sercie 사용해보기  wiki 정리마지막 Working Time!!Service 이용해보기!!ㄴ 서비스 이용해보기는 다음주 화요일까지 정리 마무리! 와..서비스 가이드문서를 보고 있는데 범위가 많다..ㅋㅋㅋㅋ이번주까지 정리!!!Next Plan기술 도메인 익히기!! 3월초 스칼라 스터디 진행! → 자바언어에서 스칼라언어 적응.. 2025. 2. 21.
데이터 플랫폼에서 데이터는 어떻게 흘러갈까? 데이터플랫폼이란?데이터의 수집, 스토리지, 정리, 변환, 분석 및 거버넌스를 가능하게 하는 기술 솔루션데이터플랫폼에는 하드웨어와 소프트웨어 구성요소가 모두 포함 될수 있음조직은 데이터를 좀 더 쉽게 사용하여 의사결정 및 운영을 개선할 수 있음데이터플랫폼의 유형엔터프라이즈 데이터플랫폼(EDP)빅데이터 플랫폼(BDP)클라우드 데이터 플랫폼(CDP)고객 데이터 플랫폼(CDP)데이터가 어떻게 흘러가는지 이해하기Data Platform Architecture효과적인 데이터 관리를 구성하는 5가지 주요 계층1) Data Ingestion Layer(데이터 수집)2) Data Storage Layer(데이터 저장)3) Data Processing Layer(데이터 처리)4) User Interface Layer(사용.. 2025. 2. 17.
백엔드 개발자가 데이터 플랫폼 팀으로 이동하면? 첫번째, 마음가짐처음은 다 어렵다 아직 익숙치 않아서 어렵다.설레임 반 두려움 반 그러나 금방 적응할 것이다.빠른 빌드업을 통해 내껄로 만들자! ㅈㄴ 재밌다!!! 두번째, 비즈니스, 기술 도메인 파악!여기서 도메인이란 특정한 업무영역(비즈니스 도메인)과 기술영역(기술 도메인)을 의미비즈니스 도메인 : 특정산업이나 업무분야를 의미하며 고객에게 제공하는 서비스를 의미 함.예) 이마트는 유통서비스를 제공, KT는 통신 서비스를 제공, 토스뱅크는 은행 서비스를 제공검색서비스 안에 하위 도메인으로 보면 웹 서비스 제공 → 데이터플랫폼 서비스 제공기술 도메인기존 : Spring Boot 기반 웹 API 개발 → 웹 서비스 중심지식그래프를 구축하고 이를 기반으로 데이터를 서빙검색 성능 최적화 및 연관성 높은 결과 제.. 2025. 2. 17.
새로운 도메인을 마주하게 되었다. Java+Spring Framework기반의 웹 기술기반으로 개발을 해왔었는데이번에 생소하지만 재밌을것 같은 비즈니스 도메인&기술 도메인을 하는 곳으로 이동하게 되었습니다.대용량처리를 하는 기술을 다루는 곳이 한정적이라 배울수 있는 기회가 없었는데 기회가 생겨서 이동하기로 마음 먹었습니다. 회고좋았던 점이전 팀에서는 자바 백엔드 위주로 지식그래프기반 서빙을 위한 작업과 리액트 기반 운영툴 개발을 함.백엔드는 Spring Boot 기반 JPA, Redis, MySQL, GraphQL등을 사용해서 개발을 진행 함.리액트라는걸 처음 해보아서 좋았음! 또한 개인프로젝트에도 리액트+스프링 조합으로 개발해서 시놀리지에 서빙 함!2024.08.17 - [역량 UP!/Business] - 1) ENS Project -.. 2025. 2. 14.
17) ENS Project - 시놀리지 NAS에서 스케줄러 돌리기! 상품이 업데이트 되면 배치Job이 돌아서 업데이트를 해줘야하는 작업이 있습니다.그래서 시놀리지 나스에서 스커줄러를 사용하게 되었습니다.크론탭으로 하려고 했는데 크론탭이 없었습니다ㅋㅋ작업스케줄러 > 생성 > 트리거된 작업 > 사용자 정의 스크립트사용자 정의 스크립트를 작성해주시면 됩니다.#!/bin/bashwhile true; do curl -X GET "http:블라블라/batchMakeOptionApiData" -H "Content-Type: application/json" echo "Request sent at: $(date)" sleep 600 # 10분 (600초) 대기done결과 batch job 끝~will do로는 오래된 데이터를 삭제해야겠군요! :) 단, 하나는 남겨두고요ㅋㅋ 업데이트.. 2025. 2. 13.
16) ENS Project - Server 산정 및 배포! AWS는 시기상조라 시놀리지 NAS에 배포하기로 마음 먹고 셋팅을 하였습니다.NAS에 Docker를 관리하는 Container Manager라는게 있어서 사용했습니다.MySQL을 셋팅하고 로컬에서 연동 테스트를 진행 하였습니다.셋팅은 간단하게~다운받아서 포트 설정을 해주고폴더추가에서 docker폴더를 선택하고 mysql폴더를 생성!/mysql로 매핑해줌. 아래의 설정으로!완료 후 자동실행 됩니다! domain 설정 - 시놀리지나스에서는 하나의 도메인을 무료로 제공해줍니다! 개이득~외부엑세스 > DDNS도커 컨테이너에 대한 접근 또한!NAS에 Docker로 배포한 MySQL, Spring Boot, React 애플리케이션 등은 기본적으로 내부 네트워크에서만 접근 가능합니다.외부에서 접근하려면 라우터에서 특.. 2025. 2. 12.
Airflow log를 가져오는데 크키가 큰 log 보기 처리 중 에러 발생! 상황DAG에 대한 로그보기를 하려고 했는데로그크기가 크면 부하가 심함해결책으로 full_content=false와 token을 이용String airflowLogUrl = String.format( dagUrl + "/%s/dagRuns/%s/taskInstances/%s/logs/%d?full_content=false%s", dagId, dagRunId, taskId, taskTryNumber, (continuationToken != null ? "&continuation_token=" + continuationToken : ""));그래서 로그를 잘라서 가져오는데 성공!그런데 아래와 같은 오류 발생!오류ERRORcom.fasterxml.jackson.core.ex.. 2025. 2. 12.
2025년 1월 회고 진행 오늘은 회고 진행을 했습니다.1월에는 정말 건강이 정말 중요하다는 생각을 했습니다.감기가 2번이나 걸렸는데...다 나았나? 하면 다시 걸리고..-_-건강마일리지를 제대로 지금이라도 쌓아야겠다는 생각을 했습니다.배달음식은..nope!! 제철음식을 잘 먹도록 합니다! 겨울엔 구좌당근! ㅎㅎ 2025년 1월에는 여러가지 이슈가 있었습니다. ㅎㅎ 잘한점도 많았지만 아쉬운점도 많았습니다 ㅋㅋ 특히 개인프로젝트를 시놀리지에 서비스를 서빙까지 해서 만족스러웠습니다 ㅎㅎ 커리어도 분기별로 업데이트를 하기 위해 노력해야겠습니다.2월에는 아프지말고! 운동도 하면서 재미나게 개발하며 살아야겠습니다:) 2025. 2. 2.
15) ENS Project - 상품 데이터를 체크하자! 발주 처리를 위해서 업체별 상품 데이터를 최신으로 가지고 있어야 합니다.주문으로 들어오는 데이터는 최신으로 반영된 데이터를 가지고 있어야 비교하여 발주를 해주기 때문 입니다.물론 상품 변경 전 데이터도 가지고 있어야 합니다. 혹시 모를 상품 변경 전에 주문이 들어왔을수도 있기 때문 입니다.그래서 테이블을 업체 테이블 하나와 상품 테이블 하나를 만들었습니다.발주처리 전 체크를 해야 합니다.혹은 상품 데이터를 주기적으로 변경사항을 체크하여 업데이트 해주는 배치가 돌아야 합니다.변경사항이 많다면 발주처리가 무척 느려질수 있습니다. 하지만 배치를 돌리기에는 서버도 마땅치 않고 우선 실시간적으로 느리지만 괜찮아~버전으로 개발해보겠습니다ㅋㅋJson to DataBase네이버스토어 상품에는 여러가지가 있다..본상품과.. 2025. 1. 15.
14) ENS Project - 송장 시스템 2024.12.27 - [OpenSource/Spring Boot] - 13) ENS Project - 발주 시스템발주 시스템에 이어서 이제 송장을 받아서 네이버스토어에 일괄처리를 해줘야 합니다.그러기 위해서는 네이버스토어 일괄처리 양식에 맞게 저장된 엑셀이 필요 합니다.송장 시스템에는 2가지 엑셀 파일이 필요 합니다.발주 시스템에서 나온 주문내역인 엑셀 파일 하나그리고 택배사를 통해서 송장이 나온 엑셀 파일 하나2개의 파일을 넣고 송장처리 버튼을 눌러주면 아래와 같이 네이버스토어 일괄처리를 위한 엑셀 파일 하나가 만들어 집니다.내용은 아래와 같이 네이버스토어에서 원하는 양식 입니다.그리고 송장시스템을 확인하고 수정작업이 필요하면 파일을 선택 후 택배사 변경이나 추가&삭제를 한 뒤에 저장을 하시면 됩니다.. 2024. 12. 27.
13) ENS Project - 발주 시스템 개인 프로젝트로 만들고 있는 서비스 입니다.발주 시스템요 시스템은 네이버스토어에 신규 주문건들이 들어오면 엑셀을 다운 받아서 신규 엑셀을 만들어줍니다.(네이버스토어에서 다운받은 엑셀은 암호화가 되어있습니다.)파일을 선택 후 발주처리를 진행!..처리가 완료되면 zip파일이 다운로드 됩니다.아래와 같이 상품(업체)별로 엑셀이 나옵니다.  이제 발주시스템은 네이버스토어에서 나온 발주이며, 문자고객이 있을수 있습니다.문자고객은 기존 상품에서 추가를 합니다.발주처리를 위해 a.i를 통해서 아래처럼 네이버스토어에 있는 타이틀을 가지고 이름과 업체명을 만들어줍니다.{ "id": "2994144279", "name": "손질과메기 20미리 단품", "company": "포항구룡포 과메기 농장", "title":.. 2024. 12. 27.
12) ENS Project - accessToken 발급 및 로그아웃 100만년만에 다시 개인프로젝트 시작!! ㅋㅋㅋ이전글 : 2024.11.08 - [Front/React.js] - 11) ENS Project - Naver 로그인을 구현해보자!참고 하세요~추억의 jsp로 개발된 소스!참고 : https://developers.naver.com/docs/login/web/web.md네이버 로그인 접근토큰 획득 예제는 2개의 프로그램으로 구성되어 있습니다. (naverlogin.jsp, callback.jsp)2. callback.jsp 예전에 스터디로 책선정을해서 OAuth2로 네이버 로그인을 추가했던적이 있습니다.2022.01.06 - [Study/Study group] - OAuth2 구글, 네이버 로그인 추가 아래처럼 application.yml에 스프.. 2024. 12. 22.
React + Vite .env 환경변수로 개발 환경(profile)나누기 우선 Vite는 아래의 설명처럼 빌드도구입니다.Vite(프랑스어로 "빠르다(Quick)"를 의미하며, 발음은 "veet"와 비슷한 /vit/ 입니다.)는빠르고 간결한 모던 웹 프로젝트 개발 경험에 초점을 맞춰 탄생한 빌드 도구!참고 : https://ko.vite.dev/guide/env-and-modeReact에서 Vite를 사용하고 있다면 환경변수에 접근하기 위해서는import.meta.env객체를 이용해서 접근합니다.예를 들어 소스에서의 사용은 아래와 같이 사용합니다.이제 dev, prod환경별 변수를 사용하기 위해서. env파일을 생성하고 환경별로 가져다가 사용해 보겠습니다..env는 공통적으로 사용할 내용.env.development는 dev환경에서 사용할 내용.env.production은 pr.. 2024. 12. 18.
2024년 리뷰 보호되어 있는 글 입니다. 2024. 11. 27.
커리어 코칭 4번째 어려운 대화기대관리 : 놀랄 준비는 해야한다. 안좋은게 분명히 있기 때문에시작의 중요성 : 아무것도 하지 않으면 아무일도 일어나지 않는다.문이 두개다! 실패하면 되돌아올수 있다.실패한다고 내가 실패한게 아니다.커리어가 길어질수록 나에게 맞는 환경을 찾는게 중요! -> 좋은 상사와 동료와 친구들과 가족나이가 들수록 까닭롭다! 주변에서 기대치도 올라감!기술지향적 말고 결과지향적인 사람이 되야한다.다른사람 말 잘듣고 좋은 질문하고 좋은평판을 시작으로 영향력이 좋은 사람이 되야함.점진적으로 좋은사람이 어떻게 될까? 회고와 습관으로 복리활동을 해야한다.잠깐으로는 좋은 성과가 나오지 않는다.단계 회고 :  행동-> 몰두 -> 회고 루프ㄴ 아쉬운거 잘한거 모두 체크!내 장점을 인지하고 상처의 인지가 중요해짐!문제 해.. 2024. 11. 18.
커리어 코칭 3번째 문제정의를 잘하자!흐름을 하나 따라가라 (Backend, FrontEnd, Domain등)ㄴ Backend와 검색 도메인, 이커머스, 통신회고- 마음건강을 위한 회고- 평정심(일희일비 하지 않기), 꾸준함, 호기심- 건강한 학습 방법 : 필요와 호기심 기반!   ㄴ 지금 당장 필요하지 않고 뒤쳐져있는 느낌만으로 학습하지 말라   ㄴ 먼저 문제 정의 능력이 중요함!          - 잘 듣는 능력 -> 질문 능력 -> 의사소통 능력 -> 문제 정의 능력   ㄴ 문제 해결을 위해 필요한 학습        - 조직적일 필요가 있음 - 무엇에 집중할까? 무엇이 필요한가?        FOMO vs JOMO(Joy Of Missing Out) ㄴ 학습 후 행동이 이어져야 의미가 있음. ㄴ 그냥 일만 하지 말고 .. 2024. 11. 11.
11) ENS Project - Naver 로그인을 구현해보자! 사이트에서 로그인이 필요하다!네이버 관련 프로젝트이니 네이버 로그인을 구현해보자:)https://developers.naver.com/docs/login/devguide/devguide.md이전에 Oauth2.0을 스프링시큐리티로 인증서버와 리소스서버를 만들었던적이 있었는데네이버 로그인 역시 Oauth2.0을 따르고 있다.대충 아래처럼 만들면 될것 같다! ㅋㅋ1. 네이버로그인 버튼을 클릭!// authProvider.tsconst authProvider = { generateRandomString :() => { const randomBigInt = bigInt.randBetween("1e130", "1e131"); // 130자리 난수를 생성 return randomBigInt.toStri.. 2024. 11. 8.
반응형