「クエリ」を含む日記 RSS

はてなキーワード: クエリとは

2022-06-05

HTTP Cookie命名で失敗したのか

趣旨

次のツイートブクマが集まっていたが、論点が整理されていないようなので、主にCookie出自について記述する。

※元ツイートブクマ

cookie命名で失敗し「魔術的な」技術勘違いされてる。実際はすごくシンプル。①サーバSet-CookieヘッダでIDを通知する、②クライアントは以降CookieヘッダにそのIDを設定する、③それによりサーバクライアント区別できるようになる。ただそれだけ。もったいぶって説明はほぼ間違ってる。

TL; DR

Cookieという単語に「魔術的な」意味など元々なかったし、本来単なるデータストアである(ゆえにセッションIDも格納できる)。元ツイートの主張はおかしいし、元ツイートが腐しているspeakerdeckの内容はそんなに間違っていない。

結論として、元ツイが「現在Cookie」の話しかしていないか論点がずれている。歴史的Cookieの在り方はデータストアだった。また、現在でも一部でデータストア的に使用されている

ツイートの主張

なるほどね。それでは1つずつ見ていこう。

CookieクライアントIDを保存するだけのもの

現在フォーカスを当てれば、Cookieは「基本的セッションIDを格納する場所」と説明すれば良いが(Slideもそう書いてるよ?)、元々はデータストアである。元ツイは歴史的ファクト現代実装スタンダード混同しているように感じる。2022年に「Cookieっていうのはー、ユーザ名とか個人情報を保存しておける便利なデータストアだよ」っていうと単なるやべー奴だが、1997年から2000年ごろまでは普通にそういった実装がなされていた。性善説時代だったのである

「嘘だろ」と言われそうなので、1997年のRFC2109を引用する

https://datatracker.ietf.org/doc/html/rfc2109

         POST /acme/shipping HTTP/1.1
         Cookie: $Version="1";
                 Customer="WILE_E_COYOTE"; $Path="/acme";
                 Part_Number="Rocket_Launcher_0001"; $Path="/acme"
         [form data]

普通にユーザー名とか買い物かごの中身をCookieに保存している。今この実装をする奴はヤベーが、1997年はそういう時代だったのである

         Cookie: $Version="1";
                         session_id="1234";
                         session_id="1111"; $Domain=".cracker.edu"

セッションIDの例もあるが、なんと数字4桁である。今こんなことをしたら確実に徳丸本の角で頭を殴られる。当時のインターネットいか性善説の上に成り立っていたか分かるだろう。

とにかく今はデータストアじゃないんだよ

この主張も誤りである。例えばja.wikipedia.orgでは、アカウント名や利用者のおおよその住所などをCookieに仕込んでいる。セキュリティ的にザルだと思うなら、ぜひ直接殴り合って欲しい。

Cookieという命名ダメ

元ツイではMagic Cookieを「魔術的なクッキー」と解釈している(なんでも魔法のようにできる多機能な……って感じ?)ようだが、ここでいうMagicとは魔術のことではないだろう。Magic NumberとかMagic WordMagic(利用者理解していなくても有効もの)と考えた方が意味が通る。これはMagic Cookie語源となったfotune cookieの語義に通じるところもある。

fortune cookieとは。文字が書かれた紙片を封入した焼き菓子であるHTTP Cookieクライアントサーバとも内容について問わない(紙片に何を書いてもいい)し、捨てても無視しても構わない(食べなくても割らなくても良い)ためにこの名前がついたのだろう。任意情報ラップしたものというメタファーとして適切に思えるし、Magicという形容詞も適切であると考える。

1つあたり容量が4kBしかないのも可愛らしい。クッキーいいんじゃないか。逆に何だったら良かったのか。

speakerdeckの内容は有害デタラメ

そんなに間違ったことは書いていない気がするが……。現在ほとんど使われない技術が書いてあったとして、それが何……?とはなる。Slideはaxiosの使い方を示してるだけだし、2年前の記事に対して「情報が古い」ってツッコミ微妙ではある。

総括

結局何に怒って何を否定しているのかよく分からなかった。SunのX端末を使っていたということなので、最近事情しか知らないというわけでもなさそうなのだが。

リーを眺めているとあまり期待はできなさそうだが、元ツイの人はもう少し丁寧な議論をして欲しいところだ。

余談

2022-05-21

anond:20220521220951

参考URL続き

