Djangoでmodelsを使う時の流れ

最近、Djangoを触っているので覚書としてぼちぼち書きたいと思います。

継続は力…

現在作成しているアプリケーション環境は

django version 2.0.5

postgresql

modelsの触り方(※myappは今回作成したテスト用ディレクトリ)

1)myapp/models.py内で

from django.db import models

# Create your models here.
class testlogin(models.Model):
    username=models.CharField(max_length=10)
    password=models.CharField(max_length=10)

コンソール上で

 >python manage.py makemigrations myapp

 f:id:da-machi:20180810004050p:plain

 →この時点でマイグレーションファイルが作成される。

こういう階層関係↓↓(黒塗りはまた別のテーブル)

f:id:da-machi:20180810003743p:plain

 >python manage.py sqlmigrate myapp 0001

f:id:da-machi:20180810004731p:plain

 →フレームワーク側からテーブルが作成される

以下DBに接続し確認したもの f:id:da-machi:20180810005014p:plain

以上。

pythonやろうやん?

まずは環境構築から

 

VBoxにCentOSを入れます。

 

Pythonインストールしま~

下記参考サイト

Python 3.4.3のインストール

 

Pythonを対話モードで動かしま~

下記参考サイト

Pythonの対話モードを使ってみよう!【超初心者向け】 | ハジプロ!

 

とりあえず

f:id:da-machi:20180530235658p:plain

 

動いたんで今日は終わり寝zzz

エクセルマクロ クラスの使い方覚書

自分用覚書記事です

エクセルでの検索系マクロを書く上での
カスタムを意識した設計のものをひとつ

標準モジュール

'ループしながら検索した単語の含まれる
'座標と内容を返す。
Public Function search(ByVal searchStr As String) As Variant

Dim c As Range
Dim first As String
' 最初の検索
Set c = Cells.Find(searchStr)
If c Is Nothing Then
    Exit Function
End If

'1回めの検索ヒット処理
first = c.address
Debug.Print (c.address)

'型宣言と代入
Dim ret As cellData
Set ret = New cellData

ret.address = c.address


Dim retList(2) As Variant
Set retList(1) = ret

'以下2回目以降ループ処理
Do
    ' c に対する処理

    ' 次を検索
    Set c = Cells.FindNext(c)
    If c Is Nothing Then
        Exit Do
    End If
    If c.address = first Then
        Exit Do
    End If
    
    'インスタンス生成による初期化(上書き)
    Set ret = New cellData
    
    'アドレスの代入
    ret.address = c.address
    Set retList(2) = ret
    
Loop

'戻り値に結果を代入
search = retList

End Function


Sub main()
    Dim mainList() As Variant
    
    Debug.Print ("--search開始--")
    mainList = search("特許")
    Debug.Print ("--searchおわり--")
    
    Debug.Print ("-----------------")
    Debug.Print (mainList(1).address)
    Debug.Print (mainList(2).address)
    Debug.Print ("-----------------")

End Sub

クラスモジュール(cellData)

'検索セルのデータ
'検索でヒットしたアドレス
Public address As String
'検索でヒットした文の内容
Public contents As String


スタイルシートで高さを合わせるコツ

うまく高さを合わせるには border: none; で高さを消すのがコツ

css

*{
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}

#header{
    height: 100px;
    background-color: rebeccapurple;
    border: none;
}

#out_box{
    height:100%;
    width: 100%;
    border: none;
}

#in_box{
    height: calc(100% - 200px);
    background-color: skyblue;
    border: none;
}

#footer{
    height: 100px;
    background-color: rebeccapurple;
    border: none;
}

index.html

<html>

<head>
    <meta charset="UTF-8">
    <link rel="stylesheet" type="text/css" href="css/common.css" />
    <title>トップページ</title>
</head>

<body>
    <div id="out_box">
        <div id="header"></div>

        <div id="in_box"></div>

        <div id="footer"></div>
    </div>
</body>

</html>


見た目こんな感じ
f:id:da-machi:20171203042354p:plain


高さを合計100%になるよう計算するスクロールバーも出ずに きれいに収まった。

ssh設定覚書

ssh設定覚書

サービスの起動
systemctl start sshd.service

サービスの確認
systemctl status sshd.service

ファイアウォールの設定
一時的な追加
firewall-cmd --zone=public --add-service=ssh
恒久的な追加
firewall-cmd --zone=public --add-service=ssh --permanent
設定の反映
firewall-cmd –reload
設定の確認
firewall-cmd --list-all

ポートの直接開放
firewall-cmd --zone=public --add-port=番号/tcp
firewall-cmd --zone=public --add-port=番号/tcp --permanent

