SE(たぶん)の雑感記

一応SEやっている筆者の思ったことを書き連ねます。会計学もやってたので、両方を生かした記事を書きたいと考えています。 でもテーマが定まってない感がすごい。

Python

(小話)他言語と比べたScalaの楽しいところ

最近、Scalaを仕事で使っているのは、以前の記事で述べたとおりです。 それとはちょっと離れますが、Scala学習の一環として社内でプログラミングの問題を解こうという催し?が行われています。私は解くのは義務ではないのですが、解けないと示しがつかないの…

Django - ジェネリックビューで楽してみた(DeleteView編)

数回前の記事で、CreateViewとUpdateViewについて書きました。今回は更新ジェネリックビューの残り、DeleteViewについて書きます。CRUDのDに相当します。 hiroronn.hatenablog.jp hiroronn.hatenablog.jp バージョン等 DeleteViewについて 前提:Model層 Del…

SIer在職中に使った技術を書いてみる

なんやかんや退職直前ということで、仕事で使ったもの(の一部)を載せて、備忘として残します。約二年間です。 案件に関しては書けません。ご了承ください。言語等、ある程度グルーピングします。 データベース C# VBA Java Python Visual Studio Code Node…

Django - ジェネリックビューで楽してみた(UpdateView編)

前回記事でCreateViewを扱いました。今回はUpdateViewについて書きます。CRUDのUに相当します。 hiroronn.hatenablog.jp バージョン等 前提:Model層 UpdateViewとは UpdateViewの効果 自分で作るとしたら UpdateViewを使う場合 主キーの指定 根拠 ビューの…

Django - ジェネリックビューで楽してみた(CreateView編)

間が空きましたが、前回記事に引き続き、Djangoのジェネリックビューについてお話しします。 今回はCreateViewです。CRUDのCに該当します。 以前の記事はこちらです。ジェネリックビューとは何なのか、という部分について説明を書いています。当記事を見る前…

Django - URLに引数を指定してページ遷移する

小ネタです。 Djangoでは*1、URLに引数を指定して、動的に遷移先を変える、みたいなことができます。 例: models.py from django.db import models class Table(models.Model): """テーブル一覧""" name = models.CharField(max_length=100) urls.py from d…

Django - ジェネリックビューで楽してみた(display view編)

前回記事で、Djangoでちゃちゃっとツール作った、みたいな話を書きました。 hiroronn.hatenablog.jp 開発では、Djangoのテンプレートビューを多用してささっと機能を増やしていく、という手法を用いました。 テンプレートビューに関して、簡単ではありますが…

DB分析ツールが無かったので(手早く)実装した

※公開する予定は(今のところ)ありません。*1 ちなみに、フリーでいいソフトあるよ!とかあれば教えてください。 私は退職を控えているわけですが、なぜか新しい案件に回され*2、そこで受領したExcelのデータ定義があまりにも意味不明でした。一応データベ…

Djangoで複数アプリ構築時、事前に考慮したほうが良い部分

この記事は、Qiita Advent Calendar 20189日目の記事になります。16日目とはなりますが、投稿がなかったため、代わりに投稿しました。 qiita.com バージョン等 サンプル 事前準備 テンプレート 結論 根拠 例 静的ファイル(static) 結論 根拠 URL(urls.py) …

VSCodeのPythonで、型推定が強化された模様(2018/12/2現在)

2018/12/3 追記: Python language server extensionというものが必要そうです。 「Visual Studio Intellicode」のインストールが必要かもしれません。後ほど調べて追記します。 当ブログでは、Visual Studio Codeの紹介をよくやっています*1。 Pythonの紹介…

VSCodeで複数のデバッグを同時起動する(Django + TypeScript)

VSCodeでDjangoの開発を行う場合、拡張機能のPythonを入れておくと、Django用のデバッグが自動的に作成されます。 これがあると、キー一つでサーバーが起動できるため、とても助かります。 ただ、以下の点が若干不満です。 TypeScript等、別途コンパイル等が…

VSCodeデバッグ前に任意のタスクを実行させる

最近Djangoの記事ばかり書いていますが、今回もそういう記事です。 現在、DjangoとTypeScriptを使って、ちょっとしたサイトを作っています。 Visual Studio Codeを使って開発しており、DjangoのデバッグはF5キーからできるため、重宝しています。 しかし、Ty…

Djangoのdjango-debug-toolbarが便利だった件

最近、Djangoを使って仕事しています。 バージョン 種類 バージョン Python 3.7.0 pip 18.1 django-debug-toolbar 1.10.1 最近起こったこと 検索フォームを用意しました。 その一部に選択欄を用意するために、独自フォームも用意しました。 画面はこんな感じ…

DjangoのTemplateで辞書(dict)の中身を表示する

最近は業務で、Djangoを使って雑なサイトをおためしで作る*1仕事をやっています。 一週間で作るもの決めて、とにかくスピード勝負で見せるという状況です。 最低限のチュートリアルは、一年前に実施しています。 hiroronn.hatenablog.jp ところで、Djangoの…

Python - unittestで例外発生をテストする

小ネタです。 Python標準の単体テストツールunittestですが、テスト対象メソッドが例外を送出するかテストすることもできます。 その方法が他の言語とはちょっと違ったので、書いてみます。 バージョン 対象 バージョン OS Windows 10 Pro 64bit Python 3.7.…

CodeKataで遊ぶ Kata09: Back to the Checkout