タイトル
URL
エントリID
13はてなブックマーク - 人気エントリー - 2008年11月1日https://web.archive.org/web/20170815132626/http://b.hatena.ne.jp/hotentry/20081101
14はてなブックマーク - 人気エントリー - 総合 - 2010年5月27日https://web.archive.org/web/20190522181226/http://b.hatena.ne.jp/hotentry/all/20100527
15【復旧済み】各カテゴリ特集の一覧に、想定とは異なるものが多数表示される不具合が発生しています - はてなブックマーク開発ブログhttps://bookmark.hatenastaff.com/entry/2019/05/10/1344284668551187895269474
16コメント一覧ページのデザインリニューアルおよびページ内の一部機能廃止・整理を行います - はてなブックマーク開発ブログhttps://bookmark.hatenastaff.com/entry/2017/08/08/1500004667408485643465858
17簡易はてな記法 - はてなブックマークヘルプhttps://b.hatena.ne.jp/help/entry/textformat4669405056148061858
18eidを使えばもっとURLを短くできるhttps://anond.hatelabo.jp/2008121919444211362837
19URLエンコードについておさらいしてみた - Qiitahttps://qiita.com/sisisin/items/3efeb9420cf77a48135d347680902
20はてなブックマークEIDの桁数が激増したのはいつだろうhttps://anond.hatelabo.jp/20190127151652
21重複した URL正規 URL統合する | Google 検索セントラル | ドキュメント | Google Developershttps://developers.google.com/search/docs/advanced/crawling/consolidate-duplicate-urls?hl=ja4694503810869473858
22Consolidate Duplicate URLs with Canonicals | Google Search Central | Documentation | Google Developershttps://developers.google.com/search/docs/advanced/crawling/consolidate-duplicate-urls4695808187685102274
23URL複数存在する同一ページでコメント一覧ページが分散する仕様を、統合されるよう変更しました - はてなブックマーク開発ブログhttps://bookmark.hatenastaff.com/entry/2019/02/28/1734014667408469537322306
24URLクエリパラメータ(クエリストリング)の意味とは。使い方は? 除外はすべき?[第4回][第4回] | Googleアナティクスとは/衣袋教授Googleアナティクス入門講座 | Web担当者Forumhttps://webtan.impress.co.jp/e/2012/04/26/12663351312146
25高木浩光@自宅の日記 - はてなブックマーク禁止する技術方法, 追記, 追記2 (23日)http://takagi-hiromitsu.jp/diary/20071222.html6889081
26[B! はてな] はてなブックマーク - about:blankhttps://b.hatena.ne.jp/entry/s/b.hatena.ne.jp/entry/about:blank4707586658055348514
27おっ - kikuchi1201 のブックマーク / はてなブックマークhttps://b.hatena.ne.jp/entry/2805/comment/kikuchi1201
28はてなブックマークされてる不思議なページhttps://rcmdnk.com/blog/2014/02/24/blog/4671123851382313506
29はてなブックマーク全文検索機能改善しました - はてなブックマーク開発ブログhttps://bookmark.hatenastaff.com/entry/2015/06/22/1149584667408538793733762
30はてなブックマークっていつからOR検索できるようになったのhttps://anond.hatelabo.jp/20121006222621241122808
31知らなくても困らない!はてなブックマークのアレな使い方 - tipos tarongahttps://tt.hatenablog.com/entry/2013/11/16/2157034713084010265175938
32マイホットエントリ機能のご紹介 - はてなブックマーク開発ブログhttps://bookmark.hatenastaff.com/entry/2013/05/08/1313084667408422829508482
33イブクマー検索機能を強化し、検索結果の並び替えや絞り込みができるようになりました(PCブラウザ) - はてなブックマーク開発ブログhttps://bookmark.hatenastaff.com/entry/2021/09/02/1605464707764769367740738
34はてなブログスター(星マーク効果は?1万円購入の圧倒的な効果https://blog-support.jp/hatenablog-star/

API編(後日投稿)に続く予定

追記・返信

今回書いた増田にも多くのブクマが付き、有難く思う。以下返信。

これは詳しい

ブクマしておく

誰得の詳しいまとめ

おつおつ!!

コメ有難う。おかげで次も書こうという気になる。

RSSがあれば、エクセルはてブが見れる

有用ツール紹介感謝ぐぬぬ向こうのブコメの方が多いと思いつつ)。

あとRSS一覧でいつも思うのが知ってて当然という感じでカテゴリの一覧が無い

参考ページ[FAQ]はてなブックマークの「総合」カテゴリーと「一般」カテゴリーの違いはどこにある?を載せたか大丈夫だろ、という不親切な態度は許されなかった。

はてな社員新人くん、これ分かりやすいから見ておいて」

はてな社内の仕様Wiki存在するのか知らない)より詳しそう

どうもはてブ担当新しく入ったらしい

門外漢によく知ってるねと褒める時に使う言い方の事例集だ。俺は詳しいんだ。

カラースターの値段が

スターすごい

ギブミーカラースターとか言われたら、青1個投げるとちょうど良さそう。

全然使いこなせてなかったことを思い知る

なんかよくわからんけど参考になりそう

業務中のブクマ捗るから助かる

まだAPI解説も残っているんじゃ(すぐに投稿できるとは言っていない)。

GitHubにでも書いたほうが良いのでは

増田への愛(執)着が勝ったが、外部リンクを数件しか貼れず注釈機能が無く字数制限も厳しい環境投稿して良いのかという葛藤もある。

錯綜」の解釈を間違っていて一対多の意味を取り違えた。「分散」かな。 & は予約文字というよりも値が途切れ # はブラウザ機能としてサーバ送信されない。 1d. は {2} ではなく {1} (%enc)

素人特有の、用語等への鈍感さが浮き彫りに。申し訳ない。

指摘を参考に"エントリページ"の章等を修正URL引数については、修正後の内容なら以下のようになることを読取っていただけるかなと。

1a例 https://b.hatena.ne.jp/entry/s/anond.hatelabo.jp/20220521220951

1d例 https://b.hatena.ne.jp/entry?url=https%3A%2F%2Fanond.hatelabo.jp%2F20220521220951

API編も期待してる

善処する(GitHub投稿する方に気持ちが傾いてるが全く触ったことがない上に、VSCodeとWSLとgitを導入してはてなウィジェットスクリプト解読環境も整えようなどと考えてるので、いつになるか定かでない)。

「はてなフィルター」というウェブサービスも加えて

公式のページを対象としたので含めなかった(新参情弱なので知らなかったとは言えない)。

[]関連ページ・RSS一覧

はてブについて、情報検索したりクエリを投げたりして調べてまとめてみた。自分メモとして書いたもので、極少数の人しか興味を持たない内容かと思うが、読んでいただければ幸い。

公式等[1・2(参照したページURL最後記載。以下同様)]で詳細を確かめられず素人憶測説明した箇所がいくつもあり、簡潔明瞭でも網羅的でもない解説だがご容赦を。

トップページ

ホットエントリと新着エントリの一覧への導線がある。

URL

1. https://b.hatena.ne.jp/

1a. https://b.hatena.ne.jp/hotentry/{1}(引数に"all"を入力した場合、1のエイリアス

1b. https://b.hatena.ne.jp/ctop/{1}(カテゴリトップ[3]が過去存在していた場合、1aにリダイレクト

