본문 바로가기

전체 글

(32)
[GCP] API로 받은 정보 Cloud Composer를 이용해서 GCS에 적재하기 - 5 생각지도 못했던 오류들! gcp에서는 덮어쓰기 기능이 없는듯하다.. 412 오류가 발생해서 이래저래 검색을 해보니, 똑같은 이름의 디렉터리에 파일명은 허용하지 않는 것 마냥. 오류가 계속해서 발생했다. 아니 왜 덮어쓰기가 안된단 말인가..😢😢😢 그래서 document도 뒤져보고 여러 가지를 해보았다. 나의 삽질을 기록해 본다. 나의 삽질들! document를 보면서 오지게 삽질을 했는데! 여러 가지 함수들을 찾았다. 그리고 물론 모르는 것들도 다수 발견했다. 덮어쓰기 하는 방법 찾기 단위테스트 중요도를 너무 느끼게 되었다. json encoding이 깨지는 문제를 발견했다. scheduler 사용에 문제점 발견 덮어쓰기 하는 방법 찾기 GCS는 기본적으로 덮어쓰기를 금지하는 거 같은 느낌이 든다.. Ob..
[GCP] API로 받은 정보 Cloud Composer를 이용해서 GCS에 적재하기 - 4 GCS Cloud Storage(CS)라고 말하는 저장 서비스는 Google Cloud에 객체를 저장하는 서비스이다. 여기서 말하는 객체는 모든 형식의 파일로 구성된 변경할 수 없는 데이터 조각이다. 객체를 버킷이라는 컨테이너에 저장하며, 모든 버킷은 프로젝트와 연결되고 프로젝트를 조직 아래에서 그룹화할 수 있다. Gcp 조직 조직 : Example Inc. 라는 회사에서 examplein.org라는 Google Cloud 조직을 만든다. Google Cloud 최상위 단계 프로젝트 : Example Inc.는 여러 애플리케이션을 빌드하고 각 애플리케이션은 프로젝트와 연결된다. 각 프로젝트에는 Cloud Storage API 세트와 리소스가 있다. 버킷: 각 프로젝트에는 객체를 저장할 컨테이너인 버킷이 ..
[GCP] API로 받은 정보 Cloud Composer를 이용해서 GCS에 적재하기 - 3 Cloud Composer(CC)란? 클라우드 및 온프레미스 데이터 센터 전체의 워크플로 파이프라인을 생성, 예약, 모니터링, 관리할 수 있는 완전 관리형 워크플로 조정 서비스이다. 워크플로? workflow는 작업 절차를 통한 정보 또는 업무의 이동을 의미하며, 작업 흐름이라고도 부른다. 더 자세히 말해, 워크플로는 작업 절차의 운영적 측면이다. 업무들이 어떻게 구성되고, 누가 수행하며, 순서가 어떻게 되며, 어떻게 동기화를 시킬지, 업무를 지원하기 위한 정보가 어떻게 흐르는지 그리고 업무가 어떻게 추적되는지이다. 위키피디아 작업의 흐름도 작업 절차 업무의 이동성 이 3가지 키워드로 정리할 수 있다. CloudComposer(CC)는 Airflow를 기반으로 Python으로 작동한다. CC의 장점은 A..
[GCP] API로 받은 정보 Cloud Composer를 이용해서 GCS에 적재하기 - 2 FaceBook API를 사용해 보자 Facebook 개발자 센터 위의 링크로 들어가서 페이스북 아이디로 접속 후 핸드폰 인증 등이 있다. 차례대로 진행해 주자. Todo Facebook api에 대해 알아보기 Facebook graph API 사용해 보기 url로 json data 받아오기 FaceBook API 종류 Facebook Login Graph API instagram API Meta Pixel Social Plugins WhatsApp Business Platform 위에 리스트 위에도 엄청나게 많은 API 종류들이 있지만 그중에서 나는 두 가지를 사용해 보았다. Graph API와 Webhook을 사용해 봤는데 webhook 사용은 추후에 다시 리뷰하고 Graph API 사용하는 법 알아..
[GCP] API로 받은 정보 Cloud Composer를 이용해서 GCS에 적재하기 - 1 GCP의 장점 GCP는 데이터 파이프라인을 만들 때에 여러가지 오픈소스들을 제공해준다. 나는 여기에 큰 장점이 있다고 생각하는게, 오픈소스들을 분산 처리할 생각으로 설치를 하게 되면 너무 너무 복잡하고 머리가 아픈데.. 자원관리 등등등 사실 이직한 회사에서 데이터 엔지니어 직무를 하게 됫고 파트너사 이기 때문에 공부를 시작했다. 하지만 분명히 여러가지 장점이 있는건 분명한 GCP이다. 이번 계획 여러가지 GCP 서비스들을 공부하면서 pipeline의 구성에 대해서 생각해보고 있다. 사실 gcp에는 여러가지 적재 방법들이 존재한다. Google Analystic은 Bigquery와 바로 연동이 가능하고, Streaming서비스인 Pub/Sub을 사용할 수도 있다고 한다. 이번에는 내가 공부한 Cloud C..
[JS] 글자 수에 따른 byte수 체크하기 byte수를 왜 체크해😗? 회사에서 프로젝트를 진행하면서 글자 수 관련 이슈가 나왓다 처음에는 글자수를 length() 함수를 사용해 길이만 체크하면 된다고 생각했지만, DB에 해당 부분을 넣을 때 byte를 정해 놓는데, 영어 와 다르게 한글은 encoding 방법에 따라 byte수가 변경이 된다 euc-kr 2byte utf-8 3byte 이런 byte문제 때문에 그냥 넣었더가는 db에서 오류가 나는 이슈가 존재했다. Code 코드로 일단 확인해보자 UTF-8 방식 byte 구하는 코드 (3byte) // Function const getByteLengthOfString = function(s,b,i,c){ for(b=i=0;c=s.charCodeAt(i++);b+=c>>11?3:c>>7?2:1); ..
리눅스 프로세스 확인 하는 명령어! centOS 리눅스에는 프로세스를 확인하는 명령어가 있다. 근데.. 프로세스의 정확한 의미가 뭘까.? 찾아보니 이걸로도 하나 포스팅을 해야할 것 같다! 간단하게 설명하자면 프로세스란 실행중에 있는 프로그램을 의미한다. 일단 간단하게 생각하자! 다시 본론으로 돌아와서 리눅스에서 프로세스 관련 명령어는 ps다 설명을 보여주는 명령어 man을 입력해서 ps에 대해 알아보자! 뭐 이것저것 내용이 많다. 뭐 다 알면 좋겟지만.. 나는 잘 못하니까 일단 주요 명령어만 확인 해보자! ps 기본 ps 입니다. 보이는게 pid (process id 고유번호) , tty, time(시간), cmd(사용명령어) 현재 로그인한 사용자가 실행하는 프로세스만 보여줍니다 ps -ax -a 옵션은 다른 사용자의 프로세스 상태도 표시합니다. -x..
리눅스 권한에 대해 알아보자 모든 os에는 권한이라는게 있다. 아무나 막 들어가서 우리의 개인정보를 꺼내면 큰일이 나니까 그리고 기업에서는 기업정보를 함부로 빼가거나 실행하게 되면 큰일이 나니까! 리눅스 계정 권한 리눅스에는 superuser 와 user가 존재한다. 슈퍼유저란? 관리자 계정으로 root유저를 말한다. 관리자 권한을 일반 사용자와 구분하고, 사용자의 부주의로 발생하는 문제들과 악성코드의 침입으로 부터 보호한다. whoami ## 사용중인 id출력 id ## uid, gid, 그룹들에 대한 정보가 출력된다. 그룹 권한에 대해선 추후에 더 공부! 사용자 계정에 대한 권한 대여 sudo 라는 명령어를 통해 권한을 빌려줄 수 있다. (SuperUser의 권하을 do (한다)) 사용자 계정의 권한을 사용하고 싶을 때 # su..