Timeモジュール追加の知識
何の日付と日時の違いはありますか?
date 就是年月日
datetime就是年月时时分秒
次のコードは、なぜ文句を言うのだろうか?
import json
from datetime import datetime,date
print(datetime.today())
print(date.today())
"""
TypeError: Object of type 'datetime' is not JSON serializable
"""
なぜならdatetime 和 data所传出的类型并不是json默认能处理的 不能被json序列化
原則json 处理数据类型用的类是JSONEcoder 你不往dumps里面传cls的类 他就默认用JSONEcoder
JSONEcoder这个类的方法default 定义了他不能序列化时返回的内容
あなたは、自分のJSONEcoderを継承するクラスを作成し、デフォルトのメソッドをオーバーライドすることができました
class MyJson(json.JSONEncoder):
def default(self, o):
if isinstance(o,datetime):
return o.strftime('%Y-%m-%d %X')
elif isinstance(o,date):
return o.strftime('%Y-%m-%d')
else:
return super().default(self,o)
res = {'c1':datetime.today(),'c2':date.today()}
print(json.dumps(res,cls=MyJson))
# {"c1": "2019-08-06 20:38:50", "c2": "2019-08-06"}
デフォルトのメソッドのみ)(プロセスのJSON datetime.todat()とdate.todayをしないで書き換え
指定した形式で出力を制御することができます
ネットワークプログラミング
ソフトウェア開発フレームワーク
C / Sアーキテクチャ(クライアント/サーバー)
C:クライアント
S:サーバー
B / Sのアーキテクチャ(ブラウザ/サーバ)
B:ブラウザ
S:サーバー
PS:B / Sアーキテクチャの必需品のC / Sアーキテクチャです
モバイル端末は、C / Sアーキテクチャ(携帯電話にインストールすなわちクライアント)より火に見える、実際には、/秒(APPは、ブラウザなどのWebページ上のすべてのサービスを働き、電話のすなわち終了)bが上昇しています。
統一されたインタフェース:マイクロチャンネルアリペイは、一つのことをやっています
携帯電話の終了後に、確かにB /秒以上の火であることを予想されます。
サービスとクライアントの特性?
サーバー:24時間サービス
クライアント:サービスを体験したかった場合は、サービスを要求するために、対応するサーバーを行ってきました
どのような学習ネットワークプログラミングの使用、およびb / sのアーキテクチャ・ソフトウェア・ニーズの開発?
C / Sアーキテクチャのソフトウェアを開発することができます学習ネットワークプログラミング
同時実行、データベースのフロントエンドと、Djangoは、B / Sアーキテクチャのソフトウェアを開発することができます
ネットワークプログラミングの歴史
最古のいずれかの高度な技術を軍事に由来しています
戻る過去へ
- 初期の電話の電話回線
- 大きなお尻、インターネット回線
- ノートパソコンの無線電話
リモート最初の必要性を達成するためにある:物理的な接続メディア
人々は、円滑なコミュニケーションの統一言語を達成するために言わなければなりません
>>> 英文
リモートコンピュータとコンピュータとの間で通信する物理媒体さらに必要に加えて、接続されています。
>>> 一套公共的标准/协议
OSIの7契約
应表会传网数物
アプリケーション層
プレゼンテーション層
セッション層
トランスポート層
ネットワーク層
データリンク層
物理接続層
Osi五层协议
アプリケーション層
トランスポート層
ネットワーク層
データリンク層
物理接続層
物理接続層1
電気信号伝送に基づい010101バイナリデータ
2.データリンク層
所定の電気信号グルーピング
B。任意のインターネットに接続されたコンピュータは、ネットワークカードを持っている必要があります
カードの各部分は、世界でもユニークな番号が刻まれています
12進数
トップ6ベンダー号
6行番号の後
この12桁と呼ばれるMACアドレス
PS:上記の2点を総称して「イーサネットプロトコル」と称される
スイッチ
イーサネットベースの通信プロトコルは、
ローカルエリアネットワークを介して通信することができません
3.ネットワーク層
IPプロトコル
限り、インターネットに接続されたコンピュータの規定は、IPアドレス持っている必要がありますとして
のIPアドレスの特長:ドット十進
IPアドレスの最小:0.0.0.0
IPアドレス最大:255.255.255.255
IPアドレスを2つのバージョンがありますIPV4
IPV6
(現在のIPv4そのため、十分ではありませんそうIPV6を立ち上げコンピュータ版があります)
IP地址是动态分配的
4.トランスポート層
プロトコルTCP \ UDPポートはの作業に基づいている
ポート(ポート)
実際には、コンピュータとコンピュータとの間でアプリケーションを持つコンピュータ上のアプリケーション間の通信であります
ポート:アプリケーション上のコンピュータの識別子
のポート番号の範囲:0〜65535
注:0 1024にこれらは、オペレーティングシステムのデフォルトのポート番号を使用している
推奨事項:8000の後にポートを使用して
MySQLのデフォルトのポート:3306
Redisのデフォルトポート:6379
Djangoのデフォルトのポート:8000
フラスコデフォルトのポート:5000
ポート番号が動的に割り当てられている
QQに割り当てられている8989以来初めて
再起動しますが、閉じたポート番号が変更されている場合がありますQQ
要約
ip地址
:インターネットにアクセスするコンピュータの識別子
port端口
:コンピュータ上のアプリケーションの識別子
ip+port
:一意のコンピュータにインターネットにアクセスするアプリケーションを識別する
アプリケーション層
HTTPプロトコル
FTPプロトコル
TCPプロトコル
ストリーミングプロトコル、信頼性の高いプロトコル
TCPベースのプロトコルチャンネル
TCPプロトコルが確実にデータを送信する理由は、それが双方向チャネルを使用することです
四振っスリーウェイハンドシェイク
接続を確立するためのスリーウェイハンドシェイク
四の振って外し