【DAY007】javascriptでURLドメインを指定してcookieの操作がどこまでできるのか
- はじめに
- 前提
- cookieの読み書き範囲の調査
- 参照可能範囲
- 現在いる場所のドメインと指定するドメインの場所が異なる場合、書き込み不可
- ドメインを指定せずにcookieを書き込むと、そのドメインからしか見ることができない
- 参考
はじめに
そもそも、cookieでドメイン指定や操作はしない方が良い。 理由については下の記事でよくわかる。
けれども、時と場合によっては必要なこともある。
以前業務で調べたことを、覚書として残しておく。
追々調べなおして修正する予定。
前提
- cookieのpath指定はすべて「/」である。
- pathも変わるとさらにcookieの制約範囲が狭まるため。
- javascriptでcookieを与える
cookieの読み書き範囲の調査
1. トップドメイン(.com, .jp等)で指定してcookie付与は不可
document.cookie = "_testTop=hogehoge; path=/; domain=.com;";
=> 付与できない
2. ドメインで指定してcookieを付与した場合、指定した階層以下からは参照可能
参照可否の図
| 同一 | 上位 | 下位 |
| 〇 | × | 〇 |
現在の場所 test.aaa.domain.com
document.cookie = "_test=ttttt; path=/; domain=.aaa.domain.com;";
参照可能範囲
test.aaa.domain.com
tttt.aaa.domain.com
aaa.domain.com
参照不可
domain.com
現在いる場所のドメインと指定するドメインの場所が異なる場合、書き込み不可
現在の場所 test.aaa.domain.com
document.cookie = "_testAno=anotherdomain; path=/; domain=.tttt.aaa.domain.com;";
ドメインを指定せずにcookieを書き込むと、そのドメインからしか見ることができない
現在の場所 aaa.domain.com
document.cookie = "_testNoSetDomain=foobaa; path=/;";
- 設置場所
aaa.domain.com
- サブドメイン
test.aaa.domain.com
【IEの場合】、ルートドメインでcookieが発行されるとサブドメインまで読み込むことができる。
① root.com/hogehoge.htmlで以下のように設定
document.cookie = "_sun_tes_no_set_domain=noDomain; path=/"; document.cookie = "_sun_tes_no_priod=setNoDomain; domain=root.com; path=/"; document.cookie = "_sun_tes_set=setDomain; domain=.root.com; path=/";
② sub.root.com/fugafuga.htmlでcookieを確認すると、すべての値を確認可能。
参考
【DAY005】the House of Representatives
最初に一言
辞書内の単語を目についたものから、ランダムに調べると思いもよらない単語に出会うので、結構楽しいものですな!
この記事の趣旨
- Oxford英英辞典をランダムに開いて、新しい単語を開拓していきます。
- 辞書の例文を翻訳することで語彙力向上を測ろうと目論んでいます。
what's that meant?
Representative | rèprɪzéntətɪv |
形容詞
- 〈人・物などが〉 【集団の性質などを】典型的に表す, 代表する; 代表的な, 典型的な «of»
- 〖名詞の前で〗代議員の; 代議制の
- 〖be ~ of A〗〈図・記号・物などが〉A〈物〉を象徴している, 描いている
名詞
- «…の/…へ派遣された/…からの» (選任された)代表者 «of, for/to/from»
Oxford英英辞書の説明書き詳細
今回、例文らしい例文がなかったので、説明文を訳します。
the House of Representatives
the largest part of Congress in the US, or of the Parliament in Australia, whose member are elected by the people of the country
代表者の家
巨大な部分、米国議会や、オーストラリア議会の、彼らは、国民によって選ばれているメンバーである。
一気にグワッと訳せないので頭からふわっと訳していくとこうなりました。
では改めます。
代表者の家
米国議会やオーストラリア議会のそのメンバーは、大部分が国民によって選出されている。
つまり、代表者の棲まう家、とは
はぁはぁー。なるほど。 国民によって選定された人々が集う、国家の議会は「代表者がいる家」として表現されるわけですな。
わからなかった単語
Congress | kɑ́(ː)ŋɡrəs|kɔ́ŋɡres |
- [名詞]
- (代表者の集まる正式な)会議, 学会, 大会
- 米国議会
Parliament | pɑ́ːrləmənt |
- [名詞]
- 〖集合的に; ⦅主に英⦆では単複両扱い〗議会, 国会
elect | ɪlékt |
- [動詞]
- 〈人が〉(投票によって)〈大統領・知事・市長など〉を選ぶ, 選出する
- ⦅かたく⦆〈方法など〉を決定する *〖~ to do〗…することに決める
【DAY004】He smiled but his smile was not RECIPROCATED.
what’s that meant?
本日の単語はこちら。
RECIPROCATE
- 読み | risɪ́prəkèɪt |
- (<人が>同じ行為[感情])を相手に返す、返礼する、相手に感じる
- 〜で報いる ~with
- <物が>往復運動する
He smiled but his smile was not RECIPROCATED.
彼は微笑んだ、しかし彼の笑みは返されたものではなかった。
文はシンプルで難しいものではなさそうだが、いまいちピンとこない。
意訳してみれば、彼の微笑みは私の気持ちと同じものではなかった。と捉えられるのではないかと思うけれども、正解がわからない。
教えてgoogle先生!
彼は微笑んだが、彼の笑顔は往復しなかった。
いや、余計意味がわからない…!!!
うーん。これは誰か英語が得意な方にお聞きしたいところですね。
【DAY003】jQueryでtable要素のtd項目を動的に追加する
やりたいこと
jQueryでtable要素のtd項目を動的に追加する
具体的には、 動的に増やしたtbody内に存在する、select内容によって表示するtd項目を動的に切り替えたい
html
<table id="test-contents"> -- (略) -- <tbody> <tr> <td> <select class="select-option"> <option value="1"></option> <option value="2"></option> </select> </td> <td display:none>1を選んだら表示するよ</td> <td display:none>2を選んだら表示するよ</td> <td class="addrow">+</td> <tr> </tbody>
addrow のscriptは割愛。
動作としては、「+」を押下することで、tbodyが下にcloneされる。
結果として↓になる。
<table id="test-contents"> -- (略) -- <tbody> <tr> <td> <select class="select-option"> <option value="1"></option> <option value="2"></option> </select> </td> <td display:none>1を選んだら表示するよ</td> <td display:none>2を選んだら表示するよ</td> <td class="addrow">+</td> <tr> </tbody> <tbody> <tr> <td> <select class="select-option"> <option value="1"></option> <option value="2"></option> </select> </td> <td display:none>1を選んだら表示するよ</td> <td display:none>2を選んだら表示するよ</td> <td class="addrow">+</td> <tr> </tbody>
当初詰まったポイントは、class="select-option"
をイベントのトリガーにしているため、上方のtbodyにしか結果が反映されない、というところ。
script (jQuery)
closestが全て解決してくれた
$('.select-option').change(function() { if($(this).closest('option:selected').val == "1") { $(this).closest('tr').children('td:eq(1)').show('slow'); $(this).closest('tr').children('td:eq(2)').hide(1000); } else if ($(this).closest('option:selected').val == "2") { $(this).closest('tr').children('td:eq(2)').show('slow'); $(this).closest('tr').children('td:eq(1)').hide(1000); } });
tbodyが追加される際に、data-
属性を追加しようとかごちゃごちゃ考えていたけれど、closest
で直前の要素を拾ってくる方がはるかにスマートでした。
うろ覚えで書いているので、間違っている可能性もある。 明日確認します。
また、さらにスマートな手法がありましたら、ご教授いただければ幸いです!!!
【DAY002】集中力がない人、継続力のない人の勉強法
はじめに
こんな人に試してみてほしい
-
試験にむけて勉強をしようとする時、机にむかってもなかなか筆を動かせないことが多い人
-
教科書のページを開いただけで気力が尽きてしまう人
-
少し頑張ってやり始めても、到底1時間とか集中できない!!という人
これら全部に当てはまるのが私、ery。
1時間だけ!30分だけ!と自分に言い聞かせて取り組むも、すぐに眠くなってしまう。
または〇〇ページまで今日はやろう!と思っても集中してできないために、結局達成できない。
集中できないなら仕方ないと別のことをしてしまえば、はい、1日がそれで終わります^^ FGOイベント回るんじゃー
集中力がない人、継続力のない人の勉強法とは
超短期的に勉強する
継続して集中できない状況を打破するためには、時間を超短く区切ってやればいい!
アニメだって、15分程度で小休止がはいるんだ。15分くらいならきっとできるはず!
なんて、私ごときが単純な思いつくこと。他の人が気づいていないわけがない。
ちょいと調べてみると、ありました。ちゃんと集中力について研究されています。
集中力の維持と長期的な学習効果につながる方法(東京大学・池谷裕二教授の見解)
15分タイマーを活用しよう
気持ちをリフレッシュ
ざっくり捉えれば、15分ごとに気持ちを、頭を一瞬でもリフレッシュできれば集中力は継続する。
タイマーを15分にセットすることで、15分毎に脳へ聴覚の刺激が伝わるようにすればいいのです。
私は音楽を聴きながらは一切できない人間なので、静かな空間でタイマー音だけ響く状況はとても有効でした。
例え音楽を聴きながら派の人でも、タイマー音を目覚ましのようなあまり心地よいとは言えない音を選べば問題ないかと思います。
達成しやすい目標設定
15分で区切ることによるもう一つの利点。
それは、ほぼほぼ達成できる目標を設定できること。
15分でできることは限られているので、その範囲内で目標を立てようとするとだいたい達成できるものになります。
例えば、
1時間で2km歩く!
と考えるより
15分で500m歩く!
と考える方がゴールが見えている分、取り組みやすいですよね。
仮に達成できず、490mまでしか達成できなかったとしても、9割以上は歩いています。
ほとんど達成できているようなものなので、
次のターンで少しだけ早く歩けばいいかな?と調整しようという気持ちにもなりやすいです。
できなかった!!と、ショックを受け、やる気がなくなることが減少すると思いませんか?
あと少し…!という達成への期待感
9割達成、となると、むしろあと少しであったという事実に悔しくなり、次こそは15分で達成してやろうという気概すら生まれます。(個人的に)
この気持ちが、次の15分へと自分を推し進め、気づけば1時間が経過しているのです。
人間、期待感と達成感とあと少しという悔しさが行動へとつながるものです。(ガチャとかガチャとかガチャとか)
その心理を上手に勉強に組み込む方法が15分タイマー勉強法であると私は行き着きました。
実際に取り組んでみた
15分タイマーをセットして、応用情報技術者試験対策を昨日(2018/08/14)から始めました。
8/14の実績
- 15:45 ~ 16:00 教科書 2ページ分
- 16:00 ~ 16:45 教科書 5ページ分
- (夕飯準備と夕飯)
- 17:45 ~ 18:45 教科書 7ページ分
- 18:45 ~ 19:00 過去問 5問
- 19:00 ~ 19:45 過去問 8問と13問分の正誤チェックと理解できなかった箇所の復習
計 3時間
8/15の実績
10:00 ~ 11:00 過去問 9問とその正誤チェックと正誤にかかわらず全体復習
11:00 ~ 12:00 ブログ記事作成
12:30 ~ 13:15 過去問 9問
15:00 ~ 16:30 過去問 17問
計 3.25時間
教科書 14ページ
過去問 48問(誤答対応済)
全然集中できず今の今までサボってきた自分が初回から3時間勉強に向き合えたのはなかなかの成果だと思います。
ただし、これを休みの日以外でできるかが鍵になりますね。
本当なら休みの日ぐらい6~8時間くらいやるべきなんでしょうが…世の受験生を見習いたい…
無理せず、15分刻みで目の前の敵を処理していくぞー!
【DAY001】 Troops have been sent to PROTECT aid workers against attack.
what’s that meant?
1. わからない単語を調べる
troop | truːp |
[名詞] 軍隊、軍勢、兵士たち / 一団、一群、大勢、多数。
- a troop of ants
- 蟻の群れ
protect | prətékt |
[動詞] 〜を保護する、守る、かばう
- protect your skin from becoming dry
- 肌が乾燥しないように守る
aid | eɪd |
[名詞] 助け、援助、支援、救援(物資)
行政、ジャーナリズムに用いられ、一般にはhelp, assistance, supportが好まれる
- deliver aid to refugess
- 難民に救援物資を送る
2. 文章として訳する
Troops have been sent to protect aid workers against attack. 軍隊は送られている。攻撃から支援労働者を守るために
微妙である。
“aid workers” が熟語として存在していそうな気がしたので調べてみると、やはりそうであった。
“aid workers” (国連など国際的な)救援隊員.
以上を踏まえてもう一度文章に改めてみよう。
軍隊は、攻撃から救助隊員を守るために送られている。
出典: Oxford Advanced Learner’s Dictionary — protect
訳が美しく正しいかはさておき、間違ってはいないだろう。
何かお気付きの方がいらっしゃいましたら、コメントで教えていただければ嬉しいです。
この記事の目的は?
ここまで書いて初めて目的を明示しよう。お察しではあると思うが、
ずばり英語の学習。
やりたいこととしては、
oxford英英辞典を適当に開いて、目についた単語を無作為に覚える。
ということ。
記念すべき第1回目は「protect」
protectの意味はもともと知っているが、英英辞典に載っている例文を理解できるかどうかはまた別問題。
例文に目を向けることで、その単語がどのような場面で使用されるのか具体的に覚えることができる。なおかつ文章になっているため、当然別の単語の意味も知らなければならない。
結果として複数の単語を一度に記憶できるという寸法だ。
週に2、3度このような記事をあげていこうと思う。
[DAY001]ってことは毎日更新するの?
毎日更新します。(※英語学習オンリーではない)
英語だったり、蘭語だったり、資格試験勉強の進捗だったり、ただの日記だったり…
とにかく毎日更新することを目標にやっていきます。
以後お見知り置きを。記入者のスペックは以下にぐだっと陳列しておきます。
ERY
- 社会人3年目
- 文系4大卒のSE
- TOEIC 430 L280/R150 (2018/06)
- 上記の通り、こりゃマズイと思い勉強を本格的にしようと決意 (2018/08)
- 2018/12 にもう一度受けて700点取れるようにしたい。
- 2018/10 に応用情報技術者試験受ける予定。一発合格したい。2018/08/14勉強開始
- 技術者と名乗るのが恥ずかしいレベルのひよっこエンジニア
- せめて恥ずかしくないレベル(エラーの考慮、性能向上、セキュリティ向上を意識できる)になるのが2019年5月ごろまでの目標
- 文章能力鍛えたい
ここまでの記述時間 40分