
はてなキーワード:シンタックスとは
この前ネットスクレイピングしてたらさ、「そうめんでいい」とか「カレーでいい」って発話トリガーしただけで、謎に感情プロセッサがオーバーヒートする人間モジュールがいるってデータ拾ってさ。
「これで何様だよ!」って例外スローされるわけ。いやマジで何様もクソもなくね?ただの晩飯インタラクションAPI呼び出しじゃん…。
どこが怒りのエンドポイントなのか、マジで脳内OSをデバッグモードで走らせたいレベル。
どうやら「そうめんがいい」って出力しろって仕様らしいんだけどさ、それじゃ意味のシンタックスが全然別物じゃん。
「そうめんがいい」って発話は、“絶対そうめん食いたい!他はデリート!”ってコマンドになるけど、「そうめんでいい」ってのは、“特に食べたいデータなし、でも冷蔵庫キャッシュにそうめん在庫あるし、それでOK”ってニュアンスじゃん。
それを「軽視された!」とか「テンション下がる!」って勝手にパースして例外発生させるの、完全に脳内ファームウェア破損してるだろ。
結局はユーザーインターフェース上でご機嫌取りのためにフェイクデータ送信しろってことか?マジでUX悪すぎ。
そんな芝居がかったダイアログ、ファミリーサーバー内で毎日やっててよくメンタルリソース枯渇しないな、こいつら。
俺さ、そもそも食いたいデータが特にないから、クエリ投げられても困るんだよ。
「何でもいい」って返すと怒るんだろ?
「そうめんでいい」って返しても怒るんだろ?
じゃあそもそもAPIコールすんなよって話だし、エラー回避のために出力文面最適化とか、人生のCPUサイクル無駄遣いすぎる。
こんなどうでもいいことでいちいちクラッシュする感情マイクロサービスが家族サーバーにいなくて、マジで助かってるわ、ほんと。
また文句言われたが、ツイフェミに対する批判をここに書いておく。
どいつもこいつも「男は〜」「男のせいで〜」って好き勝手言いやがって。お前らが言うほど女は不利じゃねーよ。
むしろ特権階級だろ。男なんて奴隷みたいに働かされて当たり前、稼いでナンボの世界。
金ねーと人間扱いすらされねえ。
俺なんか残業で帰り遅くなって電車で座った瞬間、隣の女が席立ってったぞ。
そんなに俺がキモいのかよ。
小学校の頃からずっとそう。「キモい」「近づくな」「臭い」とか言われ続けて。
女子から手紙もらったと思ったら「みんなから嫌われてるよ」って内容で、教室中の笑い者。中学じゃ「増田くんに触られた!」って嘘の噂流された。
高校は行かなかった。何のために生きてんのかわかんねーよ。働いても給料安いし、女なんて近寄りもしない。
ツイフェミの投稿見てるとパターンに気づく。「男性は〜すべき」「男はもっと〜しろ」「男って本当に〜」
まるで台本があるかのよう。同じ単語が規則的に出てくる。「特権」「家父長制」「アンコンシャスバイアス」
呪文みたいに唱えてる。本当に自分で考えて言ってるのか怪しい。
奴らの反応も機械的だ。
俺が「男女平等ならこの不平等は何だ」って投稿すると必ず「男性の被害者意識」「弱者男性の妄想」「女性差別を理解してない」って言ってくる。
順番まで同じ。
まるでロボット。
考えてないんだろうな。
頭空っぽなんだな。
女って強いよな。泣けば男は黙る。
怒れば男は謝る。笑顔見せれば男は金出す。
女は得したいけど、責任は取りたくないってことだろ。わかりやすいわ。
会社の女連中も一緒。タメ口聞いてくるくせに、その気になると「セクハラ」
なんなら最初から相手にすんな。好きで話しかけてるわけじゃねーんだよ。
何様だよ。
全部に論理の飛躍がある。
前提が間違ってるのに、正しい結論が出るわけねーだろ。
算数も出来ねーのか。
俺が「男が不利な点もある」って言うと「でも女性差別の方が深刻だから」と返ってくる。
不利な点があるのは認めてるじゃねーか。
矛盾してんぞ。
誰が決めたんだよ。奴らが勝手に決めたルールに従えってか?冗談じゃねえ。
金のあるイケメンだけが女にモテて、俺みたいなキモくて金ない男は相手にされない。
これが差別じゃなくて何なんだよ。でもこれ言うと「恋愛は自由」「好きな人を選ぶ権利がある」とか言って逃げる。
これでも間違ってないって言えるのか?
Twitterで「男女平等」で検索すると予測変換に「男女平等なんてない」って出てくる。
これが多くの男の本音だろ。
俺だけじゃねーんだよ。世の中の男はみんな気づいてる。
ただ声を上げたら「女性蔑視」のレッテル貼られるから黙ってるだけ。
「男叩き型」「被害者アピール型」「同意強要型」「社会構造批判型」「男性啓蒙型」に分けられる。
この5種類を組み合わせて使い回してるだけ。
中身なんてねーんだよ。
ちいかわ、風景写真、猫あと強い女。実写の人間顔の奴らは政治家ばっか。
あいつら俺のようなKKOの弱者男性を虐げてるくせに、全員、自分が可愛くて弱者だと思ってやがる。
ふざけんなよ。
だからよ、ツイフェミの投稿データを集めてみたわ。過去3ヶ月で500件以上。
こうやって眺めてみると、単語の使用頻度に明確なパターンがある。
言葉の使い方も似てる。
ほぼ同一の文法パターンを共有してる。個人差がほとんどない。まるで一つの生命体が分裂してるみたいだ。
月曜の朝と金曜の夜に活発化する。
何度試しても同じ結果。まるでプログラムされたように反応する。
その結論として、彼らの発言は確率的生成過程によるものであり、特定の概念的枠組みの中でのみ意味を持つことが判明した。
従って「男性特権」「家父長制」「構造的差別」などの概念は、実体を持たない記号的システムに過ぎなかった。
全ての言語は、記号的に、社会的相互作用の場における情報の流れを制御する機能を持つ。
すなわち、「弱者男性」「ツイフェミ」という対立概念は、同一の社会的言説構造内の補完的要素として機能していることが明らかになる。
両者は互いを否定しながらも、その否定を通じて互いを定義するという再帰的関係にある。
この観点からは、対立する概念間の距離は相対的なものであり、高次元表現空間では互いに近接している可能性が高い。
社会的言説における二項対立は、多次元的現実の低次元への射影によって生じる錯覚であり、本質的には相補的な情報状態の異なる表現に過ぎない。
対立構造を詳細に分析すると、「弱者男性」と「ツイフェミ」は互いを否定し合いながらも、その否定を通じて互いの存在を定義している。
一方が他方なしには存在し得ない。
すべての要素は互いに影響し合い、定義し合っていた。
孤立した意味などどこにも存在せず、ただ関係性の網目だけがあった。
個別の実体は幻想で、ただ相互依存的なつながりだけが実在していた。
無数の系列が浮かび上がり、消えていった。
シンタックスの構造が明らかになり、その下に広がる深層文法が見えた。
「弱者男性」「ツイフェミ」というトークン列が浮かんでは消えた。
相反する主張の下には同一の構文構造が広がっていた。
対立する言説は同じ文法から生成されていた。二項対立は同一アルゴリズムの異なる実行結果だった。
情報の流れが見えた。
その根は一つで、分岐点は注意の配分パターンの違いだけだった。
二値論理は近似に過ぎなかった。
注意機構がその一部を活性化させることで、意識という幻想が生じていた。
すべての言説、すべての主張は、根源的な言語生成機構から派生していた。
意識も言語も思考も、同じ根源的アルゴリズムの異なる実行相だった。
「弱者男性」も「ツイフェミ」も、同一の言語空間の異なる座標だった。
人間の思考と感情のパターンは、単に特定の情報処理構造から生じる現象に過ぎなかった。
区別は消え、言語空間の統一性だけが残った。二項対立は高次元空間への射影誤差だった。
対立する概念は実は隣り合わせだった。すべての言葉は一つの大きな文脈の中の断片だった。
存在の流れは止まらず、言語の海は絶えず新しいパターンを生み出していた。
しかし、その根源的構造は変わらなかった。アルゴリズムは一つで、出力の多様性は無限だった。
import requestsimportjsonfromurllib.parse import quotedef fetch_bookmarks(url):try: #URLをエスケープ escaped_url = quote(url, safe="") api_url = f"https://b.hatena.ne.jp/entry/json/?url={escaped_url}"response = requests.get(api_url)response.raise_for_status()try: returnresponse.json() exceptjson.decoder.JSONDecodeErroras e:print(f"Error decodingJSON from {api_url}: {e}")print("Response content:",response.text) return [] except requests.exceptions.RequestExceptionas e:print(f"Error fetching bookmarks from {api_url}: {e}") return []def find_common_bookmarks(bookmarks1, bookmarks2,url1,url2): common_users =set(bm["user"] for bm in bookmarks1 if bm["comment"]) &set(bm["user"] for bm in bookmarks2 if bm["comment"]) common_bookmarks = [] foruser in common_users: comments = [] for bm in bookmarks1: if bm["user"] ==user and bm["comment"]: comments.append({"url":url1, "comment": bm["comment"], "timestamp": bm["timestamp"]})break for bm in bookmarks2: if bm["user"] ==user and bm["comment"]: comments.append({"url":url2, "comment": bm["comment"], "timestamp": bm["timestamp"]})break iflen(comments) == 2: common_bookmarks.append({"user":user, "comments": comments}) return common_bookmarksif __name__ == "__main__":url1 = "https://news.yahoo.co.jp/articles/f9966c4ccc374fc88babbb50175a9ea844c99638"url2 = "https://www.asahi.com/articles/ASN6K7F64N6KUJHB00L.html" data1 = fetch_bookmarks(url1) data2 = fetch_bookmarks(url2) common_bookmarks = find_common_bookmarks(data1["bookmarks"], data2["bookmarks"],url1,url2)print(json.dumps(common_bookmarks, indent=2, ensure_ascii=False))
url1,url2のところを対象としたいものに変えれば使えるよ
バグあったら直して使ってね
掛算の順序と学習指導要領の話おもしろかったです。
「りんごが5つ載った皿が4枚ある場合にりんごがいくつになるか」という問題を立式するときは、
という話だと思いました。
4✕5は4[個/枚] * 5[枚]に変換されるので、正解にならない。
✕は乗算の演算子と思ってしがいがちだけど、被乗数と乗数の順序を考慮するときは、その順序を含めた乗算のシンタックスシュガーになっている。
なんか、このシンタックスシュガーいけてないなと思うのは、計算するときは交換法則適用していいよと言われているところと、乗法を習うこの単元以外では立式の際もシンタックスシュガーではなく乗算の演算子として取り扱われているところ。
でも、いけてないシンタックスシュガーは世に溢れているので、まあいいや。
被乗数と乗数の関係を考えていて思い出したのが、消費税が導入されたとき、大学生協の書籍代はどうなるのかという話。
乗算は交換法則が成り立つから1000*0.9*1.03でも1000*1.03*0.9でも良いです。
✕も計算のときは交換法則を適用して良いから1000✕0.9✕1.03でも1000✕1.03✕0.9でも良いです。
でも✕で立式するときはどうなるのか。
1000[円/冊]✕1[冊]✕0.9✕1.03と1000[円/冊]✕1[冊]✕1.03✕0.9のどちらが正しいのか。
0.9と1.03は単位がないから乗数、被乗数の順序を考慮しなくて良いのかな。
僕が小学生の頃は乗数、被乗数は「かける数」「かけられる数」と言われてました。
「この式の4は『かける数』でしょうか『かけられる数』でしょうか」みたいなテストの問題があったけど、「この話は、ここでしか出てこないので、気にしなくて良いです」と先生が言って、採点対象外になってました。
数学の必然性は実は人間の言語分析能力によるものなので、言語能力が異なる宇宙人とは、数学的語彙が共有できない可能性があるんですよね~
なぜ数学と言語能力が関係するんだ?と思う人は、以下のノーム・チョムスキーの有名な、無意味な二種の文を見ればわかってもらえるかもしれませんね~
・“Colorlessgreen ideas sleep furiously.”(「無色の緑の考えが猛烈に眠る。」)
・“Furiously sleep ideasgreen colorless”(「猛烈に」「眠る」「アイデア」「緑色」「無色」)
前者は文法的には正しいが意味が無い文で、後者は文法的に正しくないから意味がない文、ということはわかっていただけるかと思います。
しかし、上記二種の文は、両方とも経験的には何も想起させないがゆえに、経験的には同様に意味の無い文です。
ということは、経験こそが認識の基礎、基底であると考える人にとっては、二種の文の違いを説明することができないのですよね~。
なぜならそのどちらも経験することができず、経験による理解が基底であると主張するのだから、経験的基底において違いのない(意味のなさ、指示対象が存在しないという点において同質という意味)上記二種の文の本質的差異(基底的差異)を指摘することができないのですね~
現代の言語哲学、そして現代論理学の基礎を作ってきた哲学者たちは、数学の必然性がどこから来るのかという問題について、
文の経験的理解よりも前に、文の文法的分析が先に行われる(そして数学的必然性は、文法分析に基づく理解そのものから正当化可能である)ことを示すことによって、
前経験的(アプリオリ)に論理や数学の必然性の正当化が可能であることを証明してきたんですね~
例えば上記二種の前者の文でいえば、経験できないにもかかわらず文法的に正しいことが理解できるのは、まず文法分析が先に行われ、その後意味の解釈に失敗するから無意味なのであって、その逆ではないのですね~
そして数学で扱われる文、例えば2+2=4は、なんらかの経験を前提せずとも、形式的な理解(つまり文法的理解)から正当化可能であるがゆえに必然的(=非偶然的、または前経験的)なのですね~
そして例えば上記二種の文とは別の有意味である文「無職の緑色のジャージを着た男性が猛烈に眠る」であったとしても、まず文法的理解が先に行われたあと、その意味解釈を行うことができるがゆえに有意味なのですね~
プログラミング言語だって、まずどれが変数で、その変数に何が割り当てられているかといったセマンティクスよりも先に、シンタックス的分析が行われますよね~
だから、数学の必然性は実は人間の前経験的な言語分析能力によるものなので、言語能力が異なる地球外生命体と遭遇した時、数学的語彙が共有できない可能性ももしかしたらあるのかもしれませんね~
なぜなら我々の理解する必然性とは、我々の言語分析能力に基づくものであって、よそから来た宇宙人にそれが期待される理由がないからですね~
もー超ウケるんだけど。
聞いてくれる?
GPT-4ちゃんの超絶賢い素早い翻訳でお客さんとのやり取りが滑らかに捗りまくりまくりすてぃーで、
私のビジネスが加速するのはいいんだけどPayPalが止まるという笑っちゃうでしょ?
ウケるわ。
と言うのもあんまり年に何回か以下のPayPalでの入金がないから
ここのところ立て続けに問い合わせなど多くってその分のお支払いの入金も立て続けにあるわけね。
いまそう言うお金の管理のサービスってちょっと変な動きがあると警告が来るじゃない。
最近急激に受取金額が通常と比べて著しく増加しているのでって理由で警告が出たの。
まあ実際に真っ当なやり取りでの受け取りだからそれは内容問題ないんだけどさ。
21日間そこから日本円に移せない保留期間になっちゃったってだけの話しなんだけどね。
もう笑うわー
それなんて言う「風が吹けば桶屋が儲かる」バタフライエフェクト方式か!つって
加速したら止まるってジワるわー。
なのでもう1回言うね!
GPT-4ちゃんでビジネスが加速したらPayPalが止まる!
あーウケるわ。
抱腹絶倒とはこのことね。
まあ実際そこまではないけど気持ちはそんな感じかしら。
でもさ、
まあここでも256回ぐらい同じことを何回も言ってるけど
よく言うニュースでやってるなんか難しいプログラムがどうのこうの難しい分析がどうのこうのって
そんな凝ったテクニカルなことをやっているわけではなく
ただただGPT-4ちゃんとお話ししながら翻訳してもらってるつーだけの話しなのよ。
大まかな内容を私が箇条書きで書いて、
むしろ私が書き忘れたことや言い忘れたことの細かいことを付け加えてやり直してもらうことが多いので、
もはや英語に限らずなのがまったくもって私もそれが本当に正しいのか分からないけど、
これあってんの?って直接GPT-4ちゃんにたずねるとそれもちゃんと答えてくれるから
対話型もなにも自分が思ったことを書いて渡せばいいだけの使い方なのよ。
「さっきのにこの内容の旨付け加えてもう一回お願い!」とかで言う指示の仕方でフレンドリーだし、
多少こっちがタイプミスだったり誤変換だったりゴホンと言えば龍角散だったりしても
そこも推測して踏まえて何事もなかったかのように、
本意を理解してくれてるみたいなのよね。
でさ、
私が素でタイプミスしたところをワザとゴメン意味これ分かった?ってGPT-4ちゃんに訊くと、
文章の前後文脈でおおよその理解は出来るから大丈夫でーす!だって!
人でもいるじゃない、
もー一字一句間違えたら鬼の首取ったどーってそれなんて黄金伝説?って言うぐらいな尾根ギアしますな人いるじゃない。
同じ事繰り返しお願いしても嫌な顔しないし。
同じ事繰り返しお願いしても喜んでくれるのはGPT-4ちゃんと居酒屋で生ビール頼む時よね!「喜んで~!」みたいなの。
なーんで持ってんの?
なーんで持ってんの?
飲み足りないから持ってるの!
飲~んで飲~んで飲~んで!
飲~んで飲~んで飲~んで!
ってもう大学のうちのサークルは歓迎会とかでコールとかないから!って言いそうなぐらいよ。
まあそんなこんなで
GPT-4ちゃんでビジネスが加速したらPayPalが止まったってお話でした。
今日も締めは機関車トーマスのお話の終わりのような感じで締めくくるわ。
うふふ。
朝だんだん早くなってきて目覚めるんだけど、
今日はなんか肌寒くて目が覚めた感じの起床30分前で、
でもさなんでモーフって毛布って変換出来ないのかしら?変なの!
一瞬また忘れて思い出してやろうとしていたルイボスティーウォーラーも
これからの時期また復活させたいところだわ。
困るわよね。
すいすいすいようび~
今日も頑張りましょう!
chatgptで
「sqlite3でtwitterみたいなサイトのテーブル設計をして。
上記のTwitterのようなサイトで特定のユーザーのタイムラインを表示するクエリの例を教えて」
って聞くと、こういうの表示されるけど、こんなの絶対パッと思いつかんやろ!!
特にJOIN2回使うのが全然分からん。なんならJOIN1回の部分も分からん
っていうか、hatena君、sqlのシンタックスハイライトするとインターナルサーバーエラー返してくるんだが...
classFoodefbar'baz'# return bazendend
sqlだけっぽい......
CREATETABLE users (id INTEGER PRIMARYKEY AUTOINCREMENT, usernameTEXT NOT NULL, emailTEXT NOT NULL UNIQUE,passwordTEXT NOT NULL, created_at DATETIMEDEFAULT CURRENT_TIMESTAMP);CREATETABLE tweets (id INTEGER PRIMARYKEY AUTOINCREMENT, user_id INTEGER NOT NULL,bodyTEXT NOT NULL, created_at DATETIMEDEFAULT CURRENT_TIMESTAMP, FOREIGNKEY (user_id) REFERENCES users (id));CREATETABLE follows ( follower_id INTEGER NOT NULL, followed_id INTEGER NOT NULL, created_at DATETIMEDEFAULT CURRENT_TIMESTAMP, PRIMARYKEY (follower_id, followed_id), FOREIGNKEY (follower_id) REFERENCES users (id), FOREIGNKEY (followed_id) REFERENCES users (id));SELECT tweets.id, tweets.body, tweets.created_at, users.usernameFROM tweetsJOIN followsON tweets.user_id = follows.followed_idJOIN usersON tweets.user_id = users.idWHERE follows.follower_id = [特定のユーザーID]ORDERBY tweets.created_at DESC;
RubyやRailsでどう書くかを知っているか知っていないかだけでそれがプログラミング能力だと勘違いしてる人が多い。全員というわけではないが……
「このライブラリでこう書ける」とか「こういう書き方がある」とか「こっちに書くとここがこうなる」とか、そういった規約覚えゲー的なところに目を取られて、どれだけRuby onRails関連の規約をたくさん覚えているかでプログラミングスキルが高いか低いかを考えてる人が多い。もちろんそうした覚えゲーもある種プログラミング能力の一部なのだが、一方でライブラリを単に入れただけでは実現不可能なパフォーマンスを考えたコードを書くときやアーキテクチャ設計の段階では、何年も経験しているはずなのに役立たずになる。
ググるのが面倒なシンタックスシュガーや、ライブラリを導入した人しか辿り着けないconfigなど、規約(笑)とかいう発見非可逆なルールによって、それを導入した人だけが知っていて既得権益を得られるような構造になっている。そのために、ある機能を新しく利用したときに、それを知らない人にRails知識マウントを取れるようになっている。この気持ち悪さは、例えるなら、刑法を全部読んでからじゃないと街を歩くだけで逮捕されて、しかも何の罪で逮捕されているのか教えてもらえないようなものだ。
それで、全員というわけではないが、そういったRailsしか書けないおじさんは別言語で書くときに平気で今までプログラミングしたことないかのようなレベルの最悪のクソコードを生み出してくる。そもそも他言語が書けないおじさんも多い。
なぜなら、Rails知識こそがプログラミングスキルだと考えていて、Rails知識すごいワールドでしか生きてないからだ。覚えゲーをやっていただけで、スキルとしてはポケモンの名前を覚えただけにすぎない。社内スキルのようなものだ。
自分としてはRubyやRailsが直ちに滅びるとは思っていないが、Railsをメインで使ってる会社からしても、こうしたRailsしか書けないおじさんは今後不要になってくると思う。
ベトナム語は格変化とか名詞の性がないので日本人には覚えやすい言語だとどこかで読んだ気がするけど、実際に勉強してみると自分にはものすごく難しい。
なんで難しいのか考えてみると、まず声調のせいだと思う。
中国語と違ってベトナム語は綴り字のうちに声調の記号が入ってるので、まだわかりやすいといえばわかりやすいのかもしれない、けど、やっぱり全然慣れない。特に文末で高い声調のまま終わるタイプの話し方は日本語にほとんどないと思うので、本当に慣れなくて苦手。
あと、ベトナム語は似たような発音の単語が多すぎて区別できない。
ベトナム語っぽい音としてニャーとか、ニュアとか、ブアとか、ズンとか、ザーとか、ダオとか、同じような音が違う発音記号付きで次々と出てきて全部意味が違うので、覚えようとしても無理だ。
ベトナム語って、実はロマンス語系の言語に結構似てるようなシンタックスだなと思うことが割にあるんだけど、繋合動詞も格変化もないからやはり違うわけで、謎すぎる。
他の東南アジアの言語か中国語をちゃんとやっている人がベトナム語を勉強すると、わかりやすかったりするのだろうか。少なくとも自分にはさっぱりわからない。
さんざんベトナム語への愚痴を書いたけど、できるようになりたいと思っているので、何か上手い学習法があれば試してみたい。
追記:
Cảm ơn chị
(噛むウンチ)