본문 바로가기

파이썬 자리수곱의합 문제 P(n)은 n을 십진수로 표시했을 때 0이 아닌 각 자리수의 곱으로 정의한다. 다음 값을 구하라. P(1) + P(2) + P(3) + ... + P(999999) 우선 무식한 방법 #!/usr/bin/python ########################################################## # ZiffernProdukte # --------------------------------------------------------- # # --------------------------------------------------------- # Mit P(n) bezeichnen wir das Produkt aller Ziffern # 1,2,3,4,5,6,7,8,9 in d..
Swift on WSL swift repl 에 진입할 때 행이 걸리는 문제. 윈도우 시스템에 wsl 을 설치하고, ubuntu 를 설치했다. (2022년 7월 15일) 여기에서 swift 연습을 해보기 위해서 swift 설치과정을 진행해서 설치가 되었는데 ( apt 명령으로 디펜던시 패키지들을 설치하고, swift ubuntu 20.04 용 릴리즈 tar 파일을 받아서 풀고, PATH 변수 설정해주기까지 ) swift 명령이 어떤 건 행이 걸려서 동작을 안했다. 1. swift 명령만 실행하여 repl 에 들어가려 하면 멈춘다. $ swift Swift version 5.6.2 (swift-5.6.2-RELEASE) Target: x86_64-unknown-linux-gnu Welcome to Swift! Subcommands: swift build Build Swift pack..
XCode 프로젝트에 써드파티 패키지 추가하기 처음하다 보니까 라이브러리 가져다가 쓰는 것도 어려웠다. 라이브러리의 소개페이지에 설치해서 사용하는 방법들이 너무 여러가지를 기준으로 설명이 되어 있었다. swift package manager, cocoapods, carthage... 모두 커맨드라인에서 어떻게 하는 방법인데, 나는 xcode 프로젝트에 포함해서 쓰고 싶었다. 프로젝트 설정 쪽에 package 관리하는 곳이 있었고, package 추가하면 창이 뜨고 쭉 하면 되더라. 간단한 건데, 혹시 나처럼 헤맬 사람들을 위해 캡쳐화면을 떠서 포스팅을 작성한다. xcode 13 이다.
Swift XMLCoder swift 로 xml 을 파싱하는 예제를 검색했을 때 (한국어검색결과에서) 가장 많이 나왔던 것은 XMLParser, XMLParserDelegate 을 사용하는 예제였다. 시작태그, 끝태그, 바디 각각을 처리하는 3개의 parser 를 구현해야 하는 것인데, 너무 리던던트한 코드가 많고, 구현도 복잡했다. 그러다가, json 은 이미 Codable, Decodable 프로토콜을 이용하여 간단하게 파싱하는 방법을 제공( JSONDecoder )하고 있다는 걸 알았다. 그래서, swift xml parser codable protocol 같은 검색어로 검색해 봤더니 XMLCoder 라는 써드파티 라이브러리가 존재한다는 걸 알았고, 써봤다. 일단 아주 잘 정의된 xml 에 예제만 해 봤는데, 너무 좋은 것 ..
인코딩을 들여다보자 아주 오래전에 회사내부에서 공유하려 만들었던 글입니다. 인코딩을 들여다보자 다음과 같은 실험으로 인코딩을 들여다보자. 준비물 : notepad, madedit, python notepad 로 동일한 문자열 여러가지 인코딩으로 저장해 보기 기본 cp949 인코딩 영문은 한 글자당 한바이트가 되고, 한글 한 글자가 두바이트가 되는 cp949 (euc-kr) 인코딩 바이트 스트림이 저장된다. utf-8 인코딩 영문은 여전히 한 글자당 한바이트, 한글은 한 글자가 3바이트가 되어 저장된다. utf 16(le) 인코딩 영문, 한글 상관 없이 모든 글자 하나가 두바이트로 저장된다. utf 16(be) 인코딩 바로 위와 동일하게 영문, 한글 모두 두바이트씩으로 저장되지만, 두바이트의 순서가 le와 반대이다. made..
pyupbit WebSocketClient 예제코드를 실행할 때, TypeError: 'async for' requires an object with __aiter__ method, got Connect pyupbit 의 WebSocketClient 예제를 한번 실행해 보았다. 예제는 https://wikidocs.net/168437 에 있는 가장 간단한 예제이다. import multiprocessing as mp import pyupbit if __name__ == "__main__": queue = mp.Queue() proc = mp.Process( target=pyupbit.WebSocketClient, args=('ticker', ["KRW-BTC"], queue), daemon=True ) proc.start() while True: data = queue.get() print(data) 실행해 보았는데, 에러가 발생하였다. 에러는 다음과 같다. self._target(*self._args,..
SwiftUI : Primes Numbers 아주 간단하게 최초 100개의 소수를 구하는 swiftui 프로그램. 최초에 2 이상인 100개의 정수가 화면에 나열됨. 각 숫자 버튼을 누르면, 누른 숫자의 배수들을 제거함. 2부터 하나씩 버튼을 눌르면, 남아있는 숫자들이 소수들. import SwiftUI struct ContentView: View { @State private var primes = Array(2...30000) @State private var clicked = Set() var body: some View { VStack { ForEach(0..
100DaysOfSwiftUI - Day 24 마지막 과제가 아래와 같다. 커스텀 ViewModifier (와 View extension) 을 만드는데, 글씨체를 크고 푸른색으로 만들어 프로미넌트타이틀에 적당하게 바꾸는 모디파이어. Create a custom ViewModifier (and accompanying View extension) that makes a view have a large, blue font suitable for prominent titles in a view. 작성한 코드는 아래와 같다. import SwiftUI struct ProminentTitle : ViewModifier { func body(content: Content) -> some View { content .font(.largeTitle.bold()) ...