こんなデータがあります こうする postgresとかだとboolorでできるみたいだけどsnowflakeでもboolor_aggで出来る。 www.fixes.pub こんなデータがあります create temp table test_boolean_agg( id integer, c1 boolean ); insert into test_boolean_agg (id…
WSLとgit 理由は単純 どうする? デモ WSLとgit WSL2を普段使っているが、大きなプロジェクトになるとgit statusが非常に遅いのがストレスになってきた。 ❯❯❯ time git status git status 0.05s user 2.60s system 44% cpu 6.010 total ❯❯❯ date '+%Y-%m-%dT…
2020年10月から恐らく僕は学生となります。 大学院行く動機 作戦 研究テーマ セキュリティ? 面接前 面接 締め 大学院行く動機 今までの自分の知識基盤が歪で、体系立ってない自分の雑魚さに遂に嫌気が刺した 洋書読むと英語/数学/CSの知識が当然のように要…
アコーディオン?? へえ、じゃあそれでいいじゃん。 試行錯誤 そもそもどうアニメーションしているのか。 なにが悪いのか 問題点を洗い出す 結論 感想 アコーディオン?? 元々jQueryで実現されていたアニメーションで、 イベントに応じて、隠れた要素が伸…
はじめに サービスで使用しているEKSのデプロイをクラスターバージョンを変えるのを機に、 デプロイだけCDKでやることにしたのでその話を備忘録としてまとめておく。 はじめに eks eksctl cdk cdkのeksリソースってどうなの? なんでeksctlからcdkに変えたの…
TL;DR peco + ghq + VS Codeとかでやってるのと変わらんけど。 VS Codeでもghq - Qiita ghq, peco, hubで快適Gitライフを手に入れよう! - Qiita ghqでインストール済みのレポジトリをIntellij IDEAで開く gi() { local REPO=$(ghq root)/$(ghq list | fzf) …
初めに 本記事は Scala Advent Calendar 2019の12日目の記事の代行です。 仕事でなんとなく使っていた、 Scalaの関数型ライブラリのcatsのバリデーションモナドのValidatedNecとValidatedNelの違いについて勉強していきます。 typelevel.org catsのValidate…
はじめに 本記事は Kuberenetes Advent Calendar 2019の17日目の記事です。 Kubernetesのリソースの中に、定期的に揮発性のあるジョブを生み出すCronJobについての記事です。 はじめに 本題 ソースを読む。 syncAll syncOne getRecentUnmetScheduleTimes cro…
はじめに 本記事は Kotlin Advent Calendar 2019の9日目の記事です。 はじめに この記事で書くこと ①ktsファイルを書いて実行する。 ②kotlinで書いてgradleで叩く。 ③kscriptを使う。 おわりに この記事で書くこと kotlinのプロジェクトを管理していると、 …
はじめに 本記事は Kotlin Advent Calendar 2019の8日目の記事です。 Jetbrain社製のkotlinで書かれたORMについて話していきます。 github.com はじめに Exposedの軽い紹介 やっていき そもそもSELECT文で取り出したEntityをData Classに射影するのどうする…
はじめに 本記事は Kotlin Advent Calendar 2019の1日目の記事です。 今回は前回当該ブログでも紹介しました、https://github.com/michaelbull/kotlin-resultについて事例をつけてご紹介させていただければと思います。 はじめに michaelbull/kotlin-result…
関数型プログラミングによくあるResultって便利だよね 例えばRustでは標準で搭載されているFunctionalなエラーハンドリングの表現の一つで、 fn hoge() -> Result<String, Error> { match huga() { 0 -> Ok("OK".to_string()) _ -> Err(Error("error occured")) } } みたい</string,>…
cookie-universal-nuxt? nuxtでcookieを使うライブラリ www.npmjs.com cookieを入れるときはこんな感じ export default { created() { this.$cookies.set('isVisited', true, { path: '/', maxAge: 60 * 60 * 24 * 7 }) } } もらうときは data () { return …
カリー この事らしい。 def curry[A,B,C](f: (A, B) => C): A => (B => C) = (a: A) => (b => f(a, b)) // curry: [A, B, C](f: (A, B) => C)A => (B => C) 異なる型パラメータA,B,Cに対してA,Bを引数に取り戻り値がCとなるような関数をAを引数にして戻り値…
botkube? botkubeはinfracloud社が出している、kubernetes上で動くChatOpsをするためのbot。k8s上での必要最低限欲しいイベントをフックしてslackとかに投げてくれたり、 @botkube get node みたいにkubectlみたいにchat上でコマンドを投げればその情報を取…
TL;DR fn main() { println!("{}", space_replacer("hello world dayo e?".to_string().as_mut_str())); } fn space_replacer(src: &mut str) -> String { let dst = &mut src.replace(" ", " "); match dst.find(" ") { Some(_) => { space_replacer(dst) }…
目次 目次 ソース 問題点 おさらい 対策:ダミーのCargo.toml Cargo.lockを作ってDockerfileに仕込んでおく。 dummy-cargo-toml-createrは何をしている? 最後に ソース RustのCargoプロジェクトで素直に書いたDockerfileをdocker buildするとソースが書き換…
ある日、こんな記事が。 Release notes (Rapid channel) | Kubernetes Engine Documentation | Google Cloud GKE Sandbox is supported on v1.14.x clusters running v1.14.2-gke.2 or higher. The following IP ranges have been added to default non-IP-m…
TLDR; botoを対応バージョンにしてから、 $ pip install -U boto==2.49.0 boto.config で指定してやる。 if not boto.config.get('s3', 'use-sigv4'): boto.config.add_section('s3') boto.config.set('s3', 'use-sigv4', 'True') s3 = boto.s3.connect_to_r…
TL;DR docker-rmi-all(){ if [ -z ${1} ]; then echo "Usage: ${0} <docker image name>" return 1 fi docker images | grep ${1} | tr -s ' ' | cut -d ' ' -f 2 | xargs -I {} docker rmi ${1}:{} } docker image prune? docker image pruneだと「システムに利用されてないイ</docker>…
とある嫁案件が事の発端 要件と成果物 要件 成果物 Twitterまわり TwitterのStreamって廃止されたんじゃないの? Twitter APIを叩くのに開発者用のアカウントを作らなきゃいけない。 Rustまわり 使ったライブラリについて 420コード 420コードへの対処 420コ…
Zshrcの開発環境・・・? zshrcやzshのプラグインの開発環境として、dockerイメージを作成した。 github.com hub.docker.com まぁなんで作ったかって言ったらなかったからだけど。 Dockerfile # 1st stage, for development container FROM centos:7.6.1810 …
DynamoDBとは。 DynamoDBはNoSQLで、速くてサーバレスな奴だが、詳しい説明は他所に任せたい。 www.ketancho.net dev.classmethod.jp DynamoDBをGoで扱うには。 どうやら guregu/dynamo を使ってやるのは一般的らしい。 qiita.com しかし、↑やREADMEにはINDE…
dockerのログのデフォルトのフォーマットはjsonな事が多いね ってか今もデフォルトでjsonだっけ?とりま今現状GKEとかEKSとかECSとかで、アプリがどっかに吐いたJSON形式のログをfluentdのdaemonsetでログを見に行って出力してみるとこんな感じになってる。 …
zapって? uber社が作っているgolangで使う超いけてるログドライバ。 github.com 基本というかほとんどの日本語情報は以下を見ればいい。 qiita.com 構造化されたログを吐き出す癖にあらゆる非構造化ログドライバより速いらしい。 (真面目な話、非構造化って…
はじめに 主に僕は書籍を通じてRustを勉強していたが、はっきり言って全く理解できなかったので生存期間に引き続きコードで記述する事で理解しようと思った。 Rustのモジュールの考え方について Rustは任意の型に対して通常 impl を用いて以下のようにモジュ…
指数表記の文字列型???何それ? これ。 package main import ( "fmt" ) func main() { fmt.Println(float64(1000000)) //-> 1e+06 } play.golang.org goで浮動小数点数型をデフォルトではフォーマットした時に 1e+06 のように出力され、こういう表記を指…
はじめに。 Rustの言語機能の核に、所有権、参照、そして生存期間とあります。 個人的に生存期間が特に理解が難しかったので、復習がてらブログを書きます。 生存期間とは? Rustコンパイラは全ての参照型に対して、その参照の使われ方によって生じた制約を…
Rustのバージョンには。 stable beta nightly という三種類があり、nightly は最新の開発版で、stable がリリース版です。beta では nightly でのテストが終わりリリースに向けた機能が利用できます。普通の感覚では、 stable を皆手に取るでしょうが、例え…
はじめに この記事はCyberAgent Advent Calendarの20日目の記事になります。 adventar.org ローカルにkuberentesを立てる時、皆さんどうしてますか? うん、多くの人は minikube をたてて試していることでしょう。 github.com しかし minikube は色々なプラ…