Go言語を選ぶ理由

Go言語を選ぶ理由 最近,Go言語のここが好きだとかここが嫌いだとかいう記事をたくさんみたので,自分の思うGo言語の好きなところを思いつくだけ挙げてみました. エラー処理の流れが追いやすい. エラー発生個所がコードのみから明確に読み取れる.iferrやi…

context.vim

github.com Vimのプラグインに何か面白そうなのないか眺めていてときに見つけたプラグインの紹介です. GitHubのリポジトリにはってあるこのgifのように1画面に収まらない長めのifブロックだったり関数をVimで開いたときに, その冒頭部分をバッファの上部に…

WebVTTの字幕付き動画を再生する方法

最近,WebVTTファイルで字幕付き動画を作成する機会があった. WebVTTファイルは,フォーマットに従って,テキストエディタで編集すればよかったが,再生は,VLC media playerのような動画再生ソフトウェアでないと再生できないようだった. このためにわざ…

C#でWebDAVサーバとやり取りする方法について

サークルで使用しているソフトウェアで今までは,GoogleDriveからいろんなファイルをダウンロード,アップロードしていましたが,WebDAVサーバからインストーラーを落としてくるようにするために修正をしていました. その時に学習した内容について書きます…

Go言語のEchoで正しいMIMEタイプが設定されない問題の解消方法

LinuxやMacOSでは,問題は起こりませんが, Windows上で,下記のようなコードを実行して,javascriptファイルを返すようにするとブラウザでMIMEタイプがtext/plainに設定されてしまいエラーが発生します. e := echo.New() // assets/js: javascriptファイル…

NyagosをNeoVimのシェルとして設定する

