simple-web-system technology

Webに関する技術をシンプルに扱うブログ

ChromebookのTerminalでfontを自由に変える方法(おまけにテーマも変える)

Chrome OS 84からTerminalの設定画面が大幅に変わりました。(テーマ機能とか結構いいです) 見やすくなったのはいいんですが、フォントがデフォルトのものしか選べなくなっています。 vim-deviconsなどでアイコンを使いたいときに困ってしまいます 解決方法…

Emacs 27だとTerminalでTrueColor表示にするの簡単だよ

TrueColorとは、256 color(8bit)よりも多い16,777,216(24bit)色で色を表示できる規格です。 iTerm2やGnomeなどよく使われているTerminalでは対応していることが多いです。 ChromebookのTerminalも対応しています。 Emacs新参者なのでよくわからないんですが…

ChromebookのCrostiniでxselとかでclipboardにコピーできない問題

Crostiniだと以下のようにClipboardにコピーする処理が動かないです。 echo hellp | xsel -bi cat sample.txt | xsel -bi これは、Redditであったwl-clipboardとおうツールのwl-copyで解決しました。 www.reddit.com こういう処理になります。 echo hellp | …

tmuxにfish shellのフルパスを書きたくなかった

tmuxは何も設定しない場合、デフォルトシェルが起動します。 大体はbashでしょう。 ただ、自分はfishを愛用していて、fishの場合はPOSIX互換性がないため、デフォルトシェルにする運用はあまり好まれなかったりします。 そのためtmuxからfishを呼び出して使…

これでいける # 普通に起動する場合 emacsclient -a "" # aliasの場合 alias='emacsclient -a ""' 自分は必ずtuiで起動したいから、更にオプションを指定している # 普通に起動する場合 emacsclient=emacs -t -a '' # aliasの場合 alias emacs="emacsclient=…

Chromebookにnix-shellをインストールする

CrostiniはLXDというコンテナ環境で動作していますが、 このままだとnix-shellがインストールできません。 詳細は以下のIssueにあります。 github.com Issueから解決方法抜粋します ctrl-alt-t でcroshを開く vsh terminaと入力 lxc config set penguin secu…

新しいプログラミング言語やフレームワークの学習方法

メインのエディタを決める vscode デバッガ強い vim emacs sublime text3 サブエディタにintellijを使えるようにする intellij デバッガ強い 日本語の書籍や公式サイトのガイドをひたすら読む クソつまらないんだけど、がんばる 何か作って実践しようとして…

Arm(armhf)のChromebookにVisual Studio Codeをインストールしてハマったメモ

VSCodeにもとうとう公式のArmのバイナリが来ました!! code.visualstudio.com さっそくChromebookにインストールしようとして躓いたのでなんとかしたメモです インストール環境 Chromebook C101PA (armhf:32bit) Debian(Crostini) 10.4 lenovo ideapad duet…

Linuxで、Android Studioのスマホ接続やadb devicesを見ると、permission deniedになる現象の解決方法

簡単に言うとroot権限でadbのdaemonが起動していないからそうなる。 特にAndroid Studioでは、裏でadbが勝手に起動しているので、結構引っかかる。 しかもWindowsやMacだとこの現象が起きないので、訳がわからなくなる。 以下のように、adbを一旦終了してroo…

Arch Linux + i3wm + i3blocksを構築するまでのロードマップ

USBにArchLinuxを焼いて、起動できるようになる パーティションの切り方について理解する Arch Linuxのインストール方法について理解する bootloaderに関して理解する ユーザーと権限に関して理解する ネット接続に関して理解する X Serverに関して理解する …

Clojureのフロントエンドに入門してみた(re-frame + VSCode)

モチベーション 以前からLispに興味はあったのですが、この記事が結構おもしろくてClojureやってみようとなりました logmi.jp シンプルな設計が好きなんですけど、Clujureを学ぶことで勉強になればいいなと また、re-frameからreactのCSSライブラリのmateria…

rustでvectorの値をiteratorで変更するときは、iter_mut()を使う

背景 rustでvectorに入ってるstructをiter().find()で取得して、その値を変更しようとしたんだけど 取り出した値にmutとかつけてもコンパイルエラーで動かなかった ネットであまり見つからないのでメモ代わりに残す 正解 以下のようにすればよかった // 正解…

coc.nvimのプラグインをinit.vim(vimrc)からインストールする設定

以下のように書けばいい " vimであれば、.vimrc " neovimであればinit.vim " これは自分の使っているプラグイン let g:coc_global_extensions = [ \ 'coc-yank' \, 'coc-tsserver' \, 'coc-snippets' \, 'coc-prettier' \, 'coc-pairs' \, 'coc-fzf-preview'…

気分はstatic? 神クラスをstaticメソッドで自動テスト可能にしてみよう