1c. https://b.hatena.ne.jp/hotentry/{1}/{2}

1d. https://b.hatena.ne.jp/hotentry/{1}/daily(1cにリダイレクト。前々日か前日の分が表示される)

1e. https://b.hatena.ne.jp/hotentry/{1}/{3}(?page={4})(()内のパラメータは省略可。以下同様)

1f. https://b.hatena.ne.jp/hotentry/{1}/{3}(?of={5})

2a. https://b.hatena.ne.jp/hotentry.rss

2b. https://b.hatena.ne.jp/hotentry/{1}.rss("all"を入力した場合、2aのエイリアス

2c. https://b.hatena.ne.jp/hotentry?mode=rss(2aのエイリアス

2d. https://feeds.feedburner.com/hatena/b/hotentry(2aのエイリアス)[4]

3. https://b.hatena.ne.jp/entrylist/{1}(/{3}?page={4})(ブクマ登録数の閾値を設定するオプションがあったが、2018年3月廃止された[5])

4a. https://b.hatena.ne.jp/entrylist.rss

4b. https://b.hatena.ne.jp/entrylist/{1}.rss("all"を入力した場合、4aのエイリアス

4c. https://b.hatena.ne.jp/entrylist?mode=rss(4aのエイリアス

引数
概要
{1}カテゴリID省略するとカテゴリ総合」のページが表示される
{2}エントリ登録"YYYYMMDD"の形式入力。当該月日の24から一定時間経過後に利用可能になる。有効な最古の値は20050210
{3}特集特集[6]は不定期に改廃されるため、値が有効か注意
{4}ページ番号
{5}オフセット表示結果の先頭が、指定した値だけ後ろにずれる。1ページ分表示可
カテゴリ

エントリは、8種類あるカテゴリ[7]のどれか1つに自動区分される。そのアルゴリズム不定期に更新されているようだ[8]。区分に異議がある場合ユーザが変更申請することもできる[8・9]。

カテゴリ2013年2月現在名称・分類になった[10]。分類が現在と同じ8種類になったのは、2008年11月[11]。

なお、2011年以前のエントリはほぼ全て「暮らしカテゴリ区分されている[12]。2017年から2019年の間に何らかの障害が起きたためと思われる[13・14・15]。

エントリページ

別名、ブックマークコメント一覧ページ[16]。

なお「(ブックマークエントリ」という呼称は、一般的用法はてブ登録されたURLとその付帯情報エントリページの情報等、多様な意味で使われる。

URL

1a. https://b.hatena.ne.jp/entry/(s/){1}("s/"はセキュアサイトのエントリページURLに付加される[16])

1b. https://b.hatena.ne.jp/entry/{2}(正しく処理された場合、1aにリダイレクト

1c. https://b.hatena.ne.jp/entry/{3}(1aにリダイレクト

1d. https://b.hatena.ne.jp/entry?url={2}(1aのエイリアス

1e. https://b.hatena.ne.jp/entry?eid={3}(1aのエイリアス

2. (b:)id:entry:{3}(はてな記法[17・18])

引数
概要
{1}URLブクマされたURL原則として、パーセントエンコード[19]されたもの)の一部を入力
{2}URLURL(同上)全体を入力
{3}エントリID下記参照
エントリID

はてブ登録されたURLIDと1対1対応する。IDは、当初は1から始まる連番だったが、2018年12月頃から62bit以上の乱数値になった[20]。

余談だが、かつては番号が桁繰上りするたびにキリ番ゲッターブクマしに集っていたようだ。理由不明だが、欠番になったキリ番もある(キリ番前後エントリページ参照)。

エントリ統合

URLwebページは1対1対応するとは限らない[21][22]ため、エントリブコメは容易に分散する。

その改善のため2019年2月はてブ仕様が変更され、一定規則エントリが収斂されるようになった[23]。現在エントリページは、複数エントリと1対多対応していて、対応するどのIDURL引数にしてもアクセスできる。

1対多対応の例

参考[1]のエントリページに対応するIDを昇順にし、各ID確認できる最古のエントリをまとめた。非公開や削除済のブクマがあるせいか、完全な日付昇順ではない。

エントリID
ブクマ
ユーザ
URL
262005/2/10nabesohttp://b.hatena.ne.jp/help
2522982005/5/24nobodyhttp://b.hatena.ne.jp/help#tag
2613692005/5/26anotherhttp://b.hatena.ne.jp/help#favorite
3084552005/6/9naoyahttp://b.hatena.ne.jp/help?mode=design
3618202005/6/23superartlifehttp://b.hatena.ne.jp/help#collection
3685602005/6/24kurimaxhttp://b.hatena.ne.jp/help?mode=button
3690592005/6/24takeshi-shttp://b.hatena.ne.jp/help?mode=button#jugem
4613062005/7/18kidaglasshttp://b.hatena.ne.jp/help?mode=button#livedoor
5402192005/8/9kei-shttp://b.hatena.ne.jp/help?mode=tipjar
9907322006/1/14takefhttp://b.hatena.ne.jp/help?mode=tipjar#autodiscovery
10213852005/12/27tosch0718http://b.hatena.ne.jp/help#note_about_title
10510402006/1/7junky0http://b.hatena.ne.jp/help?mode=button#seesaa
11487292010/7/8b01012109http://b.hatena.ne.jp/help/
17854752006/4/20eiichimanhttp://b.hatena.ne.jp/help?mode=design#module
23618012006/7/19yamifuuhttp://b.hatena.ne.jp/help#keybind
46701350558056662742020/1/7aoyamayukihttps://b.hatena.ne.jp/help/
IDが正しく認識されない場合

以下に該当するIDURL引数として入力すると、エントリの一部または全ての情報の取得に失敗する



ブックマークコメントページ

コメントと、それに付けられたスター情報が表示される。

URL

