PythonのFlaskで学ぶ〜プログラムの再利用・ルーティング〜

仕様かバグかわからないが、CSSモジュール名が「style.css」でないとバックグラウンドの色指定ができない。

PythonのFlaskで学ぶ〜プログラムの再利用・ルーティング〜

今、下のリンクを参照しながらFlaskフレームワークを勉強している。
仕様かバグかわからないが、CSSモジュール名が「style.css」でないとバックグラウンドの色指定ができない。
リンクの記事は後程読んでDEMOプログラムを開発しようと思う。
2番煎じだが今回は勘弁してほしい。
PythonのFlaskで学ぶWebアプリケーション制作講座 第3章 〜プログラムの再利用・ルーティング〜

↑人気ブログランキングに参加しています。よろしければ1票を!

WEBフレームワークとは?

フレームワークとは?

フレームワークとは?今更聞けないWebフレームワークを始めから丁寧に
上記記事を全面的にコピーさせていただきました。

Webフレームワークとは?

Web制作などのプログラミングでは、フレームワークを使うことが頻繁にあります。フレームワークの基礎知識や特徴についてみて述べます。

さまざまなシステム開発を効率化してくれる機能群、と表現できます。機能群だけではなく、ソフトウェアの骨組みまでを用意してくれているため、少ないコードで意図する機能やデザインが実現できます。それぞれのフレームワーク特有の書き方を学ぶ必要はあるのですが、プログラミングのビギナーにとって、とてもありがたいものです。
WebサイトやWebアプリケーションなどのフロントエンドを実装するためのWebアプリケーションフレームワークや、プログラムのテストに特化したテスティングフレームワークなど。以降では、特に断りのない限りWebアプリケーションフレームワークについて述べます。

フレームワークのメリットとデメリット

フレームワークは便利だからといって、盲目的に使うことはあまりオススメしません。それは、フレームワークには良いところだけでなく欠点もあるからです。フレームワークの魅力を最大限享受するため、フレームワークのメリットとデメリットについて述べます。

メリット

フレームワークの最大のメリットは、何と言っても生産性が向上できることでしょう。フルスタックなフレームワークの場合、すでに必要な機能群が準備されていることになります。フレームワークの書き方がわかっていれば、従来よりも圧倒的に速くプログラムがつくれます。
速いだけではなく、運用管理の工数・コストを減らすことにも効果があります。プログラミングの仕方は千差万別。同じ機能であったとしても、つくる人によってコードは変わってくるもの。これが原因でプログラムの運用管理が大変になることもよくあります。しかしフレームワークを使えばコードの書き方が統一されるため、個々人による違いを大幅に減らせるのです。機能追加や改修もし易くなり、バグが発生するリスクを減らすことにもつながります。

デメリット

まずあげられるのは、学習コストです。フレームワークはとても便利なのですが、フレームワーク特有のコードが書けなければいけません。つまり、プログラミング言語の書き方だけでなく、フレームワーク特有の書き方についても勉強が必要です。
また、フレームワークではコーディングの量を減らすことができると言いました。これはメリットでもあるのですが、裏を返せばデメリットとも言えます。仕組みがわかっていなくても、その機能を使うことができてしまうからです。プログラミングの技術を上げたいのなら、フレームワークを使わない場合の書き方についても学んでおくこと。

フレームワークの具体例3つ

Ruby on Rails

Web関連のプログラミング言語の中ではめっぽう人気のRuby。Ruby on Railsは、Rubyのためのオープンソースのフレームワークです。「設定より規約」や「同じことを繰り返さない」などの設計思想は、他の言語やフレームワークへも影響しているほど世界的に評価されています。
Ruby on Railsを使っている企業としては、クックパッドやWantedly、価格.comなどが有名です。

React

Reactは、Facebookが開発したJavaScriptのフレームワークです。JavaScriptではGoogle製のAngularJSも有名なのですが、最近ではReactの名前を聞くことも多くなってきました。Reactの設計はFluxを用いていて、Webアプリケーションではフロント側の機能を担当します。Facebookで使われていることからもわかるように、規模の大きなアプリケーションに向いているフレームワークと言えます。
Reactは開発元のFacebookやInstagram、Airbnbなどで利用されています。

Bootstrap

Twitter社が公開しているCSSフレームワークです。CSSと聞いてわかるとおり、WebサイトやWebアプリケーションのレイアウトをするための機能が豊富に揃っています。代表的なものとしては、グリッドシステムがあります。Bootstrapでは画面を12分割しています。このグリッドレイアウトを使うことで、CSSのプログラミングに慣れていなくても、自由にページ要素を配置することができるのです。リキッドレイアウトにすることも可能で、スマホ対応などのレスポンシブデザインも簡単に実現できます。
Bootstrapの活用事例としては、ドットインストールやQiita、SlideShareが知られています。

