サーバーサイド
Next.jsのインストール方法とプロジェクトの作成
- 作成日時:
- 最終更新日時:
- Categories: サーバーサイド
- Tags: next.js JavaScript スタートアップシリーズ
本記事ではUbuntu22.04にインストールする。 インストール パッケージの更新 sudo apt update && sudo apt -y upgrade && sudo apt -y autoremove build-essentialのインストール sudo apt install build-essential nodeのインストール curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash – sudo apt install nodejs 参照元: Ubuntu18.04にnode.jsとnpm、vue-cliをインストールする プロジェクト作成 プロジェクトの作成 npx create-next-app next-project プロジェクトのディレクトリに移動 cd next-project サーバーを起動する。 npm run dev 結論 n ...【Laravel】GitHubからダウンロードしたプロジェクトを動作させるには?
GitHubにプッシュされているLaravelプロジェクトをDLして動かすには別途手順を踏む必要がある。 前提 Ubuntuを使用している場合、必要なPHPパッケージが既にインストールされているかをチェックする sudo apt install -y php8.1-cli php8.1-common php8.1-mysql php8.1-zip php8.1-gd php8.1-mbstring php8.1-curl php8.1-xml php8.1-bcmath php8.1-sqlite3 もし、これでパッケージが見つからないと表示される場合は、リポジトリの追加がされていない状況である。 下記コマンドを実行して、再度↑のコマンドを実行する。 sudo apt-add-repository ppa:ondrej/php GitHu ...DjangoとReactを組み合わせる方法論と問題の考察
【Django】createメソッドを使用して、新規作成する【バリデーションしない点に注意】
.create()を使うことで手軽に新規作成ができる。 Model.objects.create() 40分Djangoを元に組むとこうなる。 from django.shortcuts import render,redirect from django.views import View from .models import Topic class IndexView(View): def get(self, request, *args, **kwargs): # .create()を使うことで.save()を使わなくても新規作成ができる。返り値は新規作成したモデルオブジェクト topic = Topic.objects.create(comment="これはテストです。") print(topic) # バリデーションまではされない点に注意。 topic ...【Django】OneToOneFieldでつながっているデータの取得方法【モデル名を小文字にした属性名で取得できる】
OneToOneFieldを使う機会は限定されているので、備忘録として。 タイトルから既に(?)な状態かも知れないが、まずは、下記モデルを見てもらいたい。 # 店舗データテーブル class StoreData(models.Model): class Meta: constraints = [ models.UniqueConstraint(fields=["store","date"], name="unique_store_date"), ] store = models.ForeignKey(Store,verbose_name="店舗",on_delete=models.CASCADE) date = models.DateField(verbos ...【Python】def関数に、PHPやJavaScriptでよく見るアロー関数(->)っぽいものはアノテーション
例えば、以下の関数があったとする。 def test(name:str) -> str: return name print( test("taro") ) print( test(12) ) これは文字列を受け取って文字列を返す関数である。 ただし、上記のように文字列型じゃない型を受け取っても正常に動作はする。 あくまでも注釈として利用することができる。関数の機能自体に影響はない。 参照元 https://docs.python.org/ja/3.6/library/typing.html https://magazine.techacademy.jp/magazine/46675 https://program-shoshinsya.hatenablog.com/entry/2020/09/09/230633 ...【Selenium】webdriver-managerを使ってPythonコードからChromeドライバーをインストールする
前もってwebdriver-managerをインストールしておく。 pip install webdriver-manager 下記コードでChromeドライバーが簡単にインストールできる。 from selenium import webdriver from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import ChromeDriverManager driver = webdriver.Chrome(service=Service(ChromeDriverManager().install())) driver.get("https://www.google.com/") どうやらvirtualenvではなくOSに直インストールされるようだ。 ...【Django】DurationFieldのフォームの最適解を考えてみる【JSを使うか、Django側で制御するか】
【BeautifulSoup】imgタグをスクレイピングして画像をダウンロードする
- 作成日時:
- 最終更新日時:
- Categories: サーバーサイド
- Tags: BeautifulSoup Python tips スクレイピング
DoS攻撃になってしまうので、ダウンロードのたびに1秒待つようにしたほうが良いだろう。 import requests,bs4,time result = requests.get("https://noauto-nolife.com/") soup = bs4.BeautifulSoup(result.content, "html.parser") elems = soup.select("img") count = 0 for elem in elems: url = elem.get("src") result = requests.get(url) #バイナリで書き込み with open(str(count)+".png", "wb") as f: f.write(result.content) count += 1 #1秒待機する(DoS攻撃になってしまうため) time.sleep(1) ...