lumeで個人サイトを作り直した

フロントエンド技術に触れる機会を作るために、定期的に個人サイトを作り直している。 今回はVue.jsのSPAから、Deno向け静的サイトジェネレータであるlumeを使った構成にごっそり変えた。 lume.land SSGをしっかり触るのは初めてだったこともあり、ひとまずl…

DockerコマンドのGo言語ラッパーを作った

この記事はSecHack365 アドベントカレンダー2022の2日目です 25日の夜にコーディングから始めて日付が変わってしまいましたが、空いていたのでねじ込ませてもらいます。 qiita.com はじめに 開発の背景 実装 おわりに はじめに SecHack365 2019年度の修了生…

Docker Engine SDKでリモートのDocker daemonにSSH経由で接続する

以前の記事でDocker Engine SDKの使い方について解説しました。この頃 (2020/12) はビルドに少し工夫 が必要でしたが、今 (2022/09) では go mod tidy で用意された go.mod でそのままビルドできるようになっていました。 この記事では、Docker Engine SDKを…

MarkdownとGlamourでGo製ツールの画面出力を色付かせる

最近Charmというプロジェクトのライブラリを使ってみています。Charmでは、CLIにText InputやListのようなリッチなコンポーネントを組み込める Bubble Tea や、ターミナル上の色やレイアウトなどのスタイルを定義する Lip Gloss など、便利なライブラリが公…

東京に来た

4月からの職場が東京なので、北海道から引っ越してきました。 生まれも育ちも北海道なので、ドキドキですね。 新居の周りは結構便利なところで、徒歩圏内で生活を完結できそうなくらいです。 電車(というか人混み)が苦手なので、助かっています。 便利な立地…

AWS CDKでデプロイはせずにStepFunctionsのワークフロー定義(Amazon States Language)を生成

この記事はLOCAL Students Advent Calendar 2021の11日目の記事です。 adventar.org AWS CDKを使えば、Step Functionsのワークフローをtypescriptなどのコードから生成してデプロイすることができます。 ここではデプロイはせずに、AWS CDKからStepFunctions…

Golangでnet/rpc over Unix domain socketのハンズオン

この記事はLOCAL Students Advent Calendar 2021の1日目の記事です。 adventar.org はじめに Golangのnet/rpcパッケージを使って、Unix domain socket上でRPCを行うサンプルを書いてみたので、これについて説明します。 デーモンとして動くプロセスをclient…

spyzhov/ajson を使ってGolangでJSONPathとかJSONの組み立てとか

GolangでJSONPathを使う必要がありライブラリを探していたところ、spyzhov/ajson が便利でした。spyzhov/ajson を使ってJSONPathを使ったりJSONを組み立てたりする方法についてまとめます。 github.com JSONPath を使う func Unmarshal type Node func JSONP…

GolangでDockerの公開ポート設定のように数値のペアをフラグとして受け取る

自分用スニペットです。 表題の「Dockerの公開ポート設定」とは以下のようなものです。 -p 8080:80 -p 192.168.1.100:8080:80 -p 8080:80/udp Container networking | Docker Documentation このように、-p 1:2として「1-->2」という対応、また-p "1:2, 3,4"…

Docker Rootless modeを使う (ユーザー権限でsystemctlを動かす)

DockerにはRootless modeというものがあり、デーモンとクライアントをユーザー権限で動作させることができます。これをインストールする際にユーザー権限systemctlの辺りで嵌ってしまったのでメモを残しておきます。

Golangで普通の文字列をflagで解析する

小ネタです。Goのflagパッケージを使えば、コマンドライン引数の解析を簡単にできます。プログラムに与えられた言わば本当のコマンドライン引数(つまりos.Args)ではなく、ただのstringをコマンドライン引数として解析する方法について書きます。

個人サイトを作り直した

「個人サイト」ってなんか良い響きですよね。これまでは「ポートフォリオサイト」として作っていたんですが、就活が終わったのを機に作り直してみました。

自分のためのLT駆動開発 (と、それを支えるコミュニティ)

学内の情報系の学生で集まってLTをする会というのを続けて4年目に突入しました。もともとこの会は諸先輩方が続けていたもので、僕と同級生達が運営の中心に立ってから2年ほどになります。運営にあたって、各参加者が自分自身のために発表できることを特に意…

htermで画像のインライン表示・ダウンロード

はじめに ChromeからSSH接続ができる、Secure Shellという拡張機能をよく使っています。 このSecure ShellはGoogleが開発しているもので、内部でhtermというターミナルエミュレータが使われています。このhtermはiTerm2におけるOSC 1337コマンドを一部実装し…

就職することになりまして

はじめに 来春から就職することになりまして。就職先が決まるまでの過程を振り返ってみようと思います。 就活テクニックみたいなものではありません。

