image

ZedがLinuxにやってきた!!

中院です。ついにZedがLinuxを正式にサポートするようになりました。 1〜2ヶ月前に1回ほどビルドして動かしてみましたがその頃はまだFcitx5-Mozcが使えなかったりしていました。 それが改善されたかどうかが見ものです。では早速インストールしていきましょう。 インストール編 (超短い) なんか(Archの場合) zed って名前でパッケージが公式リポジトリにあるっぽいです。 ということで何も考えずにインストール。 数秒で終了しました。はい。 サポート後初使用 というわけで使っていきますか。 まずは起動して… セットアップ まあここは変わりませんね。Vim Modeも健在です。Enableにしときましょうか。 テーマはCatputtin ThemesをインストールしてCatputtin Frappé、キーマップもVSCodeのままでいいでしょう。 あととりあえずGitHubにログインしときました。 次にフォントも変えときましょう。 アイコン > Settingsでいけます。JSONですね。 とりあえずフォントだけ設定しときました。 ui_font_family がUIのフォント、 buffer_font_family がエディタのフォントですね。 まあこんなもんでしょう。 使用感など 日本語入力できました! よかった… なお(フォント的な問題で)和文フォントが何故かアンチゴチになっているみたいですね。なんならコメント文は豆腐になる模様です。フォントを複数選択できるようにしてくれ… 繋ぎでフォント合成しとくか… Tailwindの拡張機能もそのうち作られるでしょう。 最後に これまでずっとVSCode + Vim Modeだったんですが起動は早いわRust製だわでZedの好感度が爆上がりしています。 あとはフォント関連だけ! あとでIssue出しとこうかな。 ということで今回はZedをLinuxで使ってみました。 では。

August 8, 2024 · 1 min · PianoCat1010
gopher_blog_logo

AblazeでGoを布教した話

どうもこまもかです。 今回はAblaze内でのGo使った取り組みについて紹介します。 Go採用の経緯 僕がGoを知ったきっかけは、SheeplaさんがGoを使った便利なCUIツールを作っているのを見たことです。 ソースコードを読んでみると ktr0731/go-fuzzyfinder というあいまい検索のUIを簡単に構築できるライブラリを使っている事が分かり、 実際にツールを作って見ようと思い開発を始めました。 そして出来上がったのが freasearcher です。 その後にはライさんが ConsoleTranslate で採用してくださったりなど、Ablaze内でのGoの利用事例が増えていきました。 今ではAblaze内で使う小さなツールなどの開発にも使われています。 また、サーバーのバックエンドを開発する動きも出てきています。 増えた理由 Ablaze内でGoの活用事例が増えた理由として、以下の要素が挙げられます。 知名度があった AblazeではDockerを用いた開発もしており、Dockerの開発言語がGoであることからもメンバー内でのGoの知名度は高かったです。 シンプルで書きやすい Goは言語仕様がシンプルなので、他の人が書いたプログラムも読みやすくなりやすいです。 また、プログラムの保守がしやすくなるというメリットもあります。 また、静的型付けであるため型が違う事によるバグが大幅に減りました。 ライブラリが豊富 Goはライブラリが豊富なので、自分が作りたい機能は割とライブラリで作れたりします。 また、シンプルな構文、静的型付けも相まって高速に開発を進めることができます。 バイナリ化できる 以前この様なプログラムはPythonを用いて書かれていました。 しかしPythonは環境依存のエラー、ライブラリなどのトラブルが起こることもあり、他の人にツールなどを共有することが難しい面がありました。 しかし、Goはバイナリを生成できるのでこの様なトラブルとおさらば出来ます。これはかなり嬉しいポイントでした。 ツールが優秀 Goは言語の周辺ツールがとても優秀です。 例えば構文チェックの go vet や、フォーマッタ go fmt、LSPサーバーの gopls などです。 特にgoplsはimport文を自動挿入してくれたりと開発時の良いパートナーになっています。 高速なプログラムが書ける Goは Javaと同程度の速度が出る ので、サーバー向けの用途にかなり向いています。 また、並列処理をスッキリと書けるのでさらなる高速化も期待できます。 Gopherがかわいい やはりこれです。Goがここまで広まったのはGopherがかわいいからです。これに勝る理由はありません。 布教にあたって 新しい技術を布教する一番いい方法は 実際に自分がやっている所を見せる です。 いくらその技術の素晴らしさを言葉で表現してもなかなか広まりません。 その技術を使う事によって得られる利益、それを周りの人に見せることでより良く広めることが出来る。 今回の事例でその事を実感しました。 今回はAblazeでGoを広めた話を書きました。僕は次に布教する技術を探していきたいと思います。

