Issue Metrics GitHub Action を使うと、Issue、Pull Request、Discussion に関するメトリクス(初回レスポンスまでの時間、クローズまでの時間など)を簡単に追跡・監視できる。 github.blog これを使って週ごと(スプリント)で Close された Issue のメトリ…
GitHub Projects で特定の列の Issue を自動で Close するワークフローが欲しくて調べたときのメモ。GitHub CLI でサクッと実現できると読んでいたんだけど API 叩かないと無理そうだった。 github.com Discussion のコメントを参考に Status が "Done" また…
自分がスクラムマスターとしてふりかえりの場を設計するときに意識していることをまとめました。 1. ふりかえりを実施する目的を共有する 何のためにふりかえるのでしょうか?目的が腹落ちしていないと「ふりかえりの時間って無駄じゃないですか?」「ふりか…
汎用コンポーネントを作っていると、フォーカス制御やキーボード操作のために ref を使っている子コンポーネントに親コンポーネントから ref を渡して DOM ノードを取得したい場面があります。 これは forwardRef と useImperativeHandle を組み合わせて、re…
この記事はサイボウズアドベントカレンダー17日目の記事になります。 こんにちは。サイボウズで働いているエンジニアのもやし丸 です。 エンジニアとして働き始めて今年で3年目になります。 入社1年目のときは自分の3年目の姿なんて全く想像できませんでした…
JavaScript でカーソルがある位置に文字列を挿入したいときは execCommand を使用すると簡単に実現することができました。 developer.mozilla.org しかし、execCommand はブラウザ間での不具合も多く、現在は非推奨のAPIになっています。 今回は非推奨になっ…
throttle や debounce は連続して大量に繰り返される処理を間引いて負荷を軽減させたりするときに使います。 今回はそれらの間引き処理を React Hooks で実装してみました。 react-use に useDebounce と useThrottle が実装されているので自前で実装する必…
まずは JavaScript で実装してみます。 <img id="image" src="https://" /> <script> const imgEl = document.getElementById("image"); imgEl.onerror = () => { imgEl.onerror = null; imgEl.src = "https://placekitten.com/200/200"; }; </script> 画像の読み込みに失敗したときに onerror が実行されます。…
GitHub Pages のドキュメントを読みながら独自ドメインの設定をするだけの話なのですが、この記事では初心者向けにもう少し詳しく解説します。 GitHub Pages サイトのカスタムドメインを設定する - GitHub Docs 用語 記事の中で頻繁に出てくる用語を先に説明…
前回の記事の続きです。 Hello world 表示させるだけで終わってしまうのは勿体ないと感じたので Twitter と GitHub の QR コードを表示してみました。 勉強会に参加すると名刺交換することがあると思いますが、僕は不必要に名刺をバラ撒きたくない人なので、…
プログラミング可能なスマートォッチが販売されたということで何も考えずに即買いしました。 LilyGO T-Wristband https://pt.aliexpress.com/item/4000527495064.htmlpt.aliexpress.com 2020年1月に AliExpress で購入したのですが、某ウイルスの影響なのか…
Rでパッケージをインストールするときは、まず保存先のディレクトリを作成する必要があります。このディレクトリの作成に失敗するとパッケージのインストールを開始することができません。 保存先のディレクトリは作成できているけど、何故かインストールに…
こんにちは もやし丸 です。2019年にサイボウズに新卒入社して、kintone開発チームでWebエンジニアとして働いています。 kintone開発チームに配属されてから1年経過したのでふりかえりを書きました。 自分が配属される時期に中途入社された sakito さん、 No…
開発用と本番用で表示する View を切り替えたいときに環境変数を使うことがあります。 以下は yarn + webpack + React で環境構築して、環境変数をコードから参照して表示するViewを切り替えている例です。 import React from "react"; function App() { ret…
この記事では以下の Window.js と CheckHostName.js を使用します。 export const getHostName = () => { return window.location.hostname; }; import * as Window from "./Window"; export const isTwitter = () => { return window.location.hostname ===…
ファイルの保存時に organize imports をしていれば未使用の import文 が commit されることはほぼないと言っても過言ではありません。 例: VSCode でファイル保存時に未使用の import文 を削除 & 自動ソートする設定。 settings.json に以下を記述する。 "e…
結論 Portalを使う ja.reactjs.org 解説 既存のサイトを部分的に React に置き換えている場合、それぞれ異なるDOMノードにレンダリングするコンポーネント間で状態を共有したい場面に遭遇することがあります。 例えば、次のようなヘッダー、サイドバー、コン…
Chrome拡張を作っているとiframe内の DOM の変化を監視したい場面に遭遇することがあると思います。監視する方法はとても簡単です。 manifest.json に "all_frames": true を追記して、すべてのフレームにスクリプトを挿入するように設定します。そして、ifr…
表示させたい画像の画素の配列を結合して、imshow の引数に渡す。 import cv2 import numpy if __name__ == "__main__": catImg1 = cv2.imread("./cat1.jpg") catImg2 = cv2.imread("./cat2.jpg") mergeImg = numpy.hstack((catImg1, catImg2)) cv2.imshow("…
Effective Java 第3版を読んでみたところ、自分がジェネリックスの型安全について理解できていないことがわかったのでまとめてみました。 はじめに Javaの型変換 アップキャスト ダウンキャスト ジェネリクス型 非境界ワイルドカード型 ジェネリクス型の継承…
Rはパッケージのインストールをネットワーク経由で行います。 メニューの「パッケージ」→「パッケージのインストール」もしくはinstall.packagesを端末に打ち込んで、CRAN(Comprehensive R Archive Network)から各種パッケージをダウンロードします。 この…
取り組んだこと 新潟市の中央卸売場のもやしの市況状況日報をスクレイピングして中値から200gあたりの市場価値を求めてTwitterのプロフィール欄に反映させるようにしてみました。 TwitterAPI使ってツイの名前のところで絵文字スロットやってる人いたからそれ…
研究室で研究をしていたら教授に「何かに使えるかもしれないから動かしてみてほしい」と言われて古のDIGI製品を渡された。いつもなら「あw僕忙しいんでwww」と言って断るのだが、頼まれた日の前日にとんでもないミスをして教授に迷惑をかけてしまっていたの…
RaspberryPi3 設定手順を書いているときに自動マウントの設定を間違えてしまい、RaspberryPiが起動しなくなるということが起こりました。/etc/fstabの設定ミスを修正すれば解決するのですが、ファイルシステムがext4なので編集するにはLinuxマシンが必要です…
RaspberryPiの設定手順を毎回忘れてしまうので記録しておくことにしました。 OSのダウンロード RASPBIAN STRETCH LITEをダウンロードする zipを解凍する $ unzip 20**-**-**-raspbian-stretch-lite.zip OSをSDカードに書き込む 接続されているデバイス名を表…
MQTTを利用してesp8266とRaspberry Pi間でメッセージの送受信をしてみた。 使用した物 ・esp8266 ・Raspberry Pi2 ・タクトスイッチ×1 開発環境 ・ArduinoIDE 1.6.12 ・Python2.7.9 (Python3.4.2でも動作確認) ・sango ネットワーク構成図 MQTTブローカーを…
ESPr Developer(ESP-WROOM-02開発ボード)でLチカしようとしたら以下のようなエラーが出て書き込みができなかった。 warning: espcomm_sync failed error:espcomm_open failed error:espcomm_open failed どうやら書き込みモードに切り替わっていないらしい…
Wio Nodeとは Wio NodeとはAndroid/iPhoneの専用アプリ、WioLinkを経由してセンサーやモーター等を動作させることが可能なWifiモジュールです。はんだ付けやプログラミング未経験の人でも、簡単にIOTを体験することができるようになっています。 通常はWioLi…
ブログはじめました。主に備忘録です。よろしくお願いします。