2021年9月14日に正式リリースしたKARTE Blocksの裏側を紹介する連載の第一弾です。 KARTE Blocksを支える技術とその技術を選んだ理由について紹介します。
![KARTE Blocksを支える技術](https://cdn-ak-scissors.b.st-hatena.com/image/square/8cf1e4298e5c828c956f3bd90785a401d854e143/height=288;version=1;width=512/https%3A%2F%2Fik.imagekit.io%2Fnewt%2F61b151f921640c0018173598%2F12bd1810-a9e0-4582-ba88-fccbf9ca14f9%2Fkarteblocks_ogp_01-3.png%3Ftr%3Dw-1000%2Ch-1000%2Cc-at_max)
◆ Chrome Extension CLI https://github.com/dutiyesh/chrome-extension-cli 紹介 「Chrome Extension CLI」は、npmを使って簡単にChrome拡張機能の初期セットアップができるオープンソースのテンプレートです。 $ npm install -g chrome-extension-cli /usr/local/bin/chrome-extension-cli -> /usr/local/lib/node_modules/chrome-extension-cli/index.js + chrome-extension-cli@0.2.0 added 21 packages from 11 contributors in 2.879s まずは、Chrome Extension CLIをインストールします。 $
オンラインブックマーク(Google Bookmarks, Pinboard, はてなブックマーク)をインクリメンタルサーチする拡張機能を公開しました。WebExtensionsに対応したものとなり、Firefox57以降でも使えます。 Online Bookmark Incremental Search for Firefox – Firefox 向けアドオン ブックマークをローカルに保存しておいて利用するので、いつでも素早く検索できます。また、ショートカットキーで行やページを移動して、選択行のブックマークを開くことができます。 対応しているサービスは下記の通りです。 Google Bookmarks Pinboard はてなブックマーク 旧拡張機能との違い この拡張機能は、下記のレガシーな拡張(Firefox57以降使えなくなったもの)を置き換えるものになります。 Google Boo
Chrome拡張を長年造ってきたなかで 手法や自作ライブラリが充実してきたのでこの辺で公開します。 Chrome拡張は本当に効果的に改善できて、すばらしい仕組みです。 これで皆さんが簡単に現場改善が進んだら嬉しい限りです。 (なお、これは 2017-08-05 Builderscon Tokyo 2017 でのトーク用に作成した資料です) わりと ウケた 改善 どんなことができるのか、ざっと見てみましょう。 サンプルページ ※各項目ごと、「拡張を有効化」をクリックすることで拡張が入った状態を見ることができます。 Chrome拡張を作るのに必要な 環境 必要な環境はシンプルです。 Google Chrome Text Editor or IDE(UTF-8 が扱えるなら何でもいい) (公開するなら)Zip 圧縮ができるソフトウェア (公開するなら)クレジットカード これだけ。 あとは、ソース
All slide content and descriptions are owned by their creators.
2016/8/15更新 汎用性高めのExtension集です。後半にライブラリもまとめました。 Swift2.2で確認済みです。 紹介している全てのextensionを導入したリポジトリを公開しています(紹介していないものも含みます)。 詳しくは下記をご覧ください。 iOSアプリをハッカソンで作るときに便利な初期プロジェクトを作ってみた Swift3版はこちらです。 クラス名の取得 extension NSObject { class var className: String { return String(self) } var className: String { return self.dynamicType.className } }
Jul 29, 2015 Swift 2の利点を最大限に活かすため、APIKitのデザインは大幅に刷新されました。型制約つきprotocol extensionsとHimotokiと組み合わせるとresponseFromObject(_:URLResponse:)にデフォルト実装を与えられるので、個々のリクエストの定義を楽にできます。以下はその例です。 // https://developer.github.com/v3/search/#search-repositories struct SearchRepositoriesRequest: GitHubRequestType { enum Sort: String { case Stars = "stars" case Forks = "forks" case Updated = "updated" } let query: Strin
masterが進んだ時に意味不明なのでGitHub上のソースコードへのリンク書くときは masterではなくコミットを明示的に指定するようにしているけれどこれがけっこう面倒 該当のファイル > history > 最新のコミットクリック > view でようやく辿り着く。もっと楽できないかな と呟いていて、確かに!と思ったので、試しにChrome拡張を作ってみました。 ttskch/github-file-permalink 久しぶりすぎて作り方をほぼ忘れてたんですが、yeoman/generator-chrome-extensionを使ったらめっちゃ簡単に作れたので、せっかくなので記事に残しておきます。 なお、今回はcontent scripts形式の拡張を作る前提でお話しします。 免責 本当に難しいことを考えずにささっと作るための手順だけを解説している記事なので、その点ご了承ください
今日はここでChrome extensionを開発するためのいくつかのポイントを書きたいと思います。 ポップアップウィンドウのリロード Browser actionを登録すると、extensionはポップアップバルーンを開くためのボタンが表示されます。開発者は、manifest.jsonファイルの中で、ポップアップバルーンの中に描画されるHTMLファイルの名前を指定することができます。 一般的に、いくつかのJavaScriptファイルがポップアップバルーン内で使われるでしょう。HTMLファイルやいくつかのJavaScriptはいつロードされるでしょうか?はい、ポップアップバルーンを開く度です。もちろん、JavaScriptオブジェクトは、それが閉じられるときに破棄されるでしょう。 それ故に、ポップアップバルーンコンテキスト内のいかなる情報は、そのバルーンのライフサイクルを超えて保持されませ
Netflixの英語字幕に日本語訳をつけるChrome拡張「Netflix Subtitles Extender for Japanese」をリリースしました アメリカはサンフランシスコに1年半ほど住んでおりますが、基本引きこもりです。ブルーボトルコーヒーとか行ったことないし。なので英語が全く上達しません。ヤバいです。 Netflixというサービスで映画でも見まくって英語でも学習すっか、と思って映画を見ていたのですが、英語字幕に分からない単語が出てくる。いちいち停止して、辞典を引けばよいのですが、それも面倒です。 というわけで、Netflixの英語字幕に以下のような加工を加えるChrome拡張、Netflix Subtitles Extender for Japaneseをリリースしました。 単語ごとに日本語訳のルビをつける 単語をクリックするとWeb辞書で単語の意味を調べられる これで映
全く同じメソッドが、複数のプロトコルから既定の実装として与えられている、要は「曖昧な実装になっている」ため、どれを呼び出したら良いのかがわからないということを主張しているのでしょう。 そしてこのとき面白いのが、構造体 Picture を両方のプロトコルに準拠させようとしているところで、不可思議な次のビルドエラーが発生します。 既定の実装だけしかないのに、なぜ両方から「準拠できていない」と指摘されているのか。 これを見させてもらった最初は「Protocol Extension ってまだまだ甘い実装なのかな」と思ってみたりもしたんですけど、それからゆっくり考えていたら、なんとなく Swift の気持ちが分かってきました。 エラーの理由は曖昧性 まず、そもそもの大事なポイントなのですが、既定の実装を extension で添えるに当たって、その機能のシグネチャを protocol に宣言しておく
iOS8でエクステンションの機能が追加されて何か作ってみたかったのと、iPhone 6 Plusの大きさによる不便さを解決したいという理由で、片手親指キーボードをつくってみました。 片手UIについて 片方に寄せるキーボードは他にも幾つかあるのですが、実際に片手で使おうとすると、縦横のキーボードの一部を親指でクリックするのは難しいので、親指の回転に合わせて扇型にキーを配置しました。 左右にキーを動かせるようになっているので、右手左手両方使うことできたり、キーボード閉じるボタンを常に表示していたり、横向きにすると右手左手両方に扇型のキーボードが出てきたりという感じの面白い動きになっています。また、キーボードエクステンション内で全ての動作を終わらせていて、親アプリとのデータの交換もしていないため、フルアクセスを必要としていません。 実際にタイプしている様子はこちら。ビデオ撮りながら打っているので
この記事はSwift Advent Calendar 17日目の記事です。 Swiftを始めて、最近では仕事でもいくつか徐々にSwiftに移行し始めています。その中で、時折ObjCを使った黒魔術に出会うことがあります。これらは、ObjCの文化であり、Swiftでもきのこって行けるのだろうかと思いましたので、今回試してみました。 諸説ありますが、自分の中ではObjecitive-Cの黒魔術といえば、つまりObjective-Cのランタイム関数です。 SwiftでもObjective-Cのランタイム関数は利用可能です。ランタイム関数はC言語の関数ですが、Swift自体はC言語との互換があるので使えるんですね。 ランタイム関数を利用するにはObjectiveCという名前のモジュールをインポートします。 ランタイム関数には色々な関数が用意されています。 今回はそのうち最もよく使われているであろう(
こんにちは。ヤフーで新規アプリ開発をしています田邉裕貴です。 この記事では、iOS 8 から導入された Today ウィジェットの開発の仕方についてご紹介します。 具体的な内容は以下のとおりで、iOS 8/Swift 勉強会で発表させていただいた「iOS 8 Widget ~ 導入から Tips まで」に添って説明します。スライドだけでは伝わらない部分を補完できればと思っています。 Today ウィジェットとは Hello world ウィジェットの作り方 詰まりどころと Tips 集 Today ウィジェットとは まずは簡単に Today ウィジェットの説明をします。 Today ウィジェットとは、iOS 8 から新たに通知センターに追加された Today タブ内のコンテンツです。 Today という名前の通りリアルタイム性の高いコンテンツが並びます。 Apple のプリインストールされ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く