본문 바로가기
728x90

분류 전체보기136

Github 사용하기 Git 설치에 이어서 Github를 어떻게 사용하는지 알아보도록 하겠다.' Window에서 Github 설치하는 방법 보러가기 윈도우 환경에서 git과 github 설치 및 설정 GIT은 리누스 토르발스가 개발한 분산형 버전 관리 시스템이다. git을 쓰는 이유는 무엇일까? 예를 들어보자. A라는 회사가 B라는 프로그램을 만들었다. B의 현재 버전은 0.0.0이다. 프로그램을 수정 dev-guardy.tistory.com 우선 Github 홈페이지에서 repository를 새로만든다. 말 그대로 새로운 저장소를 만든다고 보면 된다. 필자는 다음 로그인시 필요한 srpla와 시간을 js로 계산해서 띄워줄 페이지가 필요해서 만드는 저장소이기 때문에 다음과 같이 설정하였다. .gitignore란 git에 포함.. 2020. 7. 12.
윈도우 환경에서 git과 github 설치 및 설정 GIT은 리누스 토르발스가 개발한 분산형 버전 관리 시스템이다. git을 쓰는 이유는 무엇일까? 예를 들어보자. A라는 회사가 B라는 프로그램을 만들었다. B의 현재 버전은 0.0.0이다. 프로그램을 수정할 부분이 있어 다같이 열심히 프로그래밍을 해서 0.0.1로 수정했는데, 갑자기 오류가 나버린 것이다. B를 다시 0.0.0 상태에서 시작하면 좋으려만, 백업을 해둔게 없고 여러명이 함께 프로그래밍을 하여 자기가 무엇을 어떻게 수정했는지도 기억이 안나는 상태이다. 그렇게 프로그램 B는 망해버렸다. 이 처럼 분산형 버전 관리는 개발자에게 유지 보수 및 개발을 하기 위해 반드시 필요한 존재이다. 그렇다면 GIT을 사용하면 무엇이 가능할까 1. 병렬 개발이 가능해진다 2. 언제든지 지난 개발 시점으로 돌아갈 .. 2020. 7. 11.
Daum Login with Python requests 1(소스코드) Naver에 이은 Daum Login 분석 및 프로그래밍이다. 다음 로그인을 하고 네트워크로 분석을 해봤더니 이 POST가 핵심적 로그인을 수행하는 것 같았다.https://logins.daum.net/accounts/srp.do?slevel=1&rid=****&srplm1=****이 주소는 POST DATA를 보내는데 다음과 같은 DATA를 보낸다. id는 로그인 시 아이디 RAW한 상태이고 우리는 fuid와 rid srplm만 알면 로그인을 수행할 수 있을 것 같다.네트워크에서 fuid를 검색하였더니 https://logins.daum.net/accounts/signinform.do?url=https%3A%2F%2Fwww.daum.net%2F에서 fuid를 찾을 수 있었다. fuid는 get으로 윗 .. 2020. 7. 9.
온라인 js 파일가독성 좋게 만들기 Crawling을 하다가 js를 분석해야 할 상황에서 js파일을 열어보면 다음과 같이 가독성이 매우 떨어지는 상황이 벌어지곤 한다. 이렇게 되어있는 js 파일은 아무리 프로그래밍을 오래했고 잘한다고 해도 js 파일의 보안적 특성상 변수를 보고 유추하기도 힘들다. 그렇다면 우리는 이 파일을 어떻게 가독성이 좋게 만들 수 있을까? 검색해서 찾아보던 중 js 파일을 https://beautifier.io/ 사이트에서 가독성 좋게 바꿔준다는 것을 알게 되었다. 사이트에 들어가면 다음과 같은 화면이 나온다. 사이트 이름에서 알 수 있듯이 JS 파일을 이쁘게 만들어주는(가독성있게 만드는) 사이트이다. Beautify Code아래 빈칸에 가독성 좋게 만들고 싶은 소스코드를 복사해서 붙여넣기 하면 된다. 그런 다음 B.. 2020. 7. 9.
Naver Login with Python requests 2(소스코드) 이번 글에서는 Naver Login을 완성시킬 예정이다. 저번글 보기 encpw는 16진수이기때문에 rsa.encrypt 후 hex()를 사용하여준다.완성된 encrypt function은 다음과 같다.def encrypt(naver_id, naver_pw): key_str = requests.get('https://nid.naver.com/login/ext/keys.nhn').content.decode("utf-8") sessionkey , Keyname, evalue, nvalue = key_str.split(',') evalue, nvalue = int(evalue, 16), int(nvalue, 16) pubkey = rsa.PublicKey(evalue, nvalue) message = [ses.. 2020. 7. 9.
Naver Login with Python requests 1(소스코드) selenium으로 네이버 로그인을 하는 경우가 많은데 requests를 이용하여 login을 하려고 한다. NAVER에서 로그인 후 개발자 모드 기능을 통해 확인해보면 https://nid.naver.com/nidlogin.login 에서 POST를 보내는데 ID와 PW는 빈칸이고 encpw와 bvsd가 가득차있다. encpw가 무엇인지 알기 위해 개발자모드에서 검색한결과 https://nid.naver.com/login/js/default/common200225.js?20200424에서 function encryptIdPwSplit() { var id = $("id"); var pw = $("pw"); var encpw = $("encpw"); var rsa = new RSAKey; if (keySp.. 2020. 7. 8.
msvcp140.dll or msvcp140_1.dll 오류 해결법 프로그래밍을 하거나 특정 프로그램을 실행시킬때 msvcp140.dll 오류나 msvcp140_1.dll 오류가 발생한다. 필자는 tensorflow를 설치하고 사용하려고 하던 중 다음과 같은 에러가 발생했다. ImportError: Could not find the DLL(s) 'msvcp140.dll or msvcp140_1.dll'. TensorFlow requires that these DLLs be installed in a directory that is named in your %PATH% environment variable. 해결법 1(런타임 패키지 설치) 첫번째 방법은 런타임 패키지를 설치하는 방법이다. https://www.microsoft.com/ko-kr/download/detail.. 2020. 7. 8.
ML - Linear Regression(2) / TensorFlow2.0을 이용한 Multi Variable Linear Regression 이번 글에서는 TensorFlow를 이용하여 Linear Regression 모델을 예측해보록 하겠다. Quiz 1,2,3 점수와 Final 점수가 서로 선형 관계를 가지고 있다고 가정하고, quiz1과 quiz2 quiz3 점수가 들어왔을 때, Final점수를 예측하는 모델을 작성하려 한다. TensorFlow 2.0 Anaconda Python 3.7.7 환경에서 진행하였다. Source Code import tensorflow as tf import numpy as np learning_rate = 0.00001 training_steps = 20000 tf.random.set_seed(777) xy = np.loadtxt('score.csv', delimiter=',', dtype=np.float.. 2020. 7. 8.
ML - Linear Regression(1) / Linear Regression이란? 본 글은 홍콩과기대 김성훈 교수님의 강의를 참고함 Linear Regression으로 예측 가능한 모델은 무엇일까?Linear Regression 말 그대로, 선형 관계를 가지고 있는 데이터를 비교적 정확하게 예측할 수 있다.선형관계란 무엇일까? y라는 데이터가 x 라는 데이터와 다음과 같은 관계성을 지닌다면, 우리는 선형관계라 칭한다.우리는 이 관계를 머신러닝 측면에서 다음과 같이 표현 가능하다. 이때 y프라임은 result(예측한 결과)이고, b는 bias(편향), w1은 weight1(가중치), x1은 input(입력한 데이터)이다.하지만 실제 환경에서 대부분의 모델은 하나의 특성에 좌우되진 않는다.따라서 대부분의 ML을 이용한 Linear Regression 모델은 여러 input(x1,x2..... 2020. 7. 7.
728x90