和、西暦相互変換プログラムのメニューへの追加

西暦・和暦相互変換プログラムの該当メニュー

西暦←→和暦相互変換プログラムのメニューへの追加を行った。これはPowerShellでオフラインでデバッグを行い、「野性の証明のSampleフォルダ」へのアップロードを実行した結果である。記事の終わりの方のリンクをクリックするとプログラムの実行ができるようになっている。

西暦・和暦相互変換プログラムの該当メニュー
西暦・和暦相互変換プログラムの該当メニュー
↑人気ブログランキングに参加しています。ポチっと1票を!

集めた(または書いた)資料一覧

集めたまたは書いた資料一覧

集めた(または書いた)資料一覧(20/08/06)

AI No.1バインダー

  1. Atomのインストール(各種パッケージのインストール)
  2. Emacs入門ガイド
  3. UBUNTUのインストール
  4. fdiskコマンドの書式
  5. Linuxのマウント(mount)について
  6. Linuxファイルシステムの種類や作成方法について
  7. Linuxパーティションとは?パーティションの区切り方を詳細解説
  8. Linuxのフォーマットの方法
  9. Ubuntu日本語フォーラム
  10. Ubuntu 18.04 LTS 日本語 Remix
  11. UbuntuのLive USBをつくる
  12. Installing on Linux(英文)
  13. Python開発環境設定
  14. Atomの実行
  15. OBJECT指向入門
  16. 外付けHDDにUbuntuをインストールするまで
  17. Recovery手順18-08-04
  18. 作業手順(外付けHDD)
  19. システムジェネレーションその4
  20. ライセンス認証済み
  21. WSLでmatplotlibやgnuplotがプロットできない
  22. AnacondaなしでAtomのHydrogenをいれる
  23. Windows Subsystem for Linux
  24. オブジェクト指向をより理解するために実際に書いて説明する
  25. オブジェクト指向と10年戦って分かったこと
  26. なぜオブジェクト指向は難しいのか
  27. 正しい名前を付けることが大切な理由
  28. Chromeを使うなら必ずServiceWorkerを無効にしよう
  29. オブジェクト指向のいろは
  30. 初心者向け独学でAIエンジニアになりたい人向けおすすめの勉強方法
  31. Python Flaskを使用したWebサーバーの作成
  32. What is GitHub?(英文)
  33. GitHubって何?(日本文)
  34. WSL(flask)とUSBのやり取り(Logなど)
  35. データベースコンソールの操作
  36. ローカル接続(データベース)
  37. 独自SSL証明書導入
  38. 今まで学習したこと(flask関連)
  39. Demoxx関連ジャーナル
  40. 機械学習/ディープラーニング初心者が2018年にやったこと、読んだ論文
  41. Deep Learning学習計画表(AI技術者になるために)(日本語)
  42. Octave入門
  43. 【Deep Learning入門】0から勉強して3ヶ月でポリープ検出AIを作った

AI No.2バインダー

  1. Coursera Machine Learning関連資料

AI No.3バインダー

  1. はじめにーディープラーニング入門:Chainerチュートリアル
  2. Chainerが作った「ディープラーニング入門」が凄すぎる!
  3. Pythonチュートリアル
  4. [2019年5月版]機械学習・深層学習トレンド・リンク150
  5. 【Python入門】クラスの継承についてやさしく解説
  6. オブジェクトデータメソッド
  7. Qiitaでよい記事を書く技術
  8. NumPyとは?
  9. Deep Learning実践開発講座(DL4US)公開用リポジトリ
  10. 経験零から始めるAI開発
  11. PyCharmでライブラリをインストールする
  12. PyCharmの使い方
  13. NumPyでndarray型の配列を新規作成する方法
  14. Python学習手順
  15. PythonのプログラムをWebサイトに転送して動かすまで
  16. ロリポップ!FTP(フォルダの作成、編集)
  17. ロリポップ!FTP(ファイルのアップロード)
  18. 入門の第一歩!PowerShellの概要を知ろう
  19. 【Python】フレームワークFlaskの基本をマスター
  20. 40年でソフトウェア開発の景色はどのぐらい変わったのか?
  21. Windows標準機能「ペイント」で複数の画像を1つにまとめる方法
  22. Windows10で「あ」「A」のウザい表示を消す方法
  23. IT業界のルー大柴と渡り合うためのカタカナ用語一覧
  24. RSSって何?RSSの仕組みを理解し、RSSリーダー「Feedly」を使ってみよう!
  25. chrome使用時に右下に表示される広告・通知を消す方法【Windows10】

