タグ

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

  • 3DプリンタでMagSafe充電器スタンドをつくる - cockscomblog?

    この秋にリリースされるiOS 17では、充電中のiPhoneに情報を一目でわかるように表示する「スタンバイ」機能が搭載されるそうだ。iPhone 14 Proの常時表示ディスプレイと組み合わせると便利そうだ。 これを活用するには充電中のiPhoneを一定の角度に保つ充電スタンドが必要になる。MagSafe充電器 ワイヤレスなら、充電器ごとに設定を記憶してくれるようだから、MagSafe充電器タイプが望ましい。市場には、MagSafe充電器が一体になったスタンドや、単体のMagSafe充電器と組み合わせて使う製品がある。今回は3Dプリンタを買ったことだから、メイカー精神を発揮してみる。 試作1号 MagSafe充電器の大きさをノギスで測ると、直径は55.9 mm、厚みは5.5 mmある。そこから例によって、Fusion 360でモデリングする。MagSafe充電器が少し高い位置に一定の角度で

    3DプリンタでMagSafe充電器スタンドをつくる - cockscomblog?
    cockscomb
    cockscomb 2023/08/23
    3Dプリンタおもしろい、という話です
  • WWDC23与太話 - cockscomblog?

    WWDC23で発表されそうなことを考える遊びを行う。 Swift 5.9 Swift 5.9は大規模なアップデートになる。特にMacroとVariadic Genericsは、ライブラリの提供するAPIに影響しそうだ。 Macro Macroは今後のSwiftプログラミング体験を大きく変えていく。自分でMacroを定義することもあるかもしれないが、SwiftSyntaxを駆使するMacroは単純なSwiftコードを書くより難解で、再利用性が高くない場面では正当化しにくい。裏を返せば、Macroが役立つ場面は、多くの人の課題を解決する場面ということだ。 便利なMacroを提供するライブラリは増えるだろうし、それはAppleのライブラリも例外ではない。例えばFoundationフレームワークに(Optional Unwrapなしに)文字列からURLを構築するMacroが(要するに疑いようなく便

    WWDC23与太話 - cockscomblog?
    cockscomb
    cockscomb 2023/06/05
    緊張してきた!
  • macOSのメモからMarkdownを作るショートカット - cockscomblog?

    macOS Montereyから、「メモ」アプリに「クイックメモ」という機能がついた。 インターネットブラウジングをしていて気になったことを書きつけていくのにちょうどよさそうなので、使ってみることにする。ある事柄に関連するリンクをひとつのメモに連ねていって、ちょっとテキストで補足を書いておく。 これをブログで手軽に共有できたら、なおいい。Markdown形式に変換したい。 メモの文を取得する メモの内容を取得するには、Apple Script的なやつを使う。ここではJXA (JavaScript for Automation)というので、JavaScriptっぽく書く。選択中のノートの文を得るには、次のようにする。 const app = Application("Notes"); console.log(app.selection()[0].body()); これでノート文がHTM

    macOSのメモからMarkdownを作るショートカット - cockscomblog?
    cockscomb
    cockscomb 2021/11/01
    macOS Montereyで「メモ」アプリのメモをMarkdownとして出力するライフハックです
  • 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?
    cockscomb
    cockscomb 2021/10/18
    よろしくおねがいします
  • Swift ConcurrencyのwithTaskCancellationHandlerとSendable - cockscomblog?

    Swift 5.5がリリースされた。おめでとうございます。 Swift 5.5の目玉はもちろんSwift Concurrencyだ。言語機能として並行処理がサポートされた。async/awaitの構文だけでなく、Structured Concurrencyとしての整理や、actorの導入など、野心的な取り組みと言える。 Swift Concurrency Swift Concurrencyに直接関係するSwift Evolutionの提案はこれだけある。 SE-0296 Async/await SE-0297 Concurrency Interoperability with Objective-C SE-0298 Async/Await: Sequences SE-0300 Continuations for interfacing async tasks with synchronou

    Swift ConcurrencyのwithTaskCancellationHandlerとSendable - cockscomblog?
    cockscomb
    cockscomb 2021/09/27
    Swift Concurrencyについて誰かと会話したい
  • ちょっとスクリプトを書くくらいの気持ちで作るSwiftUIアプリ - cockscomblog?

    12年前くらいからiOS向けのアプリを作ってきた。最初は学生の個人開発、途中から仕事、そして最近は(仕事ではあまりやらなくなったので)趣味的にやっている。UIKitで、はじめの頃はUITableViewが難関だった。毎年のアップデートUIKitはどんどん拡充されて、Objective-CはMRCからARCへ、そしてSwiftも出た。 毎年の変化を差分で学んできて、振り返ってみると、当初のそれからは大きく変わっていて、便利なんだけど、とにかく膨大だ。 SwiftUIの登場 というところで、2019年にSwiftUIが出た。SwiftUIを使うと、宣言的にユーザーインターフェースを構築できる。UIKitでできること全てをSwiftUIで実現できるわけではないが、それでも2020年のアップデートでかなりカバー範囲が拡がった。 それで、SwiftUIでちょっと何か作ったりしている。例えばメニュー

    ちょっとスクリプトを書くくらいの気持ちで作るSwiftUIアプリ - cockscomblog?
    cockscomb
    cockscomb 2021/02/19
  • 子供にアプリを作る - 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?
    cockscomb
    cockscomb 2020/12/16
    子供にiPadを与えてさらにアプリまで作って文字を覚えさせようとする話です
  • AWS CDK は React - cockscomblog?

    AWS Cloud Development Kit(以下、CDK)というものがあるが、これの提供する抽象化について考えを巡らしていたところ、唐突にこれは React だと気付いた。 CDK と React の類似性 CDK の CloudFormation Resource は、React の DOM Element に対応する。 CDK の Construct は、React の Component に対応する。 CDK でデプロイするという行為は、React における reconciliation に対応する。すなわち、CDK が内部で CloudFormation を利用して差分をとって AWS サービス変更を適用するということは、React が仮想 DOM を利用して差分をとって実際の DOM を変更することに対応している。 このような React との近似性から、CDK の提供す

    AWS CDK は React - cockscomblog?
  • Flutterを試した - cockscomblog?

    flutter.io 先日なんとなく物見遊山的にFlutterを試してみた。特に事前の知識もなく数時間で試した程度で、全体に不案内ではあるから、それなりの感想であることを先に断っておく。 (当方はiOS/Androidのネイティブアプリの開発や、Reactを使ったWebフロントエンド開発の多少の経験を有しています) 開発環境 IntelliJ IDEAのFlutter開発環境 セットアップ Get Started: Installにしたがって環境を構築した。Homebrewなどでインストールできるようにしようという動きもあるが、現時点では手でSDKを配置する必要があるなど、少し手間がかかる。経験がないと少し難しいかもしれないが、時間が解決するだろう。 エディタ IDEとしてIntelliJ IDEAにDartプラグインとFlutterプラグインをインストールした。プラグインのできがよく、筆

    Flutterを試した - cockscomblog?
  • Marzipanを予想する - cockscomblog?

    予想というか、根拠のない与太話です。 Marzipanと呼ばれるAppleプロジェクトは、どのようなものになるのだろう。噂では、iOSとmacOSのアプリが一度に作れるようになるらしい。このふたつのOSのアプリを開発する上での主要な差異は、iOSのUIKitmacOSのAppKitの、UIフレームワークである。その他のフレームワークのほとんどはすでに共通している。この状況を踏まえれば、MarzipanはUIフレームワークであると考えられる。 そのMarzipanがどのようなUIフレームワークになるのか、グラデーションをつけて考えてみる。 UIKitの移植 もっとも単純なのは、UIKitmacOSへ移植してしまうパターンである。macOSのAppKitは古びてきているから、より近代的なUIKitを持ってきてしまう発想である。 もちろんtvOSのUIKitのように、同じUIKitでも異な

    Marzipanを予想する - cockscomblog?
    cockscomb
    cockscomb 2018/04/15
  • 「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?
  • 技術書クラウドファンディングプロジェクト「iOS 11 Programming」 - cockscomblog?

    iOS 11 Programming 著者:堤 修一,吉田 悠一,池田 翔,坂田 晃一,加藤 尋樹,川邉 雄介,岸川克己,所 友太,永野 哲久,加藤 寛人,発行日:2017年11月16日対応フォーマット:製版,PDFPEAKSで購入する 以前にのいとこに会ったとき、当時大学生だったそのいとこは、大学のレポートをスマートフォンで書いている、と教えてくれた。現代ではそういうものだという話は聞いたことがあったが、実際の事例であることがそのときわかった。ふつうはパソコンを使うでしょう、と考える人もいるかもしれないが、大学生がパソコンを使えるようになったのだって、ほんの最近のことなのかもしれない。 先日iOS 11が発表された。iPadでドラッグ&ドロップができたりするらしい。どれどれと思って、いろいろと新しいAPIを見てみると、これは確かによくできている。iPadは新しいiOS 11で、「パー

    技術書クラウドファンディングプロジェクト「iOS 11 Programming」 - cockscomblog?
  • 子供が生まれました - cockscomblog?

    日午前11時に、僕との子供が生まれました。予定日を10日ほど過ぎた、3,700グラムの男の子です。日付が変わった頃から陣痛がきて、それからあれよあれよという間に産まれていました。今はただと息子の無事をありがたく思います。 結婚してからおよそ1年半になりますが、新しい家族の存在は新鮮で、とても嬉しく、そして自分に息子がいるという事実がまだ不思議です。自覚に欠けているようにも感じますが、子供が僕とを少しずつ親にしてくれるのだろうと思っています。 家事にも育児にも仕事にも、ますますがんばって参りたいと思います。 今後ともよろしくおねがいいたします。

    子供が生まれました - cockscomblog?
  • 年末年始に飲み過ぎないために - cockscomblog?

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

    年末年始に飲み過ぎないために - cockscomblog?
    cockscomb
    cockscomb 2016/12/27
  • Swift 3 の private と fileprivate - cockscomblog?

    おはようございます。バットマンです。PlayStation VR でバットマン:アーカム VRを遊んだところ、現実とゲームの区別がつかなくなりました。ヘッドセットを外した後も、手がオブジェクトにめり込むんじゃないかと錯覚するようになった。 ところで Swift ピープルの皆さんも、最近はプロジェクトSwift 3 にマイグレーションしたりして暮らしていらっしゃることかと思います。御多分に洩れず、僕もマイグレーションして暮らしています。いろいろコツも掴めてきたところではありますが、それはともかく、private と fileprivate について割り切れないものを感じている昨今です。 private と fileprivate SE-0025 Scoped Access Level で Swift 3 に導入された private と fileprivate は、Swift 2 までの

    Swift 3 の private と fileprivate - cockscomblog?
  • あなたの知らない 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?
    cockscomb
    cockscomb 2016/07/06
    Swift の `??` 演算子がコンパイルを遅くするのか実験しました #はてなブログ Swift の Nil Coalescing Operator でコンパイルは遅くなるか - cockscomblog?
  • UIButtonの画像の位置を変えたい - cockscomblog?

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

    UIButtonの画像の位置を変えたい - cockscomblog?
    cockscomb
    cockscomb 2016/04/22
    はてなブログに投稿しました #はてなブログ UIButtonの画像の位置を変えたい - cockscomblog?
  • マツコの知らない State Restoration の世界 - cockscomblog?

    慣れない街へ出かけるとき、電車の中で目的地までの道のりを「地図アプリ」で検索しておいて、駅を出てから地図を見て移動したことはありますか。あるいは「ネットショッピングアプリ」で欲しいものが見つかって、衝動買いするにはちょっと高価だったときに、レビューを読んだりネット上での評判を確かめたりしたことはありませんか。もしそんなとき、地図アプリやネットショッピングアプリを離れて他のことをして、また戻ってきたときに、そのアプリは元の画面のままですか。それともアプリの最初の画面に戻ってしまっていますか。 iOS の State Restoration という機能は、アプリを元の状態に復元するための仕組みを提供します。メモリが不足してバックグラウンドのアプリが終了した後、次に起動したときに、アプリを元の状態に戻すことができます。地図で見つけた道順や、検討中の商品、または入力中のメッセージや、さっき見ていた

    マツコの知らない State Restoration の世界 - cockscomblog?
    cockscomb
    cockscomb 2016/03/30
    iOSで画面を復元する方法を説明しています #関モバ マツコの知らない State Restoration の世界 - 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?
    cockscomb
    cockscomb 2016/03/15
    そろそろSwift 2.2について予習したいみなさん必読です Swift 2.2 - cockscomblog?