cockscomblog?

cockscomb on hatena blog

WWDC20ファーストインプレッション

WWDC20のKeynoteをみて、ドキュメントを乱読し、Platforms State of the Unionをみて、ちょっと寝て、仕事をしている。今はめちゃくちゃ眠たい。仕事休んだらよかった。 予想の振り返り 一昨日、ちょっとふざけた感じで、各メディアの予想と筆者の考えをまと…

WWDC20で何が発表される?予想をまとめてみました!

2020年のWWDCは、新型コロナウイルスによる感染症拡大のため、ほかの様々なイベントと同様に開催形式が変わる。現地時間の22日(日本時間では23日)、KeynoteとPlatforms States of the Unionが行われ、その後に様々なセッションビデオが公開される予定だ。 …

Swift AWS Lambda Runtimeを試す

2020年5月末に、 SwiftをAWS Lambdaで動作させるプロジェクトが発表された。swift-server/swift-aws-lambda-runtimeがそれである。ということで、AWS CDKでAPI GatewayとSwiftのLambda Handlerを作ってみた。 Lambda Runtime AWS Lambdaは、AWSのFaaS。提供…

紛らわしい文字列をもっと紛らわしくする「InkBleed」をMac App Storeで販売開始

紛らわしい文字列をもっと紛らわしくするアプリの登場です。 インクがにじんだような読みにくいテキストを作れるMac向けの新しいアプリケーション 2020年5月7日、インクがにじんだような読みにくいテキストを作れる、Mac®︎向けの新しいアプリケーション、Ink…

在宅勤務にかこつけて自宅のデスク周りをアップグレード

京都も緊急事態宣言の対象になった4月中旬、職場で原則在宅勤務のお達しが出た。正直に言えば、3歳と0歳の子供がいる中での在宅勤務には乗り気になれなかった。それでも、社会が急速に変化する中で、自分もまた変化しなくてはいけないと思った。 あまり広く…

SwiftUIではSingletonの代わりにEnvironmentを使うことができる

ここで言うSingletonというのは、ある種のグローバル変数を指している。そもそもクライアントアプリケーションの開発においては、実質的なグローバル変数が出現しやすい。環境にたった一つしか存在しない、存在すべきでない、というものが見出せる。例えばタ…

紛らわしい文字列をもっと紛らわしくする

同僚にid:yashigani_w(ヤシガニ)とid:yigarashi(ワイイガラシ)がいる。いかにも似ているが、あるとき一緒に仕事をすることになって、紛らわしさが限界を超えた。 yashigani yigarashi そうとわかって見たら、なるほど「y」で始まって「i」で終わるのが似…

apple/swift-formatを試す

オフィシャル感のあるSwiftのformatter/linterであるところの、swift-formatを試した。 SwiftのGoogleフォークで生まれたものがベースになっているようだ。開発が進んでいるmasterブランチと、Swift 5.1に対応するswift-5.1-branchブランチがあり、後者を試…

息子にカメラを与える

まだ2歳半で早すぎると思うけど、普段から僕のカメラを羨ましがっているので、少しくらい乱雑に扱われても大丈夫そうなカメラを買った。 いろいろ調べて、NikonのCOOLPIX W150というのにした。耐衝撃性能を宣伝しているくらいなので、きっと頑丈なつくりにな…

CoreImage.CIFilterBuiltins

iOSやmacOSで画像を加工しようとした場合、Core Image frameworkを使うのが簡単だ。画像をハードウェアの支援で高速に処理でき、内蔵された様々なフィルターを使うこともできる。Mac OS X 10.4で初めて搭載されて以来、しっかりとアップデートされ続けている…

二人目の子供が生まれました

およそ一週間前の21日午前1時頃、僕と妻の二人目の子供が生まれました。予定日を10日も過ぎて生まれた息子とは違い、予定日翌日のことでした。3,200グラムの女の子です。日が変わる頃に病院へ行って、そこからあっという間に産まれました。 息子のときより小…

Chromeが影響を受けたmacOS Catalinaの「Hiragino Kaku Gothic ProN」フォントファミリーに関する変更

macOS Catalinaにアップグレードすると、Google Chromeのフォントの表示が変わる、ということがあった。CSSでフォントファミリーとして「Hiragino Kaku Gothic ProN」を指定していても、この指定が効かずにフォールバックされてしまうというものである。macO…

Marzipanを予想した答え合わせ #WWDC19

昨年のWWDCよりさらに前に、Marzipanを予想すると称して、与太話を書いた。その時は「UIKitの移植」と「まったく新しいUIフレームワーク」とそれらの「グラデーション」の3パターンを予想していたが、結果としてはこれらがすべて出た。 Project Catalyst 初…

AWS CDK は React

AWS Cloud Development Kit(以下、CDK)というものがあるが、これの提供する抽象化について考えを巡らしていたところ、唐突にこれは React だと気付いた。 CDK と React の類似性 CDK の CloudFormation Resource は、React の DOM Element に対応する。 CD…

Flutterを試した

