集計系だとデフォルトで先月1ヶ月分のってのをよくやる。結局使わなくなったけどメモ。日付でだいたい必要なものはdate-fnsで足りてます。TypeScriptでも問題なく使えます。date-fns.org実行時の日にちになるように関数。 import { format, startOfMonth, en…
Firebaseのローカル開発環境で、Pub/Subだけ動かしてなかったので、最近リリースさればばかりのUIとともに試してみることにしました。 Mac OSのバージョンは10.15.4。firebase.googleblog.comCLIのバージョンが8.4.0以上なのを確認 $ firebase --version 8.4…
ユーザーの閲覧履歴をDB(MySQL)からBigQueryに移すにあたり、既存のDBを使っている「最近見たお仕事」を表示する機能も変更が必要になりました。「最近見たお仕事」は文言は異なるものの、よくECなどでも「最近チェックした商品」、不動産系では「最近見た…
シニアジョブでは、まだまだ古いPCを使っているシニアの方が多いのか、令和になったこの頃でも、残念ながらIEのアクセス数が無視できない程度に健在です。JavaScriptのエラーが起きてしまうとその後の処理が止まってしまったり影響が多いため、なんとかした…
Cloud Buildは同じGCP製品だけあって非常にシンプルにFirebase(WEBしかやったことない)のデプロイを行えますが、ビルド成功、失敗時の通知機能はついてません。cloud.google.comCircle CIのように標準ではついていないので、下記の公式ドキュメントのよう…
@google-cloud/pubsub": "^1.7.2"を使い、tscしたところ下記のエラーが出た。www.npmjs.com node_modules/@grpc/grpc-js/build/src/call.d.ts:68:5 - error TS2416: Property '_write' in type 'ClientWritableStreamImpl<RequestType>' is not assignable to the same pr</requesttype>…
これまで小ネタは書いたけど、なぜApache Airflow (以下Airflow)使ってるのか、Cloud Composerを使わずGoogle Kubernetes Engine(以下GKE)を使っているのか等そもそも論的なことは書いてなかったので、忘れないうちにまとめ。 データ基盤を作る理由 シニア…
AirflowをCloud Buildでビルドして動かしたら突然、下記のようなエラーが起きた。 Traceback (most recent call last): File "/usr/local/bin/airflow", line 26, in <module> from airflow.bin.cli import CLIFactory File "/usr/local/lib/python3.7/site-packages</module>…
Airflowを使っていてタスク完了時、失敗時にSlack通知を自作する必要があるけど、そこで実行にかかった時間を表示したかった。結論としてコールバックに渡されるcontextのdag_runにstart_date, end_dateが入っているので引き算すれば出せる。Airflowのバージ…
Cloud Composerを使わず、GKEでAirflowを構築し、ロードバランサーにGCP HTTPS Load Balancer+Google管理の証明書を使用した。通常の管理画面表示には問題なかったものの、VariablesなどのPOST系のアクションをすると、http接続に戻ってしまう問題があった…
手動でkubectlコマンドでデプロイは問題ないのに下記を参考にCloud BuildでGKEのデプロイをしたら「CreateContainerConfigError」でなかなかビルドが終了しなかった。podの状態をみると下記のような感じ $ kubectl get po NAME READY STATUS RESTARTS AGE ai…
結論 npm install -g yaml-lint yamllint filename.yaml使うKubernetesを使ってるとyamlからは逃れられない。本当はJSONでやりたいけどだいたいのサンプルはyamlなので使わざるを得ない。自分で書いていて長くなってくるとどうしても構文エラーを起こしてし…
Airflowでは通常のメールアドレス+パスワード認証以外にOAuthが使えます。 会社でG Suiteを使っているのでGoogleアカウント認証が良さげ。パッケージのインストールが必要なのと、airflow.cfgの変更が必要。 Security — Airflow Documentation 基本的に上記…
差分だけ追記しようとしたら下記のエラーがでた。 Exception: BigQuery job failed. Final error was: {'reason': 'duplicate', 'message': 'Already Exists: Table project_id:airflow_local.table'}AirflowというよりはBigQueryの設定でwrite_disposition…
ローカルで立てたAirflowで開発中のアプリDB→BigQueryのDAGがざっくり動いたので、今度は前回の更新日以降を差分同期したいと思った。 DBの種類がMySQLなのでちょっと違うけどやりたいのはまさにこれ。tech.enigmo.co.jp 前回実行時間と今回の実行時間があれ…
シニアジョブのデータ基盤を構築するべく、アプリケーションのDBデータをBigQueryに入れて活用しようとしてます。データを移すワークフロー管理にAirflowを使おうとまずはローカルであれこれしています。とりあえず下記のレポジトリを参考にしつつ、バージョ…
検索結果に出てくる記事が古かったりして時間をロスしてしまうのでメモ。 結論 公式のパッケージを使おう。 www.npmjs.com npmでインストールできる $ npm install @slack/webhook公式のサンプルコードを見ればわかるけどURLを渡してsendするだけで使えてし…
仕事中眠くなったり、ぼーっとすることがあったら二酸化炭素が原因です(確信)。濃度によってこのような影響が明らかになっており、オフィスや学校など法律でも一定以下にするよう決められているそうです。特に新型コロナのご時世、テレワークをしている家…
3日ぐらいで勢いで作れてしまったので忘れないうちにポイントと流れをメモ。 作ったもの 日本地図クリックでその市区町村のリストを取得できるやつ。左バーがVue, 右の地図がLeaflet + 国交省データ 動画LeafletとVueと国土交通省のデータで作った地図で市区…
久しぶりにFireabse(WEB)のアプリをデプロイしようとしたらこのエラーが出た。詳細がなく分かりづらい。 Error: HTTP Error: 404, Requested entity was not found.アップロードするファイルがないとか、変化がないとか疑ったけどそんなとこはなく そうい…
結論 公式ドキュメント通りpcelで入る。 FROM php:7.2-fpm-alpine RUN pecl install redis && \ docker-php-ext-enable redisgit cloneとかいらない。 概要 Laravel 5.6から6にアップデートした際(自分はやってない)、推奨のRedisのクライアントがこれまで…
シニアジョブでは、派遣従業員の勤怠や給与計算まで自社のシステムでまかなっていますが、いろいろと足りない機能や問題があり、これまで多くが手作業で行われてました。 その作業をできるだけ無くすために、既存の機能と併存する形で新しく開発しました。機…
シニアジョブの人材管理システムでは、全文検索エンジンとしてElasticsearchを使っています。Elasticsearchは業務で直接触るのは初めての初心者です。 昔はElasticSearchと思っていたり、Elasticって付いてるからAWSのサービスかーとか思ってた。基本的に開…
ちょうど一ヶ月なのでメモも兼ねて。1週間はこっちに書いた。あとTwitterで随時。 uyamazak.hatenablog.com システムの現状 50歳以上、シニア専門の人材会社です。派遣も紹介もやってます。 全体で20人程度、開発者は2人とデザイナー1人で、人材のマッチング…
ローカル開発環境にDockerの公式イメージを使っているが、mysqlのコマンドから日本語を入力したり、コピペしても消えてしまって困った。https://hub.docker.com/_/mysql文字コードはUTF−8。日本語の表示は文字化けするけど set names utf8;で表示できる。毎…
Vue CLIでVuetify、TypeScript、テストランナーにJestを使ったら下記のようなエラーがたくさん出た。 /app # yarn test:unit yarn run v1.21.1 $ vue-cli-service test:unit PASS tests/unit/example.spec.ts (6.266s) MainNavigation.vue ✓ mount navigatio…
Vagrantでやっていた開発環境構築をDocker化するにあたり、MySQLのダンプデータのインポート中やビルドコマンド実行時にディスクいっぱい系のエラーにぶつかりました。www.docker.comDocker Desktop for Macを使っています。MySQLのときはインポート中に、 E…
2020/1/14から株式会社シニアジョブに入社しました。ちょっと時間がたったけど転職エントリ。 DMM.comをやめた理由 同人事業部にいました。盲腸での入院を除くと賞味9ヶ月。 給料、福利厚生、人間関係とか職場環境には問題なく、キャリアプラン的な問題です…
前回の記事のとおり、Raspberry Pi + ホール素子 + 磁石でハムスター回転車を検知することまではできた。 そこからどうやってFirestoreに保存するかと考えると結構パターンができたのでメモ。 スマホで書いたので読みづらい。 uyamazak.hatenablog.com ハー…
LEDを消したり点けたりするだけのLED8ですが、1歳8ヶ月の子どもが一緒に遊んで楽しんでくれます。詳細は動画。LED8 - You can L-chika on your browserwww.youtube.com子供でも操作できるようにUIを考えたり、勉強になるのでおすすめです。Raspberry Pi3 Mod…