Author: RockinWoolWalker

久しぶりにhugo環境を整えた話

2021年11月某日お久しぶりです。RockinWoolです。(本当に久しぶり過ぎて実名で挨拶しそうになりました。)今回は新たにゼロからのOS自作入門を購入したので、それをレビューしたいと思います・・・と行きたかったのですが、そもそもhugoでブログを描くのが久しぶりすぎたので、まずはhugoのセットアップ作業を実況していこうと思います。明日以降はOS自作入門の方もちゃんと進めていきます。 1. hugoの再インストール 何故かhugoがWindowsに入っていないというエラー文が表示されたため、再度セットアップ作業を行います。hugoのインストールに関してはこのサイトを参考にして進めました。なお、PATH設定後はVSCodeを再起動しないとターミナルに反映されない点に注意です(一敗)。 2. 新しい記事の投稿 新しい記事は以下のようなコマンドを入力して作成しました。 3. OS自作の準備(p28ハローワールド) この本ではLinuxを用いてOS自作を行うため、自分のWindows環境をそのまま使うとミスる可能性が高いかなと思いました。そこで、AWSのEC2で適当なUbuntu20.04の仮想マシンを作成して使ってしまおうと思ったのですが!なんと自分Windowsを久しぶりに起動して更新した関係で、モバイルWifiの3日で10GB制限を大幅に超えてしまっていて(19.8GB)通信制限がかかっており、まともに使えない!ということで本日はここまでにいたします。 また明日もがんばるぞー!!

C++とGRPC

2021/05/08こんにちは。RockinWoolです。最近外付けHDDの挙動がおかしかったので、もう一つ買ってきました。これで完璧。さて、今回はGRPC! と行きたいところです。ただ、そもそものC++周りの知識が全然無かったので、ひたすらそれを書いていこうかなという感じです。 まずは今回の目的であるgRPCの導入と、gRPCを使用する際に必要になるprotobufが使えるようにならないといけない。なので、そのあたりの環境構築からはじめる.参考2最初にcmakeのインストールを行う 次にgRPCのインストールを行う。まずはパス通しから .~bashrcにも追記する そして関連ツールのインストール そしてgRPCをクローンしてきてひたすらmakeする.ただし普通にビルドするとPCに負荷がかかり過ぎてフリーズすることがあった。そのため、cgroupで制約を課しながら、システムに余裕を持たせて実行すると良い。\ cgroup-toolsをインストールしたら、/etc/cgconfig.confを作成して、以下のように入力する 最後に設定を反映させたターミナルを起動する ターミナルが起動したら作業ディレクトリまで移動したのち、以下のコマンドを実行してビルドを行う 最後になぜかパーミッションがおかしい.pcファイルたちを移動しつつ権限を変更する それとPKG_CONFIG_PATHを指定しておかないと.pcファイルを読んでくれないので、これも指定する いちおうbashrcにも書いておく。 ここまでで、ようやくgrpcの作成環境が整えることができた。次はプログラミングである。ディレクトリ構成を以下のようにする このprotoディレクトリ内にrandom_walker.protoを用意する これを以下のコマンドでcppとhに変換する これで生成されるproto/random_walker.grpc.pb.hを見ると、134-140行目に関数の定義がされている

AWSのEC2に初チャレンジ

2021.04.26こんにちは。初心者プログラマのRockinWoolです。今日は有給を取って勉強をしていました。主にずっとやりたいと思っていたAWSでのPython実行について格闘し、結果として中々よい環境構築までいけました。頭の中に方法が残っている間にここにメモっておこうと思います。あと、昨日<ol>とかのhtml構文を記事に入れたのですが、どうやらhugoでは使えないみたいですね。残念です。 なお、.pemファイルの部分は絶対アドレスで記述するのだが、日本語ユーザなどでフォルダ名が「苗字スペース名前」等になっている場合、スペースが第二引数扱いになるらしくバグる。よしなにした方がよい(1敗) ざっとこのような手順でEC2にVScodeからつなぐことができる。ちょっと動かして見た感じ、ローカルのプログラムをEC2に移動する方法はGithub経由が楽でいいなと。その逆も然り。今後のAWS利用ですが、まずは時々動かしてみて何円かかるか測定してみようと思います。次回はGPU付きAWSを使ってCupyを試してみたいです。・・・が、先にQtとCppの勉強をしようかな。最後まで見てくださりありがとう!

Cython 久しぶりに研究者としてのログイン