September 7, 2022 · 1 min · amagaeru
Screenshot from 2022-01-10 03-59-26

愛しのコマンドツールたち

こんにちは。こまもかです。 今回は僕が普段使っているコマンドツールについて紹介します。 アイキャッチ画像は(おにけもだんすを聞きながら)実際に開発している風景です。DEはi3wm。 紹介するコマンドツールたち lsd PlemolJP broot ranger moc cava tmux StarShip fish bat Neovim lsd https://github.com/Peltoche/lsd 某薬物を彷彿とさせる名前ですが、ディレクトリが見やすくなって開発効率が上がります。 導入にはNerdFont(が含まれているフォント)が必要なので、導入してから使いましょう。 PlemolJP ツールではありませんが、フォントの話になったのでここで紹介を。 僕はいつもPlemolJPというフォントを使っています。日本語にIBM Plex Sans JPを使用しているので日本語表示がとても見やすいです。また、プログラミング時にトラブルになる全角スペースを表示してくれるので、スペース絡みのトラブルの防止にもなります。 https://github.com/yuru7/PlemolJP broot https://github.com/Canop/broot ファイルツリー状のファイルマネージャーです。 ディレクトリ構造を把握しながらファイルを探索する事が出来るので、ディレクトリ構造がごちゃごちゃしているプロジェクトで重宝します。 ranger 有名なCUIファイラです。 CUIファイルマネージャと言えばまずこのソフトが出てくるのではないでしょうか?w3mというテキストブラウザに付属しているw3mimgdisplayを使うと画像のプレビューまでをrangerで完結出来るので便利です。ターミナルで完結はしませんが、eogというコマンドも画像の確認に便利です。 moc https://github.com/jonsafari/mocp CUIミュージックプレビューです。直感的に使えるのでとても使いやすいです。また、mocp-themesを使えば好みの色にカスタマイズ出来るのでオススメです。 cava https://github.com/karlstav/cava よくunixpornに出てくるあのグラフみたいなのです。僕はよく、tmuxで水平分割した下側のペインで走らせてます。 StarShip https://starship.rs/ シェル用の最小限の、非常に高速で、無限にカスタマイズ可能なプロンプトです! https://starship.rs/ja-JP/ ターミナルのプロンプトを簡単にカスタマイズ出来ます。一通りのシェルに対応していてインストールも簡単なので、ぜひ一度は使ってみて欲しいです。ドキュメントが日本語にも対応しているので英語が苦手という人もぜひ! fish 言わずと知れたフレンドリーシェルです。Posix互換では無いので、ワンライナーの実行時にやりづらさを感じることもありますがそれを補って余りある使いやすさがあります。 「俺はどうしてもPosix互換じゃないとダメなんだ!」という方はfizshがオススメです。 https://github.com/zsh-users/fizsh bat https://github.com/sharkdp/bat catがつよつよになった様なツールです。デフォルトでシンタックスハイライトが付いていて、lessみたいにjkで移動できたりします。わざわざVimで開くまでもないファイルを開くのに重宝しています。 Neovim https://neovim.io/ これだけで一つの記事がかけてしまうほど奥がブラックホールなので、サラッと説明します。 トリはNeovimです。NeovimはVimのフォークプロジェクトで、Vimと比べて新しい機能が早く実装されたりします。なので最新の技術を使いたい人などにもオススメです。 こう書くと、NeovimはVimを置き換えるプロジェクトなのではと思う方もいますが、このプロジェクトの目的はフォーク元のVimを良くするためです。実際にNeovimで実装されたフローティングウィンドウやターミナルモードがViにも追加されたりしました。 Neovimにはmsgpack-rpcが内蔵されていて、好きな言語でプラグインが作れたりします。さらにLua実行系がビルトインされているので設定ファイルをLuaで書くこともできちゃいます! まとめ ここまで僕が使っているコマンドツールについて紹介しました。これらのツールをうまく使うことで、ターミナルでの作業効率を上げることが出来るのでぜひ参考にしてみてください!