AI No.4バインダー

  1. Windowsのポチポチ業務を爆速化できるPowerShell、はじめのハードルぐーーんと下げてみます!
  2. Windowsのポチポチ業務を爆速化できるPowerShell、キーボードを使わずささっと起動する方法
  3. Windowsのポチポチ業務を爆速化できるPowerShellの絶対条件!ディレクトリとその移動をマスターしよう!
  4. Windowsのポチポチ業務を爆速化するPowerShell、コマンドレットを腹の底から理解する!
  5. Windowsのポチポチ業務を爆速化するPowerShell、オンラインヘルプでコマンドレットを使い倒す!
  6. Windowsのポチポチ業務を爆速化するPowerShell、統合開発環境ISEを紹介します!
  7. Windowsのポチポチ業務を爆速化するPowerShell、スクリプトを実行するための準備
  8. Windowsのポチポチ業務を爆速化するPowerShell、フォルダを作るスクリプトの作り方
  9. Windowsのポチポチ業務を爆速化するPowerShell、if文を使いフォルダの有無で処理を分岐させる方法
  10. Windowsのポチポチ業務を爆速化するPowerShell、ForEach-Objectで配列の全要素を処理する方法
  11. Windowsのポチポチ業務を爆速化するPowerShell、パイプラインを使いコマンドレット間で値を引き渡す方法
  12. Windowsのポチポチ業務を爆速化するPowerShell、ファイルを別フォルダにコピーし名称を変更する方法
  13. Windowsのポチポチ業務を爆速化するPowerShell、ファイル名を変更する方法
  14. Windowsのポチポチ業務を爆速化するPowerShell、正規表現で複雑なファイル名変更をする方法
  15. Windowsのポチポチ業務を爆速化するPowerShell、タスクスケジューラでスクリプトを決まった日時に起動する方法
  16. Windowsのポチポチ業務を爆速化するPowerShell、ファイルをバックアップするスクリプトの作り方
  17. Windowsのポチポチ業務を爆速化するPowerShell、関数を作ってスクリプトから呼び出す方法
  18. Windowsのポチポチ業務を爆速化するPowerShell、関数をコンソールで登録して呼び出す方法
  19. Windowsのポチポチ業務を爆速化するPowerShell、短いワードでサッと関数を呼び出すエイリアスの使い方
  20. Windowsのポチポチ業務を爆速化するPowerShell、関数やエイリアス保存場所のドライブを紹介します
  21. Windowsのポチポチ業務を爆速化するPowerShell、elseifで日付の元号を判定する方法
  22. Windowsのポチポチ業務を爆速化するPowerShell、日付を操るDatetime型
  23. 自称IT企業があまりにITを使わずに嫌になって野に下った俺が紹介するWindowsの自動化の方法
  24. 【 Remove-Item 】コマンドレット――ファイルやフォルダを削除する
  25. About Execution Policies
  26. PowerShellでIf文を利用した条件分岐を行う
  27. PowerShellでIf文を利用した条件分岐を行う(比較演算子)
  28. PowerShell実例集ジャーナル
  29. 各種「開発環境稼働方法」など一覧
  30. Python中級者への道しるべ
  31. WP SyntaxHighlighterを使ってみる
  32. IT業界で働く者の基礎知識となるクラウドネイティブとは?
  33. Windows 10で日本語入力できない、半角/全角キーが効かなくなった場合の解決方法
  34. 各種指示書
  35. PyCharmでデバッグを行う方法
  36. PyCharm 2019.2
  37. Windows PowerShell ドライブの管理
  38. Gutenberg移行後の最初の編集
  39. WordPress5.0の新エディタ「Gutenberg(グーテンベルグ)」の使い方
  40. Gutenbergの便利な使い方とテーマ対応状況
  41. Enlighter snapshot各種
  42. 200109どうやってAIを学習するか?
  43. ゴリゴリの文系がAIをほぼ独学した半年
  44. Pythonでゼロからでもサービス開発・公開できる学習ロードマップ
  45. データベース接続確立エラー(パスワード変更)

