본문 바로가기

소프트웨어-이야기

[Git] 신입 소프트웨어 엔지니어에게 유용한 Git 명령어 원래는 git을 사용할 때는 소스트리를 사용해서, Git 명령어를 사용하지 않았었다. 그러나 최근에 git에 훅을 추가하면서, 소스트리 사용이 불편해진 케이스가 있었다.Push 전에 도는 Rspec의 실행상태를 보고 싶다거나 할 때는 소스트리보다는 터미널에 Push 명령어를 쓰는게 더 편했다.이 때 사용했던 명령문들을 아래에 정리해보고자 한다. git 상태조회하기git statusgit stage 환경 등을 확인할 수 있다. 나는 소스트리로 원하는 소스코드 Hunk, line을 스테이지로 옮긴 후, 이 변경 사항을 터미널에서 커밋하고는 했었다. 그래서 터미널에서 처음 정상적으로 스테이지에 올라왔는지를 확인하기 위해 저 명령어를 사용하였었다. commit 하기git commit -m 'ABC-123 커밋하..
[리눅스/유닉스] 신입 소프트웨어 엔지니어에게 유용한 명령어 나에게 에버노트는 개발 비법 같은 존재이다 ㅎㅅㅎ 내 에버노트가 사라진다면, 나 또한 사라질 것이다 ㅎㅅㅎ ...오늘은 내 에버노트에서 꾸준히 찾아보는 한 게시물을 블로그로 옮겨볼까 한다. 오늘의 주제는 리눅스 / 유닉스 환경에서 유용한 명령어 정리이다.나같은 리눅스 / 유닉스 환경을 1도 몰랐던... 신입 or 왕초보에게는 유용한 명령어이다 ㅎㅅㅎ 데이터 처리에 유용한 명령어 1. CSV 파일 길이 보기 wc -l 파일명.csv일을 하다보면 데이터를 CSV 파일에 저장해서 사용하고는 한다. 특히, 운영성 업무에서는 데이터를 전달할 때 CSV 파일을 사용하고는 하는 데, 이때 내가 전달하는 데이터의 크기가 몇인지, 길이가 얼마나 되는지 궁금할 때가 있다.이때 'wc -l 파일명' 명령어를 사용하면 손쉽게..
[루비스타일가이드]RUBY String의 to_s와 += 회사에서 최근 품질관리를 위하여 루보콥을 사용하고 있다.어떻게 사용하고 있냐 하면은, git을 커밋할 때 마다 루보콥이 돌고 remote 브랜치에 push를 할 때면 RSPEC이 돈다.그래서 commit 할 때, Rubocop과 Rspec이 도는 것을 이번 주에 처음 해보았다.RSPEC이 REMOTE push 때마다 매번 도는건 여전히 귀찮지만 루보콥이 도는건 꽤 만족한다. 루보콥에서 걸린 것들을 고쳐나가면서, 루비 스타일 가이드를 읽게되니 기존의 소스코드가 아닌 다른 방법으로 루비를 배워가는 기분이여서 좋다 ㅎㅁㅎ 그러면서 알게된 String Class와 관련된 루비 스타일 가이드를 정리해보고자 한다. 1. to_s를 쓰지 말라! [link]"#{object}" 이런식으로 "#{ }" String 형태..
[SPARK]SQLContext / 데이터 프레임에 SQL 날리기 ! SQLContextSparkContext는 Spark SQL을 사용할 때, 시작 지점이라고 볼 수 있다. Spark SQL을 사용할 땐 SparkContext 클래스이거나, 이와 관련된 자식 클래스의 하나일 것이다. 음.. 헷갈린다...암튼... json / csv / parquet 등등의 파일들로 변환된 로그성 데이터들에 SQL문을 날려서 분석하고 싶을 때면 아래의 방식을 사용한다. // 파케이 파일을 읽어온다! 그런데 SQL Context로 읽어온 데이터들은 다 데이터 프레임이다 ! val parquetFile = sqlContext.read.parquet("people.parquet") //파케이 파일을 SQL statement를 날릴 수 있게, 테이블로 등록해준다! parquetFile.regis..
[스파크]DataFrame DataFrame데이터 프레임이란 관계형 데이터베이스의 테이블과 R과 파이썬의 데이터 프레임과 같은 개념이다. (데이터 프레임은 2차원의 배열 구조로 구성되어있다.) DataFrame 특징Spark SQL 옵티마이저로 데이터를 추출할 수 있고, optimization(최적화)를 할 수 있다.자바, 스칼라, R API 함수로 조작할 수 있다. 스파크에서 DataFrame 만들기스파크에서는 구조화된 데이터 파일, HIVE의 테이블, 외부 데이터베이스, RDD의 배열로 데이터프레임을 만들 수 있다. 그리고 Spark SQL을 사용할 때, SQL으로 반환되는 값의 유형은 데이터프레임이다.아래는 공식홈페이지에서 가져온 데이터프레임 만들기 스칼라 예시이다.val sc: SparkContext // An existi..
[Mac]요세미티에 스파크 설치하기 1. JAVA 설치하기오라클 JDK 다운로드 페이지에서 Oracle Java SE Development Kit 7 혹은 8을 설치한다. -> JAVA jdk 8 설치 링크 >참고 : MAC에 JDK 설치하기 2. JAVA HOME 설정하기터미널에 JAVA HOME을 설정하는 아래의 명령어를 입력한다.export JAVA_HOME=$(/usr/libexec/java_home) 그리고 터미널에 아래 명령문을 입력하여 정상적으로 설정되었는지 확인한다.echo $JAVA_HOME요렇게! 3. Homebrew 설치하기터미널에 아래의 명령어를 쳐서 Homebrew를 설치한다. ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/maste..
[MySQL][Out Of Range] sql_mode Strict Type과 아닌 것의 차이 참고 - [Mysql]Out-Of-Range and Overflow Handling 어느날 이런 이슈가 있었다.MySql에 int type으로 설정한 컬럼이 있었다.그런데 테스트용 DB에서는 int에서 허용하는 값의 범위를 초과할 경우, Warn 경고를 주면서 알아서 값을 줄여줬다. (Mysql에서 Int가 허용하는 값은 -2147483648 ~ 2147483647 사이이다. 즉 Int로 타입이 선언된 컬럼에 2147483648 이상의 값을 저장하면, 2147483647의 값이 저장된다.) 그런데 같은 테이블을 백업해둔 다른 DB에서는 int에서 허용하는 값 이상을 저장하면 Out-of-Range Mysql error가 나면서, 알아서 값을 줄여주지 않았다. 두개의 DB가 데이터 오버플로우에 대한 처리 ..
[비주얼씽킹]비주얼 씽킹 기본 요소 따라그리는중...