フレームワークとは?今更聞けないWebフレームワークを始めから丁寧に
以上を参照させていただきました。

↑人気ブログランキングに参加しています。よろしければ1票を!

ApacheとNginx(エンジンエックス)、どちらを使うべき?

負荷が高い場合や静的ページに同時アクセスされることが多い場合はNginx(エンジンエックス)を使うと良いでしょう。

ApacheとNginx(エンジンエックス)、どちらを使うべき? ApacheとNginxについて、どちらもシェアが高く信頼できるWebサーバーであることは間違いありません。 それでは結局のところ、どちらを使うべきなのでしょうか。 負荷が高い場合や静的ページに同時アクセスされることが多い場合はNginxを使うと良いでしょう。 反対に、負荷が高くなく同時アクセスが少ない場合や早期セットアップが必要な場合はApacheが良いでしょう。 Nginxは処理が早く、消費メモリが少ないという良い事ずくめですが、1つの処理が長すぎるとシステムコールキューにリクエストがたまってしまいパフォーマンスが低下してしまいます。 その為、動的処理や動画コンテンツの配信やデータベース処理等の重い処理をする場合にはApcheが良いとされています。 Nginxについてあとがき: NginxはApacheに引けを取らない、とてもパワフルなWebサーバーです。日本語での情報も増えてきましたし、開発にかかる工数も少ない部類に入ります。 インストールも難しくないので、気になった方はまずはダウンロードして使ってみてはいかがでしょうか?

いま話題のWebサーバー「Nginx」とは?

を参照させていただきました。

スキルセットのFlaskとは?

【Python】フレームワークFlaskの基本をマスター

を参照させていただきました。

↑人気ブログランキングに参加しています。よろしければ1票を!

AI(機械学習)の納品

検証とは、検証データに対する結果をみることではなく、仮運用をはじめた後に得られる結果を見ることである。

AI(機械学習)の納品

「検証とは、検証データに対する結果をみることではなく、仮運用をはじめた後に得られる結果を見ることである」
そのため、お客様と考えていくべき納品フローはこのようになります。

機械学習案件を納品するのは、そんなに簡単な話じゃないから気をつけて
を参照。

↑人気ブログランキングに参加しています。よろしければ1票を!

Windows Subsystem for Linux

Pythonの開発環境でいままでVAIO上でUbuntu(native Linux)を使って行ってきた。しかし今回の内臓HDDも約2か月で壊れてしまった。しようがないので倅に一時は渡したDYNABOOKを返してもらってPCで引き続きPythonで開発することとした。Windows10の安定性を考えてである。

Windows Subsystem for Linux

Pythonの開発環境について、いままでVAIO上でUbuntuをインストールし使ってきた。
しかし今回の内臓HDDも約2か月で壊れてしまった。(外付けHDDは2度クラッシュ)
仕様がないので倅に一時は渡したDYNABOOKを返してもらってPCにて引き続き
Pythonで開発することとした。Windows10の安定性を考えてである。
コマンドプロンプトで仮想環境を作り出し数学関連のライブラリをインストール。
そののち(>atom . )でAtomを呼び出しsin curveなどをプロット。
以下にその手順を述べる。

2018/10/05

