自動化無しに生活無し

WEB開発関係を中心に備忘録をまとめています

  • UbuntuでC#の開発環境を整え、C#の基本構文をまとめる

    • 作成日時:
    • 最終更新日時:
    • Categories: インフラ
    • Tags: C# Ubuntu
    C#と.NET SDK のインストール MSの公式リポジトリを追加しておく sudo apt update sudo apt install -y wget apt-transport-https wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb .NET SDKをインストールする sudo apt update sudo apt install -y dotnet-sdk-8.0 プロジェクトの作成 .NET ではCLIアプリの開発、WEBアプリの開発、ネイティブアプリの開発がすべてdotnet new コマンドで実現できるようになっている。 CLIアプリの開発 dotnet new console -o MyApp cd MyApp dotnet run HelloWorldが表示される。 WEBアプリの開発 dotnet new webapp -o MyApp cd MyApp dotnet run 開発 ...
  • UbuntuへRedisをインストールし、Django上でキャッシュサーバーとして扱う

    UbuntuへRedisをインストール sudo apt install redis でインストール完了。 redis-cli でRedisのCLIを起動する。 SETコマンド、GETコマンドでキーの追加・取得ができる。 127.0.0.1:6379> SET mykey "Hello, Redis!" OK 127.0.0.1:6379> GET mykey "Hello, Redis!" 127.0.0.1:6379> 削除をしたいときは、DELコマンド 127.0.0.1:6379> GET mykey "Hello, Redis!" 127.0.0.1:6379> DEL mykey (integer) 1 127.0.0.1:6379> GET mykey (nil) 127.0.0.1:6379> 動作確認をするには、systemctl コマンド sudo systemctl status redis 動いていればこんな表示になる。 ● redis-server.service - Advanced key-value store Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2025-03-13 09:50:21 JST; 12min ago Docs: http://redis.io/documentation, man:redis-server(1) Main PID: 52676 (redis-server) Status: "Ready to accept connections" ...
  • UbuntuでNvidiaのドライバーをインストールする

    ubuntuにNvidiaグラフィックボードを搭載した時、ドライバーのインストールで詰まったので、まとめておく 【基本】推奨のドライバーをインストールする。 ubuntu-drivers devices NvidiaグラフィックボードをPCに挿し込んだ状態で、上記コマンドを実行する。 以下のように出力がされると思うので、recommendの表示があるドライバーをインストールする。 この場合 driver : nvidia-driver-570 - third-party non-free recommended ここから、nvidia-driver-570 ...
  • SQliteはマルチスレッド・マルチプロセスに対応していない

    SQliteはマルチスレッド・マルチプロセスに対応していない。 同時に大量のクエリをさばくことはできない。 実際にやってみる djangoで実際にやってみる。ベースは、40分django from django.shortcuts import render,redirect from django.views import View from .models import Topic from .forms import TopicForm import threading def writing(data): form = TopicForm(data) if form.is_valid(): form.save() class IndexView(View): def get(self, request, *args, **kwargs): print(Topic.objects.all().count()) context = {} context["topics"] = Topic.objects.all() return render(request,"bbs/index.html",context) def post(self, request, *args, **kwargs): threads = [] copied = request.POST.copy() for i in range(1000): thread = threading.Thread(target=writing, args=(copied,)) threads.append(thread) thread.start() # 全てのスレッドが終了するまで待機 for thread in threads: thread.join() return redirect("bbs:index") index = IndexView.as_view() 1回目は正常に1000個分のスレッドを処 ...
  • 【Heroku】デプロイ直後にコマンドを実行する【Procfile編集】

    例えば、Djangoのデプロイ時に、マイグレーションをしてほしいのであれば、 release: python manage.py migrate web: gunicorn config.wsgi:application --log-file - とする。 並列で処理を実行して欲しい場合 worker を使う。 release: python manage.py migrate worker: python manage.py custom_command web: gunicorn config.wsgi:application --log-file - 参照 https://devcenter.heroku.com/articles/procfile ...
  • Nginxにrtmp-moduleを加えてmake install。ffmpegでRTMP配信する映像をVLCで再生【ライブストリーミング再生】

    • 作成日時:
    • 最終更新日時:
    • Categories: インフラ
    • Tags: nginx rtmp
    RTMPモジュールありのNginx(最新版)をmakeでインストールする。 https://nginx.org/en/download.html 最新版のnginxをインストールする wget https://nginx.org/download/nginx-1.25.5.tar.gz tar -zxvf nginx-1.25.5.tar.gz cd nginx-1.25.5 DLして、解凍したnginxディレクトリの中で、rtmp-moduleをGitHubからクローン git clone https://github.com/arut/nginx-rtmp-module.git rtmp-moduleのパスを --add-module引数に含めてビルドする。 ./configure --add-module=./nginx-rtmp-module make sudo make install これでインストールは完了したが、プロセスはまだ起動していない状態。127.0.0. ...
  • UbuntuのBash(gnome-terminal)で新しいタブを開き、新しいタブでコマンドを実行する

    • 作成日時:
    • 最終更新日時:
    • Categories: インフラ
    • Tags: ubuntu bash tips
    最近のlaravelでは、php artisan serveだけでなくnpm run devも実行しておく必要がある。 参考: 【Laravel】GitHubからダウンロードしたプロジェクトを動作させるには? 故に、ターミナルのタブを開いて双方のコマンドを実行しておく必要がある。 しかし、これを手動でやっていくのはちょっとめんどくさい。 そこで、ワンライナーで新しいタブを開き、開いた新しいタブでコマンドを実行してもらう。 新しいタブ ...
  • 【Ubuntu】systemdでPythonファイルを動作させる【常駐スクリプトに】

    このPythonコードを動作させる。ファイルパスは~/Documents/systemd/test.py import datetime, time while True: with open("test.txt", mode="w") as f: f.write( str(datetime.datetime.now()) ) time.sleep(1) 必要最小限度の serviceファイルが以下。ファイルパスは/etc/systemd/system/testpython.serviceとする。 [Unit] Description=write text file After=network.target [Service] ExecStart=/usr/bin/python3 test.py WorkingDirectory=/home/testuser/Documents/systemd [Install] WantedBy=multi-user.target 下記で動作できる。 sudo systemctl start testpython.service 動作中は/home/testuser/Documents/systemd/te ...
  • 【Django】EC2インスタンスへgitを使ってデプロイする

    scpによるファイルアップロードの場合、ローカルで削除した差分ファイルがインスタンス上に取り残されてしまう。 可能であれば、gitを使ったデプロイができるようになっておきたい。 手順 インスタンスにリモートリポジトリを作る ローカルにリポジトリを作る リモートリポジトリとローカルリポジトリをつなげる SSHの設定に.pemファイルを登録する プッシュする インスタンスにリモートリポジトリを作る インスタンスのデフォ ...
  • poetryなしでDjangoをRender.comへデプロイする【Herokuの代替クラウド、アカウント作成から解説】

    2022年11月28日、Herokuのサービスが完全無料で利用できなくなった。 そこで、代替のクラウドクラウドサービスとして最有力候補のRender.comを使用する。 90日間しかDBは持たないとは言え、就活用のポートフォリオとしてウェブアプリを公開するには十分かと思われる。 本記事では、DjangoをRender.comへデプロイする方法を解説する。 Render.comの基本情報 箇条書きで並べる。最 ...