2019-01-01から1年間の記事一覧
$ node > let obj = { hoge: "hogehoge", fuga: "fugafuga" } > Object.keys(obj).forEach(key => console.log(key, obj[key])) hoge hogehoge fuga fugafuga 参考 How to loop through a plain JavaScript object with the objects as members? - Stack Ove…
1から100までの数字を標準出力に改行つきで出力するプログラムを作ってください。 3の倍数と3がつく数字の時だけ、数字のあとに!をつけてください。 出力例: 1 2 3! 4 5 6! 7 8 9! 10 11 12! 13! 14 ...以下100まで続く コンソールで実行しやすいようにワン…
表題の通りですが、 has_many した時も create_xxs 的なメソッドが自動生成されると勘違いしていたのでメモ。 ActiveRecord::Associations::ClassMethods class Project < ActiveRecord::Base has_one :project_manager has_many :milestones end Project#cr…
あとでサンプルコード追加するかも。 早く Haskell やれやって話なんですけどね。 この記事のシリーズがだいぶ分かりやすかった。 tech.recruit-mp.co.jp 高階関数 関数を『引数』もしくは『返り値』として扱う関数のこと。 カリー化 期待される数より少ない…
細かい仕様の違いはあるかもしれないが、大体以下の感じで理解している。 スプレッド構文 Array に関しては Ruby でいう配列の展開(*)とほぼ同じかな。 スプレッド構文を使うと、関数呼び出しでは 0 個以上の引数として、Array リテラルでは 0 個以上の要…
完全に自分用のメモ。 軽い調査結果も残しておく。 求人検索 Google Job Search API (Cloud Talent Solution) GCP アカウント必要、アカウント作ると12ヶ月3万円無料期間始まるので開発直前に始めた方がいい Cloud Talent Solution documentation | Job Sear…
2019/12/23 Update この記事の内容は不要になったっぽい。 Revisions of "VSCodeでESLint+@typescript-eslint+Prettierを導入する(v2.0.0修正版)" - Qiita 以下、元記事。 JS のプロジェクトを TS に変更したら ESLint の整形が効かなくなったのでメモ。 V…
React x Flow or TypeScript の開発をやるにあたり、関数型言語と型システムの知識がないことがボトルネックになってきたと感じるので、ずっと積んでいた『すごいH本』を亀のようなスピードで進めている。 すごいHaskellたのしく学ぼう!作者:Miran Lipovača…
前提 GraphQL のレスポンスのフォーマットに関するベストプラクティスとして、レスポンスの HTTP ステータスコードは 200 で統一、レスポンスの errors キーにエラーの詳細な情報を持たせる というのがある(公式な仕様ではないが、Apollo Client も graphql…
だいぶメモ書きです。 表題の件、まだ曖昧にしか理解できてない。 ググっても浅い情報しか出てこないし、各ライブラリのソースコードを読んでみたけどどう繋がってるか、それぞれどんな役割を担っているか把握するのムズいなぁ…。 結論 色々調べてここまで分…
自分はいつもプライベートの開発ではこんな感じで rails new やってます、というのを備忘録もかねて載せておきます。 基本的に使うか分からないライブラリのファイルは生成しないようにしています。後から genarate コマンドで簡単に追加できるので。 通常の…
タイトルのまんまですが、 Web に落ちてる記事の中にはわざわざログイン状態を React Native の AsyncStorage を使って保存してる実装のものもあったので、勘違いしないようにメモ。 Firebase Authentication では デフォルトで 明示的にログアウトするまで…
iOS Simulator にインストールされている Expo アプリのバージョンが古いとのこと。 iOS Simulator の Hardware > Erase All Content and Settings してから再度 $ expo start -i すれば最新版の Expo アプリが install されます。 参考 javascript - expo i…
普段は Rails でアプリケーション開発してる自分ですが、プライベートで以前から触っていた React Native のイベントに行ってきました。 r-n.connpass.com 詳細なレポートは以下がとてもよくまとまってると思います。 【第5回】 「ReactNativeにゆかりのある…
デフォルトだと選択されているファイルやフォーカスされているファイルが見づらすぎてキツイので。 // settings.json { "workbench.colorCustomizations": { // 現在選択されている(開かれている)ファイルの背景 "list.activeSelectionBackground": "#777"…
内容は超ショボいんですが、一応初めての記念として。 自分自身が普段使っている vim-snippets の React の部分を直したいなーと思って、 PR を送りました。 英語力をもっとつけなれけば、と強く思いました…。 github.com
URL を共有する時にとても便利なやつ。 ちなみに自分は Amazon に関しては必ずこの方法で、 Wikipedia に関しては余裕があればこの方法で URL 共有してます。(メールや Slack で長い URL が来るとウッ、、ってなるので) 詳細は 参考 で挙げたページに書い…
おや、 > で上書きできない? $ zsh --version zsh 5.7.1 (x86_64-apple-darwin18.2.0) $ echo foo > bar.txt $ cat bar.txt foo $ echo baz >> bar.txt $ cat bar.txt foo baz $ echo hoge > bar.txt zsh: file exists: bar.txt $ echo hoge >| bar.txt $ c…
例えば CLI アプリケーションを実行するのに何らかのクレデンシャルが必要な時、アプリケーション側で環境変数に対応してくれている場合はこんな感じでやるといいよと職場の方に教えてもらった。 自分は zsh を使ってるので、その前提で話を進めますがどのシ…
neovim にしたらステータスラインのメッセージが「挿入」とか日本語になってつらいと思って、 vim のドキュメント 見ながら let $LANG='en' を init.vim に追加したらヤンクがバグって複数行のヤンクができなくなった。 let $LANG='en_US.UTF-8' と書いたら…
自動インデントも改行時のインデントもおかしい、、という時は :filetype indent on になっているか確認しましょう。 vim で適当なファイルを開いて :filetype コマンドで確認できます。 # こんな感じで表示される filetype detection:ON plugin:OFF indent:…
はじめに RubyKaigi 2019 に参加してきました。自分の聞いた発表のレポートや所感を書いていきます。(現時点で Twitter でスライドが公開されているものは載せておきます) 自分の理解・関心の度合いによって、文量に差が出ていますがご容赦ください。 間違…
表題の件、ずっと曖昧に理解していた。 1.2 複数のオブジェクトをバッチで取り出す - Active Record クエリインターフェイス - Rails ガイド Rails のコードも読みながら ↑ の内容にプラスα してまとめる。 結論 処理するレコードが 1000 件以下なら何使って…
社内勉強会のコピペ。 HTTP とは HTML など をやり取りする時の決まりごと Web は URL で指定した HTML など を HTTP という決まりごとに沿ってやり取りしている 詳しくは Webを支える技術 という本に書いてあります 今日話すこと Ruby の標準ライブラリで H…
GraphQL はほとんど関係なく Ruby の話です。 GraphQL Ruby を実行する時はだいたいこんな感じで使う。 # app/graphql/my_schema.rb class MySchema < GraphQL::Schema # ... end # app/controllers/graphql_controller.rb result = MySchema.execute( param…
タイトルのまんまですが。 nil が回ったりするのかなと勝手に思ってました。 # レシーバが空の配列だとブロック内は実行されない [].each { puts 'hoge'} #=> [] [].each { |i| puts i } #=> [] # Hash#each も同じく {}.each { puts 'hoge'} #=> {} {}.each…
最短かつスマートな方法を考えた結果こうなった。 ## あらかじめ GitHub で hoge リポジトリを新規作成しておく $ git clone {複製元リポジトリのURL}.git hoge $ cd hoge $ git remote set-url origin https://github.com/{user_name}/hoge.git $ git push …