본문 바로가기

분류 전체보기

(39)
적응만 하면 시간단축 최고 VS Code 단추키 5가지 만능 에디터, 프로그래머들이 가장 아까는 에디터 VS Code를 조금 더 효율적으로 사용할 수 있는 6가지 팁이 있다. 1) 코드 줄을 올리고 내릴 때는 Alt + 방향키 2) 변수 이름 변경은 노가다 말고 F2 → rename symbol 3) Indent는 에디터가 알아서 처리해주게 하기! Alt+Shift+F (Auto Formatting) 4) 코드 한줄을 통째로 잘라내기, 복사할 때는 커서만 위치한 상태에서 Ctrl+C, Ctrl+x 5) 터미널이 필요할 때는 Ctrl+`
[파이썬 크롤링] 크롤링 코드 작성 시간을 두배로 단축시키는 2가지 팁 크롤링 할 때 가장 많은 시간이 소요되는 부분은 크롬 탭을 통해 url, xml http request를 분석하는 것이다. 크롬 탭을 열어서, 화면 새로고침을 하면서 현재 클라이언트가 어떻게 서버로 요청을 보내고 있는지 살펴보고, header 및 data 정보를 가져와서 코드를 작성하는 것이 꽤나 번거롭다. 아래 3가지 팁으로 이 과정을 매우 효율적으로 수행할 수 있다. 1) F5가 아니라 Reply XHR 활용 빠르게 F12로 개발자 도구에 들어가서, 크롤링하고자 하는 XHR를 확인하기 위해 F5(새로고침)을 연타할 필요가 더이상 없다. 이미 로딩이 되어 있는 XHR이 있으면, Reply XHR를 활용하기 2) CURL to Python requests Converter 이용하기 크롤링하고 하는 XHR..
[Pandas] 짝수행, 홀수행만 뽑아내기 원본 데이터프레임이 이렇게 있을 때 1) 짝수행만 뽑아내기 df3 = df2.iloc[::2,:] df3 2) 홀수행만 뽑아내기 df3 = df2.iloc[1::2,:] df3 코드 해석 df2.iloc[1::2,:] df [a : b : c, : ]일 때, 첫번째 [a : b : c] 부분은 행을 선택하는 부분 [:]부분은 열을 고르는 부분 1) [a : b : c] 는 'a 행부터 시작해서, b행까지 선택하고, step은 c' 만약 a가 생략되어 있으면 첫행 (0행) 부터 선택 만약 b가 생략되어 있으면 끝까지 선택 그래서 [1::2]는 '1행부터 끝까지, step(간격)은 2로 두고 선택하기 2) [:]은 모든 행/열을 선택한다는 뜻 (그래서 df2.iloc[:,:]는 df2랑 같음)
Responsively App - 다양한 화면에서의 반응형 웹 동시에 확인하기 웹페이지를 만들 경우, 태블렛 노트북, 휴대폰 등 다양한 화면에서 내 페이지가 어떻게 보이는지 확인하고 싶을 때가 많다. 크롬 개발자도구에서 각 화면 크기별로 페이지 확인을 할 수는 있지만, 한번에 큰 그림을 그리기는 어려워서 번거롭다. 그런데 Responsively App 이라는 매우 유용한 앱을 알게 되었는데, 한 눈에 다양한 화면에서 내 웹페이지가 어떻게 유저한테 보이는지 확인할 수 있다. 최근에 리액트 기반으로 만들어본 웹페이지를 이용해서 테스트해 보았다. (https://hanalia.github.io/react_rec_hosting/) Material UI 및 Grid Container 기반으로 컴포넌트를 구성하였기 때문에 화면 크기에 따라서 그래프와 표가 나란히 보일수도, 위 아래로 보일 수..
[Pandas] CSV 파일 불러올 때 팁 [encoding, datetime, leading zeros etc.] 판다스로 전처리를 하게 되는 raw data가 CSV 파일 형태로 주어지는 경우가 가장 흔한 것 같다. CSV 파일을 데이터프레임으로 불러올 때 알아두면 유용한 코드들을 모아보았다. 1. CSV를 그냥 df로 가져오는 방법 import pandas as pd df = pd.read_csv ('file_name.csv') print(df) 2. CSV 불러올 때 index column 안불러오고 싶을 때 원래 CSV 파일에는 index column이 없는 경우가 많지만, 내가 pandas로 전처리한 결과값을 csv 파일로 저장해두고, 이를 나중에 불러 올 때는 index column이 갑자기 생겨서 이를 지우고 싶을 때가 있다. df = pd.read_csv('mydf.csv',index_col=0) #애..
[AWS Amplify] OAuth 2.0으로 Google 로그인 설정하기 AWS Amplify에서 OAuth를 통해서 구글 등 제3자인증을 가능하게 하는 방법은 나름 간편하고, 아래 메뉴얼대로 하면 아무 문제없이 진행할 수 있을줄 알았지만... 의외로 몇가지 면에서 시행착오를 겪게 되어 시행착오를 반복하지 않기 위해 기록을 남겨본다. 순서 1단계 : Auth Provider Setup OAuth는 어떻게 보면 귀찮고 번거로운 유저 인증 작업을 구글, 페이스북 등 제 3자가 대신 해주는 시스템이다. 이를 위해서 는 제3자가 인증을 해줄 수 있게 해당 플랫폼에 가서 설정을 몇가지 해주면 된다. 구글의 경우 구글클라우드플랫폼에 들어가서 아래 순서로 설정을 해주면 되고, 관련 설명은 AWS docs가 잘 나와있다. https://docs.amplify.aws/lib/auth/soci..
[Pandas] 여러개의 데이터프레임을 효율적으로 합치는 방법 Pandas로 데이터 전처리를 하다보면 여러개의 데이터프레임을 합쳐야 하는 경우가 굉장히 많다. 그냥 빈 데이터프레임을 만든 후, append로 데이터프레임을 계속 키워나가도 되긴 하지만, 이 경우 속도 면에서 엄청난 답답함을 경험하게 된다. 주로 아래 구조로 합치는데, 소요시간 및 리소스 측면에서 매우 만족스럽다. # 1단계 : 내가 합칠 데이터프레임들을 담을 list 만들기 dfs = [] # 2단계 : for loop를 통해서 df를 하나씩 만들고, list 안에 담아두기 for i in range (0,100): small_df = myfunction(i) dfs.append(small_df) # 또는 for small_df in 'some_function_that_yields_dataframes..
[Android 개발] Sqlite DB를 csv로 내보내기 안드로이드 11부터는 external storage에 파일 쓰는 절차가 복잡해졌다. 단순한 코드를 위해서 파일 경로는 shared directory인 'Downloads'로 일괄 지정하기 public class MainActivity extends AppCompatActivity { //db handler 우선 선언 private DBHandler dbHandler; private void exportDB() { // 파일 경로를 Download로 지정 File root = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS); String nowTime = DateTimeFormatter.ofPattern("yyyy..