タグ

ブックマーク / cockscomb.hatenablog.com (27)

  • macOSのコンテナ開発環境におけるVirtualization frameworkの採用 - cockscomblog?

    Docker Desktop for Mac Docker Desktop for Macでは、仮想マシン上のLinuxDockerを動かしている。仮想マシンにはhyperkitやQEMUが使われていた。が4.14.0からVirtualization frameworkがデフォルトで使われる。 Set Virtualization framework as the default hypervisor for macOS >= 12.5. Virtualization frameworkはmacOS内蔵の仕組みで、macOS 11で導入されてから、徐々に機能が拡張されている。Virtualization frameworkは高レベルなAPIで、より低レベルなAPIとしてmacOS 10.10から搭載されているHypervisor frameworkがあり、おそらくVirtualizati

    macOSのコンテナ開発環境におけるVirtualization frameworkの採用 - cockscomblog?
  • GitHubの新しいプロジェクトを使ってみている - cockscomblog?

    新しいものが好きなので、GitHubの新しいプロジェクト仕事をしている。まだベータ版だが、少し前に会社のアカウントで有効になったので、所属するチームで大喜びで使い始めた。 もともとしばらくAsanaを使っていて、Asanaはタスクに依存関係がつけられたりして気に入っている。とはいえ仕事の大部分はGitHub上のリポジトリで行うのだから、GitHub上で完結するなら試してみたいわけである。 スプリント ということでとりあえず仕掛かりのIssueなどをプロジェクトに入れていたのだけど、なんかまだしっくりきていなかった。ドキュメントにはベストプラクティスとかもあるけど、そんなにおもしろいことは書いていない。Single source of truth志向なのはいいと思う。 しっくりこなかったことの一つは、スプリントの表現がうまくいかない感じがしたからだった。Single source of t

    GitHubの新しいプロジェクトを使ってみている - cockscomblog?
  • WEB+DB PRESS Vol.125の特集「GraphQL完全ガイド」を執筆しました - cockscomblog?

    今週、10月23日(土)に発売されるWEB+DB PRESS Vol.125に掲載される、特集記事「GraphQL完全ガイド」を執筆しました。よろしくおねがいします。 桃栗三年、GraphQL 6年 原稿を書く過程で、知っているはずのことでも改めて調べなおしたりする。特に歴史みたいなのが好きで、GraphQLは2015年6月に発表されて、2018年に安定版になって、みたいなのをずっと調べてしまう。GraphQLってなんかすごい最近っぽく感じていたけど、発表されてからもう6年経つらしい。 ちなみにjQuery 1.0は2006年8月にリリースされていて、Reactは2013年5月に公開されたらしい。6年というのはだいたいそれくらい。 6年で、GraphQLはよく普及した。Facebookはもちろん、GitHubTwitterNetflixも、GraphQLを使っている。GitHubの新し

    WEB+DB PRESS Vol.125の特集「GraphQL完全ガイド」を執筆しました - cockscomblog?
  • WWDC21大夢想 - cockscomblog?

    毎年この時期になると、毎日のようにWWDCのことを夢想している。 去年はSwiftUIのアップデートApple Silicon搭載のMac、ホーム画面のウィジェットに期待していた。 去年の期待は、いろいろなことをうまく言い当てているようにも見えるし、少し過剰なところもあった。WWDC20では叶わなかったいくつかの部分については、引き続きWWDC21でも期待している。 ではWWDC21では何が発表されるのか。 Swift 2014年にSwiftが発表されてから7年になる。SwiftはOSSで開発されているので、次にどのようなアップデートがあるか、事前に窺い知ることができる。 swift-evolutionによると、次のバージョンはSwift 5.5となり、特に並行処理の言語的なサポートに注力されている。async/awaitの構文や並行処理の単位としてのTask、actorモデルの導入が決

    WWDC21大夢想 - cockscomblog?
    Watson
    Watson 2021/06/07
  • 子供にアプリを作る - cockscomblog?

    3歳の息子にiPad Proを与えている。2018年の11インチのiPad Proで、僕のお下がりだ。Apple Pencilも与えてあるが、こちらは1歳になったばかりの娘が狙っているため、恐れた息子はApple Pencilをなるべく片付けておく。 自由に使っていい iPad Proを与えたからといって、3歳の息子がそれで何か大層なことをするということはない。退屈なときにYouTube Kidsで何かを見ていることが多い。ときどきGarageBandとiRig Keys 2で音を出して遊んだり、ProcreateとApple Pencilで謎の絵を描いたりしている。こういうのは大人も一緒にやってあげると喜ぶ。Smart Keyboardをくっつけて「ブログを書いてる」と宣ったりもする。あとは週末に祖父母とFaceTimeをする。 とにかくiPadを自由に使わせている。自由に使えない道具に

    子供にアプリを作る - cockscomblog?
    Watson
    Watson 2020/12/16
  • WWDC20で何が発表される?予想をまとめてみました! - cockscomblog?

    2020年のWWDCは、新型コロナウイルスによる感染症拡大のため、ほかの様々なイベントと同様に開催形式が変わる。現地時間の22日(日時間では23日)、KeynoteとPlatforms States of the Unionが行われ、その後に様々なセッションビデオが公開される予定だ。 WWDC20 期待 Appleプラットフォームの開発者としては、WWDCは一年で最大の楽しみである。昨年はCatalystやSwiftUIが発表され、たいへん盛り上がった。今年は何が発表されるのか、否が応でも期待が高まる。 SwiftUI 2 今年はとうぜん、SwiftUIの大幅なアップデートが出てくるだろう。画面いっぱいに「SwiftUI 2」の文字が大写しになるのが待ち遠しい。SwiftUIでアプリを作ろうとするとすぐに気づくのだが、SwiftUIはまだ機能不足である。 WKWebViewをラップしたW

    WWDC20で何が発表される?予想をまとめてみました! - cockscomblog?
    Watson
    Watson 2020/06/21
  • Docker for Macでコンテナの中からホストに繋ぐたった一つの冴えたやり方 - cockscomblog?

    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.mac.host.internal が追加され、今後はこちらが推奨されます。 これはlocalhost のサブドメインを禁止するRFCが提案されていることによります。 謹賀新年。 追記(2018/03/27 11:00) https://docs.docker.com/docker-for-mac/release-notes/#stable-releases-of-2018 Docker 18.03.0からさらに ho

    Docker for Macでコンテナの中からホストに繋ぐたった一つの冴えたやり方 - cockscomblog?
  • 「iOS 11 Programming」を書きました - cockscomblog?

    iOS 11 Programming 著者:堤 修一,吉田 悠一,池田 翔,坂田 晃一,加藤 尋樹,川邉 雄介,岸川克己,所 友太,永野 哲久,加藤 寛人,発行日:2017年11月16日対応フォーマット:製版,PDFPEAKSで購入する 今日から普通にお買い求めいただけます。 担当した章について宣伝します 僕は「第6章 Drag and Drop」と「第7章 FilesとDocument Based Application」のところを書きました。ここで担当した章について宣伝します。 iOS 11が一般にリリースされてからもう少し経っていますが、実際にiPadを使っていると、Drag and Dropがとても便利な操作であることがわかります。例えばタスク管理に使っているThingsというアプリでは、メールアプリなどからのドロップを受け付けてくれます。メールがきて後で何か対応しないといけない

    「iOS 11 Programming」を書きました - cockscomblog?
  • 年末年始に飲み過ぎないために - cockscomblog?

    諸君は酒が好きだろうか。筆者の場合は少しくらい、好きである。酒を飲んでもいいことなどない。僅かに楽しいような気分になるばかりで、だんだんと頭がボーッとしてきて身体もダルくなり、ひどいときには周囲の人間にまで迷惑をかける。しかし、よく冷えたビールの一口目の、あのなんとも言い難い美味さよ。あのたった一口分の美味さが脳神経に刻みつけられ、繰り返しくりかえし酒を飲んでしまう。なんと愚かなことだろう。 さて稿では、種々の問題をはらむ飲酒について、特に二つの問題を取り上げ実践的なアドバイスを諸君らに授けたい。筆者のアドバイスは主に Swift によって記述される。 ビール1パイント問題 アイリッシュパブなどに行ってビールを頼むと、「中ジョッキ」のような曖昧な単位でなく、「パイント」という単位で量を指定しなければならない。諸君らも安易に1パイントで頼んでしまって思ったより多くて苦労する、といった経験を

    年末年始に飲み過ぎないために - cockscomblog?
    Watson
    Watson 2016/12/28
  • あなたの知らない UIKit の世界 — UITableView に UITextView を置きたい - cockscomblog?

    UITableView の見た目で様々な要素を表示しつつ、その一部として UITextView を使いたい、という需要があると思う。最も身近な例は標準のメールアプリである。 これは UIKitAPI を駆使することで実現可能である。記事ではこれを実現する方法を通して、あまり知られていないであろう UIKit の機能について紹介する。 UITextView の intrinsic content size Auto Layout において、UIView は自身が表示されるためにちょうどよいサイズを知っている。具体的には var intrinsicContentSize: CGSize である(Swift 3.0 では property で、Swift 2.3 まではメソッドである)。このサイズは他の NSLayoutConstraint と関連して、デフォルトではプライオリティ 75

    あなたの知らない UIKit の世界 — UITableView に UITextView を置きたい - cockscomblog?
  • Swift の Nil Coalescing Operator でコンパイルは遅くなるか - cockscomblog?

    趣味のウェブブラウジングをしていると、Swift の ?? (nil coalescing operator) がコンパイルを遅くするのではないか、といった話題*1を見かけました。この演算子は、左辺の Optional<Wrapped> 型の値が Optional.none である場合に右辺の値を返すというもので、直感的にはこれがコンパイル時間を悪化させるとは思えません。経験から言えば、このようなケースでは大抵やや複雑な型推論が発生しており、それがコンパイル時間に支配的な影響を与えています。そうであるなら、人間が少し工夫して型のコンテキストを与えてやることで、計算機はずっとよいパフォーマンスを発揮できるはずです。 ごく簡単な例で実験してみましょう。以下のコードは、let view: UIView? があるとき、座標系における view のX座標を得ようとするものです。ただし view が

    Swift の Nil Coalescing Operator でコンパイルは遅くなるか - cockscomblog?
    Watson
    Watson 2016/07/06
  • UIButtonの画像の位置を変えたい - cockscomblog?

    UIButton の画像の位置を、タイトルの左側じゃなく上側や右側にしたい。画像が左側じゃないボタンのモックを見たとき、どうやって実現するかいつも少し悩む。ということでいくつかのアプローチを検討したい。 drawRect(_:) など UIButton は var titleLabel: UILabel? { get } や var imageView: UIImageView? { get } といった view を内包していて、描画はそういった view の側で行われるので、drawRect(_:) などの描画関連のメソッドをオーバーライドするべきではない。 独自に UIImageView を足したり CALayer を足したりして、表示される画像を追加することはできる。 setBackgroundImage(_:forState:) 画像を背景にする。UIImage の resiza

    UIButtonの画像の位置を変えたい - cockscomblog?
  • Swift 2.2 - cockscomblog?

    寒さも和らぎ、日によっては春の訪れを感じさせる今日この頃、いかがお過ごしでしょうか。春といえば Swift です。Swift は春と秋に、まるで衣替えのように大きなリリースがあります。2016年の春と予告されていた Swift 2.2 は、おそらく来週には正式にリリースされるものと思われます3月22日にリリースされました。 Swift 2.2 は、バグの修正や警告や診断の改善、コンパイル時間や実行速度の向上が主目的であるとされ、それに加えて Swift 2.0 以来のちょっとした機能向上を図ってのリリースとなります。Swift2.2 は OSS となった Swift の初めてのバージョンアップでもあります。すなわちコミュニティからの直接的なフィードバックを経た、最初の Swift と言えるでしょう。そんな Swift 2.2 の変更から主だった(おもしろい)部分を紹介します。 春に備えて準

    Swift 2.2 - cockscomblog?
    Watson
    Watson 2016/03/15
  • Swiftを使って型付けされた画面遷移がしたい - cockscomblog?

    皆さん今朝はどんな夢をみましたか。今日は私の初夢を紹介します。 prepareForSegue iOSアプリを開発していて、特にStoryboardを利用して遷移を作るとき、往々にしてそのコードは不完全になる。 ViewControllerの遷移をするときには、次に表示されるViewControllerに必要な情報を受け渡して初期化しなければならない。Storyboardを使った遷移は、すでにインスタンス化されたViewControllerオブジェクトに対して行うことになる。このためViewControllerのイニシャライザを利用できない。従ってUIViewControllerのprepareForSegue(_:sender:)メソッドをオーバーライドして、UIStoryboardSegueオブジェクトのdestinationViewController: UIViewControll

    Swiftを使って型付けされた画面遷移がしたい - cockscomblog?
    Watson
    Watson 2016/01/02
  • Swiftにおけるclassとstructの使い分け - cockscomblog?

    新年あけましておめでとうございます。 class, struct Swiftにはclass (class)の他にstructure (struct)があり、どちらもよく似た機能を提供する。しかしそれぞれ参照型 (reference type)と値型 (value type)という違いがあり、このことはパラダイムの違いをもたらす。そこで多くのSwiftプログラマーは、classとstructのどちらを採用するべきか迷いがちである。記事ではこの問題について議論を深めたい。 structはカッコいい classについてはなじみ深いと思うので、structの特徴を整理する。はじめに述べたようにstructは値型である。値型であることがstructを大きく特徴付けている。 structはデフォルトで不変である。var, mutating, inoutのキーワードを用いることで、この不変であるという

    Swiftにおけるclassとstructの使い分け - cockscomblog?
    Watson
    Watson 2016/01/01
  • 結婚しました - cockscomblog?

    学生の頃から4年半付き合ってきた彼女と結婚しました。 区役所に婚姻届を提出し、両家の両親らをお招きして事会を催しました。 もう2年ほど同棲しておりましたので、これといって変わることもありませんが、よりいっそうがんばって参りたいと思います。 今後ともよろしくおねがいいたします。

    結婚しました - cockscomblog?
  • Swift 1.2 - cockscomblog?

    第61回 Cocoa勉強会関西で“Swift 1.2 The long-awaited language updates”と題して発表した、Swift 1.2の主だった(おもしろい)変更点の紹介です。 if let Swift 1.2で最も改善されたのはif文です。if letでOptionalをunwrapできる機能が大きく向上し、複数のOptionalを同時にunwrapできるほか、unwrapされた値について条件を加えることができるようになりました。 例えばcondition: Boolが真でふたつのOptional<Int>がnilではなく、大小関係にも条件がある、という条件を表してみます。 Swift 1.1 let condition = true let aNumber: Int? = 3 let anotherNumber: Int? = 7 if condition {

    Swift 1.2 - cockscomblog?
    Watson
    Watson 2015/04/30
  • iOS/OS X 用ライブラリ UTIKit を OSS でリリースしました - cockscomblog?

    UTI UTI とは Uniform Type Identifier のことで、iOS や OS X の世界で、ファイルなどの種類を表すために用いられる文字列です。 UTI の実例として、画像一般を表す public.image や、そのサブタイプで JPEG 画像を表す public.jpeg などがあります。iOS や OS X で利用されるほとんどのファイル形式には対応する UTI があり、例えば Keynote ファイルは com.apple.iwork.keynote.key などとなります。もちろんサードパーティも例外ではなく、Adobe Photoshop のファイルは com.adobe.photoshop-image となり、Microsoft Word の docx は org.openxmlformats.wordprocessingml.document です。 i

    iOS/OS X 用ライブラリ UTIKit を OSS でリリースしました - cockscomblog?
  • NSWindowのタイトルバーをカスタマイズする - cockscomblog?

    人類の多年の夢であったNSWindowのタイトルバーのカスタマイズであるが、YosemiteになってついにオフィシャルなAPIが実装された。 YosemiteではApple製のアプリケーションほとんどにおいてデザインが一新され、かつてOS Xを特徴付けていたツルッとしたテクスチャは取り払われた。そしてウインドウのタイトルバーまでもが変わった。 タイトルバー ウインドウのタイトルバーは、OS XにおいてGUIアプリケーションの要である。タイトルバー自体がウインドウを移動するためのノブであり、左にはウインドウを操作するための赤・黄・青のコントロールが、中央にはウインドウのタイトルが表示される。ときにはツールバーと見かけ上くっついたりするが、いずれにしてもウインドウの中心はタイトルバーである。 Safariのタイトルバーにはツールバーが表示されている そのタイトルバーをカスタマイズしたい、これは

    NSWindowのタイトルバーをカスタマイズする - cockscomblog?
  • Androidアプリ開発を始めるときに読む本 - cockscomblog?

    今年はついにAndroidアプリを作りました。Androidアプリを開発するに当たって、Java言語にもAndroidプラットフォームにも明るくなかったので、勉強しようとを読みました。いろいろ読みましたが、そのうち特によかったものを紹介します。 Java言語 Effective Java Javaをちゃんと書けるようにしようと思って読みました。JavaのSerializableやClonableの挙動について知識を得られたし、Javaの言語上の特性を意識した設計について一定の視座を得られたように思います。読まずにJavaを書けていたとは思えないので、大変有意義でした。『並行性』の章などはまた再読したいと思います。 EFFECTIVE JAVA 第2版 (The Java Series) 作者: Joshua Bloch,柴田芳樹出版社/メーカー: 丸善出版発売日: 2014/03/11メ

    Androidアプリ開発を始めるときに読む本 - cockscomblog?