GDPR の触りをメモ

名称 General Data Protection Regulation 日本語では「一般データ保護規則」と訳す。 概要 EEA での個人データの保護規則。2018年5月25日 から実施。 EEAとは. 欧州経済領域(European Economic Area)の略。 EU 加盟国+アイスランド、リヒテンシュタイン、…

AVSpeechSynthesizer でテキスト読み上げ

AVFoundation の AVSpeechSynthesizer クラスを使うと、テキスト(文字列)を音声で読み上げることができるのでメモ。 サンプル 最低限以下で読み上げができる。 import AVFoundation // シンセサイザーを準備する let synthesizer = AVSpeechSynthesizer() …

iOS 13 SDK 気になったところ

SwiftUI UI 開発がしやすく Apple、アプリケーション開発のための画期的な新しいテクノロジーを発表 - Apple (日本) SwiftUI | Apple Developer Documentation RealityKit 拡張現実。 RealityKit | Apple Developer Documentation VisionKit 入力ソース(画…

映画「AKIRA」

AKIRA 〈Blu-ray〉出版社/メーカー: ジェネオン・ユニバーサル発売日: 2011/06/22メディア: Blu-ray購入: 8人 クリック: 845回この商品を含むブログ (50件) を見る 1988年の映画だが、古さを感じ無い。 当時の近未来(2019年)を描いた SF 作品。 すごく良い…

Android アプリ「弥勒菩薩タイマー」をリリース

遠い未来にこの世界を救済してくれる弥勒菩薩(マイトレイヤー)が、いつ現れるかを計測するタイマーアプリです。 ちなみに、弥勒菩薩がいつ救済するのかについては、図書館が調査した結果もあったりします。 釈尊の死後、56億7千万年後に弥勒菩薩が衆生を救…

誰を死刑執行したかの公表は2007年から始まった

過去のほかのケースでは、どうなのでしょうか。法務省はかつて死刑の執行そのものを公表していませんでしたが、平成10年11月から、執行した事実と人数の公表を始め、平成19年12月からは、当時の鳩山邦夫法務大臣の意向で、死刑囚の名前、犯罪事実、…

Swift でローカルスコープを実現する

_ = { () -> () in // ... }() もしくは do { // ... } 後者の方が簡潔。

C言語で医療費控除額を計算する

コード 医療費控除の額がよくわからなかったので、C言語でコードを書いて試してみた。 GitHub にもある。 #include <stdio.h> #include <math.h> #include <assert.h> static int get_medical_expenses_deduction(int payed, int insurance, int income); int main(int argc, const char</assert.h></math.h></stdio.h>…

InterfaceBuilder を使用せずにコード内で UIButton のアクションをバインドする

ある UIButton に対して TouchUpInside のイベントにアクションをバインドしたいとき、インターフェースビルダーを使わずに、コードで実現すると下のようになる。 @IBOutlet weak var button: UIButton! class ViewController: UIViewController { override …

プロフィール

以下のサイトを管理しています tetsugaku.info

UnsafeMutablePointer のパターンをいろいろテストする

はじめに UnsafeMutablePointer の allocate/deallocate/initialize/move などのメソッドを一通り使用する。 また、ポインタの扱いでメモリリークが発生しないようにする。 テストしたコードは GitHub にある。 テストで共通使用する関数・クラス このコード…

Swift で数値から日本語形式の文字列を得る (例)1,234 -> 千二百三十四

はじめに Swift でこんな感じのことをしたく var v = Int(0) print(v) // "〇" v = Int(1) print(v) // "一" v = Int(2) print(v) // "二" v = Int(1234) print(v) // "千二百三十四" v = Int(665061443960367) print(v) // "六百六十五兆六百十四億四千三百…

テストケースで UIButton をタップする

import XCTest class UITests: XCTestCase { override func setUp() { // Put setup code here. This method is called before the invocation of each test method in the class. // In UI tests it is usually best to stop immediately when a failure oc…

テストケースで UIAlertController のボタンをタップする

import XCTest class UITests: XCTestCase { override func setUp() { // Put setup code here. This method is called before the invocation of each test method in the class. // In UI tests it is usually best to stop immediately when a failure oc…

Swift でジェネリック型のクランプをする

クランプ(Clamp)とは、ある値が任意の範囲になるように調整することをいう。 たとえば、値を 0 〜 10 の値にしたければ、以下のようなコードを書く。 if x < 0 { x = 0 } if x > 10 { x = 10 } ただし、必要な箇所でその都度、上のようなコードを書くと煩…

Travis CI で CocoaPods を使用したプロジェクトがビルド失敗する

はじめに Travis CI で CocoaPods を使用したプロジェクトのビルドが失敗したため、調べたことをメモ。 リファレンス Travis CI のドキュメント この中の Building an Objective-C or Swift Project - Travis CI のセクションをみる。 抜粋 リファレンスに書…

Swift を Docker 上の Linux(Ubuntu) で動作させる

資料 https://swift.org/download/#using-downloads https://github.com/apple/swift#getting-started 手順 Docker 側 1. Docker をインストール $ brew cask install docker 2. Ubuntu のイメージを得る $ docker pull ubuntu 3. Ubuntu コンテナを作成 $ d…

CocoaPods にライブラリを登録する

この記事は CocoaPods へライブラリを登録する方法をまとめる。 登録の方法 1. podspec ファイルを作成する $ pod spec create MyLib 2. podspec ファイルを編集する 以下、サンプルを載せる Podspec ファイルの構文リファレンスについて詳しくは Podspec Sy…

macOS のキャッシュや履歴を削除する

macOS のいろいろなキャッシュや履歴を削除する方法をメモする。必要に応じて sudo で実行する。 ターミナル(termial.app) の履歴を削除する history -c rm -f ~/.bash_history このあと現在開いてあるターミナルアプリを終了させる必要あり。 キャッシュを…

macOS フォルダ内のファイルのエンコーディングを一覧表示する

フォルダ内にある Xcode 関連ファイル h m mm swift txt md plist strings のエンコーディング一覧を見たい場合は find コマンドでできる # 現在のパスから開始する $ find -E . -type f -iregex ".*\.(h|m|mm|swift|txt|md|plist|strings)" -exec file --mi…

Swift で Mach から CPU 負荷、メモリ使用量を得るフレームワーク Mach-Swift

はじめに iOS / macOS にて CPU 負荷、メモリ使用量を得るために Mach を使用する方法があります。 ただ、Mach の関数を直接使用するとポインタの扱いが手間なので、そのあたりを吸収した Swift フレームワークを作成しました。 github.com 使い方は以下です…

SwiftPackageManager(SwiftPM)のコマンドまとめ

https://swift.org/package-manager/ パッケージを初期化(実行形式) $ swift package init --type executable パッケージを初期化(ライブラリ) $ swift package init --type library ビルド $ swift build テスト $ swift test 実行 $ swift run Package…

Android デバイスの DPI 一覧

Android デバイスの DPI(Dot Per Inch)の一覧 一覧 種別 サイズ DPI 備考 ldpi Low 120dpi 以下 mdpi Middle, Standard 160dpi 以下 hdpi High 240dpi 以下 xhdpi eXtra-High 320dpi 以下 xxhdpi eXtra-eXtra-High 480dpi 以下 xxxhdpi eXtra-eXtra-eXtra-…

GitHub プルリクエストをする時の流れ

フォークしてプルリクエストをあげるまで GitHub 上で対象のリポジトリを自分のリポジトリとして fork する ブラウザの画面上に「Fork」ボタンがあるのでそれを押すと、 fork される fork したリポジトリを clone する $ git clone フォーク先リポジトリ.git…