사용 버전: Python 3.6.8 사용 프로그램: Atom 1.40.1 x64 파이썬 urllib.parse.quote()에 대해서 알아보겠습니다. 괄호 안에는 string, safe, encoding, errors 인자가 들어갑니다. urllib.parse.quote()는 아스키코드 형식이 아닌 글자를 URL 인코딩 시켜줍니다. String 인자에는 string, bytes 형식이 들어갑니다. String 형식. Bytes 형식 Safe 인자에는 URL encoding에서 제외할 문자를 넣습니다. 기본으로 '/'이 설정되어 있습니다. Encoding 인자에는 인코딩 이름이 들어갑니다. string에 들어가는 문자와 맞지 않으면 오류가 나옵니다. 기본적으로 'utf-8'이 들어갑니다. Error 인자에는 'strict', 'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace', 'namereplace', 'surrogateescape', 'surrogatepass'가 들어갑니다. 기본적으로 strict가 설정되어 있습니다. unicode 오류를 알려줍니다. Ignore의 경우 오류는 무시하고, 변환할 수 있는 것만 변환합니다. Replace는 에러 글자를 '?'로 변환해줍니다. 그리고 quote(...
사용 버전: Kicad 5.1.4 저번 시간에 이어서 Freeroute를 사용해보겠습니다. 각 PCB 제조사마다 디자인 룰이란 것이 존재합니다. 우리는 그것에 맞추어서 선이나 구멍을 만들어줘야 합니다. 디자인 룰 설정을 합시다. 우선 PCB Layout Editor을 실행합니다. 파일 - Board Setup을 누릅니다. Design Rules - Net Classes를 누릅니다. 위의 창에서 디자인 룰을 설정합니다. '+'를 눌러 디자인 룰을 새롭게 만들든지, 기존의 Default를 변경하든지 편하신 대로 조정해줍니다. 유격: 선과 선 사이 간격 트랙 두께: 선 굵기 Via Size: Via 납 지름 비아 드릴: Via 구멍 지름 uVia Size: 모름 uVia Drill: 모름 dPair Width: 모름 dPair Gap: 모름 저는 Power Class를 추가하여, +5V와 GND에 Assign To Selected Nets로 한꺼번에 적용시켰습니다. 나머지 전선은 Default Class 적용을 받고, +5V와 GND만 Power class 적용을 받습니다. Ctrl + S로 저장을 한 번 해줍니다. 파일 - 내보내기 - Specctra DSN... 을 눌러줍니다. 적당한 위치에 dsn 파일을 저장합니다. NetBeans에서 Autoroute를 실행합니다. Open Your Own Design을 눌러, 아까 저장한 dsn 파일을 불러옵니다. Autorouter를 눌러줍니다. 전선 긋기, 최적화하기 순으로 진행되고, 완료가 되면, Postroute completed라는 문구가 나옵니다.전선 긋기나 최적화 중 마우스 왼쪽 버튼을 누르면, 그 상태로 정지됩니다. 최적화가 필요 없으면, 정지 후 바로 PCB에 사용하셔도 됩니다. File - Export Specctra S...
사용 버전 : 5.1.0 kicad 기존 회로도 수정 및 추가에 대해서 알아보겠습니다. 'Schematic Layout Editor'를 눌러줍니다. 아래의 화면이 나옵니다. '키보드 A'를 누릅니다. 우리가 추가한 소자가 보입니다. 적당한 위치에 놓습니다. 전원을 연결할 커넥터도 추가해줍니다. 적당한 위치에 놓습니다. 시멘트 저항을 지나는 LED 회로를 추가하겠습니다. LED를 복사합니다. '키보드 C' 이번엔 직접 전선 연결 말고, 레이블 기능을 사용해 보겠습니다. '키보드 L'을 누릅니다. 적당한 이름과 크기를 설정하고, 확인을 누릅니다. 다음과 같이 놔둡니다. '키보드 C'로 복사를 해서, 맞은편 LED에도 붙여줍시다. '키보드 R'로 회전 가능합니다. 'Label'기능은 같은 이름을 가진 것끼리 전선으로 연결해줍니다. 선이 복잡하게 있으면, 보기 힘들기 때문에 Label을 많이 사용합니다. 나머지 부분은 다음과 같이 똑같이 만들어주세요. 'Assign PCB footprints to schematic symbols'를 눌러줍니다. 'Annotate'를 누릅니다. 다음과 같은 창이 나옵니다. 'View selected footprint'를 누르면, footprint를 미리 볼 수 있습니다. 적당한 footprint를 설정해줍니다. 확인을 눌러줍니다. 'Perform electrical rules check'를 눌러줍니다. 'Run'을 누릅니다. 이상이 ...
사용 언어: Kotlin 1.9.0 사용 버전: Android Studio Hedgehog 2023.1.1 안드로이드 컴포즈 Coil library를 알아보겠습니다. Coil은 Kotlin Coroutines를 사용하는 이미지 불러오는 라이브러리입니다. 이미지 URL 주소를 넣으면 그것을 불러오고 Cache(캐시) 처리까지 해줍니다. 이것을 수동으로 구현하려면 코드가 양이 많은데, Coil을 쓰면 간단하게 사용할 수 있습니다. 아래는 공식 사이트입니다. https://coil-kt.github.io/coil/ Coil은 Glide와 많이 비교되는데요. Glide 또한 이미지를 불러오는 라이브러리입니다. 아마 Glide는 Java로 이루어져 있고, Coil은 Kotlin으로 이루어져 있을 겁니다. 요즘은 앱들이 대부분 kotlin으로 만들기 때문에 라이브러리도 kotlin 쪽으로 옮기는 추세로 보입니다. Coil에는 이러한 장점이 있다고 하네요. Compose에서 사용법을 알아봅시다. 앱 용 build.gradle에 implementation("io.coil-kt:coil-compose:2.5.0")를 적어줍니다. Sync now를 눌러주세요. AsyncImage를 사용하는데요. 아래처럼 여러 속성들을 정의할 수 있습니다. 아래처럼 정의를 해봤습니다. 어랏. onLoading에 진행 바를 넣고 싶은데, 넣어지지 않는군요. 그렇다면 SubcomposeAsyncImage를 사용합니다. 최종 형태입니다. 실행해 볼까요? 참고 프로젝트: https://github.com/Jaehwa-Noh/Practice-Amphibians/tree/compose-amphibians-app 끝. 카테고리: Android, Compose
사용 버전: Python 3.7 운영 체제: Windows 10 Home x64 1909 사용 도구: Uncompyle6 포렌식 .pyc 파일 .py로 복구하기에 대해서 알아보겠습니다. 만약 여러분이 파이썬 파일을 지워버렸는데, .pyc 파일은 남아있다면 다시 복구할 수 있습니다. 보통 .pyc 파일은 수동으로 만들지 않는 이상 main 함수가 남아있지는 않습니다. 자동 생성되는 경우는 다른 python script를 참조할 때, 참조한 script가 pyc로 생성합니다. uncompyle6를 설치합니다. python -m pip install uncomply6 저는 해당 .pyc 파일을 사용하겠습니다. 아래 git에 들어가면 동일한 파일을 사용할 수 있습니다. https://github.com/shwoghk14/mnist_tensorflow/tree/master/Start%204/__pycache__ 사용법은 다음과 같습니다. cmd 창을 엽니다. uncompyle6 [복구할 .pyc 파일 이름] 완료되면, 다음과 같이 원본 py 내용이 나옵니다. uncompyle6 version python bytecode 버전 python 버전 file name compiled 날짜 Size 등의 중요한 정보와 함께 원본 python script가 출력됩니다. 해당 파일의 원본은 mnist_util.py입니다. 비교해 보시면 좋을 것 같네요. https://github.com/shwoghk14/mnist_tensorflow/tree/master/Start%204 끝. 카테고리: forensic [계수기] 앱 광고 외국: Hand Counter https://play.google.com/store/apps/details?id=starlight.jaehwa.handcounter 계수기 앱. 하나씩 개수를 셀 때 사용해보세요. ...
사용 프로그램 : MuseScore 3 오늘은 장조와 단조에 대해서 알아보겠습니다. 장조는 대문자로, 단조는 소문자로 표기합니다. 장조는 밝은 느낌, 단조는 슬픈 느낌이 듭니다. 조표 #(샾), ♭(플랫)에 따라, 장조, 단조의 이름이 변화됩니다. #은 파-도-솔-레-라-미-시 순서로 붙습니다. ♭은 시-미-라-레-솔-도-파 순서로 붙습니다. #이 붙은 줄은 이동도법에서 '시'가 되고, 한 칸 위로 올라가 '도'가 되는 자리가 으뜸음이 됩니다. ♭이 붙은 줄은 이동도법에서 '파'가 되고, 세 칸 아래로 내려가 '도'가 되는 자리가 으뜸음이 됩니다. 장조를 계산하면, 단조를 같이 구할 수 있습니다. 단조는 장조 으뜸음에서 두 칸 아래로 내려가면 단조 으뜸음이 됩니다. 조표가 없는 경우입니다. 다 장조 으뜸음은 '도'입니다. 고정도법 : '도' 이동도법 : '도' 가 단조 으뜸음은 '라'입니다. 고정도법 : '라' 이동도법 : '도' #이 붙은 경우입니다. 사 장조 으뜸음은 '솔'입니다. 고정도법 : '솔' 이동도법 : '도' 마 단조 으뜸음은 '미'입니다. 고정도법 : '미' 이동도법 : '도' 라 장조 으뜸음은 '레'입니다. 고정도법 : '레' 이동도법 : '도' 나 단조 으뜸음은 '시'입니다. 고정도법 : '시' 이동도법 : '도' 가 장조 으뜸음은 '라'입니다. 고정도법 : '라' 이동도법 : '도...
Hello, everyone! Thanks to use my app. Hand Counter App is available on Android and iOS. 안녕하세요. 여러분! 제 앱을 사용해주셔서 감사합니다. 계수기 앱은 안드로이드와 iOS에서 모두 사용 가능합니다.
사용 언어: Kotlin 1.4.30 사용 버전: Android Studio 4.1.2 안드로이드 Use ViewPager2 with Fragment를 해보겠습니다. ViewPager2는 손가락 밀기(스와이프) 동작을 사용해서 다른 Fragment로의 전환을 매끄럽게 도와줍니다. https://developer.android.com/jetpack/androidx/releases/viewpager2 앱 용 build.gradle에 라이브러리를 추가합니다. implementation "androidx.viewpager2:viewpager2:1.0.0" ViewPager와 RecyclerView와의 연동되는 부분이 있어서, RecyclerView 1.2.0-alpha02 버전 이상을 사용한다면, ViewPager의 버전은 1.1.0-alpha01로 사용해야 합니다. 저는 RecyclerView 버전이 높아서 1.1.0-alpha01을 사용했습니다. Sync Now를 누릅니다. ViewPager2를 사용할 Fragment를 하나 만듭니다. New - Fragment - Fragment (Blank) 적당한 이름으로 설정합니다. 방금 만든 Fragment의 Layout으로 갑니다. androidx.viewpager2.widget.ViewPager2를 추가합니다. 방금 만든 ResultPagerFragment 코드로 갑니다. 코드에는 ViewBinding을 사용했습니다. ...
사용 프로그램 : MuseScore 3 총보와 파트보에 대해서 알아보겠습니다. 총보는 모든 악기들의 보표가 표시된 악보입니다. 보표의 악기 순서는 다음과 같습니다. 목관악기, 금관악기, 타악기, 독주 악기(피아노, 하프), 현악기 파트보는 자신이 연주하는 악기에 대한 보표만 존재하는 악보입니다. 총보(score) 파트보(part) 위의 악보에서 Flute 1은 첫마디를 한 뒤, 31마디는 아무 음도 없습니다. 그래서 뒤에 31로 숫자 적힌 긴 막대로 표시됩니다. Flute 2의 경우는 앞 2마디를 쉬고, 연주하고, 뒤 29마디를 쉽니다. 끝. 카테고리: Music
댓글
댓글 쓰기
궁금한 점은 댓글 달아주세요.
Comment if you have any questions.