일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 2020
- 알고리즘
- 슬픔
- 계획
- 자작시
- 인생
- 2021
- dp
- 라즈베리파이 모니터
- 프로그래밍
- 공부
- 자살
- python 강좌
- 다이나믹프로그래밍
- python 강의
- 강의
- 파이썬 강좌
- 철학
- it
- 파이썬
- 2024
- python
- BOJ
- 백준
- 강좌
- C++
- mmdetection
- dynamic programming
- mmcv
- 파이썬 강의
- Today
- Total
목록
프로그래밍
(29)
반응형
Stargazer
visual studio 프로젝트를 킬때마다 용량을 차지하는 무언가(?)가 만들어지더라 그래서 가끔 생각날때 자동으로 파일 찾아서 삭제해주는 프로그램을 만들었다. 해당 프로그램은 github에도 올려놨으니 다운 받아서 확인해보자 https://github.com/fangdol888/visual_studio_clear_cache 여기에도 코드를 올려놓겠다. import os import getpass import shutil user_name = getpass.getuser() dir_path = "C:\\Users\\{name}\\source\\repos".format(name =user_name) project_list = os.listdir(dir_path) for project_dir in proj..
요즘 코딩 하다보면 한글 경로를 사용해서 오류 생기는 일이 비일비재 해서 그냥 user 폴더를 영어이름으로 바꾸었다. 그러자 컴퓨터가 맛이 가기 시작했다. 대표적으로 vscode의 업데이트 오류, 재설치 오류 였다. 뭐가 문제인지는 모르겠는데, 재설치하려면, config폴더를 삭제하고 새로운 setup파일을 다운받아서 설치해야한다. go to %UserFolder%\AppData\Roaming\Code and delete the whole folder. Then uninstall and install it again. -> 해당 경로로 가서 폴더를 삭제하고 다시 설치하면 된다. 해결 레퍼런스: https://answers.microsoft.com/en-us/windows/forum/all/cant-ins..
우리학교 기숙사 홈페이지가 새로 바뀌게 되면서 이전에 쓰던 프로그램이 쓸모 없어졌다. 사실 이전에도 한번 개정한적 있었는데, 그때는 자바스크립트 형식으로 다운받는 형식이라 웹 스크레이핑 하는 프로그램을 하나의 파일로 만들 방법을 못찾아서 관뒀는데 이번에는 실험해보니 가능해졌다. 첨부파일 물론 파이썬으로 만들었기 때문에 모바일에서는 실행이 어려워서 첨부터 컴퓨터용으로 만들었다. 덤으로 코드도 올릴테니 참고할 사람은 참고하는것도 좋을 것이다. 코드: import requests from bs4 import BeautifulSoup import os import datetime base = "https://dorm.inha.ac.kr" url = "https://dorm.inha.ac.kr/dorm/10136..
Latex 수식을 쓰는데, 자꾸 아래첨자가 옆에 붙는 현상이 있어서 어떻게 첨자를 내리고 올리는지를 조금 조사했다. 조사한바에 따르면 2가지 방법이 있다. 더 있을 수도 있겠으나 솔직히 1개면 충분하다. 아래첨자를 기호 밑으로 내리는 방법과 윗첨자 올리는 방법은 2가지이다. 1. limits -> \기호(ex: sum)\limits_{아래첨자}^위첨자 2. underset, overset -> \underset{아래첨자}{수식} , \overset{위첨자}{수식} 아래 예시를 보자 k = \max\limits_{x} g(x) p = \sum\limits_{i=1}^n i^2 윗 수식을 적용하면 아래와 같다. $k = \max\limits_{x} g(x)$ $p = \sum\limits_{i=1}^n i^..
배치 파일 가지고 일괄처리하려고 코딩하다가 무한 생성 버그걸린 것처럼 cmd가 무한으로 켜지는 현상이 생겼다. 원인이 뭔고 하니 단순히 파일이름이랑 명령어 이름이랑 같게 만드니까 명령어를 실행안하고 배치파일을 실행하는 것이다. //파일 이름: jupyter.bat start jupyter notebook 이렇게 적으니까, 뒤에 notebook은 배치파일 매개변수로 들어가더라 그래서 무한으로 켜지는 현상만듬 일종의 바이러스라고 볼수 있나? 생각 보다 끄기 힘들어서 그냥 강제종료까지 해버렸다. ㅋㅋㅋ 그냥 심심하니까 한번 시도 해봐라 다만 끄는건 장담 못한다. 조건: start쓴 뒤에 파일이름을 입력하게 하면된다. (사실 그냥 파일이름을 쓰면됨) 예시파일: 내용: start virus
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. 내용인 즉, 21년 8월 13일 부로 비번 인증 지원이 삭제되었으므로, 개인 엑세스 토큰을 사용하라고 한다. 그렇다면 토큰은 어떻게 발급 할까? 개인 엑세스 토큰 발급 방법 github에 접속한 후 사용방법 사용방법은 평소 push 할때 아이디/비번 입력하듯이, 아이디/ 토큰 입력하면 된다. ps. 만약 push,pull, clone 할때 아이디나 비번 입력이 없었던 경우라면 아래 코드를 실행하면 증명서가 초기화가 된다. git credential-manager uninstall git cre..
GSON 내에 있는 annotation으로 JSON 과의 직렬화를 할때 사용할 이름을 지정할때 사용한다. 아래는 응답을 받은 후에 저장할 객체의 구조 open class BaseResponse( @SerializedName("isSuccess") val isSuccess: Boolean = false, @SerializedName("code") val code: Int = 0, @SerializedName("message") val message: String? = null ) 응답 JSON 코드의 예시 { "isSuccess":"true", "code":"0", "message":"test" } JSON형식으로 오는 응답을 객체에 넣을때 SerailizedName 안에 value 값에 맞게 알아서 들어..
뷰 바인딩이란? 말그대로 묶는건데, 레이아웃 xml 파일에 대한 액티비티 클래스를 정의 해줄 필요없이 자동으로 각 뷰에 대해 이어서(connect) 생성해주는 기능을 말한다. 뷰바인딩을 사용해야 하는 이유: 일일이 findViewById를 사용할 필요가 없다. Type-safe (레이아웃 내에서 정확한 view 타입을 찾아 맵핑함) Null-safe (레이아웃에 없는 id를 findViewById를 했을 때의 NullPointerException 방지) 뷰바인딩 하는 법: 첫번째로 build.gradle 파일을 수정해야한다. 프로젝트에서 build.gradle(Module) 파일을 열어서 다음과 같이 수정 해야한다. android{ ... viewBinding{ enabled = true } ... } ..
안드로이드의 액티비티는 생명주기라는 것을 가지고 있다. 생명주기(LifeCycle)이란? 액티비티가 시작하고 부터 끝날때까지의 루틴을 가리키는데, 액티비티의 상태 변화에 따른 콜백 메서드를 총칭한다. 쉽게 말하면 상태 변화를 알려주는 메서드다. 생명주기를 알아야 하는 이유: 액티비티 상태 변화에 따른 대응 및 문제 발생 예방을 해야하기 때문이다. (ex. 사용자가 앱을 사용하는 도중에 전화가 걸려오거나 다른 앱으로 전환할 때 비정상 종료되는 문제) 생명주기 총 7가지의 콜백으로 구성되어 있다 onCreate(), onStart(), onResume(), onPause(), onStop(), onRestart(), onDestory() 각 구성을 하나씩 살펴보자 메소드 설명 다음 메소드 onCreate()..
안드로이드 Manifest 파일을 알아보자 우선 기본구조는 다음과 같다. . . . . . . . . . 역할 안드로이드 빌드 도구, 운영체제 및 Google Play 앱에 관한 필수 정보를 설명한다. → 앱 실행전에 시스템이 확보해야하는 필수정보들을 제공하는 목록(명세서)이다. 파일 내 필수 요소 - 패키지 이름과 어플리케이션 ID - 앱 구성요소 - 권한(다른 앱이나 시스템에 접근하기 위해 필요한 권한) - 기기 호환성(필요한 하드웨어 및 소프트웨어) 패키지 이름과 애플리케이션 ID - 패키지이름은 앱에서 생성된 클래스의 네임스페이스를 지정하는데 사용한다.(일반적으로 프로젝트 디렉토리 구조와 일치) - 매니페스트 파일에 선언되어 있는 상대 클래스 이름을 확인 할 때 사용한다. 컴파일 되고 난 후에는 ..