はじめに CMSampleBuffer をResizeしてサイズを小さく(大きく)したいことがあると思います。試していませんが、途中で CIImage になっているので、回転、変形、加工などCIFilterで行う処理を適用できると思います。 環境 Xcode11.1 Swift 5.1 手順まとめ C…
コード override func processSampleBuffer(_ sampleBuffer: CMSampleBuffer, with sampleBufferType: RPSampleBufferType) { if let orientationAttachment = CMGetAttachment(sampleBuffer, key: RPVideoSampleOrientationKey as CFString, attachmentMode…
今年もiOSDC Japanの季節がやってきましたね!ありがたいことに30分トークが採択されたので、登壇します!去年は、こういったタイトルで発表しました。 fromatom.hatenablog.com 去年は再生側をやったので今年は配信側です。こいつ、いっつも「大変だったの…
Kujakuとは Closedなesaの記事URLをSlackに貼ったら展開してくれるやつです。詳しくはこちら inside.pixiv.blog 今回のアップデート 2つアップデートがあります。 コメントが展開できるようになりました 今まではコメントのリンクを貼り付けたとしても、コメ…
毎回忘れるのでブログに書く。配列の要素を取得するとき、 if 0 <= index && index < array.count { let item = array[index] } のようなコードを書くと思う。ちょっと頭いい感じだと if array.indices.contains(index) { let item = array[index] } とも書…
半年ぐらい前、弟が使わなくなったパソコンを譲り受ける為にレンタカーを走らせている時、こういった相談を受けた。 「自分なんかが回せる仕事なんだから、他の人でも簡単にできると思っていたのに上手くできないことが多い。その人が無能だとは思わないのだ…
Adminにしようとチェックマークを入れて、保存ボタンをクリックすると こんな感じで、 ご利用のアカウントには他のユーザを編集する権限がありません。詳細については、お客様のチームエージェントにお問い合わせください。 と出てきてAdminに変更できない。…
様子 こんな感じで、よくある「最終更新日からn日経ってます」という表示が出ます。便利。 なお、README更新されてないやんみたいな意図は全く無いのであしからず。 インストール こちらからどうぞ。 chrome.google.com 実装 github.com 簡単なコードですが…
やりたいこと UIScrollView, UITableView, UICollectionViewなどがスクロール中かどうか知りたい タップはしてないけどまだ慣性スクロールが続いてるとか 見た目上動いてないけどユーザーが指を置いていてスクロール状態だとか 解決コード こんな感じのコー…
結論まとめ MTG後に「あの場では言い出せなかったんですけど〜」と個別に相談やDMが飛んできたら良くないことなのでやめるように指導する 質問の仕方を工夫して、「さて、これを実行するにはどういう順序かな?」と考えてもらえるようにする 内容 MTGなど一…
株式会社はてなに入社しました 株式会社はてなに入社しました - hitode909の日記 ことしもこの季節かと思うと、1年が過ぎるのは早いなぁと感じます。
import Sora struct Test { init() { Sora.shared.audioEnabled = false } } と書くと使えるはずなんですが、Module 'Sora' has no member named 'shared' とエラーが出てしまいます。これを直すのは簡単で、 こういう感じにSimulatorではなくて こうする。…
与太話です。 数ヶ月前、マネジメントをしながらメイン機能の開発をしていたら完全にタスクがオーバーフローして大変なことになったんですよ。 その時に「両立が難しいのは分かったが、なぜ両立が難しいんだろうか。」をひたすら考えていたら思いついた「た…
環境 Swift: version 4.2.1 やりたいこと NSKeyedArchiver と NSKeyedUnarchiver を使って、UserDefaultsやKeyChainに色々入れたり出したりすることがあると思います。iOS 11まではこうやって書いていました。 // ArchiveしてUserDefaultにセット let rootOb…
背景 嫁の友人4人が泊りがけで我が家に遊びに来ることに。コミュ障な旦那は家から逃げ出すため、弟を召喚して温泉旅行を計画。せっかくだからと両親も誘って家族旅行にした。 takachi.hatenablog.jp この記事をよんで「山梨ええやん」となったので、 日帰り…
年末ですね。 BOSE QuietComfort 35 wireless headphones Ⅱ Bose QuietComfort 35 wireless headphones II ワイヤレスノイズキャンセリングヘッドホン Amazon Alexa搭載 快適な装着感 20時間連続再生 通話マイク搭載 ブラック出版社/メーカー: BOSE発売日: 2…
背景 1つのStoryboardに1つのViewControllerという運用をしていると、ViewControllerのインスタンス生成するコードを書くことが多くなると思います。雑に書くと、 let storyboard = UIStoryboard(name: "SomeViewController", bundle: .main) let vc = story…
六曜とは 六曜(ろくよう、りくよう)は、暦注の一つで、先勝(せんしょう)・友引(ともびき)・先負(せんぷ/せんぶ)・仏滅(ぶつめつ)・大安(たいあん)・赤口(しゃっこう)の6種の曜がある。 日本では、暦の中でも有名な暦注の一つで、一般のカレン…
開発環境 Swift 4.2 Xcode 10 手順 $ mkdir SwiftCommandSample $ cd !$ $ swift package init --type executable 中身はこうなっている。 . ├── Package.swift ├── README.md ├── Sources │ └── SwiftCommandSample │ └── main.swift └── Tests ├── LinuxMa…
新しいMacをセットアップする度に、方法を忘れるので書いておく。 $ defaults write -g ApplePressAndHoldEnabled -bool false を terminal.app とかで入力してから、再起動すると消える。
iOSとその周辺技術に関するエンジニアのためのカンファレンスである、iOSDC Japan 2018(iOS Developers Conference Japan 2018)に参加・発表してきました。 iosdc.jp 参加者として 去年初めて参加してとても楽しかったので、今年も参加しました!もちろん…
今年もiOSDC Japanの季節がやってきましたね!ありがたいことに15分トークが採択されたので、登壇します! プロポーザルには、 ライブ配信サービスが流行っている中、WWDC2017で EXT-X-PROGRAM-DATE-TIME タグのサポートが発表されました。これにより、複数…
環境 Swift version 4.1.2 Xcode 9.4.1 背景 ※この記事は Sequence.flatMap を使って多重配列をFlattenしていた人向けの記事です。 Swift4.1になってから Sequence.flatMap がDeprecatedになり、かわりに map と compactMap を使うようになりました。これら…
ErgoDox EZ買ってウキウキしてたんですよ。 ergodox-ez.com でも完全に馴染めずに埃をかぶり、前から使っていたHHKB Pro2を使い続けることになりました。馴染めなかった理由としては、 そんなに手がでかくないから完全に死ぬキーが生まれる 仕事で使いたいの…
はじめに ジョークです 文脈 クソコードであることを認める構文ほしいkuso { // すみません}みたいなのでいいです— ぶんちょう (@yutopp) 2018年7月4日 これのF#実装が出てきた クソコードであることを認める構文をF#で実装してみたほんとにクソコードである…
困りポイント CocoaPodsを利用してライブラリの管理をしている人は多いと思いますが、ビルド時にLibraryのWarningも大量にでて困ることがあると思います。こんな感じで これでは、自分の開発しているアプリのWarningが埋もれてしまいますね。 解決方法 inhib…
結論 iOS 11以降のサポートにすればよい iPhone 5, iPhone 5c, iPad(4th) がMetal非対応だがiOS 10がインストール可能になっている Apple公式的には最新2つのメジャーバージョンのサポートを推奨している iOS 12が落ち着いたらiOS 10のサポート終了を準備し…
Comparable#clamp という便利メソッドを知った。 blog.bigbinary.com いままではこう書いていた let number = 100 let lowerLimit = 0 let upperLimit = 20 min(max(lowerLimit, number), upperLimit) // => 20 Swiftにもほしいと思って調べたけど、Rangeの …
気がする。 子供のしつけで「ズルいわけじゃないんだよ」って教えるってのよく話題になる気がする。そもそも「ずるい」って 《形》人をだしぬいて自分が得をするような、正しくないやりかただ。わるがしこい。こすい。 という意味なので、ネガティブなんです…
株式会社はてなに入社しました 今年もよろしくお願いします。 株式会社はてなに入社しました - hitode909の日記