1. https://b.hatena.ne.jp/{1}/{2}#bookmark-{3}

2. https://b.hatena.ne.jp/entry/{4}/comment/{1}

引数
概要
{1}ユーザID
{2}ブクマ"YYYYMMDD"の形式で、当該ユーザブクマした日付を入力
{3}エントリID当該ユーザブクマしたURLID入力
{4}エントリIDエントリページに対応するどのIDでも入力


検索ページ

はてブの全エントリから検索可能[29]。ただし単語の区切の判定が完璧でないため、連語複合語等が関わると上手く動かない場合がある(例えば、「更年」で検索したら「更年期障害で欠勤、認められず」というタイトルがヒットしなかった)。

URL

1a. https://b.hatena.ne.jp/search/{1}?q={2}(&sort={3}&users={4}&safe={5}&date_begin={6}&date_end={7}&page={8}&mode={9})

1b. https://b.hatena.ne.jp/t/{2}(1aにリダイレクト

2a. https://b.hatena.ne.jp/site/{10}(?sort={11}&page={8})

2b. https://b.hatena.ne.jp/entrylist?url={10}(2aにリダイレクト

引数
概要
{1}検索範囲"tag""title""text"のいずれかを入力
{2}検索文字ブクマに付帯するタグ・ページタイトル・ページ本文中のいずれかで、指定した文字列を検索する。複数文字列を"%20""|""-"で連結すると、AND・OR・NOT検索できる[30]。"site:{URL}"の形式入力すると、URL絞込検索できる
{3}表示順"popular"を指定すると、結果がブックマーク登録数降順で表示。デフォルトは新着順
{4}ブクマ件数指定件数以上のエントリで絞込検索する。デフォルト値は3
{5}セーフサーチの有無"off"を指定できる。デフォルトはオン
{6}検索期間の始め"YYYY-MM-DD"形式指定した日付以降のエントリで、絞込検索
{7}検索期間の終り"YYYY-MM-DD"形式指定した日付以前のエントリで、絞込検索
{8}ページ番号
{9}"rss"を指定できる
{10}URL指定URLで絞込検索
{11}表示順"count""hot"を指定すると登録数降順、"eid"で新着順で表示。デフォルトは、ブクマ3件以上のエントリのみ新着順


ユーザブックマークページ

ユーザブクマしたエントリが一覧表示される。

URL

1a. https://b.hatena.ne.jp/{1}/(?page={2})

1b. https://b.hatena.ne.jp/{1}/?tag={3}(&tag={3}&page={2})

1c. https://b.hatena.ne.jp/{1}/{3}(/{3})(1bエイリアス

1d. https://b.hatena.ne.jp/{1}/{4}

1e. https://b.hatena.ne.jp/{1}/?url={5}(&page={2})

1f. https://b.hatena.ne.jp/{1}/bookmark(1aのエイリアス

2a. https://b.hatena.ne.jp/{1}/bookmark.rss(?page={2})

2b. https://b.hatena.ne.jp/{1}/bookmark.rss?tag={3}(&tag={3}&page={2})

2c. https://b.hatena.ne.jp/{1}/bookmark.rss?date={4}

2d. https://b.hatena.ne.jp/{1}/bookmark.rss?url={5}(&page={2})

2e. https://b.hatena.ne.jp/{1}/rss(2aにリダイレクト

3. https://b.hatena.ne.jp/{1}/search.data(?limit={6}&offset={7}) [31]

4. (b:)id:{1}(:{4}) [17]

引数
概要
{1}ユーザID
{2}ページ番号
{3}タグ指定タグで絞込検索。2件以上指定するとAND検索できる
{4}ブクマ"YYYYMMDD"形式指定した日付で絞込検索
{5}URL指定URLで絞込検索。部分一致検索可能だが、URIスキームから入力しないと無効
{6}最大取得件数デフォルト値は全件
{7}オフセット表示結果の先頭が、指定した値だけ後ろにずれる


イブクマークページ

前節とほぼ同様だが、利用可能オプションが多い[32・33]。

はてなスター

ログインすると、スター情報を閲覧できる。

余談だが、カラースター価値は緑5円・赤12円・青110円・紫890円程度のようだ[34]。

URL

1. https://s.hatena.ne.jp/

2. https://s.hatena.com/(1のエイリアス

3. https://s.st-hatena.com/(1にリダイレクト



参考URL

ブクマされてるURLにはIDを付記。

タイトル
URL
エントリID
1ヘルプトップ - はてなブックマークヘルプhttps://b.hatena.ne.jp/help/4670135055805666274
2はてブAPIwebサービスを作りたい全ての人に向けて書きましたhttps://syncer.jp/hatebu-api-matome264997023
3カテゴリトップテクノロジー」を新設し、グローバルナビゲーションの挙動を変更しました - はてなブックマーク開発ブログhttps://bookmark.hatenastaff.com/entry/2015/11/05/1512214667408542014962466
4はてブホットエントリーのRSS一覧 - まんとるぽっとhttps://www.mantol.net/entry/20120601/13385179414699737458651148386
5追記ありトップページカテゴリページなどのメディア面をリニューアルしました - はてなブックマーク開発ブログhttps://bookmark.hatenastaff.com/entry/2018/03/22/1611104667408571006016450
6編集ユーザ活動エンジニアリングを融合した「特集機能」を始めます - はてなブックマーク開発ブログhttps://bookmark.hatenastaff.com/entry/2015/08/17/1506544667408546846804962
7[FAQ]はてなブックマークの「総合カテゴリーと「一般カテゴリーの違いはどこにある?https://anond.hatelabo.jp/20200108201212
8自由研究はてなブックマークにおける自動カテゴリ分けの傾向と所感 - AQMhttps://aqm.hatenablog.jp/entry/2019/08/06/1801004672608930549728738
9フィードバックフォームおよびカテゴリ変更依頼フォーム設置のお知らせ - はてなブックマーク開発ブログhttps://bookmark.hatenastaff.com/entry/2018/12/11/1634534667408557584232770
10新しいトップページの一覧性を高めました - はてなブックマーク開発ブログhttps://bookmark.hatenastaff.com/entry/2013/02/06/000000
112008-11-07 - はてなブックマーク開発ブログhttps://bookmark.hatenastaff.com/entry/2008/11/07/000000
12はてなブックマーク - 人気エントリー - 総合 - 2011年12月5日https://b.hatena.ne.jp/hotentry/all/20111205
13はてなブックマーク - 人気エントリー - 2008年11月1日https://web.archive.org/web/20170815132626/http://b.hatena.ne.jp/hotentry/20081101

