スキップしてメイン コンテンツに移動

投稿

Djangoで多段かつ複数チェックボックスにて絞り込みをおこなう

今回もタイトル通りですが、ネットで検索しても多段・複数チェックボックスを用いての例がほとんどみつかりませんでした。チェックボックスについては一段の例はあったのですが、やってみたところ、簡易的に多段かつ複数の絞り込みができたので、備忘録として挙げてみました。 早速ですが以下models.pyです。 class mb_basic_spec(models.Model): class Meta: managed = False db_table = 'mb_basic_spec' art_id = models.BigIntegerField(primary_key=True, db_column='art_id') art_name = models.TextField() chipset_vendor = models.CharField(max_length=128) chipset = models.CharField(max_length=128) vendor = models.CharField(max_length=128) cpu_socket = models.CharField(max_length=128) form_factor = models.CharField(max_length=128) memory_form = models.CharField(max_length=128) memory_type = models.CharField(max_length=128) class v_vendor(models.Model): class Meta: managed = False db_table = 'view_vendor' vendor_id = models.IntegerField(primary_key=True, db_column='vendor_id') vendor = models.CharField(max_length=128) class v_chipset...

項目可変長の縦持ち属性テーブルを属性毎にviewを作成し横持ちにして扱う

ほぼタイトルの通りですが、メインテーブルのマスターレコードに対し、複数の属性レコードで項目が可変長の属性テーブルがあり、これを、横持ちのデータとして取り扱う必要がありました。最初はPivotを使おうかと思いましたが、項目が可変長なので、うまくいきません。そこで、属性種別ごとにviewを用いてマスターレコード単位でに横持ちにし、さらにマスターレコードidを頼りに、複数のviewをinnerjoinで複数結合させたところ、ほぼ目的通りに動作したので、備忘録代わりに挙げてみることにしました。 属性テーブルは一例として以下の様になっています。 select * from art_prop where art_id=1; +-------------+------------------+--------------+---------------+------------------+----------------+-----------+-----------+--------+ | art_prop_id | prop_cat | prop_name | prop_dsc1 | prop_dsc2 | prop_dsc3 | prop_dsc4 | prop_dsc5 | art_id | +-------------+------------------+--------------+---------------+------------------+----------------+-----------+-----------+--------+ | 1 | Basic spec | vendor | ASRock | | | | | 1 | | 2 | Basic spec | form factor | Micro ATX | | | | | 1 | | ...

Djangoでサブフォームがある場合について

サブフォーム側に複数レコードがあり、なおかつ複数サブフォームを使う必要があり、はじめはインラインフォームをつかってできないかとおもいやっていたのですが、登録はともかく、更新などがうまくいきませんでした。そこでしらべたところ、ほぼそのままなんですが、 こちらの記事 を参考にしたところ、(ありがとうございます m(__)m) django-extra-viewsを使うことで凡そのことができたので、備忘録として挙げてみました。 まず、django-extra-viewsをインストールします。debianではpython3-django-extra-viewsパッケージがあるので、これをインストールしておきます。 つづいてviews.pyとforms.pyですが以下の様にしました。 #views.py class artCreateView(CreateWithInlinesView): model = art fields = ('art_name', 'cat1', 'cat2', 'cat3', 'cat4', 'url1', 'url2',) context_object_name = 'art' inlines = [art_propForm] template_name = 'myapp/edit.html' success_url = reverse_lazy('pc:top') factory_kwargs = { 'can_order': True, 'can_delete': True} class artUpdateView(UpdateWithInlinesView): model = art form_class = artForm inlines = [art_propForm] template_name = 'myapp/edit.html' success_url = reverse_lazy('pc:top')...

米国の固定ブロードバンド接続について: 2020年6月30日現在 FCC統計

前回 に引き続き、2020年6月30日現在の、FCCによる米国の固定ブロードバンド接続統計データの簡易分析です。今回はDataBaseにWindows上のoracle 19c、問い合わせクライアントにSQL Developerを使ってみました。 まず、データを取得します。今回は、 こちら からダウンロードし、解凍しました。データサイズは以前より少し増えて11GB程です。 つづいて、フィールドがどうなっているか、WSL2/Debianで確認したところ、 前回 と同じでした。 $ head -n1 fbd_us_with_satellite_jun2020_v1.csv LogRecNo,Provider_Id,FRN,ProviderName,DBAName,HoldingCompanyName,HocoNum,HocoFinal,StateAbbr,BlockCode,TechCode,Consumer,MaxAdDown,MaxAdUp,Business つづいて、Oracle19c上でDBを新規作成します。なお、Oracle 19cは、C:\Users\YourID\Downloads\WINDOWS.X64_193000_db_homeに解凍し、Databaseは、C:\Users\YourID\Oracle\以下にインストールしました。また、インスタンスを追加し、追加したインスタンスに本DBを作成するようにしています。 0. フォルダーとinit.oraを作成 mkdir C:\Users\YourID\Oracle\oradata\USBB mkdir C:\Users\YourID\Oracle\oradata\USBB\orclpdb mkdir C:\Users\YourID\Oracle\oradata\USBB\pdbseed mkdir C:\Users\YourID\Oracle\recovery_area\USBB ============================================================================== notepad "C:\Users\YourID\Oracle\admin\usbb\pfile\initUSBB.ora" =...

