mpiyokのブックマーク (505)

  • 10 年間 1 人で 1 つの iOS アプリを保守してきた話 | DevelopersIO

    はじめに 10 年前の今日、2012/02/03 に Just Quick Search という iOS アプリをリリースした。 個人で開発を行い、100% すべての要素を自分で考え作り上げてきた。 今日はこのアプリに関する 10 年間の思い出と技術的な部分についてをアツく語りたいと思う。 アプリ紹介 Just Quick Search は検索補助アプリである。 このアプリを使うと普段 iPhone で行っている 検索 というアクションをほんの少しだけ 速く 実行できるようになる。 以下がキーワード iphone を検索している時の挙動だ。 ip と入力したところで候補に出てきた iphone をタップし、キーボード右下の search をタップすると Safari が立ち上がり Google での検索結果が表示されるというものである。 メインの機能はこれだけだ。 一見ただ検索をしているだ

    10 年間 1 人で 1 つの iOS アプリを保守してきた話 | DevelopersIO
    mpiyok
    mpiyok 2022/02/04
  • ボードゲームのデジタル化の工夫 - 「レッツプレイ!オインクゲームズ」のUI|オインクゲームズ

    2021年12月16日、オインクゲームズの人気小箱ボードゲームを Nintendo Switch で遊べる「レッツプレイ!オインクゲームズ」がリリースされました。 ボードゲームのデジタル化は、数々のデジタルゲームを手掛けてきたオインクゲームズのデジタル部にとっても初めての挑戦で、試行錯誤の連続でした。元々のボードゲームをよく知ってるだけに、対面でプレイした時の楽しさ・盛り上がりが再現できるか、不安がありました。しかし、チーム内で何度もテストを重ね、UI や演出を工夫していった結果、間違いなく対面でのプレイに匹敵する作品が完成しました。 XD 上で色々と考えながら UI を作っても、実際に組み込んで動かしてみると、全然意図通りに機能しなかったり、分かりにくかったりすることがたくさんありました。ここでは、UI デザイン・演出担当が、どのような問題を感じ、どのように解決していったかを、初期に開発

    ボードゲームのデジタル化の工夫 - 「レッツプレイ!オインクゲームズ」のUI|オインクゲームズ
    mpiyok
    mpiyok 2021/12/18
  • Github Actions チートシート

    概要 何度も調べて何度もテストしたりしたので、多用するものをまとめていきたい。 項目 push時に実行 // feature/aaaで動く。 feature/aaa/bbbでは動かない on: push: branches: - feature/* // feature/aaa, feature/aaa/bbbで動く on: push: branches: - feature/** // なにかしらのtagがpushされたときに実行、branchのpushは無視 on: push: tags: [ '**' ] branches-ignore: [ '**' ] // 指定したpathの変更だけでは実行しない on: push: branches: - main paths-ignore: - '*.md' - 'docs/**' on: workflow_dispatch: inputs

    Github Actions チートシート
    mpiyok
    mpiyok 2021/11/14
  • 全員がOAuth 2.0を理解しているチームの作り方 #devio2021 | DevelopersIO

    DevelopersIO 2021 Decadeで「全員がOAuth 2.0を理解しているチームの作り方」というテーマで話させていただきました。 DevelopersIO 2021 Decade で「全員がOAuth 2.0を理解しているチームの作り方」というテーマで話させていただきました。 スライド 話した内容 なぜ人類は OAuth 2.0 に入門し続けるのか なぜ OAuth 2.0 をチームに根付かせたいのか 開発フローとしてコードレビューがある 仕様がわからないと、レビューができない コードと仕様のすり合わせのために仕様が分かる必要がある OAuth 2.0 はまあまあややこしい OAuth 2.0 では登場人物が4人いて、それぞれがいろんなやりとりをします。 それぞれのやりとりにパラメーターがあるので、誰が誰にどういう値をどうして送る、みたいなところまで考えるとまあまあやや

    全員がOAuth 2.0を理解しているチームの作り方 #devio2021 | DevelopersIO
    mpiyok
    mpiyok 2021/10/08
  • 新築戸建て設計時のネットワーク設備について - ひよこブログ

    はじめに 2020年7月に契約し、夢のマイホームの設計が始まりました。 筆者は子供の頃から自宅サーバーが大好きでしたが、自宅内のネットワーク配線がとても見栄えが悪く強い不満を抱いておりました。当時、1階に光回線を引き込んだため、2階の自室まで有線ネットワークを敷設するために、階段や壁にLANケーブルを這わせたりと、とても大変だった記憶があります。 今回、マイホームを建てる機会に恵まれたため、子供の頃から抱いていた住宅ネットワーク設備の不満を解消した、自分にとって理想のお家を建てました。 同じ悩みを持つ人に参考になると良いなと思い、備忘録として記録したいと思います。 筆者は素人のため嘘を書いてある可能性もあります。あらかじめご了承ください。 新築住宅 ネットワーク構築に向けた要件 ざっくりですが、設計前に下記のような要件を整理しました。 住宅設備として導入する部材は市販品を採用すること 各フ

    新築戸建て設計時のネットワーク設備について - ひよこブログ
    mpiyok
    mpiyok 2021/09/10
  • 「子ども、どうしよう」夫婦ともに感染 東京 40代女性 | NHKニュース

    「熱が40度もあり意識がもうろうとする中で、預け先を自力で探すのは、無理でした」 話を聞かせてくれたのは、都内に住む40代の女性です。 夫婦ともに新型コロナウイルスに感染。5歳の子どもだけが陰性でした。 せめてわが子だけは感染から守りたい。でも、どこに預けられるのかー。 追い詰められた母親の証言です。 夫が感染… 家庭内で対策とるも 私も発熱 女性は、夫と5歳の子どもの3人家族。 ことし7月、夫が発熱し、検査で陽性と判明しました。 毎日仕事に出かけてはいましたが、感染の経路は思い当たらなかったといいます。 夫は自宅療養することになり、女性は家庭内感染をい止めなくてはと、思いつく限りの対策をとりながら看病にあたりました。 女性 「同じタオルは使わずに、ペーパータオルと夫専用のごみ箱を用意し、はみがき粉の共用も避けました。夫の部屋には入らないようにして、事や飲みものはトレイに乗せて部屋の入

    「子ども、どうしよう」夫婦ともに感染 東京 40代女性 | NHKニュース
    mpiyok
    mpiyok 2021/09/10
  • 日本語フォントがGoogle Fontsに大量追加!すべてのフォントが商用利用も無料のフリーフォントです

    フリーフォントが大好物な人に朗報です! 🎉 先週、Google Fontsに日フォントが追加されたので、紹介します。これでさらに、たくさんの日フォントGoogle Fontsで使用できます。 新しく追加された日語のGoogle Fonts 他にもたくさんある日語のGoogle Fonts Google FontsのライセンスはほとんどがSIL Open Font Licenseで、商用プロジェクトでも無料で利用できます。他に採用されているライセンスはAPACHE LICENSE, VERSION 2.0です。 フリーフォントが大好物な人には、下記もお勧めです! 2021年用、日語のフリーフォント523種類のまとめ -商用サイトだけでなく紙や同人誌などの利用も明記 新しく追加された日語のGoogle Fonts まずは、先週Google Fontsに新しく追加された日

    日本語フォントがGoogle Fontsに大量追加!すべてのフォントが商用利用も無料のフリーフォントです
    mpiyok
    mpiyok 2021/08/31
  • 東京都内 親子3人全員が感染し自宅療養中 40代母親が死亡 | NHKニュース

    東京都内で自宅療養中の人が急増する中、都は、17日、新型コロナウイルスに感染した親子3人全員が自宅で療養し、このうち40代の母親が死亡したことを明らかにしました。 これについて小池知事は「家庭内感染が多い中、急激に軽症から悪化する例がある」と述べ、酸素ステーションなど速やかに体制の整備を進める考えを示しました。 都は、17日、新型コロナウイルスに感染した40代の女性が死亡したことを明らかにしました。 女性の夫と子どもも感染し、家族3人全員が自宅で療養していたということです。 第5波で都が把握した、自宅療養中に死亡した人は7人になりました。 これについて小池知事は記者団に対して「亡くなった女性のご冥福をお祈りする。今、家庭内感染が多いという状況にあって、コロナは急激に悪化する例がある」と述べました。 そのうえで「酸素ステーションを3か所、まずは準備をして、そういったおそれのある人が入院するま

    東京都内 親子3人全員が感染し自宅療養中 40代母親が死亡 | NHKニュース
    mpiyok
    mpiyok 2021/08/19
  • ワンボタンゲームをたくさん作ったので、その作り方をおさらいしたい - ABAの日誌

    English version: How to realize various actions in a one-button game はじめに 自作ゲームライブラリcrisp-game-libを使ったミニゲームを最近たくさん作っているが、特に多く作っているのがワンボタンゲームだ。ここで言うワンボタンゲームは、レバーによる移動の他のボタンが1つ、といったものではなくて、純粋に1つのボタンしか操作に使わないゲームを指す。 ワンボタンゲームの利点は、操作が分かりやすく、タッチデバイスでも操作しやすい点にある。とにかく何かボタンを押せばそれがプレイヤーが取れる動作の全てであり、操作説明がほぼ不要である。またタッチデバイスでも画面中のどこかをタップあるいはホールドすれば操作ができるので、バーチャルパッドでよく起こる、ボタンを押した感触が無いので操作がしづらいという問題が発生しない。 欠点は、当然

    ワンボタンゲームをたくさん作ったので、その作り方をおさらいしたい - ABAの日誌
    mpiyok
    mpiyok 2021/08/09
  • iOS とAndroid の違い クロスプラットフォームのアプリデザインで特に気をつけるべき点|marin

    私が一番最初にAndroid アプリをデザインしたのが2016年の初夏頃で、その頃はまだiOS・Android とデザインが違うのが主流でしたが、2021年現在のアプリはiOS もAndroid もプラットフォームごとの細かな違いはあれどほぼ同じデザインが主流となっています。 これは2016年の10月にAndroid APIがBottomNavigationView に対応してからじわじわ浸透していった変化だと考えているのですが、その辺の歴史の話は省略します。プラットフォームは違えどスマートフォンアプリである以上デザインは同じ方が楽なので、共通化されていったのは自然な流れだと思います。実際両者が全然違うUI・デザインだと大変ですしね……。 とはいえ、プラットフォームが違うので全て同じというわけにもいきません。iOS にはHuman Interface Guidelines、Android

    iOS とAndroid の違い クロスプラットフォームのアプリデザインで特に気をつけるべき点|marin
    mpiyok
    mpiyok 2021/07/26
  • オンラインの会議で参加者の発言を活発にするgoogleフォーム活用法|柴田史郎

    柴田(@4bata)です。1年以上試行錯誤して「これがひとつの答えだ!」というのが見えました。プレゼンやワークショップでも使えますし、普通の会議でも使えます。 いいまとめのツイートがあったので最初に引用 目から鱗な実践のコツ! ・オンライン会議はビデオオフ&ミュートで良い ・司会はDJ感覚で ・フォームを使ったこまめなアンケート。敢えて匿名で ・議題の順序も投票で。話したい理由も尋ねる ・即興性、ライブ感が「場の一体感」を生む https://t.co/VM0BCYNmx3 — 堺 寛 (@hiroc_sk) June 13, 2021 考えたきっかけ:オンラインのワークショップをやるときに、ブレイクアウトルームというやつがとにかく嫌いで、あれをつかわずになんとかしたいブレイクアウトルーム(ブレークアウトセッション)機能とは、Zoom上でミーティングの参加しているユーザーを少人数ごとのグル

    オンラインの会議で参加者の発言を活発にするgoogleフォーム活用法|柴田史郎
    mpiyok
    mpiyok 2021/07/19
  • 新・えきねっとは誰のためのシステムなのか?|長沢めい

    結論から書くと、ちょっと思い当たらない。というおはなし。 そもそも「えきねっと」とはJR東日の予約サイト。今週末にリニューアルを実施しました。 切符オタクの界隈では「あの切符が発行できない」「売ってはいけないはずの切符が検索結果に出てくる」などなど、いろいろな反応があったようですが、一般の方からすると「鉄道オタクがなんか騒いでいるなぁ」っていう感じかもしれません。私も個々論的なところはあまり興味がないから、そこについては書きません。 じゃあ、ここで何を書くかというと、UIの話をします。鉄道に限らず、いろいろなシステムにも言える話かな、と思ったので。 きっぷを買うまでの道のりが大変先述のプレスリリースには色々と変更点が書かれているんですが、1番目に書かれているのが「列車のお申し込みの操作方法が変わります」という点。 「えきねっと」トップページからダイレクトに、「乗車駅」「降車駅」や「日時」

    新・えきねっとは誰のためのシステムなのか?|長沢めい
    mpiyok
    mpiyok 2021/06/30
  • みずほ銀行システム障害に学ぶ

    みずほ銀行システム障害の調査報告書が公開されたのがニュースになって、Twitterなどで色々な人がコメントをしているのを見た。140文字しか書けない空間で他人の失敗談の揚げ足取りをするのは簡単だが、そこからは一時の爽快感以外に何も得るものがないので、僕はそういうのはカッコ悪いと思っている。 そこで、ちゃんと読んでみたら全く他人事でない部分も沢山あるし、非常に面白く勉強になったので、ブログにまとめてみる。 技術的な話 銀行のシステムがどのようになっているのか、全然イメージが湧いていなかったので、それがまず勉強になった(p.29)。 トラフィックのソースに応じて用意された色々なシステムから基幹システム「MINORI」の取引メインバスにトラフィックが流れ、そこから各種システムへとリクエストが送られていく。この辺はService Oriented Architectureらしい。開発当時としては(

    みずほ銀行システム障害に学ぶ
    mpiyok
    mpiyok 2021/06/18
  • 「はじめてゲームプログラミング」の衝撃

    エンジニアの間で話題沸騰「はじめてゲームプログラミング」 6月11日に発売され一時トレンドにも載るほど。 「ナビつき!つくってわかる はじめてゲームプログラミング」。 「ノード」をつなげてプログラミングしてゲームを作っていきます。 例えば「Lスティックノード」と「ヒトノード」を繋いでLスティック操作ができるようになります。 チュートリアルでは「おにごっこゲーム」や「マリカ」みたいなものを作れちゃいます。 私ももちろんプレイして実況配信なんてやってみたのですが節々で「プログラミング学習」という点で衝撃を受けました。 今回はその衝撃を紹介していきたいと思います。 約束された「完成したときの達成感」 「ナビつき!」というタイトルの通り、チュートリアルが懇切丁寧です。 失敗につながるようなメニューは無効化されていますし、しばらく迷って画面上で進捗を出せないでいるとアシストしてくれます。 「完成」す

    「はじめてゲームプログラミング」の衝撃
    mpiyok
    mpiyok 2021/06/14
  • ユーザー アカウント、認証、パスワード管理に関する 13 のベスト プラクティス2021 年版 | Google Cloud 公式ブログ

    ※この投稿は米国時間 2021 年 5 月 7 日に、Google Cloud blog に投稿されたものの抄訳です。 2021 年用に更新: この投稿には、Google のホワイトペーパー「パスワード管理のベスト プラクティス」のユーザー向けとシステム設計者向けの両方の最新情報を含む、更新されたベスト プラクティスが含まれています。 アカウント管理、認証、パスワード管理には十分な注意を払う必要があります。多くの場合、アカウント管理は開発者や製品マネージャーにとって最優先事項ではなく、盲点になりがちです。そのため、ユーザーが期待するデータ セキュリティやユーザー エクスペリエンスを提供できていないケースがよくあります。 幸い、Google Cloud には、ユーザー アカウント(ここでは、システムに対して認証を受けるすべてのユーザー、つまりお客様または内部ユーザー)の作成、安全な取り扱い、

    ユーザー アカウント、認証、パスワード管理に関する 13 のベスト プラクティス2021 年版 | Google Cloud 公式ブログ
    mpiyok
    mpiyok 2021/06/14
  • 無料プランは百害あって一利なし - Qiita

    Don't offer a Free Planという非常に力強い主張があったので紹介してみます。 著者はGuido( Twitter / GitHub / Webサイト )です。 Don't offer a Free Plan もしあなたがSaaSプロダクトを提供しているのであれば、無料プランを提供することに意味はないかもしれません。 無料プランはホスティングコストだけではなく、リアルのコストがかかります。 サイトでは、これらの検討事項について解説し、そして無料プランにかわる手段について提案します。 The costs of a free plan 無料プランは、ユーザにプロダクトを知ってもらい、そして後に有料プランにアップグレードしてもらうことを期待します。 プロダクトにもよりますが、無料プランのユーザが増えてもサーバ代にはほとんど変化がありません。 しかし、実際には大きなコストがかか

    無料プランは百害あって一利なし - Qiita
    mpiyok
    mpiyok 2021/06/07
  • stand.fmアプリのパフォーマンス改善話「推測するな、計測せよ」|Takahiko Wada

    (このnoteはstand.fm engineeringマガジンの記事です) stand.fm エンジニアの和田(@takahi5)です。 今回はReact Nativeアプリののパフォーマンス改善について書きたいと思います。主にレンダリング周りの改善です。 アプリを開発していてユーザーや社内のメンバーから「アプリが重い!」と言われたことはないでしょうか?僕はよくあります笑 今回はstand.fmのライブ配信機能で実施したパフォーマンス改善について、ボトルネックの特定からその改善まで、実例に触れながらご紹介したいと思います。 アプリが重い!?ただこの「アプリが重い!」にもいろいろパターンがあります。 - ボタンをタップしたときの反応が遅い - アニメーションがカクカクする - ローディングがなかなか終わらない - 起動に時間がかかるなどなど、一言で「重い」と言っても、詳しく聞いてみると色々

    stand.fmアプリのパフォーマンス改善話「推測するな、計測せよ」|Takahiko Wada
    mpiyok
    mpiyok 2021/06/06
  • エンジニアだけど米国で足湯を開湯した話

    コロナ禍で引きこもりが加速し、創作欲求が爆発した結果、自分で足湯を設計&施工してウチのワイナリー「SUNSET CELLARS」に実装し、おそらくカリフォルニア初の格的な日式公共足湯を開湯(かいとう)しました。今週末から「Zen Zin Onsen」として営業を開始し、SUNSET CELLARSのテイスティングルームでワインを飲みながら足湯に浸かるという極上体験を誰でも気軽にお楽しみいただけます。いままでガレージをDIYしてオフィスを施工したり、業でも家を作ったりしているフルスタックエンジニア(物理)な自分ですが、今回の対戦相手は行政と水漏れ、ボイラー制御でした。小さな頃から当に温泉文化や雰囲気、エクスペリエンスが大好きで、死ぬまでに自分の手で理想の温泉を開湯したいという夢を持っていた私ですが、その目標の5%くらいを達成することができたかなと満足しています。このエントリーは、カ

    エンジニアだけど米国で足湯を開湯した話
    mpiyok
    mpiyok 2021/06/04
  • カスタムURLスキームの乗っ取りとその対策

    カスタムURLスキームの乗っ取りとその対策 May 17, 2021 カスタムURLスキームは、モバイルアプリ内のコンテンツへ直接誘導するディープリンクに広く利用されている¹。そのような中で、2020年3月にLINEはカスタムURLスキーム line:// の使用を非推奨とした²。非推奨の理由をLINEは「乗っ取り攻撃が可能なため」と説明し、代わりにHTTP URLスキームによるリンクを推奨している。この変更に対して私は、なぜHTTP URLスキームによるリンクだと乗っ取り攻撃を防げるのか疑問を抱いた。この疑問に答えるためにLINEアプリの乗っ取りを試み、対策の有効性を確認した。 要約 HTTP URLスキームによるディープリンクは対象のアプリを一意に特定できるため、不正アプリによるリンクの乗っ取りが発生しない。カスタムURLスキームでは複数のアプリが同じスキームを宣言できるため、モバイル

    カスタムURLスキームの乗っ取りとその対策
    mpiyok
    mpiyok 2021/05/17
  • チームにいると頼りになるソフトウェアエンジニア

    チームにいると頼りになるソフトウェアエンジニアのメモです。自分のロールモデルでもあります。私のキャリアはほぼウェブブラウザ開発一筋なので、その辺に生息している人たちを思い浮かべながら書いてます。思いついたら随時更新します。 コードマニア コードやドキュメントを読むのが好きで、暇があれば適当なレビューに飛び入り参加したり、自分のプロジェクトとは関係ないコンポーネントもひたすら探検している。不穏なコードを見つけるとなんとリファクタリングもしてくれる。コードサーチがお友達。 やたらコードに詳しいので、何か分からないときはとりあえず聞きに行く。チームに一人いるとレビューが捗るし、コードベースも綺麗になる。コードマニアはコードベースを広く熟知している上に未知のコードに対する耐性も高いので、プロジェクトを移動してもすぐに活躍できる。 コードマニアの亜種にスペックマニアもいる。こちらはウェブやネットワー

    チームにいると頼りになるソフトウェアエンジニア
    mpiyok
    mpiyok 2021/05/01