Mac ユーザーが Windows11 を使う準備

円安もありMac が値上がりし、いよいよ私には手の届かない代物になりました。 仕事では Mac・プライベートでは中古の ThinkPad に Ubuntu Desktop をインストールして使っていましたが、 最近の Windows の進化が気になる & 新たに割とハイスペックな ThinkB…

ぼくのRust勉強記録

2020年頃からRustの勉強をはじめました。 元々は競技プログラミングでC++を使っていましたが、TwitterでRustを使って解いている人を見かけて自分もC++からRustに乗り換えようと思ったのがきっかけです。 ただ、競技プログラミングでは結局Rustは使っておらず…

AWS認定資格 アソシエイト系3種合格しました [ありがとうUdemy] [SAA, DVA, SOA]

AWS

前職よりもがっつりAWSを使って開発する会社に転職したので、AWSを体系的に学ぶためにAWS認定資格を受験しました。 9月〜11月でアソシエイト3種一発合格できました。 教材はUdemyとBlack Beltです。ほぼUdemyのおかげ。ありがとうUdemy!です。 以下の模擬試…

文系卒プログラマが半年AtCoderやって緑にはなれませんでした(反省)

AtCoderを始めて半年ほど経過したので、これまでの取り組みの振り返りと今後の方針をまとめました。 よくあるような色変記事ではないため読む価値が怪しい内容ですが、同じような境遇で壁にぶつかっている方がいたら励まし合いたいです。。。 バックグラウン…

ThinkPad T14にWSL2とWindows Terminalを導入して開発環境を整備しました

長年プライベートではMacを使っていましたが、AMDのRyzenがコスパが良いと聞きThinkPad T14 AMDを購入しました。 注文してから約2週間程で手元に届きました。6コア12スレッド、メモリ16GBで10万円程度です。安い。 MacではiTerm2とVim/tmuxを使ってプログラ…

OSや言語のバージョンなど環境情報を確認したい時はnpx envinfoが簡単で便利

Githubでissueを眺めていたらnpx envinfoというコマンドで自身のPCの環境を記載している方がいました。 非常に便利なコマンドなので紹介したいと思います。 envinfoとは github.com npmパッケージとして提供されてます。npm install -gで自身のPCにグローバ…

Nuxt.jsでブログを作る場合はnuxt/contentが良さそうな件

以前、私はNuxt.jsといくつかのパッケージを組み合わせて自力でブログを作って公開していたことがありました。 当時作成したブログテンプレートについては以下の記事で紹介しているリポジトリを参照ください。 ulab.hatenablog.com 色々試行錯誤して作成して…

WSL2とWindows TerminalでMac卒業計画

