사용 버전: 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.0 kicad 새로운 소자 추가하기에 대해서 알아보겠습니다. 추가할 소자는 시멘트 저항을 추가해 보겠습니다. 'Symbol Editor'를 눌러줍니다. 아래와 같은 화면이 나옵니다. 파일 - 'New Library...' 적당한 위치에 저장합니다. 만든 라이브러리를 KiCad의 어떤 프로젝트든 적용하고 싶다면, 전체 적용을 눌러주고, 이번 KiCad 프로젝트에만 적용하고 싶다면, Project를 눌러줍니다. 라이브러리에 추가된 것을 확인할 수 있습니다. 클릭 후, 'Create new symbol'을 눌러줍니다. 이름과 레퍼런스 이름을 적어주고, 확인을 누릅니다. 입력한 문구가 나타났습니다. 라이브러리에 수정 중인 상태는 색깔과 '*'문자가 생성됩니다. 우리가 추가할 시멘트 저항은 핀이 2 개입니다. 그리고, 네모난 형태를 가지고 있습니다. '키보드 M'으로 적당히 이동시켜줍니다. 'Add graphic rectangle to symbol body'를 눌러줍니다. 다음과 같이 네모를 그려줍니다. 네모 위에 마우스를 대고, '키보드 E'를 눌러줍니다. background를 선택해주고, 확인 누릅니다. 다음과 같이 네모에 색깔이 채워졌습니다. '키보드 P'를 눌러, 핀을 추가해줍니다. 저항이라, 'Pin name'은 안 적으셔도 상관없습니다. 'Pin number'은 'footprint'와 연결되기 때문에 잘 적어주셔야 합니다. 적당한 위치에 놔둡니다. 동일하게 한 번 더 합니다. 핀 회전은 '키보드 R'입니다. 저장해줍니다. 'Save a...
일본어 문장부호를 알아보겠습니다. 우리나라 대한민국에서 사용하는 문장부호들과 비교해보겠습니다. 한국의 작은따옴표('')를 일본에서는 낫표(「」)로 표시합니다. 한국의 큰따옴표("")를 일본에서는 겹낫표(『』)로 표시합니다. 한국의 쉼표(,)를 일본에서는 모점(、)으로 표시합니다. 한국의 마침표(.)를 일본에서는 고리점(。)으로 표시합니다. 한국의 느낌표(!)를 일본에서는 고리점(。)으로 표시합니다. 한국의 물음표(?)를 일본에서는 고리점(。)으로 표시합니다. 일본에는 마침표, 물음표, 느낌표가 모두 고리점으로 표시되기 때문에 잘 생각해서 문장을 이해해야 할 것 같네요. 끝. 카테고리: 언어 공부
사용 버전: Python 3.7.6, OpenCV 4.2.0 파이썬 OpenCV 빈 화면 만들기를 해보겠습니다. 검정 빈 화면을 만들기 위해서는 numpy가 필요합니다. img1의 경우는 color로 불러들었을 때를 위한 빈 화면이고, img2의 경우는 grayscale로 불러들었을 때의 빈 화면입니다. 끝. 카테고리: Python, cv2
사용 버전: Android Studio 4.0 사용 언어: Kotlin 1.3.72 안드로이드 Custom IME(Input method editor) 만들기를 해보겠습니다. IME를 간단히 설명하면 키보드입니다. 키보드를 만들어봅시다. 키보드로 사용할 Custom View가 필요합니다. https://shwoghk14.blogspot.com/2020/07/android-custom-view.html Class를 하나 만듭니다. 저는 MyIMEservice로 만들었습니다. 아래와 같이 수정합니다. res 우 클릭 - New - Android resource File을 누릅니다. File name, Resource type을 설정합니다. 다음과 같이 적습니다. 그리고, manifests로 갑니다. <application> </application> 사이에 service를 넣습니다. 앱을 설치하고 실행합니다. 달라진 게 없습니다. 우리가 강제로 설정할 수 없습니다. 그 이유는 보안 문제 때문에 구글에서 막았습니다. 자, 이제 키보드를 설정해봅시다. 설정 - 언어 및 입력 가상 키보드 키보드 관리 우리가 만든 inAppKeyboard가 보입니다. Manifest의 label이 이름으로 사용되고, xml의 imeSubtypeLocale이 아래 작은 설명으로 사용됩니다. 다시 돌아와서 키보드 관리로 들어갑니다. ...
사용 프로그램 : MuseScore 3 총보와 파트보에 대해서 알아보겠습니다. 총보는 모든 악기들의 보표가 표시된 악보입니다. 보표의 악기 순서는 다음과 같습니다. 목관악기, 금관악기, 타악기, 독주 악기(피아노, 하프), 현악기 파트보는 자신이 연주하는 악기에 대한 보표만 존재하는 악보입니다. 총보(score) 파트보(part) 위의 악보에서 Flute 1은 첫마디를 한 뒤, 31마디는 아무 음도 없습니다. 그래서 뒤에 31로 숫자 적힌 긴 막대로 표시됩니다. Flute 2의 경우는 앞 2마디를 쉬고, 연주하고, 뒤 29마디를 쉽니다. 끝. 카테고리: Music
딩기 요트 명칭을 알아보겠습니다. 딩기 요트(Dinghy Yacht)란 엔진이 없고 바람으로 가는 작은 요트(1~3 인승)를 말합니다. 돛단배랑 비슷하다고 보면 되는데, 돛단배와의 차이점은 바람을 거슬러 올라갈 수 있다는 점입니다. 엔진이 없는데 바람을 거슬러 올라간다? 신기하죠? 어떤 장치가 있기 때문인데요. 아래 명칭을 보면서 어떤 장치가 바람을 거슬러 오를 수 있게 해주는 지도 알려드릴게요. 고화질 참고 자료를 기대하셨다면 아쉽게도 그런 거 없습니다. 위에가 대략적인 딩기 요트의 명칭을 적은 그림입니다. 메인 세일: 주 동력원입니다. 바람이 요트를 움직일 수 있게 만들어 줍니다. 마스트: 메인 세일을 다는 기둥입니다. 붐: 메인 세일 밑에 자리하며 메인 세일을 펼쳐지게 만드는 막대기입니다. 붐뱅: 붐과 마스트를 연결해 주는 시트(밧줄)입니다. 블록(도르래)들이 달려 있습니다. 바우: 배의 앞 부분을 말합니다. 대거보드: 바람을 거슬러 오를 수 있게 해줍니다. 옆으로 뒤집히면 요트를 세우는 역할도 합니다. 완전히 빠지지 않는 것은 센터보드라고 부릅니다. 메인시트: 메인 세일의 각도를 조정할 수 있는 시트(밧줄)입니다. 러더: 배의 방향을 조정하는 부위입니다. 틸러: 러더를 조작할 수 있는 조정장치입니다. 대략 이 정도가 있는 것 같아요. 위에서 말한 바람을 거슬러 갈 수 있게 해주는 게 바로 대거보드 였습니다. 돛단배는 이 대거보드가 없기 때문에 바람을 거슬러 갈 수 없답니다. 끝. 카테고리: Yacht
사용 버전 : KiCad 5.1.0 kicad PCB 만들기에 대해서 알아보겠습니다. 'PCB Layout Editor'를 눌러줍니다. 만약 아래와 같은 알림 창이 뜬다면, 선택은 자유입니다. 내용은 그래픽 카드를 사용할 것인지, 말것인지 입니다. 쓰면 속도도 좋고, 부드러워진다고 설명하고 있군요. 다음과 같은 창이 뜹니다. 'Update PCB from schematic'을 눌러줍니다. 'Match Method'와 설정을 적절히 선택해줍니다.(저처럼 하셔도 됩니다.) 그리고 'Update PCB'를 눌러줍니다. 다음과 같이 마우스를 따라다니는, footprint가 생성됩니다. 적당한 곳에 클릭합니다. footprint 이동은 '키보드 M', footprint 회전은 '키보드 R'입니다. 'Hide board ratsnest'를 켜면, 전선이 연결되어야 할 가이드 선이 표시됩니다. 'Ctrl + 좌 클릭'은 선택된 패드에 연결될 부분만 밝게 표시합니다. 해제 방법은 빈 땅에 'Ctrl + 좌 클릭'하면 됩니다. 옆에 있는 '레이어'는 PCB의 어느 영역에 그릴 것인지를 선택할 수 있게 해줍니다. F.Cu는 PCB 윗부분 전선 B.Cu는 PCB 뒷부분 전선 F.Paste는 PCB 윗부분 SMT 접착제 B.Paste는 PCB 뒷부분 SMT 접착제 F.Mask는 PCB 윗부분 패드 B.Mask는 PCB 뒷부분 패드 Edge.Cuts는 PCB의 전체 모양 F.SilkS는 PCB 윗부분 하얀 선 또는 글자 B.SilkS는 PCB 뒷부분 하얀 선 또는 글자 전선을 그려봅시다. 'Route tracks'를 눌러줍니다. 레이어를 보시면, F.Cu에 화살표가 있으니, 전선은 F.Cu 레이어에 그려집니다...
사용 버전: Android Studio 4.0.1 사용 언어: Kotlin 1.4.0 안드로이드 GDPR Consent 사용을 알아보겠습니다. GDPR Consent는 유럽경제지역(EEA)에 광고를 포함해서 앱을 출시한다면 꼭 필요한 사항입니다. Consent 또는 동의라고 명칭하겠습니다. 예전에는 다른 방법을 사용해서 동의를 얻었습니다.(Legacy가 되어 버림) 현재는 구글에서 Funding Choices를 만들어서 배포하고 있기 때문에 해당 기능을 사용해 봅시다. admob에 로그인해서 개인 정보 보호 및 메시지로 이동합니다. Funding choices로 이동을 누릅니다. 자신이 만든 앱들이 보입니다. GDPR 동의를 만들 앱을 누릅니다. 만들기를 누릅니다. 선택합니다. 적당한 메시지 이름을 적어주시고, 메시지 언어를 선택합니다. 마음에 드는 선택항목을 하나 고릅니다. 이런 미리 보기 창이 나옵니다. 옆에서 조절할 수 있습니다. 위에 있는 저장을 누릅니다. 예를 누릅니다. 게시를 누릅니다. 예를 누릅니다. 동의 세부정보를 누릅니다. 개인 정보처리 방침 URL에 개인 정보처리를 어떻게 하겠다는 걸 명시한 URL을 적어주세요.(예: 개인 정보 약관 보기 눌렀을 때 나오는 화면) 없으시다면 블로그나 이런 곳에 만드셔야겠죠? 연결된 공급업체를 눌러줍니다. 사실 어디 어디에 공급되는지 잘 모릅니다....
사용 버전 : 5.1.0 kicad 만든 PCB 주문하기에 대해서 알아보겠습니다. 지금까지 만든 PCB를 주문 제작해보겠습니다. 'PCB Layout Editor'를 눌러줍니다. PCB 남는 부분에 구리를 채우는 과정입니다. 만약, 전선 이외의 PCB 부분을 비워두고 싶다면, 이 부분은 건너 뛰셔도 됩니다. F.Cu 레이어를 선택하고, 'Add filed zones'를 눌러줍니다. 눌러줍니다. 레이어를 선택하고, 네트를 선택합니다. 확인을 누릅니다. 그려줍니다. 다음은, B.Cu 부분으로 채울 겁니다. 자세히 보면, GND 패드가 덮입니다. 만약 이 부분의 전선 굵기를 변경하고 싶다면, 다음과 같이 합니다. Zone을 클릭합니다. '키보드 E'를 누릅니다. Thermal spoke width를 원하는 굵기로 변경합니다. 굵기가 변경된 것을 볼 수 있습니다. 만약 수정사항이 생겨, Zone을 다시 그려야 할 상황이 생기면, 키보드 'B'를 눌러주세요. Zone을 다시 그려줍니다. '플로트 (HPLG, Postscript 또는 Gerber 형식)'을 눌러줍니다. gerber 파일이 생성될 폴더를 선택하고, 필요한 레이어를 선택한 후, '플로트'를 누릅니다. 생성된 것을 확인할 수 있습니다. 'Generate Drill Files...'를 누릅니다. drill 파일이 생성될 위치, 설정 등을 선택하고, 'Generate Drill File'을 누릅니다. 완료되면, 닫기를 누릅니다. 'Save board'를 누르고 닫습니다. 생성된 파일입니다. ...
댓글
댓글 쓰기
궁금한 점은 댓글 달아주세요.
Comment if you have any questions.