ボクココ

少人数でのサービス開発運営に関するテックブログ

直近のTwilioアップデート確認 2022/09

ども、@kimihom です。 先日 TwilioJP-UG Online Vol.8 - TwilioJP-UG | Doorkeeper が開催された。当日のイベントで急遽プログラム内容が変更となり、最新情報を見ていく時間を取れなかったのでブログとしてまとめておこう。 大枠 まず、以下のページに大き…

Google Search Console でのブログ改善

ども、@kimihom です。 Google Search Console という Google のツールを使ったら、自分のブログの改善点が出てきたので対応することにした。 概要 詳しくははてなブログの特設サイトに譲るとして、簡単に言えば Google etc がより速くWebサイトを表示させる…

脳治療の現状報告

ども、@kimihom です。 前回の記事でたくさん元気をもらえて大変嬉しく思う。なんとか頑張って治療していこうと決心した。 その手術3日前、手術直前の脳の状況を確認したのち、手術は急遽中止となった。その中止は残念ながら良い意味ではなく、悪い意味での…

脳腫瘍の2回目手術に向けて

ども、@kimihom です。 以前の脳腫瘍の手術から2年ほど経った。 www.bokukoko.info www.bokukoko.info そして先月の定期検診で、脳腫瘍の再発が確認され、すぐに手術を改めてやる流れとなった。ここ2年とこれからの決断について記事として記しておこう。 手…

詠みラボ 俳句 UI 改善、称号の機能追加など

ども、@kimihom です。 時間ある時にコツコツ改善を続けている 詠みラボ。 まだ全然 俳句の投稿がない寂しい感じではあるけど、技術的に思いついたのをどんどん作っていく楽しさでサービスが続いているw。 最近アップデートした内容をご紹介しよう。 www.yom…

Swift での HTTPS での音声再生をさせる方法

iOS

ども、@kimihom です。 SwiftUI でアプリ開発をしていると、その情報はもう古かったりして正しく動作しないことが多々あるので、執筆した現時点で動作を確認できたコードとともに解説していこうと思う。 やりたいこと API で取ってきた 音声URLを再生させる …

Swift で複数の型のJSON配列をデコードする方法

ども、@kimihom です。 Ruby とかの型の緩い言語だと、一つの配列に String や Int を詰め込んでも特に実装の手間にはならないのだけど、そのような環境で作った複数の型のあるJSON配列を、Swift 側で処理するのに少し手間取ったので記事しておこう。 実装の…

SwiftUIでのプレビュー機能を使えるようにしよう

iOS

ども、@kimihom です。 iOSアプリ開発でSwiftUIを使っていると、XcodeのCanvas機能を利用することができる。これを使うとわざわざエミュレーターやiPhoneで見ずとも、UIの調整が可能だ。 最初のセットアップさえうまくできれば、かなり便利に利用できるので…

Swift アプリでどんなケースでもログを出す方法

iOS

ども、@kimihom です。 iOSアプリの開発をしていると、以下のようなケースでログが見れないことに不便さを感じることがある。 バックグラウンドで動作している時のログを見たい iOS の電源を再起動した後のログを見たい その他 アプリを開いた状態 以外での…

SwiftUI でのローディングアイコン表示

ども、@kimihom です。 SwiftUI を使ってローディングアイコン(くるくる)を表示させようとした時、まず真っ先に GIF を使おうと思うだろうが、残念ながら GIF サポートは現状ない。何かしらのライブラリを使ったり、自前で動かす実装が必要になる。 というこ…

確率の組み合わせの一番わかりやすい解説にトライしてみた

確率は小学生において最も理解しづらいトピックの1つだ。"順列" まではなんとかわかっても、この"組み合わせ" の計算方法について「なぜそうなるの?」にちゃんと答えられていないことが原因の1つと考える。 そこでご両親や塾講師などが確率の組み合わせをお…

久々に個人開発をした報告 - 詠みラボ

ども、@kimihom です。 個人開発で「詠みラボ」を作って公開までしたのでシェアしよう。 ※ぜひ俳句を作ってください! www.yomilab.com サービス概要 某テレビ番組ですっかり普及してきた「俳句」。これを誰もが簡単に作ってシェアできるWebサービスが見つか…

SendGrid の2つのサービスを同じメールアドレスで利用する方法

ども、@kimihom です。 SendGrid には、”Email Marketing” と "Email API" の2つが提供されている。その2つの説明と、どちらも使うようにする方法などを紹介する。 Email Marketing と Email API タイトルだけで想像がつくと思うけど、Email Marketing は、S…

外部サービスのAPIやWebhook連携をするときに便利なもの

ども、@kimihom です。 仕事を効率化させたり、Webサービスをより快適に使えるようにしたいときに便利なAPIやWebhook。これらを活用する上で必須とも言えるツールを改めて紹介しよう。 API API のメリット API を利用することで、こちらから好きなタイミング…

Chromeでネットの弱い環境を再現する方法

ども、@kimihom です。 とりわけ WebRTCを使ってリアルタイムな通話をしていると、ネット環境の弱いことが原因で、ろくに通話できないという問題が発生する。そのため、ネットの弱い環境を再現して動作を確認する必要が出てくる。本記事ではネットの弱い環境…