anond:20220521221139 に続く

anond:20220521112442

Kindleセールで安くなってたパワークエリの本使ってる。

からないどころはググる精神で(割といい感じのblog記事とか出てくる)。

M言語Microsoftリファレンスマニュアルがあるので、それを見てるよ。

Excel学んでる途中

普通のVLookupやら詳しくなる前に、パワークエリ(M言語)に詳しくなってしもた。

2022-05-03

Excelのパワークエリとパワーピボットを学ぼうと思ったけど、やる気がでないので洗濯することにした。

なんか、ずっと洗濯してる気がする。

2022-02-19

anond:20220218165313

帳票系だったら「エクセルのお供アテンダント」ってやつが有償だけど45日は無償で使える。

2016以降だったらパワークエリってやつが使えるけど習得がそこそこ難しい

VBA使える人なら問題ないと思う

2021-12-06

毎日日報を2時間くらい書いてる

中小企業によくある社内SE(a.k.a マクロ屋)兼PC周り雑用をやってるんだけど、新しい上司が「全部日報に書け」とうるさい。

 

総務「プリンターが動かない」→用紙サイズおかしかっただけ

上司「経緯と解決策を日報に書け」

 

営業「先方にメールが届かない」→先方でフィルタリングされていた

上司「経緯と解決策を日報に書け」

 

工場PCの電源が入らない」→電源プラグが抜けていた

上司「経緯と解決策を日報に書け」

 

いや、わからんじゃない部分はあるんよ。

俺以外の人のために事例を積み上げていくのは大事だと思うよ。

でもそれも最初の1回でよくね?

溜まってきたら事例集作ってもいいしさ。

毎日毎日毎日毎日かいかいかい雑用日報書いてる暇があったら

部署からまれてるマクロ作ったりクエリ書いたりしたいんじゃが。

 

そりゃ、お前は中途で入ってきたのに人事で無能すぎて

1年で何もわからんシステムに回されたのは気の毒だと思うよ。

なんもわからんからせめて日報いっぱい書いての見せて「ちゃん仕事させてます」したいのもわかるよ。

でもさ、読む人が読んだら「こいつ雑用ばっかりしてるやんけ」ってなると思うよ。

 

日報ばっかり更新するのしんどいんだよ。

もう辞表書いて家帰って寝てろ、な?

2021-12-04

anond:20211204145749

後編

プログラミングを学ぼうと思い立つ

行列VBAなんかじゃ無理っぽいし、なんかプログラミング言語を覚えようと決める。

なんでも、統計やるならRという言語がいいらしい。

最近じゃPythonというのも人気らしい。

とりあえず両方試そうということで、RのためにRとRstudioをインストール

Pythonはanaconda

プログラミングはなんかを製作する目標がないと挫折すると聞いていたので。

深層学習というもの流行ってると聞いて、ちょっと触りを勉強したくなる。

Excelでわかるディープラーニング超入門」

https://www.amazon.co.jp/Excel%E3%81%A7%E3%82%8F%E3%81%8B%E3%82%8B%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%83%A9%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0%E8%B6%85%E5%85%A5%E9%96%80-%E6%B6%8C%E4%BA%95-%E8%89%AF%E5%B9%B8/dp/4774194743/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=Excel+%E6%B7%B1%E5%B1%A4%E5%AD%A6%E7%BF%92&qid=1637482610&s=books&sr=1-1

この本は面白かったので、深層学習目標プログラミングを覚えよう!

後になって、これはとんでもない間違いだったことに気づく。深層学習機械学習の違いも判らないまま、RよりPythonを先に触ることに。

教本にしたのはこちら。

ゼロから作るDeep LearningPythonで学ぶディープラーニング理論実装

https://www.amazon.co.jp/%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E4%BD%9C%E3%82%8BDeep-Learning-%E2%80%95Python%E3%81%A7%E5%AD%A6%E3%81%B6%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%83%A9%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0%E3%81%AE%E7%90%86%E8%AB%96%E3%81%A8%E5%AE%9F%E8%A3%85-%E6%96%8E%E8%97%A4-%E5%BA%B7%E6%AF%85/dp/4873117585/ref=pd_lpo_2?pd_rd_i=4873117585&psc=1

途中まではまあなんとか。

微分って便利だな。行列計算できるの便利だなっていうところまでいったが、クラスという概念理解できず、途中からハテナが浮かんで読み進められず。

うん、もうちょっと易しい本を探そうと思って手に取ったのが

「独学プログラマー Python言語の基本から仕事のやり方まで」

https://www.amazon.co.jp/%E7%8B%AC%E5%AD%A6%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%BC-Python%E8%A8%80%E8%AA%9E%E3%81%AE%E5%9F%BA%E6%9C%AC%E3%81%8B%E3%82%89%E4%BB%95%E4%BA%8B%E3%81%AE%E3%82%84%E3%82%8A%E6%96%B9%E3%81%BE%E3%81%A7-%E3%82%B3%E3%83%BC%E3%83%AA%E3%83%BC%E3%83%BB%E3%82%A2%E3%83%AB%E3%82%BD%E3%83%95/dp/4822292274/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=1T6BBXYJ16G6T&keywords=%E7%8B%AC%E7%BF%92%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%BC&qid=1637483073&s=books&sprefix=%E7%8B%AC%E7%BF%92%2Cstripbooks%2C279&sr=1-1