iTerm2とChromeしか使っていないのでもはやMacではなくWindowsでも良いのではと思い、試しにWSL2とWindows Terminalを使ってみました。 なかなか良いです。Macを卒業できそうです。 これまでのMacとの付き合い 学生時代に初めてMacBook Air(2011年のモデル…

Trelloでラベル名でカードを検索する

超初歩的ですがGoogleで「trello ラベル 検索」で検索してもすぐにわかる記事がなかったので・・・ 左上の検索フォームで「label:ラベル名」と入力するだけです。 競技プログラミングで解けなかった問題の管理や問題ジャンルの整理にTrelloを活用してます。

Raspberry Pi 4にUbuntu 20.04を簡単にインストールできた話

Raspberry Pi 4にUbuntu 20.04をインストールしてみたのでその手順のメモです。 手順とはいっても公式のチュートリアル通りにやったら簡単にできました、というただの報告みたいな内容です。 購入したRaspberry Pi 4について セットアップが楽そうなケースや…

Elasticsearch6.xで設定していたdiscovery.zen.ping.unicast.hostsは7.xだとdeprecationなのでdiscovery.seed_hostsとcluster.initial_master_nodesを設定する

Elasticsearchの勉強のために以下の書籍を読んで、ローカルでDockerを使ってElasticsearchを複数ノード起動して遊んでいました。この書籍ではElasticsearchは6.x系が前提です。 Elasticsearch実践ガイド impress top gearシリーズ作者:惣道 哲也発売日: 2018…

AWS LambdaのデッドレターキューとSNSでリトライ構成を構築する(実践編)

前回の記事で準備したServerless Frameworkを使って、デッドレターキューを利用したAWS Lambda関数のリトライ構成を構築してみます。 ulab.hatenablog.com なお、本記事に記載している関数のコードは下記リポジトリです。Serverless Frameworkでデプロイも可…

AWS LambdaのデッドレターキューとSNSでリトライ構成を構築する(Serverless Framework準備編)

AWS Lambdaを利用する場合、失敗した場合に大元の関数の引数等を引き継いで何らかのリトライ処理を実行したい場合があると思います。 本記事では、AWS LambdaのデッドレターキューとAWS SNSを利用した関数のリトライ構成について、Serverless Frameworkを使…

競プロで使用するC++の<bits/stdc++.h>が構文チェックでエラーになる(Vim)

競技プログラミングでよく使われるオールインワンのヘッダーファイル<bits/stdc++.h>ですが、使用しているエディタの構文チェックで当該ファイルが見つからずエラーの波線が出続ける、ということがあります。 本記事は私が普段使用しているVimとvim-lspでの構文チェックエラ</bits/stdc++.h>…

Node.jsでシェルコマンドを実行する際にchild_process.execではaliasが使えない

タイトルの通りですが、例えばNode.jsで以下のようなシェルコマンドを実行をしようと思った時、 // 同期的に実行するためにexecSyncを例に使用する const execSync = require('child_process').execSync; // hogefugaはalias // alias hogefuga="hoge hoge f…

文系卒プログラマが競プロ(AtCoder)をはじめました

競技プログラミング(AtCoder)を始めたので、その経緯や方針をまとめました。 既に競プロ強者には一切価値の無い記事です。 強いて言うなら私と同じ境遇・レベルの文系卒コーダーにはほんの少しだけ有益な情報があるかもしれません。 もくじ 私のスペック …

Railsをprometheus / grafanaで監視する(全部dockerで)

railsをprometheusとgrafanaで監視するための環境構築メモです。全てdockerで起動させます。 本記事はprometheusとは、grafanaとはという点には触れていません。 もくじ 環境 構成 準備 railsの初期設定 prometheusのtargetsで確認 grafanaで可視化する rail…

Vim tmuxのプレフィックスを使わないでウィンドウとペインを移動する

vim

以下の記事の内容とほぼ同じなんですが・・・ tmuxのプレフィックスに疲れたらbind -nオプションを使おう · THINKING MEGANE 最近、今更ながらtmuxを導入しました。これまではiTerm2のウィンドウ分割と複数タブでなんとかしてきました。しかし、やはり一Vimm…

文系卒エンジニアがマセマの参考書で数学を復習した話

割と有名だと思われる以下の記事を読んで、2019年末あたりから高校数学を復習していました。 業務では機械学習は無関係ですが一エンジニアとして少しはキャッチアップしたいと思い、約10年ぶりに数学に触れました。 qiita.com 仕様(私の) 高校では数学は苦…

Rails / Elasticsearch / Vue.js でオライリー書籍名と目次の全文検索を試す

業務でElasticsearchを触ったので忘れないうちに実装時のメモがてら適当な全文検索webアプリをつくってみました。 Githubのリポジトリは下記です。production用途ではないためローカル開発環境で実行する準備しかしていません。 github.com 概要 オライリー…

vimで非同期で構文チェック(Linter)するALEを導入する

vim

今更ですがvimで非同期で構文チェックできるようにしました。 VSCodeからvimに乗り換えて半年程経ちプラグインを漁ってたところレバテックの以下の記事をみてそういえばLinter入れていないと思い導入することにしました。 career.levtech.jp 環境 Mac: macOS…

Ruby on AWS LambdaをDockerで試す with Serverless Framework

RubyでAWS Lambdaの勉強をしようと思い、開発環境を用意しました。 実行環境 OS: macOS Mojave Docker Desktop: 2.1.0.3(Engine: 19.03.2) docker-compose: 1.24.1 概要 ローカルの環境を汚したり切り替えたりするのが面倒だったのでDockerで構築しています…

最新のElasticsearch Rails(7系)のcreate_index!でclass_cast_exceptionが出る件(原因不明)

Elasticsearch-railsを試そうと思ったところ、インデックスを作成するところでエラーとなり詰まりました。 結論としては原因不明で解消していませんが、使用するElasticsearchのバージョンを下げて回避しました。 環境 Ruby 2.6.3 Rails 5.2.4 elasticsearch…

VueRouterでTypeError: Cannot read property '$createElement' of undefinedのエラーが出た

Vue CLIなど使わず手作業で一らかアプリケーションを作っていた時、VueRouterが原因でブラウザのコンソールに以下のエラーが・・・ TypeError: Cannot read property '$createElement' of undefined 最初何が原因かわからず戸惑いましたが、超初歩的なミスで…

Nuxt.jsでmarkdownで書くブログをつくるためのテンプレートを作った

[2020/08/08 追記] 現在はNuxt.js公式でnuxt/contentというパッケージが開発されており、本記事のような自力でmarkdownをhtmlに出力する努力は不要となりました。詳細は下記記事をご覧ください。 ulab.hatenablog.com 一時期Nuxt.jsでブログを作ってNetlify…

RailsにElasticsearchを導入する modelごとにmappingsを実装する

ulab.hatenablog.com 上記の記事で、Elasticsearch-modelのsettingsとmappingsはREADME記載例通りではない書き方ができることを紹介しました。 本記事ではこれの何が良いのかご紹介します。 settingsをベースmoduleにまとめる 以下のように、settingsだけ記…

いつのまにかGithubでコードジャンプ(定義へ移動)できるようになっていた件

最近?なのかわかりませんが、最近Github上でのコードジャンプができるようになったみたいです。 help.github.com パブリックリポジトリのみっぽいので会社や個人で開発しているサービスなどのソースではコードジャンプできませんが、Githubに公開されている…

RailsにElasticsearchを導入する settingsとmappingsは別々に自由に定義できる

今回はelasticsearch-modelという、RailsにElasticsearchを導入する際に必ず利用するであろうgemについてです。 github.com 本記事はgemの使い方という入門者向けではなく、私自身が実際に悩んでgemのコード読み漁ったことをざっくりとご紹介します。 Elasti…

yarnのIncorrect integrity when fetching from the cacheではまった(初歩的?)

JS

Macでyarnを入れて適当なディレクトリで何か開発しようと思ったら以下のエラーが。 $ yarn add XXX yarn add v1.19.0 [1/4] Resolving packages... [2/4] Fetching packages... error Incorrect integrity when fetching from the cache info Visit https:…