むかしむかしのSwiftにはByte型があったと思うのですが、あるとき突然廃止されました。Byte型の配列など使って低級の処理をしていたアプリやプログラムはコンパイルすらできない事態に。C#やJavaからやってきた人も一瞬戸惑うのではないでしょうか。どう調べ…
Swiftで[UInt8]のままXORをする必要がありました。しかしSwiftのXOR演算子は「^」であり、下記のように書いてもコンパイルエラーとなります。 let first: [UInt8] = [0xff, 0x10, 0xa0] let second: [UInt8] = [0x01, 0x02, 0x03] let result: [UInt8] = fir…
HttpでAPIを叩くときに重宝するのがFiddlerです。Windowsアプリ開発では使わせていただいているのですが、iOSアプリ開発でも使えるのでしょうか。どうもMacOSでも使っている人が結構いるみたいなのでインストールすることにしました。 Homebrewでインストー…
C#で.Net Frameworkなアプリケーション開発にはVisual StudioとGithub Extension for VIsual Studioを使っています。最近は自宅作業もなかったため、久しぶりに家の環境でpushしてみたら fatal: could not read Username for 'https://github.com' No such f…
HTMLライクなデザインでテキストにハイパーリンクを付けることになりました。 各項目を入力して送信ボタンを押してください。何か分からないことがありましたら、こちらからお問い合わせください。 こんなケースですね。アンダーバーだけハイパーリンク化し…
とあるSDKを使ってiOSアプリを開発しているのですが、いただいたSDKのドキュメントに書かれているサンプルコードがObjective-Cでした。僕はObjective-Cは嫌いなのでSwiftに書き換えます。するとこんな関数がありました。 (id)method:(int*)arg; Int型のポイ…
iOSアプリのDocumentsディレクトリにログを出力しようと思い、Logディレクトリを作成しました。当然このディレクトリはアプリが初めて起動したときに作成され、以降はディレクトリ作成を行う必要はありません。でもSwiftでディレクトリの存在チェックって情…
Swiftの日時を表示するのはDateクラスで簡単に実装できます。 // 2018/01/12 00:00:00 print(Date()) しかしFormatを指定するとなると結構行数を使ってしまうんですよね。 let format = DateFormatter() format.timeStyle = .short format.dateStyle = .shor…
iOSアプリ開発においてデータベースのデータから本日登録されたデータだけを取り出す必要があったのですが、そのためには今日の0時0分のDateを作らなければなりません。例えば.Net Frameworkでは下記のように作成することができます。 var now = DateTime.No…
iOSアプリ開発において欠かせないのがライブラリです。Androidではgradle、WindowsではNugetがありますが、なぜかXcodeには標準で使えるライブラリ管理機能がありません。実際のところ公式が確立する前にサードパーティがデファクトスタンダードを取ってしま…
eXperience Point(XP)という仮想通貨を買ったのですが、翌日にパソコンが壊れてしまいました。幸い別のHDDにwallet.datをバックアップしていたのでウォレットをリストアすることはできたのですが、パスフレーズを入力してもウォレットを復号することができま…
仮想通貨はブロックチェーンに全てのデータが保存されているので、直接ブロックチェーンを参照すれば任意のアドレスから口座残高などの情報を取得することができます。しかし、口座情報を利用するアプリやWEBサービスを作成するだけのために各仮想通貨のブロ…
coincheckの一覧取得APIではページネーションという仕様を使っています。しかしこのページネーションについてcoincheckの説明が不足している上に不具合があって大変カオスなことになっています。2017年12月にAPIの仕様変更があったので、この変更で不具合は…
coincheckのAPIでシステムトレードプログラムを作る際に必須の機能なのが発注と同時に損切りの発注を出す処理です。これFXの世界ではイフダン(if done)というらしいです。今回はこの処理の実装方法について書きます。 処理の流れ coincheckのAPIの実行順とし…
株やFXはAPIが用意されていないのですが、仮想通貨取引所はどこもAPIを用意しています。coincheckも例外ではなくAPIを利用してBitcoinのレバレッジ取引ができます。つまりは自分でシステムトレードプログラムを作ることができるというわけですね。個人の口座…
ユーザーに画像を選択してもらうアプリケーションを作成する場合、画像ファイルをローカルに保存することになると思います。このプレビュー画像をアプリケーションに表示しようとしたときに、このローカル画像を読み込まなければなりません。このときにImage…
JSONのHTTPSによるやり取りにJson Web Token(JWT)という規格があります。JSONに署名して中間者攻撃や悪意ある送信元からのAPI利用を防ぐことができます。しかし当然ながら.NET Frameworkにはそのようなライブラリは存在しません。Nugetにも該当するライブラ…
WindowFormにはグラフ描画ライブラリが標準で用意されているのですが、WPFアプリケーションにはそのようなライブラリは用意されていません。今回はWindowsFormのチャートコントロールと、ググって見つけたSparrow Toolkitというチャートライブラリを使用して…
WPFのListViewを使ってリッチなカスタムリストを作成したとき、クリックしたときに背景色が変わるのを解除したくなります。せっかく綺麗なデザインにしたのにクリックした瞬間に選択色がついて台無しに。しかし残念ながらListViewのプロパティ1つをFalseにす…
WPFアプリケーション開発において多言語対応というのは悩みの種です。Androidはstrings.xmlでテキストは管理され、各国語のstrings.xmlを作成すればOSが使い分けてくれるのですが、WPFにもそんな便利機能はあるのでしょうか。 1. LocBamlツールを使った方法 …
Android Databindingを使用してアプリ開発を行っているのですが、Fragmentを使った画面遷移でアプリクラッシュする問題に直面してしまいました。原因を特定するのに時間を使ってしまったので、記録として残しておきます。 発生したエラー内容 この問題に直面…
WPFアプリケーションを実行した時に画面がレンダリングされる前にXamlParseExceptionがスローされてクラッシュすることがあります。この例外はデバッカーで原因位置を特定できない場合があり、初めて見たときは絶望と挫折を経験する人もいるかもしれません。…
不必要になったファイルを削除することになったのですが、ファイルを削除すりだけではディレクトリ(フォルダ)が残ってしまう結果に。アプリケーションを利用すればすりほどディレクトリが無限に増えるのは気持ち悪いので、ファイルが1つも存在しなくなればデ…
サーバーサイドから公開鍵をPem形式でもらったのですが、クライアントサイドで暗号化しようとすると CryptographicExceptionがスローされてしまう事態に。解決に時間を要したのでメモとして書き残しておきます。 .Net Frameworkを使ったRSA暗号化 公開鍵を使…
WPFにおいてページやウインドウが開かれた時に自動で処理を開始したいときって結構あると思います。しかし意外と最適解が探しても見つからず、苦労したので今までの試行錯誤で得たノウハウを書き残しておきます。 ViewModelのコンストラクタで処理する 最初…
会社にはRailsエンジニアの方が多いので、技術や仕様がそっちに引っ張られることが多い環境にいます。最近は会社にも馴染んでそうでもなくなってはきましたが。そんな中、通信の暗号化でクライアント側で暗号化するよう要請が。そこで渡されたのがPem形式の…
著者について 福岡県生まれ育ちの男の子です。大学、大学院ともに情報工学と生物学を専攻し、卒業とともに神奈川に移住してきました。神奈川に移住してからは機械メーカーでソフトウェア開発者として産業用ロボットの制御プログラムやそれを作成するCAMを開…