JavaScriptでマイク、カメラが使用されているか確認する

Webブラウザでマイクやカメラなどのデバイスが使用されていたらtrueを返す await navigator.mediaDevices.enumerateDevices().then(infos => [...infos].some(info=>info.label!=="")); マイクやカメラの許可状態を確認する await navigator.permissions .qu…

JavaScriptを使用してGoogle Chromeで開いているすべてのタブの情報を取得する

chrome extension APIを使って、開いているすべてのタブを取得する test.js chrome.tabs.query({}, function (tabs) { console.log(tabs); }); manifest.json { ... "permissions": [ "tabs" ], ... } 参考 https://developer.chrome.com/extensions/tabs

.envで定義した環境変数をDocker,docker-compseで使用する例

.envからdockerの実行環境に環境変数を渡す例 環境 go1.13.8 Docker version 19.03.8 ディレクトリ構成 Dockerfile docker-compose.yaml go.mod main.go .env .env2 main.go package main import ( "fmt" "os" ) func main() { fmt.Println("hello world") f…

ESLintで複数ファイル、複数フォルダをターゲットにする

結論 $eslint test1.js "testdir/**/*.ts" "testdir2/**/*.@(js|ts)" --parser-options=xxxx バージョン "eslint": "^6.8.0" ドキュメント https://eslint.org/docs/user-guide/command-line-interface eslint file1.js file2.js

docker-composeで実行環境の変数をコンテナに展開する方法

結論 https://docs.docker.com/compose/environment-variables/#pass-environment-variables-to-containers docker-compse.yamlのenvironmentに、実行環境の環境変数と同じキーをバリューなしで書く 環境 $docker --version Docker version 19.03.8, build a…

docker-composeのENVはbuild時に適用されない

まとめ 環境 検証 1の検証 ENVはbuild時に適用される ENVはコンテナ起動時に適用される 2の検証 ENVはbuild時に適用されない ENVはコンテナ起動時に展開される 参考 まとめ DockerfileのENVはbuild時もコンテナ起動時も適用される。 docker-compse.yamlのENV…

lighthouse-ciの使い方メモ

github.com lighthouseのCIインテグレーションツールがある。 https://github.com/GoogleChrome/lighthouse-ci/blob/master/docs/getting-started.md を読んだメモを残す 概要 前準備 結果の収集 アサーション GitHub Status Checks CI Serverの起動 GitHub …

Jestでwindow.location.hrefをmockしたいとき

環境 Jest: v24.8.0 モチベーション Jestでwindow.location.hrefをmockしたい。 結論 下記公式ドキュメントを参照。 https://jestjs.io/docs/en/manual-mocks#mocking-methods-which-are-not-implemented-in-jsdom window.location.hrefのmock describe('moc…

レガシーをぶっつぶせ。現場でDDD!2nd 「インプット<アウトプット!」参加ログ

genbade-ddd.connpass.com 参加してきたので感想を書く オープニングトーク DX(デジタルトランスフォーメーション)についての話。 2025年以降の技術的負債の経済損失がが12兆円/年にのぼる。 comemo.nikkei.com つまり、レガシーなシステムを改善すること…

JSConf JP 2019 Day2参加記録

概要 時間はただの幻想である… JavaScriptにおいては まとめ WEB の自重 まとめ GraphQLを用いたECサイトにおけるパフォーマンス改善 まとめ 資料 マイクロフロントエンドについての話 JavaScriptのままでTypeScriptを始める まとめ 資料 Your Benchmark May…

JSConf JP 2019 Day1参加記録

概要 JAVASCRIPT AST プログラミング: 入門とその1歩先へ まとめ メモ 覚醒するアクセシビリティ まとめと感想 資料 JS開発者のためのSEOテクニック まとめと感想 資料 WEB ACCESSIBILITYのすゝめ まとめ 資料 予測的 PREFETCHING によるパフォーマンス改善 …

Mercari x Merpay Frontend Tech Talk vol.3参加記録

Practical tips for making a global EC site 特に気になった点 URL設計 SEO パフォーマンス i18n a11y 画像 発表のまとめ 感想 他のブログ https://mercari.connpass.com/event/153687/ 参加してきました。 一番の目的だった最後の発表に関してフォーカスし…

cronを書くときのtips

cronを書くときの自分用メモ まずは短い間隔で試して動くか確認する 下記の例だと2分ごとに実行し、標準出力と標準エラーをファイルに出力する。 $*/2 * * * * hoge >> fuga.log 2>> fuga_error.log ファイルの実行権限を確認する ファイルパスは絶対パスで…

ツール選定する時の流れ

概要 フレームワーク 目的 要件 調査項目 比較表 具体例 目的 要件 調査項目 Tips ツールが多すぎるとき絞り込むポイント なぜこの意思決定をしたか振り返ってわかるようにしておく 概要 ツール選定をおこなう事が多かったので、どのように実施しているかメ…

なぜフロントエンドのパフォーマンスモニタリングをモニタリングする必要があるのか?

結論 1. 劣化を防ぐ 2. 改善する 遅いアプリケーションのコスト 結論 アクセス数の増加や離脱率の減少に寄与することで事業貢献するため 1. 劣化を防ぐ パフォーマンスは機能を追加するたびに劣化する。 それを可視化して決められた範囲を超えないようにする…

フロントエンドのパフォーマンスモニタリングについて調査する

フロントエンドのパフォーマンスモニタリングについて調査 結論 計測対象を決める 計測タイミングを決める モニタリング指標を決める 主な計測指標 アプリの特性によって見るべき指標は異なる モニタリングの方法(Synthetic monitoring と Real User Monito…

『入門監視』の個人用メモ

1章 監視はロールではなくジョブ チーム全員でおこなう。勉強会などを開催し、知識を広める。 不安定なシステムに監視を追加するのではなく根本的な原因を改善する 監視ツールに依存しない、交換可能であるべき 現代では監視ツールの負荷が問題になることは…

ドメイン駆動設計 本格入門レポ

DDD

行ってきたのでレポ。 資料 Doorkeeper [DevLOVE Premium第3回]ドメイン駆動設計 本格入門 - DevLOVE | Doorkeeper スライド ドメイン駆動設計本格入門 from 増田 亨 www.slideshare.net 概要と感想 スライドの各章ごとに概要と感想をメモする。 ドメイン駆…

CI/CD Test Night #3に参加してきた

概要 いってきたのでメモ。 testnight.connpass.com Tryを中心に書いていく。 共通していることが多いので、後半になるにつれTryが少なめ。 LTメモ fastlaneとBitriseで構築するiOSのCI/CDレシピ https://speakerdeck.com/rockname/cd-recipe-constructed-wi…

AnsibleでFailed to connect to the host via ssh: Permission deniedのエラーが出たとき

概要 AnsibleでFailed to connect to the host via ssh: Permission deniedが出た。 $ansible all -i inventory -m ping host | UNREACHABLE! => { "changed": false, "msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-…

2018年後半ふんわりまとめ

2018年前半まとめ(一部) - mMQnaZ7vL2DWkoU’s diary 続き 8月からチーム移動があった。 後半はざっくりまとめる。 やっていること レガシープロダクトの引き継ぎ*4 プロダクトの分析 改善点の洗い出し Domain Driven Develpomentでのリプレイス開発*1 エヴ…

2018年前半まとめ(一部)

JIRAで管理されたタスクから2018年を振り返ってみる。 チケット化されたもののみ書き出してみると、意外と作業量にばらつきがある印象だった。 ISSUEをチェックしようと思ったら前チームのGitHubEnterpriseのOrgから抹消されたので、過去のISSUEが見れなくな…

DockerfileのWORKDIRに$HOMEと書いても認識されないとき

環境 $docker --version Docker version 18.09.0, build 4d60db4 概要 DockerfileのWORKDIRはDockerfileのENVで定義された環境変数しか使えないので気をつけましょう ドキュメント https://docs.docker.com/engine/reference/builder/#workdir You can only …

チーム移行するときに抑えておくべきポイント

概要 チーム移行するときに抑えておくべきポイントをまとめる システムによって特性は異なるので優先順位や、必要かどうかは変化する チェックすべきポイント リポジトリを事前に見せてもらう これから関わるプロダクトがどういうものか?事前に確認する必要…

Qiita記事をローカル管理するツールが入門としてよかった話

概要 Goの入門としてQiitaをローカル管理するツールを作った。 リポジトリは以下。 https://github.com/ma-bo-do-fu/qsync 今回はその感想をメモしておく。対象読者はGo言語やツール開発初心者。 環境 $go version go version go1.10.3 darwin/amd64 モチベ…

php artisan migrateでautoload.phpがなくて失敗する

PHP

環境 $ php -v PHP 7.1.10 (cli) (built: Aug 22 2018 18:45:08) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies with Xdebug v2.6.1, Copyright (c) 2002-2018, by Derick Rethans 発生し…

業務の引き継ぎの難しさを考える

概要 業務引き継ぎ時に遭遇しがちなケースとその解決策ついて自分の思っていることをまとめる。 あくまで自分の意見である。 問題点 プロダクトの数が多い プロダクト数にたいしてエンジニアが足りないケース。 1プロダクトに最低エンジニア1人ほしい。 メ…

IntelliJがシステム環境変数を読み込むタイミングについて

概要 IntelliJがシステム環境変数を読み込むタイミングはIDE起動時。 途中でシステム環境変数を設定した場合はIDE再起動すること。 環境 $go version go version go1.10.3 darwin/amd64 IntelliJ IDEA 2018.2.1 (Ultimate Edition) (Goのプラグインを入れて…

vagrant up時にThe box 'bento/centos-6.8' could not be foundと表示される

問題 vagrant upしようとすると下記メッセージが出て失敗する。 $vagrant up Bringing machine 'webserver' up with 'virtualbox' provider... Bringing machine 'database' up with 'virtualbox' provider... ==> webserver: Box 'bento/centos-6.8' could …

CircleCI上でDockerfileのCMDが動かない

問題 CircleCI上でDockerイメージを使うとDockerfileのCMDが動かない。 ローカルでDockerコンテナを起動するとCMDが動く。 原因 最初のコンテナはcommandを書かないとエントリポイントが動かない https://circleci.com/docs/2.0/configuration-reference/#do…