なんとか読了。自信をつける。

しかし、Gitとかbashの章はさっぱり。

実は、いまだにコマンドプロンプトとパワーシェルbashの違いが分かってない。

つづいてPyQに2か月くらい登録してみる。

https://pyq.jp/

とりあえずデータ分析コースを終わらせる。

なかなかPythonが楽しくなってきたが、クラス意味が今一つ掴めないままいったん中断。

この辺で、自分統計に興味があってもプログラミングに興味がないんじゃないかということに気づく。

結局Excelへ戻り、PowerQueryとの出会って、再びPythonとRに回帰した話

なんだかんだもがきながら、PythonもRもモノにならず、日常ちょっとした計算グラフを作ったりはExcelを使い続ける日々が続く。

あるいは、Excelで成形して、検定かけやす形式にしてRで検定するとか。

Rに触れてなかったな、Rは完全に独学。「こんなことやりたいなぁ、ググってみるか、ほうなるほど」って感じ。

そんなさなか、放送大学で「Rで学ぶ確率統計」という講義があるのを知り、さっそく入学して受講。

なかなか面白かったし、PythonばっかりでRあんまり触ってなかったからいい刺激になった。

恥ずかしながら、負の二項分布やガンマ分布ってよう知らんかった。

しかし、講義は楽しかったがなにか書けるようになったかというとそんなことはなく、依然として基本はExcel

まあ、実際csvじゃなく、手書きデータとかをExcelに打ち込んだりする程度なんでPythonやRを使うまでもなかったというのもあるんだけど。

そんなとき出会ったのがこちら、パワークエリというもの

Excelパワーピボット 7つのステップデータ集計・分析を「自動化」する」

https://www.amazon.co.jp/Excel%E3%83%91%E3%83%AF%E3%83%BC%E3%83%94%E3%83%9C%E3%83%83%E3%83%88-7%E3%81%A4%E3%81%AE%E3%82%B9%E3%83%86%E3%83%83%E3%83%97%E3%81%A7%E3%83%87%E3%83%BC%E3%82%BF%E9%9B%86%E8%A8%88%E3%83%BB%E5%88%86%E6%9E%90%E3%82%92%E3%80%8C%E8%87%AA%E5%8B%95%E5%8C%96%E3%80%8D%E3%81%99%E3%82%8B%E6%9C%AC-%E9%B7%B9%E5%B0%BE-%E7%A5%A5-ebook/dp/B07SCK1ND9/ref=sr_1_2?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=%E3%83%91%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%A8%E3%83%AA&qid=1637483953&s=books&sr=1-2

パワークエリを覚えたらピボット形式Excelファイルとか、セルの結合が多用されたExcelファイルを、成形加工するのが非常に楽になった。

しかも、同じフォーマットで記録されてるデータならフォルダにぶち込んで一気にまとめ上げることも可能

控えめにいって神!

としばらくパワークエリを礼賛してたのだけど、各ステップPythonのpandasやRのdplyrでも出来ることに気づく。というか最初から気づけ。

こりゃ、一気に覚えちまおう、統計というより、データの前処理だなと思ってUdemyでRの動画を買ってみた。

AIエンジニアが教えるRとtidyverseによるデータの前処理講座

https://www.udemy.com/course/r-tidyverse-preprocess/

すっかりR信者になる。

それまで教本を呼んでもdplyrの便利さが今一つわからなかったのに、パワークエリで具体的にモノを作ると、dplyrに翻訳したら、すいすい。スピード10倍。

便利さにようやく気付く。

ハドリーウィッカムって神だな。

そんで、pandasに翻訳したらどうなんだろ?と思ったらもっと速いw

すごいなPython

Rへの入信はたった数週間。再びPythonに興味。

機械学習

さて、ゼロから作るディープラーニングを再開しようと思ったけれども、そもそも機械学習をすっ飛ばし深層学習って無茶だったと反省し、まずは機械学習に。

機械学習エッセンス -実装しながら学ぶPython,数学,アルゴリズム- (Machine Learning)

https://www.amazon.co.jp/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%81%AE%E3%82%A8%E3%83%83%E3%82%BB%E3%83%B3%E3%82%B9-%E5%AE%9F%E8%A3%85%E3%81%97%E3%81%AA%E3%81%8C%E3%82%89%E5%AD%A6%E3%81%B6Python-%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0-Machine-Learning/dp/4797393963/ref=tmm_hrd_swatch_0?_encoding=UTF8&qid=1637485264&sr=1-1

で、この本がすごい。

5章あるんだけど、機械学習アルゴリズムは5章だけなんだなw

それまでは何に割かれてるんだって?数式の証明とか、便利な計算法、例えばニュートン法とかラグランジュ未定乗数法とかw

こんだけ引っ張っておいて、いよいよ本番の第5章もゴリゴリ数式をスクリプトに落とし込んでいってるのに、「これは学習のためでscikit-learnっての使えばたった1行」っていう無慈悲

いや、ほんと数学勉強になったし、こうやってゴリゴリやるとなんのためにクラスというもの存在するのかようやくわかった。

線形代数って便利なんだなと。行列スカラー値のように何の気なしに扱えるようになると、あの頃苦しんでいた実験計画法タグメソッド、今読み直したら別の印象があるんじゃないかなと思うようになったり。

この本を読む途中、「マンガでわかる統計学因子分析編」で学んだことが理解の助けになった。

なんたる僥倖

線形回帰、リッジ回帰SVM、PCA、k-means、クラスター分析、一気に手札が増えた。

ふたたび実験計画法

Pythonで学ぶ実験計画法入門 ベイズ最適化によるデータ解析