地方学生コミュニティとオンライン化

こちらは地方IT勉強会 Advent Calendar 2020 13日目の記事です! adventar.org はじめに LOCAL学生部のはいばらです。LOCAL学生部は、北海道の技術系学生のコミュニティです。詳しくは以下の投稿を御覧ください。 haibara-works.hatenablog.comまた、LOCAL学…

GoでDockerを操る [Docker Engine SDK]

こちらはDocker Advent Calendar 2020 5日目の記事です! qiita.com(2020/12/16:Dockerfileを用いたビルドについて追記しました。) はじめに DockerはDocker Engine API (旧 Docker Remote API)という仕組みをもっており、Unix Domain Socket の通信によっ…

Chromebookを買ってみた

こちらはLOCAL students Advent Calendar 2020 2日目の記事です! adventar.org はじめに LOCAL学生部のはいばらです。 先日、最近ではGIGAスクール構想の話題でも耳にするChromebookを買ってみました。SSHやRDPを設定してみた様子を現場からお伝えします。

北海道の技術系学生コミュニティ LOCAL学生部のご紹介

こちらはLOCAL students Advent Calendar 2020 1日目の記事です! adventar.org はじめに LOCAL学生部のはいばらです。この記事では、私が所属しているLOCAL学生部についてご紹介します。

『CTF形式で学ぶ Cプログラムの脆弱性』事前課題編

『CTF形式で学ぶ Cプログラムの脆弱性』の事前課題です。 www.security-camp.or.jp ※事前課題に取り組む前に、以下の記事に従って環境構築を行ってください。 haibara-works.hatenablog.com

Google Slidesの一覧ページをつくる (Vue.jsとGASでタイトル・サムネイルの表示)

はじめに ポートフォリオサイトを作っていて、今までに作成したGoogle Slidesの一覧ページをつくりたくなりました。 いわゆる「スライド共有サービス」というものもいくつかありますが、それらはスライドを画像やPDFに変換してからアップロードする必要があ…

『CTF形式で学ぶ Cプログラムの脆弱性』環境構築編 (演習用VMのインポートとSSH接続まで)

セキュリティ・ミニキャンプ in 北海道 2020で『CTF形式で学ぶ Cプログラムの脆弱性』という講義を担当することになりました、はいばらと申します。 これは講義中の演習に必要な環境構築について説明したものです。せっかくなので、ミニキャンプ外にも公開す…

はてなサマーインターン2020にリモート参戦した

この度、5日間・フルリモートという形式で開催された、はてなサマーインターンに参加してきました! hatenacorp.jp

はてなブログでVue.js + Vuetifyを使う

はじめに はてなブログは、記事の中にscriptタグを埋め込めばJavaScriptを使えるようです。さらにCDNを使えば、ライブラリやフレームワークも使うことができます。そこで今回は、はてなブログの記事中でVue.jsとVuetifyを使ってみました。何の役に立つかはわ…

GIthub Actions で Git Submodule を 最新に更新して処理する

はじめに ポートフォリオサイトを、Github Actionsでビルド・Github Pagesで公開というように運用しているんですが、他のリポジトリにあるプロジェクトもGithub Pagesで公開したくなることがありました。Github Pagesのリポジトリで、公開したいプロジェクト…

Vue Router環境でWebAssemblyを使う

はじめに Vue CLI + Vue Router + Vuetifyで構築したSPAでWebAssembly(以下Wasm)を使おうとして,少し詰まったのでメモしておきます.

大学に入って2年が過ぎました(これまで勉強してきたことなどのまとめ)

はじめに この春,僕も無事に学部3年生になれたようです.ふと入学当初のことを思い返すと「わーなにも知らなかったなぁ」という気持ちになるのですが,一方でこの2年で結構たくさんことを学べたのかなぁとも思います.なにせ情報系の分野は「学校では教えて…

PythonでGithubから1MB以上のファイルを取得する[Github API, PyGithub]

はじめに こんにちは.最近カネコアヤノにハマっているはいばらです.いいぞ. https://www.youtube.com/watch?v=_6rB7U-_yPg ところでGithubレポジトリごとcloneするのではなく,レポジトリ上のあるファイルだけをローカルで取得したい,という状況になった…

ubuntuでraspiにArch Linuxをインストールする(SSH接続するまで)

ubuntuでraspiにArchを入れようと思ったらちょっと苦労したはなしです. 環境 Ubuntu 18.04 LTS Raspberry Pi 3 MODEL B

ESP-WROOM-02を導入する

この記事はMuroran Institute of Technology Advent Calendar 2018 の9日目です。 adventar.org はじめに ESP-WROOM-02(以下esp)をarduinoIDEで開発し,書き込みと実行をするまでに必要な手順について書く. espは開発ボードではなく,スイッチサイエンスや…