ペンギン村 Tech Blog

技術をこよなく愛するエンジニア集団が在住するペンギン村から、世界へ役立つ(かもしれない)技術情報を発信する技術系ブログです。某アラレちゃんが済む村とは一切関係ありません。んちゃ!

Swift 4.2 の変更点を iOSDC 2018 で話してきました

どうも、最近は「進撃の巨人 3期」が楽しみな tobi462 です。 しかし、最近一部の人達から「シュタインズ・ゲート ゼロ」を強烈に推されプレッシャーを感じる今日このごろです。いや原作こそ未プレイですがアニメ初期は見てますし、全話配信されたら見ようと…

ペンギン村 Tech から 2名 が iOSDC 2018 に登壇します

どうもご無沙汰しています tobi462 です。iOSDC Japan 2018 の開催がついに明日にせまりましたね。 以前の記事で軽くふれましたが、ペンギン村 Tech からは私と k_miyasaka の2名が登壇します。 blog.penginmura.tech せっかくなのでトークに対する一言コメ…

iOSDC 2018 のプロポーザル一覧を閲覧できるサービスを公開しました。

この度、ペンギン村 Tech のエンジニア3名で iOSDC 2018 の プロポーザル(CfP)一覧を閲覧・検索できるサービスを公開しました! iosdc-cfps.penginmura.tech Web UI は SPA で開発し、画面遷移なしで快適に見られるようにしてみました。 1stリリースでは一…

Dockerハンズオンをやってみた - Kubernetes輪読会#0

どうも、Nintendo Switch版の斑鳩が配信されるの楽しみな tobi462(過去記事) です。 斑鳩はSTGとしての面白さは当然のこと、硬派なストーリー設定も素晴らしく・・・おっとこれを語りだすと長くなるのでやめておきましょう。 Kubernetes輪読会 始動 #0 コ…

Xcode 9 の New Build System を試す

この素晴らしきビルドシステムに祝福を。 どうも tobi462(過去記事)です。 さて、Xcode 9 から新しいビルドシステムが導入されたのは記憶に新しいですが、9.3 の時点でも Preview となっており標準のビルドシステムにはなっていません。 すでに他記事でも…

Swift エンジニアが学ぶ Rust - 0.序章

Rust はとても良い言語です、 TRust me。 ダジャレから始めるのは初めてでしょうか。Rust 勉強中の tobi462 です。 私はプログラミング言語を学ぶのが好きな畑の人間でして、最近では Rust を学んでいるのですが、これがなかなかどうして面白いのです。 Love…

Swift 4.2 で追加される removeAll(:where) メモ(SE-0197)

どうも、運動したあとはお酒が飲みたくなってしまう tobi462 です。 ちょっと時間が空きましたが、今回はremoveAll(:where)という新たに追加されたコレクション系のAPIの Proposal を見ていきたいと思います。 今までの Swift 4.2 の記事は以下です。 Swift …

【Docker】alpine の `apk update` でエラーが発生した時のメモ

どうも、tobi462 です。 今日は docker-compose build での apk update 時に以下のエラーが発生した時の対処メモです。 Step 7/11 : RUN apk update ---> Running in 45856361a825 fetch http://mirrors.aliyun.com/alpine/v3.4/main/x86_64/APKINDEX.tar.gz…

Swift 4.2 で追加されるコンパイラディレクティブ(SE-0196)

何でもは知らない、知ってることだけ。 どうも、最近書き出しの挨拶を考えるのに時間を要する tobi462 です。 今日は SE-0196 で追加されたコンパイラディレクティブの紹介です。 今まで書いた Swift 4.2 の記事は以下です。 Swift 4.2 で追加される @dynami…

Swift 4.2 で追加される @dynamicMemberLookup メモ(SE-0195)

全地球100億人のSwifterな皆さん、コンバトラーっ! tobi462 でーっす! え、いつもとノリが違う?まぁ、そういう日もあるんじゃないでしょうか。 そんなわけで、前回・前々回と続き Swift 4.2 の記事です。 今回は、Swift 作者であるラトナーさんの Proposa…

Swift 4.2 では boolean の反転(toggle)ができるようになる(SE-0196)

どうも。ルパン三世 Part 5 の続きが楽しみな tobi462 です。 さて前回のenumの新機能に続き、また Swift 4.2 の話題です。 といっても、今回は驚くほど短いです(汗) Tl;Dr toggle() 実装 おわり Tl;Dr // before messageLabel.isHidden = !messageLabel.i…

Swift 4.2 では enum の件数がとれるようになる(SE-0194)

どうも。赤ワインが一番美味しい季節は秋だと思うのですが、この初春という時期もなかなか乙だと感じる tobi462 です。 今日は Swift 4.2 で追加される SE-0194 について軽くメモです。 ちなみに執筆時点で Xcode 9.4 beta 1 がリリースされていますが、こち…

「がんばるぞいbot」を作った話、そしてAWS Lambdaに移行しようという話

どうも、最近週末に映画を観るのが楽しみなtobi462です。ちなみにAmazon Prime Videoです。 今日はプライベートで作ったシステムの話、というか物語を書いてみたいと思います。 がんばるぞいbotとは Slackで「がんばるぞい!」と書き込んだら、キャラクター…

Kotlinで可変長引数を利用する時は、同一の型の引数を一緒に使用するのを避ける

こんにちは、tobi462(過去記事一覧)です。 今日は、Kotlinで可変長引数を使用した時にハマったことがあったので、アンチパターンの共有です。 可変長引数(vararg) 同一の型の引数を一緒に使う 教訓としてのアンチパターン 最後に 可変長引数(vararg) …

ターミナルからXcodeを1コマンドで開くCLIツールを作ってみた

どうも、攻殻機動隊シリーズでは S.A.C が一番好きな tobi462 です。 今回は Swift Package Manager で、ターミナルからXcodeを開くCLIツール xcode-open を作ってみたので、その紹介です。 モチベーション 使い方 インストール 使い方 オススメのエイリアス…

ストレスを溜めやすいエンジニアの体調管理

今週のお題「体調管理」 どうも、NEWGAME!では八神コウちゃんが一番好きなペンギン村の住人@tobi462です。 今回は今週のお題である体調管理について書いてみたいと思います。 事前に書いておきますが、技術的な要素は一切ありません。(Tech Blogなのにね・…

シェルスクリプトで現在のブランチ名を取得する(git rev-parse)

ペンギン村の住人、tobi462です。 今回はシェルスクリプトなどのプログラムからgitの情報を取得する際に、rev-parseという便利なコマンドがあったので、その紹介と教訓について書いてみます。 Tl;Dr 冴えないやり方 rev-parse って? --abbrev-ref って? ま…

Swiftと比較しながら見る、KotlinのDSLを支える技術

自己紹介 DSLとは KotlinのDSL 拡張関数(extension function) 演算子オーバーロード メソッド規約 invoke規約 Kotlintestの例 括弧の外側のラムダ 中置呼び出し レシーバ付きラムダ kotlinx.htmlの例 Swiftでは 機能のまとめ 最後に 自己紹介 はじめまして…