py-py’s blog

何か書くよ

Pytest の基本

ちょくちょく更新 pytestのテスト対象プログラム名はtest_xxxx.py テスト対象となる関数やメソッドはtest_xxxで始まるもの テスト対象プログラム内でclassを用いてtestclassを使う際はclass名をTestXXXXにする pytest を行う際、コマンドにオプションや引数…

gitのHEADについて

結論 pushするときはgit push origin HEAD pullするときは git pull origin branch_name ナンノコッチャ git push origin HEAD は良いが git pull origin HEAD はだめ。今のブランチの最新をpullすると勘違いしちゃう。 pull origin HEADのorigin HEADが何を…

cronで動かすpythonの重複起動制御

import fcntl from datetime import datetime def main(): with open(__file__, "+a") as Lockfile: try: fcntl.flock(Lockfile.fileno(), fcntl.LOCK_EX | fcntl.LOCK_NB) while True: now = datetime.now().strftime("%Y-%m-%d %H:%M:%S") print(f"{now}: …

nginxを用いたリバースプロキシサーバ構築

環境 - centos7 - nginx1.23.3 - openssl1.1.1 https通信をnginxでフォワードプロキシする、proxyサーバを構築する。 ただし、検証の段階で記事を書いているため動作はdocker上で行っている。 ユニットファイル作成後に sudo systemctl status nginx を実行…

テレワークでTeams使っていてサボってもアイコンを退席状態にしたくないあなたへ

Teamsは何らかの操作をしないと5分かそこらでアイコンが退席状態になる。(黄色のアイコンになる) コンピューターで非アクティブの状態が続くと、Lync では状態が自動的に変更されます。コンピューターでマウスやキーボードを一定期間操作していないと、黄色…

React Hooksメモ

useStateで初期値およびその値を変更する関数名を定義 import React from "react" import { useState } from "react" const App = (props) => { // 初期値定義 const states = { name: "砂糖", price: "100", } // 状態管理 // useStateでは戻り値が二つ(初…

Redux メモ

Reduxはコンポーネントが大きくなった際に状態を管理する action コンポーネントの関数をまとめる 格納先(一例) src/actions/xxxx.js reducer actionが発生した際に、そのactionに組み込まれたタイプに応じて状態をどう変化させるのか定義する 以下をインス…

Reactメモ

propsについて、ページ側(親)で各コンポーネント(子)にプロパティなどを渡している app.js import React, {Component} from 'react'; const App = () => { const profiles = [ { name: "tarou", favorite: "game", job: "student", score: 80, }, { name: "h…

Django- imageファイルの格納

Djangoで画像を扱いたいときの対応。 projectとしてportfolioを作成 applicationとしてblogを作成 blog/models.py from django.db import models class MyPhotos(models.Model): title = models.CharFiled(max_length=20) image = models.ImageField(upload_…

ESのkeyword, textの違い

keywordはテキスト全体そのもの textは格納時アナライザによって各単語によって分割し保存される 参考 colabmix.co.jp

基本的なGit操作

Git

使えないのは自分が苦しいので、本当に基礎的なものだけどこれだけあればとりあえず仕事はできる、というものを書いていく。 前提 - Gitはインストール済み - プロジェクトでgit cloneした後の操作を想定。そのため本当に0からの作業ではないことに注意 ブラ…

CognitoでUserの一覧取得

認証情報とかは docs.aws.amazon.com を参考にする。 import * as AWS from "node_modules/aws-sdk get_users() { let user_index = [] const cognito_indentity_service_provider = new AWS.CognitoIdentityServiceProvider({region: "XXXXX"}) let data = …

awsの知っているものをまとめる

自分がわかっているものだけをまとめる。 詳しいことは公式ドキュメント参照。 まとめないといつまでも忘れる。 IAM ここでユーザーやグループを作って、どのユーザーはどんな権限を持つか確認したり、サービスへアクセスする際の認証情報出したりする。 Cod…

DTO

nest.jsに限らずなんだが。 DTOとはモデルではなく、データ構造。 nest.jsに限っては interface class どちらかで定義するのが良いかというとclass

nest.jsのuuid

npm install uuid sample.service.ts OK : import { v4 as uuid} from "uuid"; NG: import * as uuid from "uuid";

Lambdaの処理が終わらない

AWS

ので困っていたらタイムアウトしているのだった。 ログはきちんと読もう。 参考 dev.classmethod.jp

S3にアップロードされたファイルに対する操作をする前に

AWS

Lambdaで関数作ってバッジ処理を行う際、S3のフォルダ(アップロード先)のプロパティをいじることは抜けていたため参考になった。忘れずにメモ。 blog.serverworks.co.jp プロパティ上で通知名、イベントタイプ等を変更可能。

Nest.jsを使っていた時のメモ書き

Nest.jsを使っていて、気づいた、分かった、整理できた点がいくつかあったのでメモ。 Repository, Model Service, Provider DI Repository, Model Modelはテーブル定義、RepositoryはModelを操作するものと考える Service, Provider 昔、「ServiceProvider」…

Nest.js開発環境構築

Macだと簡単でWindowsだと難しいと思ってたら何も難しくなかった件について。 手順 Node.jsをインストール nest-cliをインストール Node.jsをインストール nodejs.org 推奨版を利用した。 nest-cliをインストール コマンドラインにて以下を入力 npm i -g @ne…

エラーが起きたときの関数名を取得する

どこかでの関数でエラーが起きた場合に、その関数名を取得したいときに使う。 import inspect def test_func(): try: # 何かの処理 except Exception as e: this_function_name = inspect.stack()[0][3] print(f"error happens {e} : {this_function_name}")

DjangoのFormについて

applicationフォルダ配下にforms.pyを作る。 フォームを定義するには django.forms.Form django.forms.ModelForm のどちらかを使う。 django.forms.ModelFormの方が、既存Modelを流用できるため楽に書ける。 django.forms.Formを使った場合。 forms.py from …

シェルによるDjangoモデルの検索

python manage.py shell # 便宜上簡易的なimport宣言にする from . import ModelName # 対象モデルから全件取得 ModelName.objects.all() # 対象モデルから条件を絞って出力 ModelName.objects.filter() # 対象モデルからidが1のデータを取得 ModelName.obje…

DjangoのrenderとHttpResponse

基本render()を使う。 from django.http import HttpResponse from django.template import loader def test_function(request): # 何かの処理 result = ## # html読み込み template = loader.get_template('somewhere/index.html') context = {'result': re…

http通信のheaderについてのメモ

ここらへんわかってないのでへぼいわ。 Referer・・今のページへリクエストしている直前のページのアドレス 参考: developer.mozilla.org ファイルをダウンロードする際、ユーザーエージェントを付与するが、そのほかに付与したい場合、以下のようにする。 f…

面接のときにプログラムを手書きさせる企業なんなの

目の前の箱使わせろや

get_attributeとhas_attr

seleniumとbeautifulsoupでクローリングしているときによく使うのだが、どちらがどっちだったか忘れてしまうため、記入。 selenium get_attribute() beautifulsoup has_attr() has_attr()の方は、attribute持っているかの判定を行い、持っていた場合その要素…

xlrdを使ってエクセルからデータを取得する

良く使うものと簡単かつ適当なサンプルを。 open_workbook("excel_file_name") 引数に指定したエクセルを開く sheet_by_name("sheet_name") 引数に指定したシートをアクティブにする nrows シート内の行を取得する。range()と合わせて使う row_values(index)…

urlopen error EOF occurred in violation of protocol (_ssl.c:777)

なんか出た。 一時的な問題にも思えるのだが。 後で調べるためにおいとく。

PyCharmのscanning files to indexに時間がかかった際の対処(windows)

既存プロジェクトをPyCharmでopenした際、指定ディレクトリ配下にimgやらdocやらのファイルがわんさかある場合、タイトルの事象が起きることがある。 待っているのも時間かかるし、いつ終わるかもわからないので、余分なファイルやフォルダは走査対象外にす…

上記のディレクトリで CMD.EXE を開始しました。 UNC パスはサポートされません。Windows ディレクトリを既定で使用します。

windows10の方に共有フォルダにあるプログラムを実行できない、と言われたため調べた。 ネットワークドライブの割り当ては既に行っているものとする。 レジストリをいじればOK。 ただwindows7と10ではみるところが違うような気がするため、めもっておく。 共…