iPhone No.1バインダー

  1. 「Googleフォト」の使い方
  2. ガラケーからスマホへの機種変更
  3. iPhoneの使い方
  4. iPhoneの設定
  5. ソフトウェアキーボードの基本操作
  6. iPhoneキーボードハンドリング
  7. Yahoo乗換案内
  8. iOSの中で、アプリケーション同士が連携するための仕組み
  9. ブログ記事の下書きにiPhone「メモ帳」が最強!
  10. 高スパ「iPhone SE」と「iPhone11」どちらを選ぶ
  11. Siriショートカットの使い方と便利な作成例
  12. ブックマークの登録・削除・編集する
  13. iPhoneの標準ブラウザ「Safari」の基本操作・便利機能・小ワザまとめ
  14. 音声認識編集記号

iPhone No.2バインダー

  1. iPhone充電記録
  2. BackUpEtoUSB日付入り.ps1(PowerShell_ISE)
  3. Pipenvを用いたPythonの環境構築
  4. PyCharmが使用するディレクトリ
  5. PyCharmでライブラリをインストールする
  6. AnacondaなしでAtomのHydrogenを入れる
  7. OutlookからGmailへの連絡先の移行について
  8. メールソフトの設定
  9. リカバリガイド(Windows10)
  10. 知らないと損、iPhoneの操作を自動化する「ショートカット」アプリの使い方 基本ガイド
  11. iPhoneの「ショートカット」って何?おすすめショートカット12個!登録していると便利だぞ

総集編 Index

  1. 開発環境稼働方法
  2. Flask構造P
  3. emacsの操作
  4. DeepLearningモジュール一覧表
↑人気ブログランキングに参加しています。ポチっと1票を!

クラスとインヘリタンス

2019年5月22日の記事の再掲

今、PythonのProgrammingを思い出している。これは2019/5/22付の記事の再掲である。これらはオブジェクト・オリエンティッドのプログラムの必須機能である。内容は同記事を参照してください。

class Pet(object):
    def __init__(self, name, size):
        self.name = name
        self.size = size
    def petcall(self):
        print("Cannot burk")
    def run(self):
        print("running")
class Dog(Pet):
    def petcall(self):
        print("Bow wow")
    def run(self):
        print("running")
class Cat(Pet):
    def swim(self):
        print("cannot swimming")
    def petcall(self):
        print("Mew")
    def run(self):
        print("running")
class Turtle(Pet):
    def __init__(self, name, size, color):
        self.name = name
        self.size = size
        self.color = color
    def run(self):
        print("Just walking")

gardenPet = Pet("Mary", 160)
gardenPet.petcall()
gardenPet.run()
houseDog = Dog("John", 40)
houseDog.petcall()
houseDog.run()
nekoTheCat = Cat("Neko", 35)
nekoTheCat.swim()
nekoTheCat.petcall()
nekoTheCat.run()
tinyTheTurtle = Turtle("tiny", 10, "green")
print(tinyTheTurtle.color)
tinyTheTurtle.petcall()
tinyTheTurtle.run()

上のCode画面の右上隅の左から2番目のアイコン(コピー)をクリックし、ご自分の何らかのエディタにペイストすればPython Programが編集可能となります。

文字が小さく見ずらい時はWindows拡大鏡をお使いください。Windows・キー + 「+」(プラス・キー)(Windows・キーはキーボード左下、左から3~4番目のキー。抜けるにはWindows・キー + 「ESCキー」を押します)
Enlighterのコードは窓の右上アイコンの「<>」を押すと明るい表示になります。

↑人気ブログランキングに参加しています。ポチっと1票を!

Python Prog.の復習

最初は「N Queens problem」のコードである。

##!/usr/bin/env python3
# Modified this program by S.K on 2020/04/26
"""
N queens problem.

The (well-known) problem is due to Niklaus Wirth.

This solution is inspired by Dijkstra (Structured Programming).  It is
a classic recursive backtracking approach.
"""

