LaTeXの環境構築

はじめに

 卒業研究の論文のため、Dockerを用いてLaTeXの環境構築を行う。このページでは、環境構築の一連の流れを記載する。
    なお、今回の環境構築は以下の記事を参考に進めていきました。

参考サイト

zenn.dev

 

環境

Dockerのpull

 以下のコマンドを実行しLaTeXの環境構築がされたimageをローカルにpullし、できているかの確認をする。

$ docker pull ghcr.io/being24/latex-docker:latest
$ docker images

 実行後に以下のものがあればpullは完了しています。

 $ hgcr.io/being24/latex-docker  latest  36c0de73963d  3 months ago  1.65GB

テンプレートのclone

 レポジトリをcloneする。画面右上にあるUse this templateというボタンか、Forkを押下することでテンプレートのコピーを作成する。


 その後、ローカルにcloneを行う。

 そしてcloneを実行する。

$ git clone [コピーしたURL]

main.texの編集

 続いて、main.texの編集を行う。これにより、出力されるpdfの内容を変更することができる。今回ではtitleとauthorを変更し、以下のようにする。

作成したファイルの確認

 作成したPDFファイルを確認するため、今回はVSCodeでファイルの確認を行う。導入した拡張機能を使用し確認する。

 以下のように表示されれば成功。

最後に

 以上が、VSCodeとDockerでLaTeXの環境を構築する方法です。今回の学習でDockerコマンドの使用方法やオプションの意味なども詳しく調べながら出力することができ、学ぶことができました。

Chapter11 サーバーレス入門

本章ではハンズオン形式で様々なサーバーレスクラウドを動かしながら構成要素に触れていく。

Lambda

以下を入力し、デプロイを行いvenv作成し実行する。

実行後、”SimpleLambda.FunctionName=XXXX” と出るが、XXXXに当たる文字列は今後使うのでメモをしていく。

以下のコマンドにXXXXを追加入力しLambda関数を実行する。

更に複数のタスクを実行するときは以下を入力すると100個のタスクを実行することができる。

python invoke_many.py XXXX 100”

AWSのコンソールにあるTimestream>Monitoringに行くとタスクの実行を確認することができる。

最後にスタックの削除をするために以下を入力し実行する。

”cdk destroy”

DynamoDB

デプロイの手順自体は基本的にLambdaの時と同様で、プロジェクトのディレクトリ移動のところを/Lambdaから/dynamodbに変更するだけである。

AWSに書き込んだ新しい要素は以下を入力することで、要素を出力する事ができる。

python simple_read.py XXXX”

忘れないようにLambdaと同じくスタックの削除をするために以下を入力

”cdk destroy”

Chapter4

ソースコードのダウンロード

今回使用するソースコードを以下のコマンドを使いGitHubからダウンロードする。

 

Pythonの依存ライブラリ

 Pythonの依存ライブラリをインストールをする。そのために以下を入力しディレクトリを移動しvenvで仮想環境を作成した後インストールを実行する。

 

SSH鍵を作成

以下を実行しAWS CLIのコマンドで”HirakeGoma”という名前の付いたカギを作成する。必要ならregionを設定する。以下により、”HirakeGoma”というファイルが作成される。

以下を入力し秘密鍵を移動する。

最後に秘密鍵が書き換えられたりしないように秘密鍵が書き換えられたり第三者に閲覧されないように以下を実行する。なおコマンド内の400はファイルの所有者のみが読み込みの操作ができるという意味である。

Chapter9

REST API

 そもそもAPIとは、あるソフトウェア・アプリケーションが、外部のソフトウェアに対してコマンドやデータをやり取りする媒介の一般的な総称のことを指し、
ウェブサービスの文脈ではサーバーが外界に対して提示しているコマンドの一覧のことを意味する。クライアントは提示されているAPIから適切なコマンドを使うことで、データの取得やサーバーへのデータ送信をすることができる。
 現在ではREST(Representational State Transfer)という設計思想に基づいたAPIが使われており、このRESTの設計指針に従っているAPIのことをLEST APIと呼ぶ。

Chapter6

Dockerのインストール

Dockerをインストールするために以下のコマンドを入力

[curl -fsSL https://get.docker.com -o get-docker.sh]

[sudo sh get-docker.sh]

これらを実行することによってDockerをインストールする。

Dockerの設定

毎回[sudo]を記入しないために使用するユーザーをdockerという名前のグループに追加する。

そのために以下を入力

[sudo groupadd docker]

[sudo usermod -aG docker ogata]

完了したら一度ログアウトして再度ログインをし、確認作業のために以下を入力

[docker run hello-world]

sudoを入れずにコンテナが実行できたら、設定は完了である。

Docker imageのインストール

Docker imageをインストールするために以下を入力

[docker pull ubuntu:20.04.4]

Ubuntuを起動しコンテナを起動するために以下を入力

[docker run -it tomomano/labc:latest]

"root@aws-handson:~$"となっているのを確認できたら、

[ls]

上記を入力すると、"handson/"というディレクトリがあるのが分かり、

[cd handson]

上記で各ハンズオンごとのディレクトリがわかる。

Docker imageを起動する際は以下の様にrunコマンドを使用する。

[docker run -it ubuntu:20.04.4]

Chapter4

Pythonの依存ライブラリのインストール

 プログラムを実行するためにPythonの依存ライブラリのインストールする。ためにDockerを起動

 

 

起動したら以下を入力しディレクトリを移動する

[handson/ec2-get-started]

移動を確認したらvenvで仮想環境を作成し、以下を入力しインストールする。

[python3 -m venv .env]

[source .env/bin/activate]

[pip install -r requirements.txt]

これにて完了

SSH鍵を生成

AWS CLIコマンドでHirakeGomaという名前の付いたカギを作成するために以下を入力

[export KEY_NAME="HirakeGoma"]

[aws ec2 create-key-pair --key-name ${KEY_NAME} --query 'KeyMaterial' --output text > ${KEY_NAME}.pem]

これにより、"HirakeGoma"というファイルが作成される。

秘密鍵の移動をするために以下を入力

[mv HirakeGoma.pem ~/.ssh/]

秘密鍵が書き換えられたりしないように、書き換えられたり閲覧されないようにするために以下を入力

[chmod 400 ~/.sshHirakeGoma.pem]

Chapter3

AWS CLIを使ってみる

AWSのS3に格納領域(Bucket)を作成し、以下のコマンドを入力

[bucketName="mybucket-$(openssl rand -hex 12)"]

[echo $bucketName]

[aws s3 mb "s3://${bucketName}"]

これらを実行することにより、ンダムな文字列を含んだバケットの名前を生成し、bucketNameという変数に格納される。

作成したバケットを確認するために以下を入力

[aws s3 ls]

次にバケットにファイルをアップロードするために以下を入力

[echo "Hello world!" > hello_world.txt]

[aws s3 cp hello_world.txt "s3://${bucketName}/hello_world.txt"]

以上を実行し、最後に使い終わったバケットを削除するために以下のコマンドを実行する。

[aws s3 rb "s3://${bucketName}" --force]