前書き Java、PHP、Ruby、Pythonといったオブジェクト指向言語を想定しています。 実はstaticは半分釣りです。 この記事は、神クラスへの対処、関数の分割やレイヤー分割に関して書いてます。 こんなはずじゃなかったのに こんなことってありませんか? MVC…

Arch LinuxでRust開発環境を整えてみた

Rustの公式サイトを見たけど、PackageManagerを介さないやり方しか載ってなかったので調べてみました。 方針 基本的にArchWikiに載ってる通りに進めるとうまくいきました。 https://wiki.archlinux.jp/index.php/Rust Rustのビルドはnightlyは怖いので、stab…

【初心者向け】Flutterを最速で入門する3つの方法

Flutterとは FlutterはGoogleが開発しているクロスプラットフォームのUI構築用フレームワークです。 現状多く使われているのはAndroidとiOSですが、将来的にはWebやDesktopアプリの制作も可能になるとのことです。 (現在WebはBetaテスト、DesktopはAlphaテ…

ArchLixux + i3wm の環境構築 覚書

自分がArchLinux + i3wmで環境構築したとときの覚書 archlinuxは一つのことをやるにも様々な方法かあって迷う。 エイヤっと一つの手法を選ぶのが大事 大抵あとでも直せる 基本インストール編 wikiのインストールガイドを一通りインストールする https://wiki…

FreeBSDをNvidia MX150が入ったノートPCで動かそうとしたら動かなかった話

表題通り エラーログをみると、以下のように表示されて終了 no screens found(ee) GhostBSDも試してみたけど、インストーラのGUI起動もできなかった こういう時、Linuxの方が情報多くて便利だと思う ちなみに同じPCでArch Linuxを動かした時は、bumblebeeを…

Elmの最初に書くと良さげなMain.elmを置いておく。ついでに環境構築最速セットアップも

Main.elm 自分がセットアップしたらいつも使ってるスニペット src/Main.elmに置いておく module Main exposing (main) import Browser import Html exposing (Html, div, input, text) import Html.Attributes exposing (..) import Html.Events exposing (o…

i3blocksを簡単にカスタマイズできる公式のblockletを使ってみる

i3blocksとは i3wmのステータスバー設定用のツール i3wmで画像検索した時に、よくステータスバーに表示されている (i3statusよりもお洒落だと思う) github.com i3blocks-contrib i3blocksが提供している公式のblocklet github.com 使い方 1. 必要な依存関…

elmで簡単にcssを読み込ませる方法

調べてもあまり出てこないのがElmでのCSSの使い方 サンプルはpure.cssを読み込ませるもの 1. styleタグをview内に定義する(非推奨だけど楽) div [] [ node "style" [ type_ "text/css" ] [ text "@import url(//cdnjs.cloudflare.com/ajax/libs/pure/1.0.1…

NVIDIA GeForce MX150が入ったノートパソコンでArch LinuxのX Serverを起動すると画面がブラックアウトする

結論 恐らくNVIDIA optimusに対応しないといけない NVIDIA/トラブルシューティング - ArchWiki 解決策 自分の場合は、bumblebeeをインストールしたら、X Serverが正常に画面表示できた Bumblebee - ArchWiki インストールは以下の通り pacman -S nvidia bumb…

CrostiniでのプログラミングでベストなGUIエディタ調査メモ

Crostiniでvscodeを使おうとしたらカクカクだったので、Crostiniでプログラミングする際は、GUIエディタはどれを使えばいいのか調査 結論 用途による 速さ重視かデバッガ使うからとか Sublime Text 3 一番軽快 terminalは拡張機能を入れると使える lspが使え…

JSに依存しないMaterial Design CSS Frameworkの『Surface』が良さそう

JSに依存しないMaterial Design CSS Framework - Surface 本日はCSSだけで出来たMaterial Design FrameworkのSurfaceを紹介したいと思います。(Surfaceと言ってもノートパソコンの方じゃありません) こいつです。 mildrenben.github.io # JSに依存しないFr…

Thinkpad X230にArchlinuxで環境構築をしました ① 初期インストール

趣味開発用のPCを買ってArchlinuxを入れました 趣味の開発用にPCが欲しくなったのでThinkpad X230を中古で買ってきました なぜThinkpadかというと、Linuxを入れるのといえばThinkpadと聞くことが多いですが 自分は1回も使ったことがなかったからです。 スペ…

PyFunctionalでPythonでもRubyやJSみたいにラクラク配列操作する

TL;DR PythonでもPyFunctionalってライブラリ入れれば楽に配列操作できるよってお話 注意書き この記事は基本的にPython3の話です。 インストール方法 pip3 install pyfunctional 使用例 Pythonは配列操作がRubyやJSと違って大変です。 例えば、0から9までの…