January 17, 2022 · 1 min · amagaeru
スクリーンショット-247

無料でWebページを公開できる、Github Pagesの使い方。

今回はGithub Pagesを利用してWebサイトの公開方法や、独自ドメインの設定方法を紹介したいと思います。 Github Pagesとは Github Pagesとは、Githubが提供する静的Webページをホスティングするサービスです。 無料で使用できて、独自ドメインの使用もできてSSLにも対応しています。 Gitリポジトリをそのまま公開できるので、手軽にWebページを公開する事ができます。 静的ファイルしか公開できないのでWordPressなどは利用できません Github PagesでWebページを公開する まず、Githubを使うのでGithubのアカウントが必要になります、持っていない方は作成してください。本記事ではアカウントの作成方法は省略します。 Github Pagesはリポジトリ単位でページを公開するので、適当にリポジトリを作成します。 ここで、リポジトリの名前が重要になってきて、リポジトリの名前がサイトのURLのパスになり https://[ユーザー名].github.io/[リポジトリの名前] でホスティングされます。一部例外があって、リポジトリの名前を [ユーザー名].github.io にすると https://[ユーザー名].github.io がルートになります。(パスが被ったら他のリポジトリが優先されます) 適当にリポジトリ作成したら、Settingsタブを開いて、 次にPagesタブを開いてください。 公開するブランチとディレクトリ(rootかdocsディレクトリのみ)を選んでSaveをクリックする公開できます。 Theme Chooser でテーマを選べます。 少し待つと赤枠のURLで公開されました。これで、Github Pagesの有効化ができました。 独自ドメインの利用方法 DNSのCNAMEに [ユーザー名].github.io を追加して 赤枠のところに、ドメインを入れてSaveを押して浸透するのを待てば公開されます。 Enforce HTTPSにチェックを入れるとSSL化されます。 コンテンツの公開方法 Github Pagesはファイル名の指定がない場合、index.htmlの次にREADME.mdがHTMLに変換されてレスポンスされる仕様になっています。 なのでHTMLを書かなくてもMarkDownでページ作成できます。ここで、テーマによって表示が変わります。 初期テーマはGithubのリポジトリで表示されるものと同じデザインです。 次に適当にHTMLのコード書いて index.html でPushすると、普通のWebサーバー同様にindex.htmlがレスポンスされます。 https://code-raisan.github.io/page/ こんな感じで、ページを公開出来ました。応答スピードも問題無いですね。 最後に 手軽にWebページを公開出来て便利なサービスなので自分もよく使っています。 またJavaScriptで作られたアプリケーションなどはホストできるので、WebAPIを使ったアプリケーションなどには利用できます。

June 20, 2021 · 1 min · code_raisan
8104776

Termuxやuserlandについて

こんにちは!あおいです!5月3日にAblazeに所属しました! 自分は基本的にAndroidで開発をしています。多分多くの人が驚くかと思います。なぜ、Androidで開発しているのかは後日話します。 自分はTermuxというアプリを使って開発をしています。TermuxはLinuxのエミュレーターです。このアプリはPython、C、Javaなどの言語を使用できます。Termuxを使って、linebot、twitter botを作ることも可能です。TermuxはGUIに対応していて、スマホをPC代わりにしてスタバなどでドヤるのもいいかもしれないですねw Termuxは現在開発中のため、対応しているものが少ないです。拡張機能としてtermux-ubuntuと言われるubuntuをダウンロードすると色々とダウンロード出来るようになります。 Root権限を取得するとroot領域のファイルにアクセスすることが出来るのでとてもオススメです。 また、userlandという似たようなアプリがあります。個人的にはこっちの方がおすすめです。UserlandはOSがかなりあり、alpine linux、Arch linux、Debian、Ubuntu、Kali linuxに対応しています。OSの中身もかなり作られており、termuxより多くのソフトに対応しています。 Termuxでneofetchを実行した場合 userland(ubuntu)でneofetchを実行した場合 Termuxは端末エミュレータのため、ドロイド君が表示されます。userlandは端末エミュレータではないのでubuntuが表示されています。 Termuxとuserlandの説明はこれで終わります。皆さんもTermuxやuserlandを使って、開発をしてみてはどうでしょうか?今後も暇な時に記事を書いていきます。

May 4, 2021 · 1 min · TOKUMEI