notebook

都内でWEB系エンジニアやってます。

2019-01-01から1年間の記事一覧

Cypress + CircleCIの高速化Tips

簡単なテストケースをいくつか書いただけで5分以上掛かるようになってしまったのでチューニングの機運! ということで今回はキャッシュについて バイナリのキャッシュ Cypressはバイナリのインストールをnode_modulesではないところにインストールしています…

ag-Gridでカスタムフィルターを定義する

ag-Gridのバージョンアップ作業でchangelogを眺めていたらいくつか気になったものがあったので試してみます 今までだとカスタムコンポーネントでフィルターをフルカスタムすることもできますがちょっと条件変えたいといった場合にまでコンポーネントを用意し…

AngularプロジェクトにCypressを入れてみる

今回はCypressをAngularのプロジェクトに入れて実際にテストを書いてみます 実際にブラウザを起動して操作するところが見れたりみたいな部分は他の記事でも紹介されているので今回は割愛して主にpluginを入れてテストしてみる話をしたいと思います Cypress J…

CypressのDockerイメージを日本語対応させる

GW前からちょこちょこ触りだしていたE2EのテストフレームワークCypress Angularのサンプルプロジェクトに入れて少しづつ試していたのですがCircleCIでテスト回すようにしてみたらなんと日本語表示ができない状態でした 少し調べてみたところnotofontを入れる…

dockerコンテナ内部からポートフォワーディングしているポートへアクセスする

開発でdockerのコンテナからdockerを動かしているVMのプロセスにアクセスしたいみたいなよくあるパターンで少しハマったので残しておきます 単純なホストへのアクセスであればextra_hostsだけでOKでした docker-compose.yml app: extra_hosts: - "devhost:$D…

jqで特定の値を書き換える

たとえば本番のログから特定のキーだけデータを変えて(マスクして)保存したいみたいなとき 普通にやればsedやawkで頑張ってできそうですがjqであればサクッとできてしまいます 今回下記のサンプルjsonを用意しました sample.json { "hoge": "fuga", "foo":…

HeadlessChrome on AWS Lambdaでスクレイピングする

前回の続き AWSだけならSAMがいいと言われていますがまだserverlessもちゃんと触ったことがなかったのでまずはserverlessで実装してみます 内容としては「LabmdaでHeadlessChrome(Puppeteer)を用いてスクレイピングして結果をSlackへ投稿する」です スクレイ…

HeadlessChrome on AWS Lambda(準備)

いろんな記事で紹介されている通りやり方はいろいろあるのですが 今回はlambdaでchromeを動かすためのNodeのライブラリを見つけたので紹介するだけしておきます alixaxel/chrome-aws-lambda: Chromium Binary for AWS Lambda github.com これはいいと思った…

GitHub Ationsで任意のタイミングでトリガーを発火させる

GitHub Actionsで定期実行をしたいなと思っていたので調べてみたのですが単体では実現できなそうでした ただ任意のタイミングでトリガーを発火させることはrepository_dispatchイベントを使えば可能なようです Triggering a RepositoryDispatch webhook | Gi…

Redashのブックマークレットを書いた

タイトル通りでしかないのですが 以前Redashの操作で不便なところがあったのでブックマークレットを書いて対応してみました。 2つともテーブルのVisualizationで使うものになります version6の段階では対応している状態です フロント側がReactに書き換えられ…

画像からテキストを抽出する(OCR)

親戚の住所リストが欲しかったので親に聞いてみたら年賀状で送られてきたのでテキストじゃなくて「これいちいちタイプするの?」っていうところから自動でやってくれないかなと思い立って調べてみました GoogleDriveでテキスト抽出 GoogleDriveに画像ファイ…

GitHub ActionsでPRがApproveされたらラベルを付ける

GitHub ActionsのMarketPlaceを眺めてたら「PRがApprovedされたらラベルを付ける」というアクションを見つけたので使ってみました Label approved pull requests Label approved pull requests · Actions · GitHub Marketplace https://github.com/marketpla…

VS Codeでターミナルやエディター、エクスプローラー間の移動を楽にする

VS Code でなるべくマウスを触らない設定 - notebook swfz.hatenablog.com の続きです ショートカットの設定ではターミナル↔エディターなど特定のコンポーネント間の移動だけしか設定できなかったのでショートカット結構覚えないといけないかなーと思ってい…

VS Codeで問題の内容をショートカットで表示する

小ネタ VS Code でなるべくマウスを触らない設定 - notebook swfz.hatenablog.com の続きです 僕はVS Codeを使うときは記事書く時、メモ取るときがメインなのですがプラグインにテキスト校正くんを入れています 問題のパネルにlint系の指摘事項がリストで出…

Redashのクエリに特殊文字を使う時の話

Redashでクエリ書いてたときにすこしハマったときの記録 Redashではクエリにパラメータをつけることで結果を動的にすることができます パラメータに/などの文字が入っている場合実際にクエリ文字列には/といったふうにHTMLの特殊文字の数値参照がSQLの…

ローカル実行用のJupyterNotebook環境を整える

統計、分析とかそっちの分野の勉強をはじめました それに先駆けてインタラクティブな実行環境は必要だよねということで形から入っていきます! 今回はJupyterNotebookをdockerで立ち上げて使えるようにするところまでやってみました docker 公式にDockerのイ…

JenkinsでRubycriticの結果レポートをPublishHTMLPluginで表示する

CIの中でプロジェクトのコードの静的解析にRubycriticを使ってレポートを表示しようとしていました 実行に関してはスクリプトを用意して実行するだけなので問題なかったのですがHTMLのレポート表示で躓いたのでメモ Rubycritic 静的解析ツール 内部的には下…

Rails5+複合主キー+FactoryBotでテストデータを作成する

Rails5+複合主キーでやっていくにはcomposite_primarykeyが必要ですが テストコードを書く際にハマったのでその時のメモを残しておきます FactoryBotでテストデータを作成する際の話です composite_prrimarykeyを使ってreportsテーブルを複合主キーで扱うこ…

GitLab CIに入門する

GitLabCIでRspec,Coverage,Rubycriticを実行して結果を表示するところまで

Chart.jsでラベルクリックで表示非表示をコントロールする

chart.jsをつかってグラフを書いていたのですがある日こんな要件が飛んできました 「凡例をクリックすると表示非表示できるけどラベルをクリックしても表示非表示切り替えたい」 !!!!! !!!!! ヒストグラムだと何言ってんだ?って感じの話ですがカ…

2018年振り返り

年のはじめになってしまいましたが年末年始が落ち着いたので振り返り 生活スタイル 結婚して子供が生まれたことでプライベートの生活スタイルがガラッと変わった 休みの日は基本的に家族と過ごすのでインプットの時間が取れない 今まではだらだらやってたん…