N = 8                                   # Default; command line overrides

class Queens:

    def __init__(self, n=N):
        self.n = n
        self.reset()

    def reset(self):
        n = self.n
        self.y = [None] * n             # Where is the queen in column x
        self.row = [0] * n              # Is row[y] safe?
        self.up = [0] * (2*n-1)         # Is upward diagonal[x-y] safe?
        self.down = [0] * (2*n-1)       # Is downward diagonal[x+y] safe?
        self.nfound = 0                 # Instrumentation

    def solve(self, x=0):               # Recursive solver
        for y in range(self.n):
            if self.safe(x, y):
                self.place(x, y)
                if x+1 == self.n:
                    self.display()
                else:
                    self.solve(x+1)
                self.remove(x, y)

    def safe(self, x, y):
        return not self.row[y] and not self.up[x-y] and not self.down[x+y]

    def place(self, x, y):
        self.y[x] = y
        self.row[y] = 1
        self.up[x-y] = 1
        self.down[x+y] = 1

    def remove(self, x, y):
        self.y[x] = None
        self.row[y] = 0
        self.up[x-y] = 0
        self.down[x+y] = 0

    silent = 0                          # If true, count solutions only

    def display(self):
        self.nfound = self.nfound + 1
        if self.silent:
            return
        print('+-' + '--'*self.n + '+')
        for y in range(self.n-1, -1, -1):
            print('|', end=' ')
            for x in range(self.n):
                if self.y[x] == y:
                    print("Q", end=' ')
                else:
                    print(".", end=' ')
            print('|')
        print('+-' + '--'*self.n + '+')

def main():
    import sys
    silent = 0
    n = N
    if sys.argv[1:2] == ['-n']:
        silent = 1
        del sys.argv[1]
    if sys.argv[1:]:
        n = int(sys.argv[1])
    q = Queens(n)
    q.silent = silent
    q.solve()
    print("Found", q.nfound, "solutions.")

if __name__ == "__main__":
    main()


文字が小さく見ずらい時はWindows拡大鏡をお使いください。Windows・キー + 「+」(プラス・キー)(Windows・キーはキーボード左下、左から3~4番目のキー。抜けるにはWindows・キー + 「ESCキー」を押します)
Enlighterのコードは窓の右上アイコンの「<>」を押すと明るい表示になります。

N = 12 の時
N = 12 の時
N = 4 の時
N = 4 の時

だいぶ時間が空いた、もうPythonのプログラミングも忘れてしまった。徐々に思い出していこう。最初は「N Queens problem」のコードである。かの構造化プログラミングで有名なダイクストラの解である。

↑人気ブログランキングに参加しています。ポチっと1票を!

どうやってAIを学習するか?

各学習法を吟味、自分に合った方法で進める。

Chainer チュートリアルへようこそ。

このチュートリアルは、機械学習やディープラーニングの仕組みや使い方を理解したい大学学部生以上の方に向けて書かれたオンライン学習資料です。

機械学習の勉強を進めるために必要な数学の知識から、Python というプログラミング言語を用いたコーディングの基本、機械学習・ディープラーニングの基礎的な理論、画像認識や自然言語処理などに機械学習を応用する方法に至るまで、幅広いトピックを解説しています。

機械学習を学び始めようとすると、ある程度、線形代数や確率統計といった数学の知識から、何らかのプログラミング言語が使えることなどが必要となってきます。 しかし、そういった数学やプログラミングの全てに精通していなければ機械学習について学び始められないかというと、必ずしもそうではありません。

本チュートリアルでは、機械学習やディープラーニングに興味を持った方が、まず必要になる最低限の数学とプログラミングの知識から学び始められるように、資料を充実させています。

そのため、できる限りこのサイト以外の教科書や資料を探さなくても、このサイトだけで機械学習・ディープラーニングに入門できることを目指して、作られています。初学者の方が「何から学び始めればいいのか」と迷うことなく学習を始められることを目指したサイトです。

また、本チュートリアルの特徴として、資料の中に登場するコードが、Google Colaboratory というサービスを利用することでそのままブラウザ上で実行できるようになっているという点があります。