https://www.amazon.co.jp/%EF%BC%B0%EF%BD%99%EF%BD%94%EF%BD%88%EF%BD%8F%EF%BD%8E%E3%81%A7%E5%AD%A6%E3%81%B6%E5%AE%9F%E9%A8%93%E8%A8%88%E7%94%BB%E6%B3%95%E5%85%A5%E9%96%80-%E3%83%99%E3%82%A4%E3%82%BA%E6%9C%80%E9%81%A9%E5%8C%96%E3%81%AB%E3%82%88%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF%E8%A7%A3%E6%9E%90-%EF%BC%AB%EF%BC%B3%E6%83%85%E5%A0%B1%E7%A7%91%E5%AD%A6%E5%B0%82%E9%96%80%E6%9B%B8-%E9%87%91%E5%AD%90%E5%BC%98%E6%98%8C-ebook/dp/B09C89HZRV/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=python+%E5%AE%9F%E9%A8%93%E8%A8%88%E7%94%BB&qid=1637486019&s=books&sr=1-1

実験計画法って、fisherの古典的なやつ、ラテン方格に割り付けて、ってやつかと思ったら、線形代数使えればもうなんでもありなのな。

そこにきて、ベイズ、今まで避けてたのに出会ってしまった!!

結論から言うと、超面白い。

これ、すごいな。

Python万歳

いいのかこんな便利分析個人でやれて。

機械学習実験計画法がここでつながるとか、控えめにいって最高だな。

まだ読了してないので、また後日。

2021-10-20

エクセルと貧弱ノーパソ

2000名の顧客×365日のステータス管理というミッションがあり,

カレンダー形式で作ったこれをパワークエリにて

2000×365の730000行のデータに変換して管理しようとしたんだが

クエリ適用するたんびに3分ぐらい固まるのでキレそう。

i3-U7300とはいえタスクマネージャみたら30%しかCPU使ってないのね。

もっと使えよ。100%でもいいよ。なんで遠慮するんだよ。

2021-10-15

Excelに勝った気がする

数千名の顧客行×365日の列から成るデータをパワークエリでピボット解除して顧客1名ごと×365のリスト作成しようとしたのね。

そしたら上限の1,048,576 行を超えるんで一部しかできないわというメッセージが出た。

おれは勝った気がしたね。

※なんでわざわざリスト形式に変換するかというと、変換後にさらにピボットテーブルかけて月単位グループ化することで月ごとの集計をしたいわけ。

最初からACCESSシステム組んどけばって?

むつかしいのよ。

anond:20211014174246

少なくとも今の日本社会制度は「家=世帯」をベースに構築されていて、その「世帯」の名前が「姓」なんだ。結構根幹にかかわることなんだよ。

大した伝統じゃないとか言ったって、ちゃんとした社会制度が全国に広がった明治以降はそうなんだから行政サービスとか公共教育とか福祉とかなんにもなく、曖昧でよかった時代とは違う。

賛成派は自分の姓が大事…というけれども、それだって親のどちらかが犠牲になって姓を統一して世帯として活動してきたか愛着が湧いたわけで、別姓後の次の世代にとってそもそも「家の名前=姓」を大事にするという感覚はかなりロストするだろう。別姓派は、自分の姓を大事にしたかたから別姓にしたかったんじゃないのか?

姓がそもそも国家制度としてあまり重要じゃなくなれば、それこそ守る価値すらなくなると思っている。え?姓、変えたきゃ変えりゃいいやん。なんなら結婚関係なく変えたきゃいつでも変えられる。それぐらいまで価値を落としたとき成功すると思うが、それは別姓推進派が描いているイメージじゃないと思うんだよな。

そのためには完全に個人ベース住民データベースが構築され、それが世帯なのかどうかはその条件でクエリーしたときだけ出てくればOKぐらいまで意識と台帳を再構築しないといけない。で、おそらく賛成派はそこまで社会制度を再構築するという気概意識もなければ知恵もビジョンもない。ただ自分の姓が大事。いや別姓OKにするってことは姓そのもの大事にする必要がないようにするってことなんだよ。たぶんそこがわかってない。それが透けて見えるからあんまり賛成できないんだよな。

もっとも反対派もそこまで反論できる人もいないし、なし崩し的に別姓にして、エイリアスもなんもない制度になってただボロボロになるんだろうなあ、って思う。

2021-10-07

#モデルワクチン接種停止 について、実際打った若年層の所感とかを探そうと思ってツイート検索したら規制されて何も見えない

https://twitter.com/search?q=%23%E3%83%A2%E3%83%87%E3%83%AB%E3%83%8A%E3%83%AF%E3%82%AF%E3%83%81%E3%83%B3%E6%8E%A5%E7%A8%AE%E5%81%9C%E6%AD%A2%E3%80%80%E7%A7%81%E3%80%80%E6%89%93%E3%81%A3%E3%81%9F&src=typed_query&f=live

検索クエリ適当だけど、肯定否定を問わずハッシュタグ以外の文字列キーワードに追加すると検索結果が消滅する。

あのさぁ・・・

土管屋風情が土管止めて統制かけたるで!とかイキってんじゃねえよ

金盾になりたいんか?

この虚空の結果欄を見て何も思わない奴、コミーの素質あるよ

2021-10-04

クソプログラマーが増えてるんだが

からたまに話題になるクソ実装あるでしょ

例えばWeb自分アカウント情報表示するような画面で

サーバから全員分のデータを引っこ抜いてきてブラウザ上でフィルターして自分情報だけ表示するやつとか

引っこ抜いてきた情報にはパスワードまで含まれていてしかも平文保存されてるとか

まぁネタとしてよく盛り上がったりしたし、都市伝説だろうなぁと思ってたんだけど

最近マジでそういう実装する奴がゴロゴロいてビックリしてる

例えばつい最近遭遇したのだと