flutter.io 先日なんとなく物見遊山的にFlutterを試してみた。特に事前の知識もなく数時間で試した程度で、全体に不案内ではあるから、それなりの感想であることを先に断っておく。 (当方はiOS/Androidのネイティブアプリの開発や、Reactを使ったWebフロン…

Marzipanを予想する

予想というか、根拠のない与太話です。 Marzipanと呼ばれるAppleのプロジェクトは、どのようなものになるのだろう。噂では、iOSとmacOSのアプリが一度に作れるようになるらしい。このふたつのOSのアプリを開発する上での主要な差異は、iOSのUIKitとmacOSのAp…

Docker for Macでコンテナの中からホストに繋ぐたった一つの冴えたやり方

Networking features in Docker for Mac | Docker Documentation コンテナ中で docker.for.mac.localhost というDNS名を使うと、ホストのmacOSに繋がります。 メリークリスマス。 追記(2018/01/06 21:00) Docker 17.12.0から新たに同じ用途の docker.for.m…

三点リーダーの位置をOpenTypeフォントでいい感じにする……

僕は三点リーダー「…」が好きで、ついつい使ってしまいます……。この三点リーダーですが、日本語では(仮想ボディの)中央に並び、欧文ではベースライン上に並べるのが一般的です。一方で昨今のWeb媒体などでは、日本語の文章であっても三点リーダーがベース…

「iOS 11 Programming」を書きました

iOS 11 Programming著者:堤 修一,吉田 悠一,池田 翔,坂田 晃一,加藤 尋樹,川邉 雄介,岸川克己,所 友太,永野 哲久,加藤 寛人,発行日:2017年11月16日対応フォーマット:製本版,PDFPEAKSで購入する 今日から普通にお買い求めいただけます。 担当した章につい…

技術書クラウドファンディングプロジェクト「iOS 11 Programming」

iOS 11 Programming著者:堤 修一,吉田 悠一,池田 翔,坂田 晃一,加藤 尋樹,川邉 雄介,岸川克己,所 友太,永野 哲久,加藤 寛人,発行日:2017年11月16日対応フォーマット:製本版,PDFPEAKSで購入する 以前に妻のいとこに会ったとき、当時大学生だったそのいとこ…

子供が生まれました

本日午前11時に、僕と妻の子供が生まれました。予定日を10日ほど過ぎた、3,700グラムの男の子です。日付が変わった頃から陣痛がきて、それからあれよあれよという間に産まれていました。今はただ妻と息子の無事をありがたく思います。 結婚してからおよそ1年…

年末年始に飲み過ぎないために

諸君は酒が好きだろうか。筆者の場合は少しくらい、好きである。酒を飲んでもいいことなどない。僅かに楽しいような気分になるばかりで、だんだんと頭がボーッとしてきて身体もダルくなり、ひどいときには周囲の人間にまで迷惑をかける。しかし、よく冷えた…

Swift 3 の private と fileprivate

おはようございます。バットマンです。PlayStation VR でバットマン:アーカム VRを遊んだところ、現実とゲームの区別がつかなくなりました。ヘッドセットを外した後も、手がオブジェクトにめり込むんじゃないかと錯覚するようになった。 ところで Swift ピ…

あなたの知らない UIKit の世界 — UITableView に UITextView を置きたい

UITableView の見た目で様々な要素を表示しつつ、その一部として UITextView を使いたい、という需要があると思う。最も身近な例は標準のメールアプリである。 これは UIKit の API を駆使することで実現可能である。本記事ではこれを実現する方法を通して、…

Swift の Nil Coalescing Operator でコンパイルは遅くなるか

趣味のウェブブラウジングをしていると、Swift の ?? (nil coalescing operator) がコンパイルを遅くするのではないか、といった話題*1を見かけました。この演算子は、左辺の Optional<Wrapped> 型の値が Optional.none である場合に右辺の値を返すというもので、直感</wrapped>…

UIButtonの画像の位置を変えたい

UIButton の画像の位置を、タイトルの左側じゃなく上側や右側にしたい。画像が左側じゃないボタンのモックを見たとき、どうやって実現するかいつも少し悩む。ということでいくつかのアプローチを検討したい。 drawRect(_:) など UIButton は var titleLabel:…

マツコの知らない State Restoration の世界

慣れない街へ出かけるとき、電車の中で目的地までの道のりを「地図アプリ」で検索しておいて、駅を出てから地図を見て移動したことはありますか。あるいは「ネットショッピングアプリ」で欲しいものが見つかって、衝動買いするにはちょっと高価だったときに…

Swift 2.2

寒さも和らぎ、日によっては春の訪れを感じさせる今日この頃、いかがお過ごしでしょうか。春といえば Swift です。Swift は春と秋に、まるで衣替えのように大きなリリースがあります。2016年の春と予告されていた Swift 2.2 は、おそらく来週には正式にリリ…

try! Swiftに参加した日記です #tryswiftconf

先日のtry! Swift Conferenceに参加した。try! Swiftは、日本におけるモバイルアプリのカンファレンスとしては間違いなく過去最大規模であり、かつ最も国際色あるものだったように思う。しかし誰もが繰り返し言っているように、その運営は極めてスムーズであ…

UIControlにOptionSetTypeで状態を追加する

新成人のみなさん、おめでとうございます。大人になるのは難しいことだけど、自由に自分の人生を歩んでほしいと思います。 UIControlState UIControlにはvar state: UIControlState { get }というプロパティがある。これはすべてのUIControlの状態を示す。UI…