ブラウザだけでコードを書き、実行して、結果を確認することができれば、説明に使われたサンプルコードを実行して結果を確かめるために、手元のコンピュータで環境構築を行う必要がなくなります。

とりあえずkeras

とりあえずkerasの本から始めました。

こいつです。

実装するだけならこんなに簡単なのか!っていうのでモチベ爆上がりしましたね。

この本のおかげで、何に何を入れたら何が出てくるぐらいは理解できました。

つまり、よくわかんないけど作れる。みたいな状態。

この本を(わからないところは飛ばし飛ばし)終えてからtensorflow公式のAIチュートリアルをやってました

あとは微分と積分がなんで重要なのかをちらっと勉強してました。

ただ、東大松尾研究室のDL4USの存在を知ってたそっちを受けてたかも(^^;

動画編

数学は動画で勉強。

TRYの動画授業。

YOUTUBEなので無料だしわかりやすい。

高校生向けになので初心に帰れるのも良い。

微分だけ学びました。

予備校のノリで学ぶシリーズ。

YOUTUBEなので無料。

確率統計、線形代数はここで学んだ。

ボケがおもしろくなくておもしろいので好き。

1.わからないところを理解する。

独学で一番まずいのが、なんかよくわからないからモチベ下がったってやつです。

モチベ下がるのは良くないので、なんでわからないのか、どこがわからないのか、というのを理解して対策を打ちましょう。

ワンもあ言います。「わからない理由を明確化する」、そして「対策を打つ」。

もう一回いいます。「なんで」わからないのか、どこがわからないのか、そして「対策」。

もう一度いいます。「原因」と、「対策」。

わかんなくて叫びだしたくなったら「原因」と「対策」っていうのを思い出してください。

原因を見つけるのは2ステップ。

「どこ」がわからないのか、どこからわからなくなったのかを調べる。

全体像

本講座は全7Lessonの演習マテリアルからなっています。各Lessonは次のような構成になっています。

– Lesson 0: 機械学習・Deep Learningのキソ

  – 機械学習概観

– Lesson 1: 手書き文字認識をしよう

  – Keras入門、MNIST、MLP、前処理、勾配に関するテクニック、過学習に関する手法、Fashion MNIST

– Lesson 2: 畳み込みニューラルネットワーク

  – CNN基礎、Data Augmentation、画像データの正規化、Batch Normalization、Skip Connection

– Lesson 3: 系列データで予測させてみよう

  – RNN、BPTT、Gradient Clipping、LSTM、GRU

– Lesson 4: ニューラル翻訳モデルをつくってみよう

  – 言語モデル、分散表現、Seq2Seq、Keras Functional API、Attention

– Lesson 5: 画像からキャプションを生成してみよう

  – MSCOCO、学習済みモデルの利用、キャプション生成、Attention

– Lesson 6: ニューラルネットに画像を生成させよう

  – 生成モデル入門、GAN、Conditional GAN、VAE

– Lesson 7: ニューラルネットでゲームを攻略するAIをつくろう

  – 強化学習入門、Q学習、DQN、OpenAI Gym、Double DQN、Dueling Network

演習の進め方

各LessonにはそのLessonで学ぶトピックの説明及びPythonでの実装がJupyter Notebook形式でまとめられています。 各Lessonは4つのSectionから構成されている。

(画像はネットより借用、文面もQiitaなどより借用)

↑人気ブログランキングに参加しています。ポチっと1票を!

Python-HTML-CSS with Enlighter in Gutenberg

19/11/26に掲載されたプログラム群をGutenbergとEnlighterを使って再掲します。

#!/usr/bin/python3      # app.py python
# -*- coding: utf-8 -*-
# app.py
 
from flask import Flask, redirect ,request,render_template
 
app = Flask(__name__)
 
@app.route("/check")
def check():
    return render_template('check.html')
 
@app.route('/',methods=['POST'])
def index():
    my_age = int(request.form["age"])
    my_name = request.form["name"]
    return render_template('index.html',age=my_age,name=my_name)
 
if __name__ == '__main__':
    app.run(debug=True)

上のコードはPython programです。

&lt;!DOCTYPE html>      &lt;!-- check.html -->
&lt;html lang="ja">
&lt;head>
    &lt;meta charset="UTF-8">
    &lt;title>年齢確認&lt;/title>
&lt;!--    &lt;link rel="stylesheet" type="text/css" href="{{url_for('static', filename='style.css')}}" />  -->
    &lt;link rel="stylesheet" type="text/css" href="static/css/style.css" />
&lt;/head>
&lt;body>
 
    &lt;form action="/" method="post">
        &lt;h1>年齢確認&lt;/h1>
        &lt;input type="text" name="name" placeholder="名前" required/>
        &lt;input type="number" name="age" placeholder="年齢" required/>
        &lt;button>年齢確認&lt;/button>
    &lt;/form>
 
&lt;/body>
&lt;/html>

上のプログラムはHTMLです。

&lt;!DOCTYPE html>  &lt;!-- index.html -->
&lt;html lang="ja">
    &lt;head>
        &lt;meta charset="UTF-8">
        &lt;title>18禁のサイト&lt;/title>
&lt;!--        &lt;link rel="stylesheet" type="text/css" href="style.css" />  -->
    &lt;link rel="stylesheet" type="text/css" href="static/css/style-04.css" />
        &lt;!--[if lt IE 9]>
        &lt;script src="http://html5shiv.googlecode.com/svn/trunk/html5.js">&lt;/script>
        &lt;![endif]-->
    &lt;/head>
    &lt;body>
    &lt;h1>射幸心を煽りまくるホームページ&lt;/h1>
    {% if age >= 18 %}
    {{name}}さんは18歳以上ですね。
    {% else %}
    {{name}}さんみたいな方はこんなHP見ちゃいけません?
    {% endif %}
 
    &lt;/body>
&lt;/html>

上のプログラムもHTMLです。

@charset 'utf-8';
body     {
    background: sandybrown;
    color: darkgreen;
    margin-left: 2m;
    margin-right: 2m;
}

上のコードはstyle.cssです。

@charset 'utf-8';
body     {
    background: violet;
    color: darkgreen;
    margin-left: 2m;
    margin-right: 2m;
}

上のコードはstyle-04.cssです。

文字が小さく見ずらい時はWindows拡大鏡をお使いください。Windows・キー + 「+」(プラス・キー)(Windows・キーはキーボード左下、左から3~4番目のキー。抜けるにはWindows・キー + 「ESCキー」を押します)

↑人気ブログランキングに参加しています。ポチっと1票を!

EnlighterでPython codeを表示

アイキャッチ画像は北大旧交流プラザ(エルムの森)です。

Plugin Enlighter Sourcecodeを初めて使う!

#!/usr/bin/python3
# -*- coding: utf-8 -*-
#demo32.py sessin managed &amp; username get
from flask import Flask, redirect, request, render_template, url_for, session
 
app = Flask(__name__)
 
@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('index'))
    return render_template('demo07.html')
 