アカウント指定データ取りたいからそういうAPIよろしく

っていうざっくりした注文すると普通にアカウントの氏名で検索して先頭の1つだけ返してくるようなAPI作りやがる

クエリは何を投げたらいいの?」

って聞いたら

「氏名を入れてください!」

って自信満々で答えられて「はぁ?」ってなった

小学生でも「同姓同名の人いたらどうするんだろう」って思うだろうに何の疑問も抱いてない

おまけにそういう指摘したら「データベース上でアカウントの氏名をユニークしました」とかい対処を平気でやってくる

そりゃマジメにやるなら

アカウントを一意に識別できるアカウントIDメールアドレスなど)で検索できるAPIをお願いします」

的な依頼をするのが正しいんだろうけど

こういう1から10まで全部指定しないといけなくなると単純にコストがかかりすぎるよね

これ1件だけなら別に良いけど、このレベルで共同作業かになると苦痛しか無い

自分が関わるプロダクトだとまだ品質管理できるけど、同じ社内でも発注側がそういうの分かってないままプロダクト化が進んでたりしてヤベーと思ってる

そして日本全体で考えてそういうヤバいシステム結構あるんじゃないかっていう気がしてきてる

ちょっと前はIT土方とか揶揄されてたけどまだその頃の方が断然マシ

なんだかんだで設計する人がまともだったか上記のようなアホなことはやらないし

プログラマーもそういうまともな人の管理下にあって教育されたりもしてた

多分だけどあの頃のまともな人達はとっくに外資系なりに引き抜かれて

そういう人達が育てたIT土方プログラマーも引き抜かれて

クソの役にも立たないIT土方プログラマーが管理する側に回ってクソ設計して

プログラマーはプログラミングスクール勉強してコピペ能力だけを身につけてて

そんで委託派遣してるから教える人もいないっていうヤバい状況なんじゃないか

土方で例えるならコンクリート混ぜるのにスマホYoutuberDIYを見ながら作って

その上にビル建ててるぐらいのヤバい感じ

コンクリートって養生期間を適切に取らないといけないから天候や運搬時間に応じて水との混合比率変えたり温度管理したりとにかく大変らしいですよ)

悪いけどこれから出てくる日本ITサービスって品質が恐ろしく低くなると思う

日本ITサービスは怖くて使う気になれんね

2021-09-26

anond:20210926192926

パワークエリセル結合のクソシートを行列転換して克服してるサイトみて感動したわw

anond:20210926192926

パワークエリーって2003でも使える?

うち2003しかないんよ

2021-09-21

anond:20210911135028

JSjQuery を吸収した気がする。クエリセレクターチョメチョメすりゃええんだろ、って思うなら

window.$ = (b, a = document) => a.querySelector(b);

window.$$ = (b, a = document) => a.querySelectorAll(b);

すりゃよくね?って思うのだけど。

https://www.buzzyvox.com/2017095496.html

2021-09-14

ダミー個人情報を作る「個人情報ジェネレーター」登場

 氏名・住所・クレカ情報など、無償で最大1万件

 ユーザーローカルが、ダミーの氏名・住所などの個人情報自動生成するWebサービス個人情報テストデータジェネレーター」の無償提供を始めた。最大1万行を生成し、CSV形式ファイルなどでダウンロードできる。システム開発時の動作テストセキュリティチェックなどに使えるという。

 生成できるのは、氏名や年齢、生年月日、性別血液型メールアドレス電話番号郵便番号、住所、会社名、クレジットカード番号と期限、マイナンバー情報。氏名は漢字平仮名片仮名ローマ字などを選択でき、年齢は「20~80歳」など指定した範囲を基に日本人口比に合わせて出力できる。

 データCSV・TSV形式Excelファイルダウンロードできる。生成するデータ数は1件単位で設定できるが、1万行以上はユーザーローカルへの問い合わせが必要だ。

ユーザーローカルへの問い合わせ、ってなんかJSかなんかでローカル処理のクエリ必須、みたいに勘違いしてなんだそりゃと気になったがただの社名だった

2021-09-03

最近銀行VISAビットの明細を口座の明細にしてくれるんだな

「なにいってんだコイツ?」と思われたかもしれないが、

銀行明細とVISAビット明細ってこれまで20年くらい別枠扱いだったんだよ

からExcelとかで明細を合わせる必要があったんだが、

たぶんほとんどの中小企業で今も経理のおばはんが手作業でやってるはず

Accessとかでクエリ化してるところはそこそこがんばってるとこやな

2021-08-27

ワクチン国民全員分用意されても一瞬で接種完了にならないのはスロークエリに似てる

1億件のレコードワクチン接種完了フラグを0から1にUPDATEするだけなのに全然進まない奴だ。

こういうときどうしたらいいんですか?

2021-08-25

anond:20210825205300

おう!外部キー制約を語るとは、RDB勉強しているのだな?いい心がけだ。増田は外部キー制約があると「どんなメリットがあるか知りたい」のだな?良し、答えてやろう!外部キー制約があると「変なデータが入らない」ということが開発者が『保証』できるのだ。うん、それで?って増田は思うだろう。それで、実例を挙げるけど、sex というカラムを create で作ったときに、そこに insert into で入る値が「男」「女」「その他」というデータに限りたいとき設計者にあったとする。そうすると、「 insert するのは『チンポ』でしょ?」みたいなアホを防げるだろ?もちろん、limit みたいな副クエリ実装しても構わない場合もある。型を指定して、boolean にしたい場合もある。だが、「入るのはこれだけだと思うが、後に追加で変更できる」としたら、嬉しい場合があるのじゃ。まぁ、究極的に OOP関数型言語、または(古い)命令形言語だと、enum みたいなものなんだよ。いや、だとしたら、enum でよくね?って思うのなら、リプライくれ。答えるから

ログイン ユーザー登録
ようこそ ゲスト さん