diadia

興味があることをやってみる。自分のメモを残しておきます。

電話番号に最適なDjangoのフィールドは何か

https://stackoverflow.com/questions/19130942/whats-the-best-way-to-store-phone-number-in-django-models どうやらライブラリがあり、それを利用するのが良いようだ。使い方を随時まとめておく。 https://github.com/stefanfoulis/django-phonenumber-fi…

エラー:form.is_valid()の結果が常にFalseになる場合

エラー内容 form.is_valid()エラーが常に出てしまう問題が出ている コード views.py class ItemCreateView(View): def get(self, request, *args, **kwargs): context = {} form = ItemModelForm() context["form"] =form return render(request, "items/cre…

InputStreamオブジェクトを文字列に変換

InputStreamReaderオブジェクト ドキュメント:https://developer.android.com/reference/kotlin/java/io/InputStreamReader An InputStreamReader is a bridge from byte streams to character streams: InputStreamReaderはバイトストリームから文字ストリ…

kotlinでインターネットに接続する処理

http接続 処理 //接続先のurlを文字列で準備する val urlStr : String = "接続したいurl" //urlの文字列を使ってURLオブジェクトを生成 val url = java.net.URL(urlStr) //URlオブジェクトを使ってHttpURLConnectionオブジェクトを作成 val con = url.openCo…

ListViewの要素をタップしてデータを取得する

ListViewの要素をタップをしたときにデータを取得するコードをどこに書くか コードはオーバーライドしているonItemClickの中に記載する。 データを取得するコードの書き方 val item = parent.getItemAtPosition(position) as MutableMap<String, Any> position getItemAtP</string,>…

adapterの使い方について整理する

adapterの概念 Adapterは配列またはデータベースなどからそれぞれの要素をリストに入れられるように変換し自動的に挿入してくれます。 他に必要な引数は別において、共通的な考え方には以下がある。 adapterの引数にリスト様式のデータとレイアウトを引数と…

ボタンを押すとTextViewに"PUSH"と表示させる

リスナとイベントハンドラの使い方 リスナはイベントが起きるのをじっと待機するもので、イベントハンドラはイベントが起きたと伝達を受けたとき、何らかの処理を起こすもの(何らかの処理は自分がコードを書いて処理を規定する)。 今回はTextViewに"待って…

strings.xmlの内容を表示する方法

TextViewに文字列を表示させる方法 TextViewに文字列を表示させる場合には、画面の表示を担当するxmlにTextViewを配置する。そしてTextviewに表示したい内容をstrings.xmlで決めてあげると表示することができる。.ktファイルは今回はイジる必要がない。.ktフ…

postgresqlにcopyでcsvデータを反映させる

copyを実行する方法 psqlコマンドでデータベースに接続した状態でcopyコマンドを実施する psycopg2でpostgresqlに接続し、copy_fromメソッドを使ってcopyを実施する。 copy_expert(), execute() できないこと、注意点1 csvファイルの指定カラムのみをテーブ…

kotlinメモ

参考:Kotlin入門までの助走読本 https://drive.google.com/file/d/0Bylpznm149-gTGRjOFRkWm9PODg/view 変数定義には2種類ある。 varとval valを使う場合には変数の再代入ができない 配列の変数を定義する場合 python A_list = [1,2,3,4] 又は A_list = list…

DB設計について

テーブルの設計について学習している。 メモを残す。 テーブル設計には正規化という概念が重要らしい。正規化には5つの種類がある。通常は3つまでチェックして修正すれば良いらしい。 第1正規形の定義:1つのセルの中には1つの値しか含まないこと 第2正規形…

ある座標点からxkm以内に存在するデータオブジェクトをmapに表示したい

PostGISを使う場合はST_DWithin()関数を使えばよいだろう。 ではgeodjangoではどうやって特定の範囲内のデータオブジェクトを取得するか? psycopg2を使ってデータオブジェクトのみ取得することももやり方としてはできるだろう。 しかしここではgeodjangoの…

geodjangoのメモ

models.pyでpointを使う場合はmodels.PointFieldを使う。しかしデフォルトの from django.db import models にはPointFieldがない。 from django.contrib.gis.db import models を使うこと。 https://docs.djangoproject.com/en/2.2/ref/contrib/gis/model-a…

unittestのsys.exit()の抜け方

def tashizan(a,b): try: return int(a)+int(b) except ValueError: print("a,bは整数ではなく文字列の可能性があります") sys.exit(1) import unittest , tashizan class TestTashizan(unittest.TestCase): def test_tashizan_1(self): expected = 8 actual…

matplotlib

import pandas as pd import matplotlib.pyplot as plt df = pd.read_csv('demo_test.csv') #print(df) #print(dir(df)) print(len(df)) print(type(len(df))) plt.plot(range(0,len(df)),df['timestamp'],label="test") plt.show()

デバッグについて

デバッグの方法論 今までプログラムを走らせてエラーが出たところでデバッグを行っていた。これではあまり具合が良くないと分かった。 それは設計(ロジック)が正しくて、コードが正しくて、でもインプットデータが問題であるかもしれない。インプットデー…

python csvファイルを結合

csvを結合する方法 ライブラリpandasを使う方法 open関数を使う方法 ライブラリpandasを使う方法 import pandas as pd csv_list = ['csv1_path', 'csv2_path', 'csv3_path', 'csv4_path'] pd_list = [pd.read_csv(file) for file in csv_list] df = pd.conca…

geodjangoの環境構築

https://docs.djangoproject.com/ja/2.2/ref/contrib/gis/install/ geodjangoを使うには、python,django,空間データベース、地理空間ライブラリが必要。 PostgreSQLで空間データベースを使うには、ライブラリであるGEOS,GDAL,PROJ.4,PostGISが必要である。

windowsのpidを確認する方法

linuxのpidの確認方法 lsof windowsの場合 tasklist https://support.kaspersky.co.jp/common/windows/6325#block2

windows postgresqlのデータのディレクトリを変更したい

postgresqlをwindowsにインストールする場合 windowsの場合はインストーラーを起動するとdataの置き場所をウィザードに従って自分で指定することができた。 しかしながらインストール後にデータディレクトリを変更(新たにデータクラスタも作成)する場合に…

人にコードを見せるときには

まずコードだけ見せない。設計書、コード、テストをセットにする。 どの順番にモジュールを使うのかを図とか絵で説明するのは設計書のレベル。 設計書でもっと詳しく確認したいときにコードを確認する流れとなる。 感覚としてはコード無しで構造が分かるもの…

postgres create

import pandas as pd import zipfile,os,time ZIP_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + "\\ZIP_DIR\\" UNZIP_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + "\\UNZIP_DIR\\" MERGED_CSVS = os.pat…

windows便利ショートカットキー

新しいフォルダを作る 「Ctrl + Shift + N」 フォルダ、ファイル名を変更 フォルダ、ファイルをクリックしてからF2ボタンを押す

特定の月だけが入ったレコードだけを取り出すことはできるか?

例えば6月をtimestampやdateのフィールドからselectで抽出できるか? 今まで列の値をwhereを使って=かlikeを使って取得してきた。dateやtimestampでwhere句を使う方法を知らないので、まずそれを調べてみようと思う。 参考:https://stackoverflow.com/questi…

QGISについて分かったことメモ

タイルレイヤプラグインについて 国土地理院の地図を表示するために以下の記事を参考にした。 http://ymcity.hatenablog.com/entry/2016/10/05/234431 このサイトでは国土地理院の地図を表示させるために、上部メニューバーのプラグインからTileLayerプラグ…

postgis環境構築について

windowsで環境構築に詰まって、macでも詰まってしまった。どうすればよいのやら... 結局詰まっている場所は同じ場所だ。 CREATE EXTENSION postgis; を入力すると、windows,mac両者ともエラーが出てしまう。 windowsの場合はまずpostgresqlのインストーラでp…

Postgresqlのコマンドライン:creatdbについてスッキリしたこと

データベースを作成するときのコマンドcreatdbについて CREATE DATABASE MYDB; 上記のようにコマンドを叩くとデータベースを作ることができるのは当たり前として、createdb hogeと書いてもデータベースを作ることができる。このコマンドは天から急に降ってき…

windowsのコマンドプロンプトからPostgreSQLを触る

今回の試み 今回はwindowsにpostgresqlを入れて、そしてコマンドプロンプトからログインできるかを試す。今までwebアプリケーションを作成するにはpostgresqlを使っていたもののサクラVPSで行っていた。だからLinuxかwindowsかの違いや、リモートやローカル…

時間関係のオブジェクトを扱う

時間関係のモジュール timeとdatetimeが存在する。また時間についてはエポックタイムという概念も存在する。 time time.time()でエポックタイムを取得できる。 http://sweng.web.fc2.com/ja/program/python/time.html datetime 今の時間をとる。それはdateti…

SQLite3で複合キーを使ってみる

参考:https://ts0818.hatenablog.com/entry/2017/02/04/162513 http://isakado.blog106.fc2.com/blog-entry-17.html 使用例 # 複合主キーを設定したテーブルを作成 conn = sqlite3.connect("practice.sqlite") cur = conn.cursor() create_table_sql =""" C…