@app.route('/program', methods=['GET', 'POST'])
def program():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('index'))
    return render_template('demo03.html')
 
@app.route('/program1', methods=['GET', 'POST'])
def program1():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('index'))
    return render_template('demo04.html')
 
@app.route('/program2', methods=['GET', 'POST'])
def program2():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('index'))
    return render_template('demo05.html')
 
@app.route('/param/&lt;parameter>')
def show_user_profile(parameter):
    if 'username' in session:
        html = render_template('demo07.html',name = str(parameter))        
        return html
    return 'You are not logged in. from param processing'
 
@app.route('/reset', methods=['GET', 'POST'])
def reset():
    session['username'] = 'monkey'
    return render_template('check31.html')
 
@app.route('/')
def func():
    if 'username' in session:
        html = render_template('demo07.html',name = str(session['username']))        
        return html
    return 'You are not logged in'
 
@app.route('/check', methods=['GET', 'POST'])
def check():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('func'))
    return render_template('check31.html')
 
@app.route('/',methods=['POST'])
def index():
 
    if (request.form['attr'] == 'need'):
 
        success = False
        name = request.form["username"]
        passwd = request.form["pass"]
        att1 = request.form['attr']
        my_message = "keyword処理は?"
    else:
        con1 = request.arg.get('_ControlID')
        pg1 = int(request.arg.get('_PageID'))
        act1 = request.arg.get('_ActionID')
        flg1 = request.arg.get('getFlg')
        html = render_template('demo07.html', con = con1, pg = str(pg1), act = act1, flg = flg1)        
        return html
 
    user_data = [{"id":"カリフラワー", "pass":"hanakyabetsu"},{"id":"西行法師", "pass":"masako"},{"id":"monkey", "pass":"kayochan"},{"id":"program1", "pass":"pass1"}]
 
    for i in range(0, 10):
        if user_data[i]["id"] == name:
            if user_data[i]["pass"] == passwd:
                success = True
                session['username'] = name
                return render_template('demo07.html',suc=success,name=name,pas=passwd,msg=my_message,att=att1)
            else:
                continue
        else:
            continue
    success = False
    return render_template('demo07.html',suc=success,name=name,pas=passwd,msg=my_message,att=att1)
 
