問五

ison = {
"items": [
{
"id": "ap01",
"status": {
"clients": 12,
"health": "good"
}
},
{
"id": "ap02",
"status": {
"clients": 3,
"health": "poor"
}
}
]
}


問5-1

ap02 の clients 数 を表示してください。

 

自分の答え

for item in ison ['items']:

    if item['id'] == ap02:

        print(status ['items'] ['status'])

 

チャッピー

for item in ison['items']:

    if item['id'] == 'ap02':

        print(item['status']['clients'])

 

何かボケてた😕

 

 

問5-2(発展)

health が "poor" な AP の id をすべて表示してください。

 

自分の答え

for item in ison['items']:

    if item ['status']['health']) == 'poor':

        print(item['id'])

 

チャッピー

for item in ison['items']:

    if item['status']['health'] == 'poor':

        print(item['id'])

問三(list + dict)

ison = {
"users": [
{"id": 1, "name": "James"},
{"id": 2, "name": "Ethan"}
]
}


問3-1

最初のユーザーの name を表示してください。

 

自分の答え

print(ison['users']['0']['name'])

 

チャッピー

print(ison['users'][0]['name'])

0をコーテーションで囲んじゃダメ🙅

 

 

 


問3-2

id が 2 のユーザーの name を表示してください。

(※ for 文が必要)

 

自分の答え

for user in ison['users']:
if ['id'] == 2:
print(ison['users']['id']['name'])

 

チャッピー

for user in ison['users']:
if user['id'] == 2:
print(user['name'])

 

usersのデータがリストだから、print(user['name'])でよかった

Httpのヘッダーのno-cacheはキャッシュを保存しないという意味ではないですか?

no-cache は「キャッシュを 保存しない」ではなく、「使う前に必ずサーバーに確認してから使え」という意味です。

つまり保存(ストア)すること自体は許可されています**。

 

 


✅ no-cache の正しい意味

 

Cache-Control: no-cache

→ キャッシュを保存してもよいが、再利用前に必ずサーバーへ再検証 (revalidation) せよ

 


ブラウザはローカルにキャッシュを保持して OK
ただし、次に同じリソースを使うときは If-None-Match や If-Modified-Since などを付けてサーバーに確認する
サーバーが「変わってないよ」と返せば、キャッシュを使える(304 Not Modified)

 

 

❌ よくある誤解

「no-cache = キャッシュ禁止」

→ 誤り「保存しないで消す」は no-store。

Restconf url

RESTCONF の基本構造

https:///restconf/data/モジュール>:<データツリー>

 

1. インターフェース関連(ietf-interfaces)

▶ 全インターフェース一覧を取得
GET
https:///restconf/data/ietf-interfaces:interfaces

 

▶ 特定のインターフェース(動的パス)

GET https:///restconf/data/ietf-interfaces:interfaces/interface=

GET https://10.0.0.1/restconf/data/ietf-interfaces:interfaces/interface=GigabitEthernet1

 


2. IPアドレス設定(ietf-ip)

▶ 特定インターフェースのIPv4情報取得

GET https:///restconf/data/ietf-interfaces:interfaces/interface=/ietf-ip:ipv4

 

GET https://10.0.0.1/restconf/data/ietf-interfaces:interfaces/interface=GigabitEthernet1/ietf-ip:ipv4

 


3. ルーティング(ietf-routing)

▶ 全ルーティングテーブルを取得

GET https:///restconf/data/ietf-routing:routing-state


▶ 特定 VRF のルート情報(動的パス)

GET https:///restconf/data/ietf-routing:routing-state/routing-instance=/ribs/rib=/routes

 

GET https://10.0.0.1/restconf/data/ietf-routing:routing-state/routing-instance=Mgmt-vrf/ribs/rib=ipv4-unicast/routes