Report of Scarlet

@sh4869 tech blog | 猩々緋報

Category: tech

  • AlpakkaのUnix Domain Socketサポートを使ってScalaからDocker Engine APIを叩く

    Docker Engine API はその名の通り Docker の API である。基本的に docker コマンドはこの API を使って実装されているので、この API を使えばコマンドでできることがすべてできる(僕の理解では)。 Develop with Docker Engine API | Docker Documentation この API は Unix Domain Socket を使って通信している。サンプルでは Python, Go, curl でのサンプルがあるが、Unix Domain Socket を使えればどの言語でも実装できる。Scala ではalpakkaが Unix Domain Socket をサポートしているので、これを使う。 Unix Domain Socket • Alpakka Documentation これでおしまいかというと
  • Travis CIからGitHub Actionsへの移行

    今までブログや日記等に travis-ci を使っていたところを、GitHub Actions に移行した。移行作業自体そこまで大変ではなかったけど、こういうのはメモしておかないと文法や作法を忘れてしまうので備忘録的に書いておく。 diary プロジェクト概要 レポジトリ: sh4869/diary: My Diary System written by Rust 構成 ビルドツール: Rust デプロイ先: Firebase 手元でもざっとビルドできるように、cargo runしてからfirebase deployするとデプロイされるようになっている。デプ
  • fs2(Scala)を使ったBotフレームワークを作る

    この記事はデジクリアドベントカレンダー 9日目の記事です。 こんにちは。この記事では、Scala の Stream プロセッシングライブラリである fs2 を使って、自作のBot フレームワークを作ってみたいと思います。 はじめに Slack や Discord 等で使われるための Bot を作る、といった場合、どのようなプログラムを想定するでしょうか。多くの場合は使いたい言語の Slack のライブラリを利用したり、 hubot や ruboty といったフレームワークを利用することを考えるでしょう
  • VSCodeのLaTeX Workshopの設定について

    VSCode で LaTeX Workshop を使うたびに混乱したくないのでまとめておく. LaTeX Workshop James-Yu/LaTeX-Workshop: Boost LaTeX typesetting efficiency with preview, compile, autocomplete, colorize, and more. これ.VSCode 上で適当に LaTeX を使うには十分なんだけど十分すぎて設定の概念を忘れてしまう. Autobuild LaTeX Workshop はデフォルトでAutobuild が有効.もしこれが気に食わないなら never にすればよいが,監視のプロセスは常に立ち続けているので VSCode 使うなら有効にして委ねてしまうほうが良い. recipes と tools LaTeX Workshop でコンパイルの設定をかえるときに主に「tools
  • React RouterとContext APIを組み合わせて使う

    React Router と Context API を組み合わせて使う方法について記述しておく。 環境 React: 16.4.0 React-Router: 4.2.2 問題 React Router v4 から history.push をするときに、state という引数を渡すことができるようになった。 this.props.router.push({ pathname: "/to", state: { test: "test" } }); これは先のコンポーネントではthis.props.localtion.state.testとして取得できるのだが、これをあまりやりたくない。理由はいくつかあって、 そもそもデータの受け渡しの場所をむやみに増やしたくない this.prop
  • Rustでの日記生成ツール

    自分の日記Daily Bread1のビルドシステムはRustで作ってあって、これのシステムの(といってもそんな複雑なものではないが)の解説をしようと思う。 sh4869/diary: My Dialy System written by Rust 全体の構成 このRustのプログラムでは次のような流れで日記をビルドをしている。 日記ファイルの検索 ファイルそれぞれのビルド トップページのビルド 日記ファイルの検索 ファイルに日付情報を保存させておくのは使用ライブラリ上面倒だったので、ファイ
  • ArchLinuxでFlutterをインストールするときのメモ

    ArchLinuxでFlutterをセットアップするときのメモです。特に躓くことはないのですが、一部別にパッケージをインストールする必要があるのでメモしておきます。 Get Started: Install on Linux - Flutterに書いてある通り、まずプログラムをGit cloneします。 git clone -b beta https://github.com/flutter/flutter.git export PATH=`pwd`/flutter/bin:$PATH PATHを通した状態でFlutterコマンドを実行すると、実行環境諸々勝手にインストールしてきてくれます。便利!! flutter そのあとに、flutt
  • 静的Webサイトを作るためのボイラープレート

    大学のサークルや所属団体等で静的なWebサイトを作成する機会が多かったため,自分が便利に開発できるようにボイラープレートを作成していました.これの解説をしてみたいと思います. sh4869/my-website-boilerplate: My Website Boilerplate 前提 他人に引き継ぐ場合が多いので自動生成を使うにしてもきれいな生成ファイルが吐き出され,それが編集できる必要がある 他人に引き継ぐ場合が多いので Web Application のように構築するとつらくなるのでやめる 大抵デプロイ先とか用意されていない
  • STMFlashLoader をコマンドラインから使う

    これはSTM32 Advent Calendar 2017の9日目の記事です. stm32 Advent Calendar 2017 - Qiita この記事ではSTMFlashLoaderという書き込みソフトをコマンドラインから使うことを解説していきます1. STM32には様々な書き込み方法がありますが,その一つに公式から提供されているSTMFlashLoader(以下Flash Loader)を使って書き込むというものがあります. FLASHER-STM32 - STM32 Flash loader demonstrator (UM0462) - STMicroelectronics FLASHER-STM32 - STM32 Flash loader demonstrator (UM0462) - STMicroelectronics 比較的古い型番のST
  • hugoの新しいテーマ『heroshow』を作った

    heroshowというHugoのテーマを作成しました. レポジトリ : https://github.com/sh4869/heroshow 今このブログに使われてるテーマそのものがheroshowとなります.白を基調としたデザインで,レスポンシブ対応しています.Tag,Categoryの表示に対応するなどしています.楽しい. cssのテンプレートとしては bluma というものを利用しています.自分のサイト でも使っているんですが,モダンなWeb開発に必要な感じのComponent・