@app.route('/logout')
def logout():
    session.pop('username', None)
    return redirect(url_for('func'))
 
app.secret_key = 'B0Qp89i/2xY F~XHH!jnVVLWX/,%QR'
 
if __name__ == '__main__':
    app.run(debug=True)
  • EnlighterでPython codeを表示
    Code画面の右上
  • 左(+)Open Code in new Window
    新しいWindowが開かれ大きな文字で表示
  • 中(表)Toggle RAW Code
    Line番号の表示/非表示がトグルで
  • 右(E)EnlighterJS Syntax Highlighter
    省略
51行目うす肌色で2行分ハイライトしている
51行目うす肌色で2行分ハイライトしている

51行目うす肌色で2行分ハイライトしている。カーソルをそこへもって行くと、自動的に51行目が2行にわたっている旨ハイライトする。

↑人気ブログランキングに参加しています。ポチっと1票を!

固定ページではHighlight表示する

CodeMirror Blocks1.1.1,Gutenberg7.1.0,WP5.3の組み合わせで固定ページであるが色別表示(SyntaxHighlight)をした。

CodeMirror Blocks1.1.1,Gutenberg7.1.0,WP5.3の組み合わせで固定ページであるが色別表示(SyntaxHighlight)をした。GutenbergでもCodeMirror Blocksのバグでもなかった。この間変化したのは、LIQUID BLOCKSをインストールしただけ。固定ページはメニューの「トップページ」のプルダウンメニューの「CodeMirror Blocks実験」をクリックすると見ることができます。

固定ページでSyntaxHighlightしている様子
固定ページでSyntaxHighlightしている様子(ログアウト後・リドロウして後)

「コンピューター」→「ソフトウェア」 → 「言語」 → 「その他の言語」 → 「Python(Object指向)」でメニューをたどるとSyntaxHighlightされているのが分かる。

上のボタンをクリックするとHighlight表示されたページが見られます。

↑人気ブログランキングに参加しています。ポチっと1票を!

再びSyntaxHighlight

固定ページではSyntaxHighlightされた、さて投稿ページではどうなるか?

#!/usr/bin/python3
# -*- coding: utf-8 -*-
#demo32.py sessin managed & username get
from flask import Flask, redirect, request, render_template, url_for, session
 
app = Flask(__name__)
 
@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('index'))
    return render_template('demo07.html')
 
@app.route('/program', methods=['GET', 'POST'])
def program():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('index'))
    return render_template('demo03.html')
 
@app.route('/program1', methods=['GET', 'POST'])
def program1():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('index'))
    return render_template('demo04.html')
 
@app.route('/program2', methods=['GET', 'POST'])
def program2():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('index'))
    return render_template('demo05.html')
 
@app.route('/param/<parameter>')
def show_user_profile(parameter):
    if 'username' in session:
        html = render_template('demo07.html',name = str(parameter))        
        return html
    return 'You are not logged in. from param processing'
 
@app.route('/reset', methods=['GET', 'POST'])
def reset():
    session['username'] = 'monkey'
    return render_template('check31.html')
 
@app.route('/')
def func():
    if 'username' in session:
        html = render_template('demo07.html',name = str(session['username']))        
        return html
    return 'You are not logged in'
 
@app.route('/check', methods=['GET', 'POST'])
def check():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('func'))
    return render_template('check31.html')
 
