⏰ 오늘의 공부/기타
-
특정 commit 삭제하기⏰ 오늘의 공부/기타 2022. 1. 21. 22:15
사건의 발단 회사에서 모 작업을 하고 PR을 올렸는데 거기에 들어가면 안되는 요상한 파일 하나가 들어있었음 심지어 그 파일이 들어간 커밋이 최신 커밋도 아니고 중간에 끼인 커밋이었음 내가 원했던 것 특정 커밋을 삭제하면서 잘못 올라간 파일만 삭제한다. 그리고 삭제하려는 커밋에서 변경한 다른 파일의 경우 최신 커밋의 내용을 유지한다. Git rebase 브랜치 병합 전략 중 하나 브랜치의 공통 조상이 되는 base를 다른 브랜치의 커밋 지점으로 바꾸는 것 rebase 원리 HEAD(feature)와 대상 브랜치(master)의 공통 조상(base)을 찾는다. 공통 조상에서 시작해서 HEAD가 가리키는 커밋까지의 diff 를 차례대로 만들어 임시공간인 Patch에 저장 HEAD를 대상 브랜치로 변경 공통 조..
-
Spark⏰ 오늘의 공부/기타 2020. 3. 2. 20:06
프로젝트를 통해 내가 부딪혔던 부분들 위주로 정리하려고 한다. SparkSession - Spark 모든 기능에 대한 진입점 spark = pyspark.sql.SparkSession.builder.appName("pysaprk_python").getOrCreate() builder - 객체 생성 master - 실행 환경 설정 local : 로컬 실행 local[4] : 4코어로 로컬 실행 config - 실행 옵션 설정, SparkConf 및 SparkSession 자체 구성에 자동으로 전파 getOrCreate - 기존 SparkSession을 가져오거나 없는 경우 실더에 설정된 옵션을 기반으로 새로운 SparkSession을 생성 Spark collect () / select() collect :..
-
Spark - RDD⏰ 오늘의 공부/기타 2020. 2. 1. 00:23
저수준 api RDD : 분산형 데이터 처리 (여러 서버에 분산되어 있는 데이터) → 이 RDD들이 각 노드에서 병렬적으로 동시에 처리되어 나중에 합쳐지거나 또 추가적인 연산 진행 브로드캐스트 변수, 어큐뮬레이터 → 분산형 공유 변수를 베포하고 다루기 위한 api 언제 사용 ? 고수준 api 에서 제공하지 않는 기능이 필요한 경우 RDD 이용해 개발된 기존 코드 유지하는 경우 사용자가 정의한 공유 변수를 다뤄야 하는 경우 즉, 물리적으로 분산된 데이터(자체적으로 구성한 데이터 파티셔닝) 에 세부적인 제어가 필요할 때 → 기본적으로는 구조적 api 사용하는 것이 좋다. RDD RDD 레코드 : 프로그래머가 선택한 java, python, scala 등의 객체 객체이므로 사용자가 완벽하게 제어 가능 강력한 ..
-
Promise & async / await⏰ 오늘의 공부/기타 2020. 1. 27. 01:32
node.js 와 react 를 다루면서 비동기 처리를 제대로 하지 못해 드럽게 코드를 짜고 있는 나를 보면서 꼭 정리를 하겠다 생각했었는데 마침 설연휴를 맞아 제대로 공부하면서 자바스크립트 비동기 처리 !!!! 마스터 하고자 한다. Promise ? 자바스크립트 비동기 처리에 사용되는 객체 그렇다면 비동기 처리란 ? ‘특정 코드의 실행이 완료될 때까지 기다리지 않고 다음 코드를 먼저 수행하는 자바스크립트의 특성’ → 자칫하다가 Callback hell 에 빠질 수 있다.. like 마치 내 예전 코드들처럼 ㅎ promise 의 3가지 상태 pending(대기) : 비동기 처리 로직이 아직 완료되지 않은 상태 fulfilled(이행) : 비동기 처리가 완료되어 프로미스가 결과 값을 반환해준 상태 reje..
-
Redis⏰ 오늘의 공부/기타 2020. 1. 24. 19:01
Redis ? Nosql DBMS 메모리 기반의 데이터 저장소 구조 ⇒ 성능 및 처리 속도 향상 Type : key - String, value - 숫자, 문자 , 바이너리로 가능한 모든 것,,(너무 많은 양의 데이터는 안됨 : 성능상의 이유) (key 값은 중복되지 않아야하는 특성 ) server 인스턴스 당 16개 데이터베이스 가질 수 있다. Redis Server 1개의 싱글 쓰레드로 수행 → 서버 하나에 여러개 서버 띄우는 것 가능 Master - Slave 형식으로 구성 가능 ⇒ 데이터 분실 위험 없애준다. 실시간으로 데이터를 다른 서버에 복제 → Master Server 가 down 되어도 Slave server 로 접속해서 서비스 운영 가능 Read 요청시 Redis 서버에서 사용자가 요청한..