はい!今やってます!

Work Pertly, Live Idly

アプリケーションのベースパスを変更する

https://hoge.com などで作成していたアプリがあったとして、 https://hoge.com/fugaをルートURLとしてサービス運用したい場合、 ReactRouterのbasenameを指定してやると簡単に切り替えが可能。 import { BrowserRouter } from 'react-router-dom'; <BrowserRouter basename="/fuga"> {省略} </BrowserRouter>…

採用のためのKPIツリー(途中)

母数増やす スカウト(基礎) エージェント(基礎) カジュアル面談() リファラル アトラクト 母数の質を上げる カジュアル面談の数を増やす 選考に進んでもらえる人を増やす 面接通過の判断基準を磨く 最終面接の件数を上げる 内定承諾件数を上げる その他 仮説…

レガシーなRailsアプリにとりえあずReact, TypeScript入れたときのメモ

react-railsのgemは使いたくなかったので、使わない方式です。 webpackerでReactとTypeScriptをインストール $ bundle exec rails webpacker:install:react $ bundle exec rails webpacker:install:typescript tsconfig.jsonを修正してSyntheticDefaultImpor…

svelte, ts, tailwindアプリ環境を最速で作りたくなった時に叩くコマンド

command npx degit sveltejs/template ${project_name} yarn install node scripts/setupTypeScript.js yarn add svelte-check yarn svelte-check yarn add tailwindcss@latest postcss@latest autoprefixer@latest yarn add svelte-preprocess npx tailwind…

awsコマンドのプロファイル関連コマンドをいつも忘れる