@app.route('/',methods=['POST'])
def index():
 
    if (request.form['attr'] == 'need'):
 
        success = False
        name = request.form["username"]
        passwd = request.form["pass"]
        att1 = request.form['attr']
        my_message = "keyword処理は?"
    else:
        con1 = request.arg.get('_ControlID')
        pg1 = int(request.arg.get('_PageID'))
        act1 = request.arg.get('_ActionID')
        flg1 = request.arg.get('getFlg')
        html = render_template('demo07.html', con = con1, pg = str(pg1), act = act1, flg = flg1)        
        return html
 
    user_data = [{"id":"カリフラワー", "pass":"hanakyabetsu"},{"id":"西行法師", "pass":"masako"},{"id":"monkey", "pass":"kayochan"},{"id":"program1", "pass":"pass1"}]
 
    for i in range(0, 10):
        if user_data[i]["id"] == name:
            if user_data[i]["pass"] == passwd:
                success = True
                session['username'] = name
                return render_template('demo07.html',suc=success,name=name,pas=passwd,msg=my_message,att=att1)
            else:
                continue
        else:
            continue
    success = False
    return render_template('demo07.html',suc=success,name=name,pas=passwd,msg=my_message,att=att1)
 
@app.route('/logout')
def logout():
    session.pop('username', None)
    return redirect(url_for('func'))
 
app.secret_key = 'B0Qp89i/2xY F~XHH!jnVVLWX/,%QR'
 
if __name__ == '__main__':
    app.run(debug=True)

Python program(CodeMirror Blocks in GutenbergではHighlight表示されている)

↑人気ブログランキングに参加しています。ポチっと1票を!

Gutenberg使用2回目

問題が私のオペミスかCodeMirror BlocksまたはGutenbergのバグかアイソレートするためにPythonプログラムをアップすることにする。

CodeMirror Blocks(ver1.0)でキチンと表示されていた(PowerShellのプログラムが)Version Up(ver1.1)したとたんGutenberg内では表示されるのに「更新」ボタンをクリックしてログアウトして「野性の証明」をリドロウしたとたんプログラムの表示がSyntaxHighlightされずにプレーンテキストとして表示されてしまう。問題が私のオペミスかCodeMirror BlocksまたはGutenbergのバグかアイソレートするためにPythonプログラムをアップすることにする。

※ →ログインして編集操作に入った時点ではPython codeはSyntax Highlightしている。「下書き保存」をして、「プレビュー」ボタンして画面を表示させてもまだ正しくHighlight表示しているが「公開する」または「更新」ボタンをクリックして、ログアウトして当ブログを表示すると、code部分はplain text表示になってしまっている。ブラウザを変えてみても現象は同じ。「公開する前にチェックを常に表示する。」にチェックを入れて「公開」をクリックした段階で、そのまま「投稿を表示」をクリックしても正しくハイライト表示される。実際にログアウトするとプレーンテキストになってしまう。

# -*- coding: utf-8 -*-
print("例:明治 42 年")
S = input("和暦:")
 
syear = 0
print(S.split())
items = S.split()
year = int(items[1])
 
if items[0] == "明治":
    syear = 1867 + year
elif str(items[0]) == "大正":
    syear = 1911 + year
elif items[0] == "昭和":
    syear = 1925 + year
elif items[0] == "平成":
    syear = 1988 + year
elif items[0] == "令和":
    syear = 2018 + year
else:
    print(items[0],"Error")
 
print("西暦",str(syear),"年")

編集内(Gutenberg)では上記のように正しく表示される。

ログアウトするとプレーンテキストになってしまう。

# -*- coding: utf-8 -*-
print("例:明治 42 年")
S = input("和暦:")
 
syear = 0
print(S.split())
items = S.split()
year = int(items[1])
 
if items[0] == "明治":
    syear = 1867 + year
elif str(items[0]) == "大正":
    syear = 1911 + year
elif items[0] == "昭和":
    syear = 1925 + year
elif items[0] == "平成":
    syear = 1988 + year
elif items[0] == "令和":
    syear = 2018 + year
else:
    print(items[0],"Error")
 
print("西暦",str(syear),"年")

WP SyntaxHighlighterを使うと正しく表示される。