2021.04.25こんにちは。RockinWoolです。最終登校日からおよそ10ヵ月も空いてしまいました。その間、コロナ禍やテレワークなどいろいろ出来事がありましたね。RockinWoolとしては激動の1年でした。最近は仕事で気持ちが浮き沈みすることも少なくなってきたかな・・・と過去の記事を見て思います。とはいえ他の人よりもどうしても激烈苛烈になりがち。 さて、今回は久しぶりのCython練習編という感じです。いつも「Pythonを高速化したいなあ」⇒「せや!Cython使ったろ!」ってなって、しばらく使ううちに忘れるパターンが多い言語です。この際ブログに残していつでも参照できるようにしておこ。明日はAWS(EC2)+VSCodeの環境を作って遊ぶぞー(予告) \ 最初にやることは普通のpython関数を作成することである。今回は以下のような関数を記述した。 Cythonプログラム拡張子であるhelloworld.pyxに変更する Cythonプログラムをコンパイルするための設定プログラムを作成して実行する。以下のプログラムを作成&実行すれば良い。ただしWin&Anaconda環境でやっているため、Linuxではコンパイラが異なる点に注意。 ここまでの動作でコンパイルは完了しているため、あとは呼び出して使うだけである。

職場で泣かされて、なお修行する:LaTeX

こんにちは。先週職場で泣かされたRockinWoolです。まあ、今はエンジニアですしこんなもんだろうなあと思っております。しかし、将来は必ず研究者になるためにも今日も論文作成に邁進しないといけませんね。\ さて、本日は前回のLaTeXの続きからやっていこうと思います。今日はここから始めていこうと思います。\ 1.数式の挿入 まずは参考サイトにある例をここにそのままコピペしました。 これをptex2pdf -l hoge.texすることによってPDF化すると、数式が挿入できていることがわかります。LaTeXでは数式用の文字を$E$のように表記したり、数式を のように記載するんですね。後、単位は\, \mathrm{m/s}で表現するみたいですね。 2. 数式の代入2 次の数式が簡単とか紹介されているんですけど・・。うーん・・天才ってやっぱり存在しますねえ。 これをまたptex2pdf -l hogehoge.texするとなんとも珍妙な式が出てきます。個人的にはうおおおお・・・って感じです。\ まず\frac{分子}{分母}で分数を表現します。\piはπで\left(hogehoge\right)は中身に応じて大きさの変わるカッコ。積分記号は\int_{下限}^{上限}で表わせ、無限大は\inftyらしいです。個人的には\inftyが一番間違えそう。他にも三角関数\sin x,\cos,\tanや対数\log、平方根の\sqrt{x}や\sqrt{3}{x}、総和相乗の\sum,\prodなどがあります。\sum_{下限}^{上限}ともできるみたいです。そういえば話がそれますが、英語では総乗のことをプロダクトと言うんですよね。これをみて思い出しました。\ 3. 各種パッケージの利用 ここで、いままででamsmathやamssymbという数学用パッケージを無意識に使用していたことが明かされました。Pythonなどとは違って宣言しなくても使用できるライブラリもあるということなのでしょうか?そして、明示的にパッケージを使用する例として、次の内容が解説されました。 今までの経験より、2行目のusepackage{multicol}でマルチカラム・・すなわち複数の列からなる文章を作成できるようにしているのかなと推測できます。これは\begin{multicols}{3}から始まってend{multicols}で終了するように書かれています。 4. レポートを書いてみる これが一番のLaTeXを使う目的ですよね。レポートの例として以下のソースが示されています。 これだけでもメチャクチャかっこいいレポートが書けてしまいます。LaTeXすげえ!最初の\documentclass{jsarticle}と\begin{document}。そして最後の\end{document}が共通して宣言する基本文法。そして、ドキュメントの開始宣言の後の\title{hoge}、\author{fuga}、\maketitleでタイトルを出力するそうです。リンク先にも書かれていますが、日付はデフォルトだと今日の日付が勝手に入ってしまうそうなので、明示的に指定する場合は\date{hoge年fuga月n日}とすれば良いそうです。 章は\section{hoge}で宣言できるそうです。何も指定しなければ勝手に番号が振られる部分はmarkdownと同じですね。番号を振りたく無い場合は\section*{hoge}とすれば良いそうです。章内のサブセクションは\subsection{fuga}でやるみたいです。 二段組にする場合は最初の行をdocumentclass{jsarticle}のようにすれば良いみたいです。一応試してみたら、タイトルの部分はそのままで本文の部分が2段組みになりました。

LaTeX初心者への道

こんにちは。RockinWoolです。今は朝早くから論文を書く作業をしようと思ってパソコンを開いたものの、OSがubuntuのパソコンしか手元になくて書けないとなっているところです。さて、挨拶を書いたところで気づいたのですが、論文なのだからLaTeXで書けば良いですね。これならubuntuのほうが向いていそうですし。\ LaTeXの環境構築はWindowsだと死ぬほど面倒だった記憶があるのですが、Ubuntuならば簡単なんでしょうね。そう思ってこちらのサイトを見ながら作業を進めていきました。 あとついでに載っているPDFへの変換方法も、メモでここに載っけておきます。 LaTeXはチュートリアルサイトがあったのでこれで練習していこうと思います。最初の内容は以下の内容をコピペしてpractice1.texとでも命名して保存するところから始まります。 ここで先程のコンパイルとPDF化をこのpractice1.texに対して行ったのですが 、わざわざplatexとdvipdfmxなんてしなくても以下の一行でまとめられるらしいです。