※Tera Termからの接続が遅い時
/etc/ssh/sshd_config

UseDNS no
を追記

P.S. System.getProperty("user.home")+File.separatorは偉大

書き置きです。

実行ログ書き置き

C:\Windows\system32>npm get proxy
null

C:\Windows\system32>npm get http-proxy
undefined

C:\Windows\system32>npm get https-proxy
null

C:\Windows\system32>npm config ls -l
; cli configs
long = true
metrics-registry = "https://registry.npmjs.org/"
scope = ""
user-agent = "npm/5.5.1 node/v9.2.0 win32 x64"

; builtin config undefined
prefix = "C:\\Users\\(user_name)\\AppData\\Roaming\\npm"

; default values
access = null
allow-same-version = false
also = null
always-auth = false
auth-type = "legacy"
bin-links = true
browser = null
ca = null
cache = "C:\\Users\\(user_name)\\AppData\\Roaming\\npm-cache"
cache-lock-retries = 10
cache-lock-stale = 60000
cache-lock-wait = 10000
cache-max = null
cache-min = 10
cafile = undefined
cert = null
cidr = null
color = true
commit-hooks = true
depth = null
description = true
dev = false
dry-run = false
editor = "notepad.exe"
engine-strict = false
fetch-retries = 2
fetch-retry-factor = 10
fetch-retry-maxtimeout = 60000
fetch-retry-mintimeout = 10000
force = false
git = "git"
git-tag-version = true
global = false
global-style = false
globalconfig = "C:\\Users\\(user_name)\\AppData\\Roaming\\npm\\etc\\npmrc"
globalignorefile = "C:\\Users\\(user_name)\\AppData\\Roaming\\npm\\etc\\npmignore"
group = 0
ham-it-up = false
heading = "npm"
https-proxy = null
if-present = false
ignore-prepublish = false
ignore-scripts = false
init-author-email = ""
init-author-name = ""
init-author-url = ""
init-license = "ISC"
init-module = "C:\\Users\\(user_name)\\.npm-init.js"
init-version = "1.0.0"
json = false
key = null
legacy-bundling = false
link = false
local-address = undefined
loglevel = "notice"
logs-max = 10
; long = false (overridden)
maxsockets = 50
message = "%s"
; metrics-registry = null (overridden)
node-version = "9.2.0"
offline = false
onload-script = null
only = null
optional = true
otp = 0
package-lock = true
parseable = false
prefer-offline = false
prefer-online = false
; prefix = "C:\\Program Files\\nodejs" (overridden)
production = false
progress = true
proxy = null
read-only = false
rebuild-bundle = true
registry = "https://registry.npmjs.org/"
rollback = true
save = true
save-bundle = false
save-dev = false
save-exact = false
save-optional = false
save-prefix = "^"
save-prod = false
scope = ""
script-shell = null
scripts-prepend-node-path = "warn-only"
searchexclude = null
searchlimit = 20
searchopts = ""
searchstaleness = 900
send-metrics = false
shell = "C:\\Windows\\system32\\cmd.exe"
shrinkwrap = true
sign-git-tag = false
sso-poll-frequency = 500
sso-type = "oauth"
strict-ssl = true
tag = "latest"
tag-version-prefix = "v"
timing = false
tmp = "C:\\Users\\(user_name)\\AppData\\Local\\Temp"
umask = 0
unicode = false
unsafe-perm = true
usage = false
user = 0
; user-agent = "npm/{npm-version} node/{node-version} {platform} {arch}" (overri
dden)
userconfig = "C:\\Users\\(user_name)\\.npmrc"
version = false
versions = false
viewer = "browser"

C:\Windows\system32>

jsインポート順序のエラーについて覚書

test.html

<html>
    <head>
        <meta charset="UTF-8">

        <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
        <script type="text/javascript" src="js/before.js"></script>
        <script type="text/javascript" src="js/after.js"></script>

    </head>
    <body>

    </body>
</html>

before.js

var test = new Array();

function myDate(){
    var date = new Date();
    test[0] = date.getFullYear();
    test[1] = date.getMonth();
    test[2] = date.getDay();
}

function testStr(){
    myDate();
    return test[0]+test[1]+test[2];
}

function testAlert(){
    alert(testStr());
}

after.js

$(function(){
    testAlert();
    alert(test[0]);
});

jquery-3.2.1.min.js ・before.js ・after.js の並びで正常動作

・before.js ・after.js ・jquery-3.2.1.min.js の並びにすると

ReferenceError: $ is not defined

jqueryないです。エラー

jquery-3.2.1.min.js ・after.js ・before.js の並びでも正常動作