先日のリリースでNyagosがコマンドプロンプトとほぼ互換な-k, -cオプションが実装されました. github.com これにより,nyagos -k "ls -l" のように引用符付きでオプション有のコマンドを実行できるようになりました. (これまでも,nyagos -k ls -l のよう…

WebRadioの改造をしてた

卒論がひと段落したので,M5StickCとSpeakerHatを使ったWebRadioを動かして改造していました. 改造といっても,既存のライブラリなんかであったものを組み合わせただけですが... ESP32でWiFiを利用するコードを見ると,基本的にSSIDとパスワードの組み合…

Nyagosの補完まとめ

Nyagosが公式で提供している補完機能について探した限り纏まったページがなかったため,纏めました. 自前で補完機能をカスタマイズしたい場合には,下記のドキュメントにカスタマイズ用の関数が用意されています. nyagos/07-LuaFunctions_en.md at master …

自作PCをした

最近,UnityやらVisual Studioといった比較的,GPUやCPUの性能が要求されるプログラムを実行することが多くなってきたため,ある程度性能が高いPCが欲しくなった. ちょうどよいことに,以前人からいただいたPCケースや未使用のHDDがある. BTOなどでPCを購…

Windows Terminal を導入した.

コマンドプロンプトをもう使わないようにと Microsoftの技術者がツイートしたとのうわさを聞いた. いままでもあまり使用してきたわけではなかったが,この際にPowerShellをちゃんと使うようにしていこうと思ったので, 最近話題になっていたWindows termina…

リポジトリ移動用の関数を改良した

以前,作成したリポジトリ移動用のシェルスクリプト関数を改善した.

GitHub Actions でタグ付きリリースするのに使用するDockerfile を執筆時にも利用できるようにした

概要 GitHub Actions で、LaTeX をコンパイル・PDF化しタグ付きリリースをするという記事は、ありましたが、手元でコンパイルをする場合にはローカルのコンピュータにインストールしたLaTeXを利用しているようでした。GitHub Actions でPDF生成を行うのであ…

bashのコマンド補完スクリプトを書いた

bashではコマンドを途中までタイプした後、tabを入力することで補完関数が呼ばれ候補が表示されます。 これは、bash-completionによって提供されている機能で、実態はシェルスクリプトの集合です。 補完時には、/usr/share/bash-completion/completionsと/et…

2019年振り返り

Web開発関連の技術を多く触った年でした。 あまり多くのことはやっていないと思っていましたが、意外といろんなことをやってい たようで忙しくしていた理由がわかりました。インターンシップに行ったことで自分の IT技術について、自信を持てるようになりま…

Go言語で無線局情報を取得するAPIのクライアントライブラリを書いた

概要 この記事は、Go3 Advent Calendar 2019 の22日目の記事です。 21日目は@mikkegtさんによる「qiita.com」でした。 私は、アマチュア無線を行うサークルに属しているため、無線局の情報を調べることが多くあります。1局や2局なら手で調べてもよいが数が多…

mackerel-agent に PullRequest を出した話

この記事は、Mackerel Advent Calendar 2019 - Qiitaの15日目の記事です。 事前に書こうと思ってたことができなかったので、はてなインターン中に GitHub - mackerelio/mackerel-agent: mackerel-agent is an agent program to post your hosts' metrics to …

Go言語でWeb Assemblyに入門した

この記事は、WebAssembly Advent Calendar 2019 - Qiita の 15日目の記事です。 友人に載せられて登録してしまったので、Go言語でWasmに入門しました。 単純にチュートリアルをやるだけだとつまらないので、ちょっとだけ実用的なボタンをクリックしてメニュ…

Debianを使い始めてから約1年経った

Debianをthinkpad x1 carbon 第一世代にインストールした。 - tomato3713’s blog で Debian をThinkpad にインストールしてから、メインのノートPCとして使い続けています。 LinuxをメインPCとして使うようになってから感じたことを紹介します。 どういった…

リポジトリ移動用のコマンドを作った

概要 だいぶ遅れてしまいましたが、UEC Advent Calender 2019 の1日めの記事です。 今日は、日常で使用しているリポジトリ移動用に作成したシェルスクリプト関数の紹介をします。 本文 ソースコードの管理は、Go言語のフォーマットに従って次のようなディレ…

Vim を使う理由

Vim は、明らかに設定が Visual Studio Code などの最近出てきたテキストエディタに比べて面倒くさい。 設定を弄ぶっているだけで、数時間が過ぎてしまうこともある。 コードを書くことよりも、Vim の設定を書いている時間の方が長い日もある。 Vim を使い始…

実行してて楽しいコマンドたち

w ロードアベレージと現在ログイン中のユーザリスト、アイドル時間、実行中のコマンド等の情報が見れる。 $ w 19:22:52 up 5:17, 1 user, load average: 1.58, 1.55, 1.07 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT tomato tty2 tty2 14:05 5:17m 27:51 0.0…

竹内郁夫著「初めての人のためのLisp[増補改訂版]を読んだ

大学の課題でSchemeを使っていらいLispをちゃんとやってみたいと考えて本書を読みました. 本書は, リストとはなにかから入り car, cdrの説明, リストがコンピュータ内でどのようなメモリ構造として保存されているのか, そしてLispの標準に的に用意されている…

サークルのファイアーウォールを iptables から firewalld に変更しました

概要 所属サークルで借りている VPS のファイアーウォールを iptables から firewalld による管理に変更しました. 理由 所属しているサークルはアマチュア無線が目的であり, 数年に一度入ってきたコンピュータに比較的強い人間がサーバ管理を行っている状態…

はてなサマーインターン2019に参加してきました

はてなサマーインターンに参加しました。はてなIDは id:tomato3713 です. インターン期間中にこのIDに統一することに決めたので、実は期間中は他のIDで呼ばれていました. アイコン同じだから大丈夫でしょうという感じ.*1 応募から京都オフィスに行くまで 前…

Ubuntu Touch の使用感

概要 Ubuntu のタブレット版であり、現在は、Ubunto touch コミュニティによってサポートされている。 インストールは、UbuntuのPCがあれば、サクサクとできる。 インストーラーが勝手にやってくれるので、root化までやってしまえば難しいことはないと思われ…

「試して理解 Linuxのしくみ」を読了

概要 技術評論社URL Amazon URL OSやハードウェアの仕組み・動作を様々な実験を通して探っていく本。 目次 コンピュータシステムの概要 ユーザモードで実現する機能 プロセス管理 プロセススケジューラ メモリ管理 記憶階層 ファイルシステム ストレージデバ…

Golang で Web API を扱う方法

概要 Golang を使って、Web API から取ってきた JSON を構造体に代入する方法 総務省の無線局情報取得APIを利用する コード 総務省の無線局等情報検索APIについては、Web-API機能(無線局等情報検索)についてをご覧ください。 総務省の無線局等情報検索API…

Debianをthinkpad x1 carbon 第一世代にインストールした。

概要 表題にあるようにthinkpad x1 carbonのOSなしを中古で購入したので、Debianをインストールした。 購入したthinkpadのスペックはメモリ8GB、SSD240GB, CPU I7 3667Uで、初めからLinuxの専用機として使おうと考えていた。 今回Debianを以下の理由で選んだ…

Go言語によるWebアプリケーション開発 第1章 感想

Go 言語で最近Wikiエンジンを作ろうとしているので、その参考になると思い、「Go言語によるWebアプリケーション開発」を呼んでいます。 第1章ではチャットアプリケーションを題材に、websocketを使った簡単なWebアプリケーションを作りました。簡単すぎず、…

VimConf2018参加記録

VimConf 2018に参加しました。2度目のVimConfでした。昨年度はカラースキームやVim周辺の話が多かったように思うが、今年はVim本体の話題やVimの将来についての話題が多かった。前回はujihisaさんが通訳を行っていたが、今年はプロの通訳が行っており発言者…