aws command プロファイル一覧 aws configure list 追加 aws configure --profile hoge クレデンシャルの場所 ~/.aws/credentials ~/.aws/config aws-valult s3 bucket一覧 aws-vault exec ${profile_name} -- aws s3 ls aws ログイン aws-vault login ${pro…

無名関数の中でdeferを呼んだ時の動作の検証

Code package main import ( "fmt" "errors" ) func main() { fmt.Println("---- main start ----") var err error defer func() { fmt.Println("---- main defer start ----") if err != nil { fmt.Println("--> err in main defer") fmt.Println(err) } fm…

Gitでブランチをコミット日付けが古いもの(新しいもの)から表示する

git branch --sort=committerdate

GoでMarkdown内の画像コンテンツを正規表現でマッチさせる

// Match image file path r := regexp.MustCompile(`\!\[.+?\]\(([^\s\)]+).*\)`) match := r.FindAllStringSubmatch(content, -1) // Image Tag Pattern // ![foo](/image/hoge/fuga.jpg) // ![foo](/image/hoge/fuga.jpg "画像タイトル") // [![foo](/ima…

JavaScriptで分割代入したいとき

JavaScriptには分割代入構文があって、オブジェクトリテラルから値を展開する変数を宣言することができる。 例として、 let { bar } = foo この場合bar という名前の変数を作成し、かつオブジェクト foo の同名キーから対応する値を代入するようになる。

「連続〇〇日〇〇しました」みたいなStreakを計算したいときのSQLをMySQLで

Streakを計算したいときに思い出すSQL。 SELECT MAX(streak) AS streak FROM ( SELECT tmp1.*, IF( @prev + INTERVAL 1 DAY = tmp1.date, @streak := @streak + 1, @streak := 1 ) AS streak, @prev := tmp1.date FROM ( SELECT date FROM logs WHERE user_i…

競プロやっていき

main fn main() { println!("Please input."); let input = read_vec::<usize>(); plrintln!("{:?}", input) } fn read<T: std::str::FromStr>() -> T { let mut s = String::new(); std::io::stdin().read_line(&mut s).ok(); s.trim().parse().ok().unwrap() } fn read_vec<T: std::str::FromStr>() -> Vec<T> { l</t></t:></t:></usize>…

リポジトリ一括で落として来たいときに打つコマンド

特定のユーザーで特定のオーガナイザーションのGithubリポジトリを一括でCloneしてきて、zipにまとめたい時に叩くコマンド mkdir `date '+%Y%m%d'` && curl -u ${USER_NAME} "https://api.github.com/orgs/${ORGANIZATION}/repos?per_page=100&page=1" | gre…

Nuxtでnuxt-link(n-link)にリンクのアンダーラインを表示したくないとき

nuxt-link(n-link)を使うと自動的にアンダーラインが引かれるのでデザイン的に困っちゃうことがあると思う。 これはnuxt-linkがaタグを吐くからなんだけど、tagオプションを指定してやると、吐き出すタグを指定することができる。 以下のようにdivタグを吐き…

Nuxtでnuxt-link(n-link)のクリックと同時にイベントを発火したいとき

<nuxt-link to="/hoge/fuga" @click.native="hoge" > こんな感じで@click.nativeを設定してやれば実行できる。</nuxt-link>

GormのPreloadでorder by構文を使いたくなったとき

GormでPreloadの中でorder by 呼びたくなった場合、以下のような書き方(Preloadの中に記述)をすると、 Preloadの中身をよしなにorder byしてくれる。 Preloadの条件式(where)との併用も可能。 err := tx. Limit(limit). Offset(offset). Where("status = ?…

シェルの引数あれこれ

シェルで引数を取得したい場合は $1:1つ目の引数 という感じで取得できるが、 $0:実行時のコマンド名 $#:引数の数 $@:実行時に指定された全パラメーター というような指定も可能。 というのは割と常識なんだけど、 $BASH_SOURCE:実行時のコマンド名 と…

パイプラインの左側でエラーが発生したら処理を止めたい

bashに-eのオプション #!/bin/bash set -eu をつけたとしても、パイプラインの左側のコマンドにエラーがある場合に処理が停止しない。 が pipefailのオプション set -euo pipefail を設定してやると この場合は"hoge"が出力されるが #!/bin/bash set -eu fal…

MySQLでauto incrementカラムに0を入力したくなってしまった場合

このコマンドを打てば0も入力できる。 ただし0を0として認識するようになる。 (デフォルトの挙動は0またはnullのときに自動採番) set global sql_mode='NO_AUTO_VALUE_ON_ZERO'; 何故かオペレーションで必要になった。

LaravelでBasic認証を設定する

l5-very-basic-auth:5.*を利用する。 パッケージをインストールする composer require olssonm/l5-very-basic-auth:5.* サービスプロバイダーへ登録する config/app.php 'providers' => [ Olssonm\VeryBasicAuth\VeryBasicAuthServiceProvider::class, ], 設…

Google Cloud SDKのインストールとGAEデプロイの方法(gcloudコマンド)

ダウンロード curl https://sdk.cloud.google.com | bash シェルを再起動 exec -l $SHELL gcloud init を実行して gcloud 環境を初期化 gcloud init デプロイ gcloud app deploy ログストリーム gcloud app logs tail -s default ブラウザで確認 gcloud app …

php.iniのパスを簡単に探す

php

php --ini php -i php -r "echo phpinfo();" | grep "php.ini"

Laravel関連のコマンド・コード覚書き

Laravel関連のコマンド・コード覚書き Check routes php artisan route:list -v Generate controller sample php artisan make:controller JobController --resource php artisan make:controller UserController --resource php artisan make:controller Us…

GormのPreload時のstatusチェックの挙動

GormのSQLでPreloadを利用する場合、各モデルと紐付けるタイミングで条件を指定したくなる場合がある。 Preloadに条件指定する場合に、上手く実行されるケースとされないケースがある。 こちらは正しくすべてのテーブルでstatusが指定される。 func (questio…

ginでcontextからHeaderの情報を取得する方法

ginでcontextからHeader情報を取得したいときは key := c.Request.Header.Get("key") こんな感じで取得可能。 以上

logrusでログの行数とファイル名を出力したい

logrusを利用していて、ファイル名(filename)や行数(line number)を出力したくなったときは、 SetReportCaller(true) という感じのメソッドを呼んでやればよい package main import ( log "github.com/sirupsen/logrus" ) func main() { log.SetReportCaller…

.ruby-versionsを設置しよう

Railsのプロジェクトをはじめたら、rubyのバージョンを統一するために「.ruby-version」を配置しよう。 rbenv local コマンドで作成することができます。

著作権フリーの顔写真が大量に公開された

Deep Learningを使って生成された大量の顔写真(10万枚)が公開されたらしい。 これは非常に使い勝手がいいので覚えておこう。 generated.photos 著作権フリーの顔写真

GolangでサクッとStructの中身が知りたいとき

ここらへんでサクッと見れる fmt.Printf("%+v\n", hogehoge) fmt.Printf("%#v", hogehoge)

Dartでhttpパッケージを使ってAPIリクエストを投げたらCERTIFICATE_VERIFY_FAILEDになるときの対応方法

この記事は何? Flutterのhttp/http.dartパッケージを使ってAPIリクエストを投げたら、送信先のサーバーが証明書を設定しておらずCERTIFICATE_VERIFY_FAILEDになるときの対応方法。 証明書エラーを無視してリクエストを送信したいときの方法を記載しています…

優れたデータビジュアライゼーションのサンプルを提供する「Data Viz Project」

ビジネスマンは常日頃からスライド作ったり、状況を報告したり、 どうしたら直感的に情報が伝わって、相手とも情報をもれなく共有することができるか、 常に頭を悩ませていますよね。 データをビジュアライズして初めて見えてくるファクトも多いと思います。…