CodeKataやってみた記事、第九弾です。 今回は、Kata09: Back to the Checkoutをやっていきます。 codekata.com 今回は、実際にコードを書く問題です。 以前書いた、CodeKata第一回の問題を元にしているため、Back to the Checkoutという題名のようです。 co…

CodeKataで遊ぶ Kata08: Conflicting Objectives

CodeKataやってみた記事、第八弾です。 今回は、Kata08: Conflicting Objectivesをやっていきます。 codekata.com Conflicting Objectivesは、「矛盾した目的」と訳しています。 概要 Kataの説明 終わった後 自分なりの答え 事前説明 一回目:できる限り読み…

CodeKataで遊ぶ Kata06: Anagrams

CodeKataやってみた記事、第六弾です。 今回は、Kata06: Anagramsをやっていきます。 codekata.com 今回は短いです。 嘘です。普通に長くなりました。 概要 やるべきことを一言で言います。アナグラムになっている文字列を見つけるです。 アナグラムとは、下…

Jupyter Notebookをスクリプトから起動する(Windows)

Jupyter Notebook、便利ですよね。 ただ、起動するときに cd "ルートのパス" jupyter notebook と入力する必要があり、ちょっと面倒です*1。 また、Pythonの仮想環境にJupyterをインストールした場合、 cd "jupyterルート" . "仮想環境起動" jupyter noteboo…

HTMLのスクレイピング:lxmlを使う

このところ、スクレイピングの調べ物が多いです。 実際、本で紹介されていたモジュールで、面白いものがあったので、簡単に紹介します。 読んだ本 honto.jp 翔泳社電子書籍半額セールで買ったうちの一冊です。 PythonでWebリクエストを投げる これは、標準モ…

CodeKataで遊ぶ Kata05:Bloom Filters

CodeKataやってみた記事、第五弾です。 今回は、Kata05: Bloom Filtersをやっていきます。 codekata.com 概要 今回の問題ですが、Bloom Filterというアルゴリズムを実際に書くものです。 まずはWikipediaの説明を見るのが良いと思います。 ブルームフィルタ …

CodeKataで遊ぶ Kata04:データマンジング

CodeKataやってみた記事、第四弾です。 今回は、Kata04: Data Mungingをやっていきます。 codekata.com Data Mungingとは、 受け取ったデータのフォーマットをその他のフォーマットに変換する技法全般 のことを指すそうです。初耳です。(リンク) 問題概要 …

pip 10.0.1 から、Pythonインストール後のpip書き換えは不要になったようです

2018/8/28現在、Python3.7ではpip 10.0.1がインストールされることを確認しました。 当記事の内容は、2019年現在使うことはありませんが、一応残しているものです。 Pythonをインストールした際、Windows環境かつ日本語*1で使う場合は、 WindowsのVisualStud…

CodeKataで遊ぶ Kata02:5つのバイナリサーチ

CodeKataやってみた記事、第二弾です。 以前、Kata01: Supermarket Pricingについて考察しました。 hiroronn.hatenablog.jp 今回は、Kata02: Karate Chopを解いていきます。 問題概要 codekata.com バイナリチョップ(バイナリサーチ、二分探索)を書く。 た…

C#erがPythonを勉強したので、違いについて比較しながら述べてみる その3 型とか

はい。その2を書いたのが250日前、という感じですが、唐突にその3が始まります。 hiroronn.hatenablog.jp hiroronn.hatenablog.jp Twitterで、 Pythonの型について、C#等との比較で知りたい というお話があったので、経験した中で書いていきます。 間違っ…

Pythonのディスクリプタについて:4.メタクラスで登録を楽にする

Effective Pythonの記述に則って、Pythonのディスクリプタについて書いてきました。 前回までのまとめ 定型のプロパティ宣言は、ディスクリプタを使うことで簡便に書ける ディスクリプタを初期化する際、毎回フィールド名を指定するのが面倒 一つの解答:メ…

Pythonのディスクリプタについて:3.ディスクリプタ内のアクセス改善

前の記事で、Pythonのディスクリプタについて書きました。 hiroronn.hatenablog.jp hiroronn.hatenablog.jp 前回の記事のままでもよいのですが、もうちょっと書き方を工夫してみます。 前回まとめ ディスクリプタを使うと、定形のプロパティのように振る舞う…

Pythonのディスクリプタについて:2.内容説明

前回の記事では、ディスクリプタと言いながら、プロパティとフィールドについて説明しました。 hiroronn.hatenablog.jp 参考書籍 前回と同じですが、載せておきます。 honto.jp 前回要約 Pythonのプロパティは、@propertyと@プロパティ名.setterで表現する P…

Pythonのディスクリプタについて:1.【前提知識】プロパティとフィールド

このところ、『Effective Python』を読んでいました。 honto.jp その「項目31」に、 再利用可能な@propertyメソッドにディスクリプタを使う という項目があります。 この内容がよく分からず、同じように書いても動かなくて困惑したので、調べました。 この記…

『テスト駆動開発』のソースをPythonで書いてみる(第Ⅰ部終了)

前回記事の続きです。 hiroronn.hatenablog.jp 『テスト駆動開発』の第Ⅰ章を、Pythonで一通り流したので、感想とか書いてみます。 GitHubのページも貼っておきます。 github.com GitHubのほうは、各章ごとにフォルダを分けており、それぞれREADMEで説明とか…