youtube 4k 60fps HDR 動画をローカルにダウンロードしVLCにて再生 (Windowsの場合)

VLCをつかってYoutube 4k HDR(PQ/HLG) のストリーミング視聴をしたいと思ったのですが、グラフィックス環境はIntel HD Graphics 630とNvidia GT1030では、上手くいきませんでした。そこで、youtube-dlをつかってWindows PC 上に一旦ダウンロードして再生するという方向でやってみたところ、視聴できたのでそのメモです。 まず、youtube-dl.exeをダウンロードします。ダウロードは こちらのページ にリンクがあるので、youtube-dl.exeを"C:\Users\YourUserID\AppData\Local\Microsoft\WindowsApps"にコピーします。 また、youtube-dl.exeは Microsoft Visual C++ 2010 Service Pack 1 Redistributable Package (x86) が必要なので、インストールしておきます。 続いてffmpegをダウンロードします。 ダウンロードページはこちら にあるので、latest releaseからダウンロードし、解凍します。解凍がすんだら、youtube-dl.exeと同じディレクトリに bin以下のファイルをコピーします。 必要なインストールは以上です。つづいて実際にダウンロードしてみます。今回は、youtube 4k 60fps HDRのモノをダウンロードしてみました。まず、以下のようにして、ダウンロードできる形式を調べます。 youtube-dl https://www.youtube.com/watch?v=XXXXXXXXXXX -F [youtube] XXXXXXXXXXX: Downloading webpage [info] Available formats for XXXXXXXXXXX: format code extension resolution note 249 webm audio only tiny 50k , webm_dash container, opus @ 50k (48000Hz), 1.18MiB 250 webm audio only ...

ロープロファイルPCIeグラフィックスカードを使い、DisplayPort1.2入力モニターで4k 60fps hdr (vp9 profile 2) にてyoutubeをオンライン再生

Youtubeのオンライン視聴(google chrome)では4k 60fps(vp9 profile 0)の再生はできていたのですが、HDR再生は試してませんでした。そこで、4k 60fpsでhdr(vp9 profile2)にて再生できないものかいろいろ試行錯誤した結果、いまさらですが、ようやくオンライン再生できたので忘備録として本稿を挙げてみました。 なお、今回検証したPC環境では、ロープロファイルのPCIeカードしか挿せないので、この構成でHDMI出力にて4k 60fps hdr、VP9 + Profile2 での再生となると、グラフィックスカードの選択肢は極端に少なくなります。 具体的にはPascal世代以降でなおかつVP9+Profile2のデコーダーが入っているものに限定されます。さらにDisplayPortにくわえHDMIの出力ができるものとなると、具体的には以下のグラフィックスカードがスペック上は対応しているようです。(2021/09/07現在) GT1030 (GP108) 系列 GT1050 (GP107) 系列 GTX1650系列 このうち、たまたまですが、手元にGT1030のグラフィックスカード(MSI GeForce GT 1030 2G LP OC グラフィックスボード VD6348)があったので、まずはこれで検証してみることにしました。 結果は、VP9 + Profile2(HDR)では、Google ChromeのView Port サイズがおよそ2kまでなら再生できるが、およそ2kを超えると、コマ落ちが激しくなり、とても見れたものではありませんでした。スペック上はGT1030でOKなはずですが、残念な結果です。 なお、タスクマネージャで確認すると、Video Decodeは余裕があるが、GPUの3D使用率が100%近くに張り付いていました。Decodeには問題ないが、なにがしかの処理性能がグラフィックスカード上でおいついていないようです。 そこで、オンボードのDisplayPort(Intel HD Graphics 630)ではどうなのか試したところ、ほぼGT1030と同じ結果になりました。これもGPUの3D使用率が100%近くにはりついていおり、Decodeには問題ないが、なにがしかの処理能力...

UEFI Secure Boot 環境 にて、WindowsPE を PXE で起動

UEFI環境下では、2021/08/19現在、iPXEにはMicrosoftがサインしたefiバイナリがないので、そのままではセキュアブートができません。そこでWindows PEをPXE経由でDebian 10/Buster サーバからセキュアーブートしてみました。 まず初めにWindows上でWinPEを日本語化させたものを作成します。今回はamd64のみを対象としてみました。まず、Windows ADKをダウンロードします。今回も Windows 10 バージョン 2004、Windows 10バージョン 20H2、Windows 10 バージョン 21H1 用のものをダウンロードし、インストールします。adk本体のインストールがすんだら、 アドオンをダウンロード しインストールします。 続いて、スクリプトを使って amd64向けの日本語化したWinPEをセットアップします。以下、スクリプトです。C:\Tempを作成し、その中にcppe_ja.batという名前で作成し保存します。 for %%d in (amd64) do call :Cppe %%d REM for %%d in (amd64, x86) do call :Cppe %%d goto End :Cppe set ADK_PATH=C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit set ADK_PACK=%ADK_PATH%\Windows Preinstallation Environment\%1\WinPE_OCs set WS_DIR=C:\Temp\WinPE\%1 call copype %1 "%WS_DIR%" Dism /Mount-Image /Imagefile:"%WS_DIR%\media\sources\boot.wim" /Index:1 /Mountdir:"%WS_DIR%\mount" Dism /Image:"%WS_DIR%\mount" /Add-Package /Packagepath:"%ADK_PACK%\ja-jp\lp.cab" Dism...