宇宙のことがわかってないことをわかった

ども、@kimihom です。 最近はプログラミング関連の本ばかりを読んでいたので、このGWでは全く別の分野で興味のあった本を読んでみた。 「僕たちは、宇宙のことぜんぜんわからない この世で一番おもしろい宇宙入門」 僕たちは、宇宙のことぜんぜんわからない…

iOS CallKit と Twilio Voice iOS 徹底攻略

ども、@kimihom です。 先日の TwilioJP-UG Online Vol.6 はモバイル特集。私からは iOS CallKit と Twilio Voice iOS 徹底攻略として話をしたので、こちらの内容をブログに記しておこう。 なお、今回のスライドはかなりコアな iOS CallKit 内容となっており…

私は技術をこう選ぶ - 10年の経験から

ども、@kimihom です。 プログラミングをしてきて10年が経った今、やってきて良かったこと間違っていたことを振り返りつつ、本テーマを記していこう。私が今まで選んできた技術の成功と失敗について。 今までできなかった何かができるか 最優先とするのは、…

Slack App 移行メモ

ども、@kimihom です。 旧式 Slack App を公開している場合、2022年5月27日までに対応しなければ、App ディレクトリから除外するよ というお知らせが届いた。本記事ではその対応についてまとめよう。 注意 : 移行期限が 2022 年 5 月 27 日まで延長されまし…

SwiftUI で快適なログインUIを作ろう

iOS

ども、@kimihom です。 SwiftUI を使ってログインをより快適にする対応をしたので、その実施内容についてまとめておこう。 テキストフォーカス ログインをしようとするページの場合、ほぼ必ず最初はメールアドレスなどの入力から始まることだろう。iOS の場…

Ruby, Rails アップデートログ

ども、@kimihom です。 自社サービスの CallConnect で、 Ruby 3.1.1, Ruby on Rails 7.0.2.3 へアップデートが無事完了した。本記事では、対応した内容に関してまとめておこう。 button_to の挙動変更 button_to で View を展開された際の HTML が <input> タグか…

Twilio Voice JavaScript 2.0 以降での複数着信の受け取り方

ども、@kimihom です。 Twilio コミュニティの中で、「1本目の着信が来た後、続けて2本目の着信が来たときに、1本目の着信を出られるようにしたい」というケースで質問をいただいた。まさにそのケースの対応を自分も実装したので、コードを含めて説明してい…

慣れないインデックス貼り vol.2

ども、@kimihom です。 前回のインデックス貼り に続き、インデックス対応についての追記を記す。 外部キー のインデックスの効果 よく、関連する外部キーにインデックスをデフォルトで貼る書き方がある。 class CreateTweets < ActiveRecord::Migration[5.0…

Webサービス障害時にAmazon Connectから通知

ども、@kimihom です。 Web サービスを運営していれば障害は付き物なので、その対策を検討した結果について記しておこう。 障害検知 きっかけとなったのは、起きている昼間だったら定期的に Slack 通知などをみながら様子を見て、誰かが発見したら共有すれば…

Rails7 で jQuery をセットアップ

ども、@kimihom です。 Rails 7 がリリースされてから暫く経つが、基本的な部分がまだシェアされてないことが多い。本記事では Rails 7 注目のフロントエンドのセットアップについて記す。 追記 jQuery 自体はこれでインポートできたが、jQueryプラグインな…

Lingvist を使ってエンジニア英語学習

ども、@kimihom です。 3ヶ月くらい前から改めて英語学習を再開している。色々と選択肢がある中で Lingvist というアプリを使っているので、その理由と実際にどうかを報告する。 Lingvist はどんな人に向いている? ズバリ、ひたすら英単語を覚えたい という…

Shopify プライベートアプリからカスタムアプリへの更新

ども、@kimihom です。 先日、Shopify からプライベートアプリの終了に関して連絡がきた。カスタムアプリへ移したので、そのログを記事にしておこう。 Shopify からの連絡 Private apps are being replaced by custom apps, with no action required from yo…

0->1 サービス開発者の慣れないインデックス貼り

ども、@kimihom です。 本記事は、普段アプリケーションエンジニアとして 0->1 でのサービス開発をやってきて、クエリ処理が重くなってどうしたものかという状況へ達した際に考えたいことをまとめてみる。 インフラエンジニアか自分でやるか まず、サービス…

他人にどう思われようと続けることの大切さ

ども、@kimihom です。 カフェでのんびりしていると、カフェ内にあったピアノで、突如ピアノ演奏を始めた方がいた。お世辞でも上手だとは言えない腕前なんだけど、それでも1時間以上、いろいろな曲を弾いていた。 そこで思ったことを1つ記事にしてみよう。 …

Amazon CloudWatch でのエラー通知

AWS

ども、@kimhiom です。そしてあけましておめでとうございます、今年もよろしくお願いします。 AWS Lambda でエラーが起きた時、どのように通知を受けているだろうか。ものすごい一般的な内容にもかかわらず、AWS 側の設定が多くて面倒だったので、参考サイト…