2018-01-01から1年間の記事一覧
他言語から入ると、一見取っつきづらいDispatchQueueですが、だいぶ浸透してきた気がします。 一方で、簡単にマルチスレッドで非同期処理ができるようになった結果、処理フローの制御がしづらくなったり、 知らないうちに、CPUやメモリリソースを異常に消費…
Swiftのバージョンが上がる前に、クロージャーに対して各種方法で変数をキャプチャした際の挙動を整理します。 ちなみに、新卒アドベントカレンダーではないです。 ARCについての前提知識 強参照と弱参照の違い 強参照 弱参照 キャプチャの種類 組み込み型の…
一ヶ月ほど前から、ちまちま開発を進めていた、 Swift用のデバッグロガー"Linna"の紹介です。 日本語ドキュメントはこちらです。 github.com 特徴 ロードマップ 特徴 JavaやJavascriptなど、他言語の代表的なロガーの機能を踏襲しつつ、 出来るだけシンプル…
デザインいじると上書きされてしまうから、いっそのことここに書いてしまおう。 /* 付け足す部分 */ body { font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif; letter-spacing: 0.08em; } /* 記事の左側の日付の…
Swiftで従来のthrow~catchでは書きづらい場面も多々あるので、 RustのResult型を参考にした、エラーハンドルを取り入れてみました。 やること 実装 case メソッド その他 使い方 switchで使う Optionalで使う サンプル やること SwiftでRustのResult型のよう…
ずばりこれ。 NSSetUncaughtExceptionHandler(_:) - Foundation | Apple Developer Documentation swiftのcatchで拾えないものもこちらでハンドルできる。 AppDelegate等に入れておく。 func application(_ application: UIApplication, didFinishLaunchingW…
hdiutilからマウントできました。Xcode 10です。 ディスクイメージ作成 iOSのシステムが数百MB使用するので、その分は最低限起動に必要です。 # APFS hdiutil create -size 1g -fs APFS /tmp/ios.dmg # HFS+ hdiutil create -size 1g -fs HFS+ /tmp/ios.dmg …
今回は、静的解析ツールのSonarQubeのクラウド版、 SonarCloudを導入します。 Travis, fastlane導入までは、前回の記事をご参照ください。 scior.hatenablog.com 環境 SonarQube Continuous Inspection アカウント登録 SonarCloudの設定 sonar-project.prope…
Express向けのSwaggerパッケージを色々探しましたが、 依存パッケージが少なく、npm auditで引っかからなかった、 こちらを紹介します。 Swagger UI Express 使い方 その他 swagger-node generator-express-no-stress Swagger UI Express www.npmjs.com gith…
firewalld バージョン 共通操作 現在の設定の確認 設定再読み込み 各種設定 サービス追加 ポート追加 永続設定 Zone デフォルトゾーンの変更 設定値変更 firewalld CentOS6系までのiptablesの代わりに、7系からではfirewalldを用います。 中身はiptablesのま…
Spring Frameworkにおけるvalidation Hibernate Validator 主なアノテーション Formに対するvalidation Formクラス Controllerクラス Form以外に対するvalidation 書いてないこと Spring Frameworkにおけるvalidation http://terasolunaorg.github.io/guidel…
Lombokとは 共通テク よく使う @Getter, @Setter @ToString @EqualsAndHashCode @Data @xxxArgsConstructor @NonNull 知らなくても困らないやつ @Builder @SneakyThrows @Slf4j まとめ Lombokとは いい感じにAnnotaitionで、Javaのよく出てくる処理を書いて…
iOS開発(Swift)でCIまでを動かす際の手順です。 今回は、Xcode 9.4, Swift 4(3でも可)です。 サンプルリポジトリ: github.com 導入するツール Swiftlint Fastlane Travis CI 今後やること 導入するツール SwiftLint(0.26.0) コーディングスタイルの静的解析…
10年ぶりくらいにPerl触ってます。RubyやPythonより好きです。 コード ((1).Set, (2, 3).Set, (2).Set).combinations.map({.reduce(&infix:<∪>)}).Set.say; > set(set() set(1 2 3) set(1 2) set(1) set(2 3) set(2)) 解説 ((1).Set, (2, 3).Set, (2).Set) …