① コントロールパネルのWindows Subsystem for Linuxに☑を入れる。
② Ubuntuのインストール
③ Ubuntuにユーザーネーム、PWをセットする。
④ sudo apt updateの実施
⑤ sudo apt upgradeの実施(pip,pip3,python3.6.6も同時にインストールされる)
⑥ sudo apt install emacs
⑦ sudo apt install ibus-mozc emacs-mozc
%emacs &
VcXsrvを起動
デスクトップ上のXlaunchをクリック
%xeyes &
⑧ pip,pip3インストール which pip3→/*****/bin/pip3
⑨ jupyterのインストール
⑩ Anaconda3のインストール
C:\Users\*****\Anaconda3
⑪ Atomのインストール1.31.1
⑫ Atomのセットアップ
⑬ Ipykernelのインストール
⑭ AnacondaなしでAtomのHydrogenをいれる(CMDpromptで >atom . )
→@tomp(2018/10/03)記事参照
( https://qiita.com/tomp/items/af89e0c7aa1a3d07e27f )参照
⑮ 環境変数編集
⑯ Ipythonのインストール
⑰ コマンドプロンプトでPython36のインストール
⑱ Matplotlib等のインストール

問題点、注意点など
 HydrogenでShift+Enterでpip -m …のエラー解決(⑭で解決済み)
 Jupyter notebookでファイルが参照できない
 クロームのLinuxの最終行をクリックしyahooの最後のリンクを読む
 VcXsrvを起動デスクトップ上XLaunchをクリック
 初回時ファイアウォールの設定キャンセル
(libxcb.dll libXau.dll libX11.dll zlib1.dll libcrypto-1_1-x64.dllをセットする)
 Windows・Key+R(「shell:startup」入力)

Atom実行場面(projectの指定)

Matplotlibをインストールしたのちsin curveを描画

pandasのインストールしたのち乱数を発生させてplot


↑人気ブログランキングに参加しています。よろしければ1票を!

プリンターとの接続

Linuxマシンから直接印刷できるようになった。WriterやCalcといったAppをWord、Excelに変換しないで直接印刷できるメリットは大きい。

プリンターとの接続

長い間USBメモリーを介してUbuntuで作った文書などをWindows10で印刷していたものをUSBケーブルを介してであるがLinuxマシンから直接印刷できるようになった。
プリンターはEPSON EP-903Aである。
これは大変な進歩である。印刷を行うたびに家内のマシンを借りなければならないところを、直接私のマシンから印刷できるようになったからだ。
WriterやCalcといったAppをWord、Excelに変換しないで直接印刷できるメリットは大きい。
作業が大変楽になるであろう。
Ubuntu環境下で印刷できる場面は他にもある。これが実行できるようになったのだからこの差は大きい。

下の写真はドライバーのインストール画面である。

↑人気ブログランキングに参加しています。よろしければ1票を!

System Generation(最終?)

システムジェネレーションその4、Sony VAIO(VGN-NW51FB CORE2Duo)にUbuntuをインストールするまで。TV録画用などの外付けHDDはシステムには向いていないようです。それで中古PC(Windows10)を購入する予定だったがこのマシンは倅に譲りSonyのVAIOを使用。

System Generation(最終?)

システムジェネレーションその4
Sony VAIO(VGN-NW51FB CORE2Duo)にUbuntuをインストールするまで
① 2018/08/16実施
② 自分の必要なモジュールの選定
③ インストール順番を考える
④ ディスクのレイアウトを考える(今回は1パーティション)
⑤ Ubuntu 18.04 LTS 日本語RemixマスターUSBメモリーを使用(ISO-image)
⑥ Live-USBメモリーの作成(既成)
⑦ 内蔵HDDの作成
・パーティションの削除(今回はやらない)
・複数のパーティションの作成(今回は1パーティション)
・fdisk(不要)
・fsck(不要)
・MBRの作成(自動作成)
・1つは’/’
・1つは’/home’(今回は不要)
⑧ Firefoxのお気に入りのインポート(IE11から)
⑨ Firefoxのお気に入り整理(前回のFirefoxのJSONファイルのリストア)
⑩ ・DailyCheck(今回は前回システムのお気に入りのバックアップから復元)
・Software
・Linux
・Ubuntu
・Atom
・GitHub
・Blogetc
・Finance
・Other
⑪ 端末の背景を白地に(編集メニューの→Preference→色)
⑫ タッチパッドを殺す(マウスオンリー)(Doc→デバイス→マウス・タッチパッド)
⑬ emacs,LaTeXのインストール(最後にやる)
⑭ pip,pip3,dumpのインストール(Firefoxコピー・ペースト)
⑮ Python3.6のインストール(Firefoxコピー・ペースト)
⑯ Thunderbird(メールソフト)のセットアップ
⑰ パーティションの中身の印刷(最後の最後にやる)
⑱ 壁紙の設定
⑲ 電源の設定に注意(暗く、ブラックアウトなし)
⑳ Ipythonのインストール(Firefoxコピー・ペースト)
㉑ Jupyter notebookのインストール(Firefoxコピー・ペースト)
㉒ Anaconda3のインストール(Firefoxお気に入りから)
・md5sumの実施(Document参照)
・bashの実施(細心の注意が必要)(Document参照)
㉓ Atomのインストール(Firefoxコピー・ペースト)
・パッケージのインストール(Document参照)
㉔ Gitの設定
㉕ GitHubの設定
㉖ GIMP(GNU Image Manupulation Program)のインストール
㉗ FlightGear(Game)のインストール
※ ⑮、⑳、㉑、㉒と㉓の順番は間違わないように!システム・ジェネレーションを4度もやってしまったので。Atom-Hydrogenでエラーになってしまう。
※ Anaconda3をatomの前にやっておかないと(正常に行われるとあるはずの)アイキャッチ画像にあるようなIpythonやPython3.6のフォルダーの中身が空になってしまうようです。
※ モジュールのインストールは「#」ではなくて「$」で行うほうが良いようです。Anaconda3もユーザーライブラリーに入れたほうが良いようです。たまたまかも知れませんが、IpythonやPython3.6が正常にpathに載ったのもそのせいだと思っています。
※ TV録画用などの外付けHDDはシステムには向いていないようです。それで中古PC(Windows10)を購入する予定だったがこのマシンは倅に譲りSonyのVAIOを使用。(8/18追記)

↑人気ブログランキングに参加しています。よろしければ1票を!

5ヶ年計画

リンクをクリックすると私の5ヶ年計画の文書が見られます。目標、目的はあえて述べません。それは私自身の能力によるからです。

2018-08-17-5ヶ年計画.markdown
上のリンクをクリックすると私の5ヶ年計画の文書が見られます。
目標、目的はあえて述べません。それは私自身の能力によるからです。
1.Atomのパッケージのインストールで
・markdown-writer
・markdown-scroll-sync
・tool-bar
・tool-bar-markdown-writer
を入れておく
2.Atomでmarkdownの文書を作る
3.プレビューする
4.プレビュー画面で右クリック
5.HTML文書作成をクリック
6.Wordpressテキスト画面にHTML文書をドラッグ・アンド・ドロップする
7.リンクが貼られます
以上です。

↑人気ブログランキングに参加しています。よろしければ1票を!

CORE2Duo-VAIOへのLinuxのインストール

CORE2Duo-VAIOへのLinuxのインストールを行った。家での稼働する一番古いPCである。Linuxように東芝製の中古のPCが届いたのであるがこれがまた素晴らしい内容のPCで入っていたWindows10とOffice2016を殺すのが忍びなく倅のPCと交換したわけである。開発環境の構築の方はPIP,PIP3,Python3.6,IPython,Jupyter notebook,Anaconda,Atom,GIMP,emacs,LaTeX,FlightGearをインストールして完了できた。

CORE2Duo-VAIOへのLinuxのインストール

昨日、CORE2Duo-VAIOへのLinuxのインストールを行った。家での稼働する一番古いPCである。Linuxように東芝製の中古のPCが届いたのであるがこれがまた素晴らしい内容のPCで入っていたWindows10とOffice2016を殺すのが忍びなく倅のPCと交換したわけである。先日書いたスペックよりも型番はB553ではなくB554でレビューで書かれたようなOfficeを自分でインストールする必要もなく(プリインストールされていた)なにせHomeエディションでなくパワーポイントも入ったビジネスエディションであった。ハードウェアはキーボートも使用感はなく、WiFiアダプターが予めセットされていて天板に多少擦れ傷のある他は宣伝どおり新品のようであった。ただし底板のビスが1つ外れそうになっていたことを除けば、望外の品物であった。これからこのマシンをLinuxで潰すのは忍びなく冒頭のVAIOの使用と相成った。
実際のインストールは付録についていたDVDよりのインストールであったが途中でLOOPに入ってしまいやめようと思うたびDVD装置がちょっと動くのでやめるわけも行かず、4時間ほど時間が経ってしまった。また選択のボタンが途中画面の下に隠れてしまうなどのトラブルもあり、先日作ったUSBメモリのISOイメージのインストールメディアがあったのでそれを起動ディスクにしたら小一時間でインストールは終了した。ラッキーだったのは東芝でだめな外部装置からの起動がVAIOではBOOTデバイスとして指定できたことだった。このためUSBメモリを使ったISOイメージがBOOTデバイスになり得たことである。しかしアイキャッチ画像にもあるとおり1パーティションの構成になってしまった。
開発環境の構築の方はPIP,PIP3,Python3.6,IPython,Jupyter notebook,Anaconda,Atom,GIMP,emacs,LaTeX,FlightGearをインストールして完了できた。

Atomでのsinカーブの表示、jupyter notebookでの数々のデモ・プログラムの実行・IPythonの実行、Jupyter notebook環境での.ipynbモジュールの.pyモジュールへの変換、及びそのモジュールをAtom環境下での実行確認、それぞれでうまくいった。

実施でのトラブルはJupyter notebookでの実行時モジュールが0バイトだとJSON Unreadableになってしまうことであった。これはインターネットでかなり調べた。

↑人気ブログランキングに参加しています。よろしければ1票を!