はてなキーワード: 正規表現とは
住民はもちろん自由に名乗るのだが、「安倍晋三」を名乗る住民が圧倒的多数派であるため安倍晋三以外を正規表現NGすることで掲示板がまともに機能するようになった。
(貶められる例:安倍を「カラーコーン」と呼ぶ(安倍銃撃現場に赤いカラーコーンが置かれ、墓標のようなそれに野田佳彦が合掌したことから)等)
嬉しい副作用として、安倍晋三を名乗るというバカのような踏み絵を行うことで、なぜだかスクリプト荒らしでないネトウヨ・ネトサポと呼ばれる自民・維新を擁護するレス、更にアフィリエイトまとめサイトが好むレス(男女対立分断、弱者男性系)が激減した。元々嫌われていたコテハンや、こういう時に名前欄で個性主張する住民(往々にしてつまらない)のレスも無視できるようになった。
これは安倍バリア、ABフィールド、アベガード等と呼ばれている。(エヴァのATフィールド、広告ブロックアプリのAdGuardが由来)
年単位で埋め立てスクリプトに荒らされていることでお馴染みの5chニュース速報(嫌儲)。
スクリプトは自動生成された文章と海外画像SNS(imgur)にアップされたグロ画像を織り交ぜて果てのない回線数(ワッチョイ)でレスしまくるため、NGワード・NGネーム・NG IDによって無視することは不可能であり住民には対抗手段がなかった。
運営がグルで荒らしてるとさえ思えるくらい、荒らしに対して運営は無策であった。
そこでつい先日発案されたのが嫌儲のデフォルト名無し「番組の途中ですがアフィサイトへの転載は禁止です」を住民個々がNGネーム登録し、それぞれが名前欄に別物を入力してレスするというもの。
デフォルト名無し(名前欄無記入)で荒らすスクリプトが名前欄変更に対応するまでのイタチごっこと思われたが、なぜだが対応してこない。
これにより、スレが埋められること自体は仕方ないものの、スクリプトを完全に無視して会話することが可能になった。
対応してこない理由には、スクリプトをどこかで拾ったまま使用しているからイジる技術がない説、荒らし業務受注先の許可が必要説(土日であるため)などがある。
住民はもちろん自由に名乗るのだが、「安倍晋三」を名乗る住民が圧倒的多数派であるため安倍晋三以外を正規表現NGすることで掲示板がまともに機能するようになった。
荒らしのブラックリスト方式から住民ホワイトリスト方式というわけだ。嫌儲の宿敵安倍晋三により個々の名前欄の文が鮮明に統一されるとは皮肉なものだ。
スクリプト荒らしは自民党委託のDAPPIによる業務説もあるため、住民を真似て安倍をバカにする名前欄には対応できないとの期待もあった。
昔から嫌儲による安倍への愛執は並々ならぬものがあり、安倍の亡き今でも安倍は親しまれ、貶められ、ネタとして崇められ、安倍語録がレスに使われ、生成AIにより新たな安倍画像が生まれていた。
(親しまれる例:安倍を「安倍ちゃん」と呼ぶ、意味もなく「安倍晋三」とレスする、スレタイに関連する安倍の画像を貼る等)
(貶められる例:安倍を「カラーコーン」と呼ぶ(安倍銃撃現場に赤いカラーコーンが置かれ、墓標のようなそれに野田佳彦が合掌したことから)等)
(崇められる例:安倍を「聖帝」と呼ぶ等)
(安倍語録レス例:意味のない○○だよ、くだらない○○で終わっちゃったね、○○すればいいというわけではない、○○したが○○していない、いわばまさに、非常にしつこい等)
嬉しい副作用として、安倍晋三を名乗るというバカのような踏み絵を行うことで、なぜだかスクリプト荒らしでないネトウヨ・ネトサポと呼ばれる自民・維新を擁護するレス、更にアフィリエイトまとめサイトが好むレス(男女対立分断、弱者男性系)が激減した。元々嫌われていたコテハンや、こういう時に名前欄で個性主張する住民(往々にしてつまらない)のレスも無視できるようになった。
これは安倍バリア、ABフィールド、アベガード等と呼ばれている。(エヴァのATフィールド、広告ブロックアプリのAdGuardが由来)
切り落としたメドューサを首を武器にした英雄ペルセウス、盾に猫をくくりつけて古代エジプト軍の戦意を削いだ古代ペルシア、処刑されたのに救世主として持ち上げられるキリスト、そして安倍昭恵の「思い出していただければ何よりの供養」という言葉も引用され、嫌儲では今日も安倍晋三はネタにされている。
本当にあった話だけど、JavaScriptでstrっていう変数にテキストが入っていて
その変数に'apple'とか'banana'とかが入ってるかどうかを判別するっていうロジックを作るときに
const re = new RegExp("apple") if(re.test(str)) console.log("match")
const re_apple = new RegExp("apple") const re_banana = new RegExp("banana") if ( re_apple.test(str) || re_banana.test(str) ) console.log("match")
っていうコードを書く人がおるんよ
別にプログラミング初めて3ヶ月の初心者じゃ無くて20年以上やってるようなベテランだったり
なんならチーフプログラマーとして若手指導してるような人でもこういうレベルの人って割といるわけ
これに対して
「正規表現でORを書くべき」
「includeで十分」
綺麗にコードを書くっていうのは
「これってappleとかbanana以外に増えたりしないの?」
「fruitsかどうかを判別するならその変数を作った方が良くない?」
っていうのを考えて実装するのが綺麗にコードを書くっていうことで
ちなみに
「正規表現でORを書きましょう」
「動いてるからいいじゃない」
「綺麗に書いても性能上意味ない」
「言ってることが良く分からない。何が違うのか」
とか言ってくるし
https://www.amazon.co.jp/dp/4297132001
https://gihyo.jp/book/2023/978-4-297-13200-2
1-1 Pythonの基本
1-3 Anacondaの導入と利用方法
2-2 コレクション(リスト/タプル/セット/ディクショナリ)
2-3 条件判断処理(if文)
2-4 繰り返し処理(for文/while文)
3-2 オブジェクトとクラス(マルチバイト文字列、ファイル入出力)
3-3 文字列操作(オブジェクト、イテレータ/ジェネレーター)
3-4 正規表現
4-1 関数の基本
4-3 モジュールの基本
5-5 Templateの利用
5-6 Modelの利用
6-3 NumPyの利用
6-4 Pandasの利用
7-2 scikit-learnとTensorFlow
7-3 scikit-learnの利用
7-4 TensorFlowの利用
54ページに参考文献が掲載されていた。
京都大学のPython入門講座の補助教材として推奨されているようだ。
Python に関する書籍は近年,数多く出版されていて,どれを買っていいのか迷うかと思います.
以下,いくつか挙げておきます.
[asin:4873119324] 2021/3/22
データサイエンスやウェブ開発、セキュリティなど、さまざまな分野で人気を獲得してきているPython。
本書は、ベストセラー『入門 Python 3』の6年ぶりの改訂版で、プログラミング初級者を対象としたPythonの入門書です。
プログラミングおよびPythonの基礎から、ウェブ、データベース、ネットワーク、並行処理といった応用まで、実践を見据えたPythonプログラミングをわかりやすく丁寧に説明します。
この本は、薄い入門書じゃなくて、わりと厚めの詳細な説明が書かれている本。
リファレンス的に使うような本でもあるので、まったくプログラミングをやったことがない本当の初心者だと、この本を読んで理解するのは大変なんじゃないかと思う。
すでに他のプログラミング言語を習得しているプログラマーで、Pythonの言語仕様を1冊の本で把握した人には、本書は向いていると思う。
1冊目にこれを持ってくるあたり、受験勉強で知識の丸暗記に長けたガリ勉ならOKかもしれないが、勉強が得意じゃない人にはちょっといじわるなチョイスではないか?と穿ってしまった。
一応持っておいて普段は本棚の飾りにしつつも、必要なときに辞典的に使えばいいのではないか?と思う。
自分なら、この本は2冊目以降に推奨するだろう。(1冊目には勧めない)
[asin:479738946X] 2016/12/22
Python入門書のデファクトスタンダードが4年ぶりに大改訂。
近年、Pythonの利用が、機械学習、AIなどの科学技術分野へ大きく広がっている現状を踏まえて、すべてのパートに手を入れいくつかの新章を追加しました。
次の10年を担うPythonプログラマを養成するための一冊。
Chapter02 Pythonでプログラミングをはじめよう
Chapter05 Pythonと関数型プログラミング
Chapter07 クラスの継承と高度なオブジェクト指向機能
Chapter08 モジュール
Chapter13 Pythan2
・AnacondaやJupyter Notebookなど、Pythonの最新開発環境に対応
イラストや図解を多用しているので、一見すると初心者向けのように見えるけど、1冊目としてはどうだろうか?
やはり、この本も2冊目以降に読んだ方が良い本になってしまうだろうか?
買いたい人は、本屋で内容を確認してから買った方が良いと思う。
[asin:484438015X] 2016/3/4
本書で解説するPythonは現在もっとも注目を集めているプログラミング言語のひとつです。
プログラミング言語の人気度の目安となるPYPLでは、2016年1月の時点でJavaに続いて2位に位置していることからも、その人気のほどが伺えるでしょう。
その大きな理由として、Pythonがパワフルなオブジェクト指向のスクリプト言語でありながら、わかりやすく、すっきりしたプログラムを作成可能であることがあげられます。
文法もシンプルで、これからプログラミングを始める方にとっても最適な言語です。
現在、Pythonは、Python 2.x系からPython3.x系への移行時期にあります。
Python 3.xでは、さまざま機能強化が行われ、さらに標準の文字コードがユニコードベースに変更され、日本語も容易に扱えるようになったことから、日本においてもさらなる普及が期待されるでしょう。
本書は、プログラミングの初心者を対象にしたPython 3の入門書です。
変数の取り扱いから、リスト、タプルといったPython固有のデータの操作、制御構造や関数などについて具体的でかつ短いサンプルを多数提示しながら、初心者でも基礎から学んでいけるように拝領したつもりです。
また、インデントでブロックを表現する点などなど、他のメジャーな言語と比べてユニークな部分も丁寧に説明しています。
前半部分で基本を説明した後は、ファーストクラスオブジェクトとしての関数の活用方法、オリジナルのクラスの作成などといった多少高度な項目を丁寧に説明していきます。
Chap1 Pythonプログラミングをはじめるための予備知識
Chap2 Pythonの基礎について学ぼう
Chap3 プログラムの流れを変えたり処理を繰り返したりする
Amazonでサンプルページを見たら、お勧めのエディターとして「Atom」が紹介されていた。
今から7年前ならAtomでも良かったのかもしれないけど、今ならVisual Studio Codeの方が使い勝手が良いのではないだろうか?
Pythonの文法の説明に関しては悪くないと思うけど、自分なら読まないかもしれない。
[asin:4798058327] 2019/5/25
■きちんと学びたい人のための最短教科書。■
■Python開発者に求められる言語、ツール、ライブラリなどの知識を、1冊で素早く学べます。■
(2) 豊富な例題で頭と手を刺激しながら学べる。
可もなく不可もなくというかんじで、ありがちな入門書であるように見えた。
同じ著者の本なら、[asin:4815607648] Python[完全]入門 (2021/1/22) の方が良いのではないか?
発売年もこっちの方が新しいし、受験参考書っぽい作りで、各項目の要点が頭に入ってきやすい。
Amazonでサンプルページを見て、自分の好みの方を選んだら良いと思う。
この本なら1冊目でもお勧めできそうだ。
(ただし、自分の場合はすでにオンライン教材を入門を済ませてしまったので、今さら読む必要はないけど)
時間があったら、図書館で借りてレビューしてみたい。(買うとは言ってない)
[asin:4800711592] 2017/4/8
はじめは誰でも未経験者!
本書はプログラミング言語「Python」の「いちばんやさしい」入門書です。
○「興味はあるけど、難しそう」と尻込みしている人
○「スキルアップのためにPythonを学びたい」という経験者
そんなPythonビギナーに向けて、プログラムの根本概念、基礎知識、基本文法をきっちり端折らずに説明します!
さらには、「簡単な計算」「ゲームの作成」「GUIアプリ」「モジュールの活用」など、
実際に手を動かしながらの演習を通して、学んだことがしっかり身につくように構成しました。
本書を一通り終えれば、Pythonのみならず、プログラミングの基本がバッチリ学べます。
この著者の本は、他の本なら持っている。
簡単な内容しか説明してないけど、他の本なら挫折してしまうようなガチの初心者でも、この本なら理解できるだろう。多分、中学生ぐらいが読んでも理解できると思う。
自分には物足りないような気がするので敢えて読もうとは思わないが、1冊目にお勧めするチョイスとしては間違ってないと思う。
[asin:4822292274] 2018/2/24
本書は「Pythonだけ」を学ぶ本ではありません。
Pythonを使ってプログラミングを紹介していますが、伝えたい内容はPythonに限らない「プログラミング全般」の知識です。
Pythonプログラミングの基本を学べるだけでなく、プログラマとして必要なスキル(シェル、正規表現、パッケージ管理、バージョン管理、データ構造、アルゴリズム、仕事の始め方・やり方)もひと通り学べるのが特徴です。
「プログラミングを始めたい」「できればその道でプロを目指してみたい」――そんな読者にオススメです。
本書の著者、コーリー・アルソフ(Cory Althoff)は、「独学プログラマー」です。
本書は、彼が独学で、ゼロからプログラミングを学んだ体験に基づいて書かれました。
プログラミングを独学で身に付けるために、著者がPythonを通して学んだエッセンスが書かれています。
彼の独学プログラマーとしての学び方は、多くの人に支持されています。
目次については、日経BOOKプラスの本書のページをご覧ください。
そこでは目次ページだけをまとめたPDFファイルや、本書に登場するリンクをまとめたPDFファイル、補足もご連絡いただけます。
出た~~~!!!
:
別にひねくれている訳じゃなくて、もっと他に良い本が出てきたから。
ハズレではないので、この本を進めときゃいいでしょ的な安易さは拭えないが、あえてケチをつけるならば、各項目が「広く浅く」で物足りなさが残るから。
中途半端な本という印象が拭えない。
プログラミングを全くやったことがない初心者が、Pythonの文法を覚えた後、脱入門で中級へステップアップするときの足掛かりとしては、本書は良い指南書になるだろう。
鉄板の本なので、時間があれば後で図書館で借りて目を通してみたい。(買うとは言ってない)
[asin:4297105144] 2019/4/17
プログラミングをはじめる前に読む1冊!
プログラミングブームやエンジニア不足を背景にプログラミングの独習をする方が増えています。
いざ、Webで人気の講座を受講してみたり、店頭で平積みになっているベストセラープログラミング書籍を手にしたものの、どれも理解できずに挫折してしまった、という方も多いのではないでしょうか。
コンピュータやプログラミングの解説がわからないのは、次のような知識の不足が要因です。
これらは専門書やインターネットで検索上位にくるWeb記事では前提知識として省略されることが多く「読み進めるにはほかの資料が必要になった」なんてことがよくあります。
そこで、本書ではプログラミング独習者がつまずきやすい知識を厳選して取り上げ、初心者の分からなかったをサポートします。
図解を多用し、「サーバーとクライアント」、「コンパイラとインタプリタ」のように用語を比較しながら学習することで、いままで曖昧になっていた知識が整理され理解が進みます。
自分の記憶に間違いがなければ、この本は1回図書館で借りて読んだことがあるような気がする。(表紙を見ておぼろげに思い出した)
この本は、中学生とか高校生レベルの知識しかない人が、学校の「情報」の授業の補助教材として使うようなイメージがある。
プログラミング以前の疑問として、そもそもコンピューター(電子計算機)って何だろう?というような素朴な疑問を持つ人が、ハードウェアなどの仕組みを知りたいなら、情報処理技術者試験の教科書を読んだ方が手っ取り早いと思う。
大学受験を経験して、知識の丸暗記に慣れている人なら、これらの資格試験の教科書の方が、要点がコンパクトにまとまっていて、吸収しやすいのではないか?
とりあえず、Pythonとは直接関係なさそうなので、今の私なら読まない。
パソコンは自作できるし、ハードウェアの知識もある程度あるので、本書を読む時間があったら、他の本を読むだろう。
本書を読みたい人は、自己責任で読んで欲しい。
本を買うなら、どれがいいだろうか?
Amazonのレビューなどを参考にして、いくつかピックアップしてみたい。
選定条件として、
などが必要だろう。
「初心者本はひととおり読んだけれど、次に何をしてよいかわからない」
本書は、そんなプログラミング迷子が設計からコードまで書けるスキルを身につけるための指南書です。
開発現場で起こった実際の問題とその解決法をもとに、文法以外に必要な「プロジェクトの各段階でプログラマーがやること」「その選択をどう判断するのか」「どうコードを実装して実現していくのか」を解説します。
コードにはPythonを使用していますが、ほかのプログラム言語でも共通する知識が満載。より効率的かつ効果的にプログラムを書ける「自走できるプログラマー」へ導きます。
目次を見ると、内容は良さげだったけど、Django(PythonのWebフレームワーク)を使ったWeb開発のストーリー展開で学ぶ形式になっているみたいなので、Djangoの知識がないと分かりづらいかも?
順番としては、どこかの段階でDjangoを使ってみて、その後に本書を読む方がいいかも?
一応、この本には目を通しておきたいと思う。
本書は「Pythonだけ」を学ぶ本ではありません。Pythonを使ってプログラミングを紹介していますが、伝えたい内容はPythonに限らない「プログラミング全般」の知識です。
プログラマになるためのスキルを独学できる本です。Pythonプログラミングの基本を学べるだけでなく、プログラマとして必要なスキル(シェル、正規表現、パッケージ管理、バージョン管理、データ構造、アルゴリズム、仕事の始め方・やり方)もひと通り学べるのが特徴です。
「プログラミングを始めたい」「できればその道でプロを目指してみたい」――そんな読者にオススメです。
本書の著者、コーリー・アルソフ(Cory Althoff)は、「独学プログラマー」です。本書は、彼が独学で、ゼロからプログラミングを学んだ体験に基づいて書かれました。
プログラミングを独学で身に付けるために、著者がPythonを通して学んだエッセンスが書かれています。彼の独学プログラマーとしての学び方は、多くの人に支持されています。
目次については、日経BOOKプラスの本書のページをご覧ください。そこでは目次ページだけをまとめたPDFファイルや、本書に登場するリンクをまとめたPDFファイル、補足もご連絡いただけます。
https://bookplus.nikkei.com/atcl/catalog/18/C92270/
この本は、プログラマーが仕事で必要になる知識を広く薄く紹介しているかんじだった。
目次を見ると、第23章にテストのやり方が少しだけ言及されていた。
各項目は触り程度で、内容が薄いけど、この本で紹介されている内容を土台として、各テーマを深掘りしていけば良いと思う。
しかしながら、レビューで★1個とか★2個あたりを見ると、辛口な批判がある。
確かに、テストのやり方とか、設計の方法は、他の本の方が詳しい知識が得られそうだった。
もしも、読むとしたら、買わずに図書館で借りてみて、1回読んだら終わりの本かもしれない。(何度も読み返す本、辞書のように使える本、ではないような気もする?)
入門直後に、中級編の学習マップを作るためなら、読んでもいいかもしれない。(まあでも、目次を見れば得られる知識はだいたいの予想がつくけどね)
2021/7/30
Pythonプログラマ必読と言われるベストセラーが、最新のPython環境に合わせて改訂されました。
本書は、Pythonを使って仕事をしている開発者が普段どのようなツールやテクニックを用いて仕事をしているのか、また開発者が実際に現場で用いているベストプラクティスについて解説した書籍です。
この本は、内容が充実していて良さげだったけど、入門の直後に読むのは厳しいかも?
すでに他の言語でプログラミングができる人が、Pythonを使わなければならなくなって、Pythonを学ぶ場合は最適だと思う。
京都大学のオンライン教材(無料)をやった後なら、読めるかも?(架け橋となる知識が抜けている段階では、既存の知識と接ぎ木するのが難しい。)
2022/8/16
現役シリコンバレーエンジニアが教える「最強のプログラミング」講義!
10万人が選んだ人気No.1オンライン講座が超わかりやすくパワーアップして書籍化!
シリコンバレーのトップIT企業で活躍する著者が世界標準のPythonスキルを一気に伝えます。
知っていましたか?
そんな夢の実現も強力にバックアップしてくれる
「海外進出の道しるべ」ともなる一冊です。
本書のもととなったのは、オンライン講座Udemyで人気No.1を獲得したPython講座。
本格的な内容をわかりやすく伝える著者の講座は人気が高く、延べ20万人以上が受講しています(全講座計)。
本書はさらに内容を充実させてパワーアップ! 自分のペースでしっかり学べます。
独学の強い味方、「サンプルコード」の無料ダウンロードサービス付き。
コラムでは、エンジニアのキャリア戦略の立て方、成功するポイント、独学のコツなども紹介。
文系出身、TOEIC300点代からスタートした著者が渾身のエールを送ります。
この本は一見良さげだったけど、目次を見てテストの説明がなかったので今回はパス。
自分だけが使うプログラムならテストなしでサクッと作っても良い。(ドッグフーディングなら、バグがあっても自分がその場ですぐ直せばいいだけなので)
しかし、他人が使う売り物ならテストなしはあり得ない。従って、テストに触れていない本も教科書としてはあり得ない、ということ。
まあ、この本を読むなら、テストの知識は他の本で仕入れるしかないだろう。
Pythonの教え方(インストラクショナル・デザイン)を調べてみるためなら、この本を読んでみる価値はありそうだ。(他人にプログラミングを教える立場になったら読んでみてもOK?)
2022/8/30
【本書の内容】
Pythonを使った開発時に、テストの検出・実行・結果報告を自動で行うpytestの、導入から活用方法の詳細を、実務に沿うスタイルでを解説した『テスト駆動Python』(2018年)の第2版です。
扱う範囲は前版よりも広くなり、軽く触れるに留めていた箇所もより深い解説を加えており、Pythonを使った開発に欠かせない内容に仕上がっています。
とくにCIやプラグイン開発など、テスト自動化エンジニア向けのトピックも増えつつ、パラメータ化やモック、デバッグ手法など、プログラマなら知っておくべき知識もてんこ盛りです。
アプリケーションをPythonで構築する際に、テスト駆動開発をストレスなく行いたいプログラマ・エンジニア、およびテスト設計やテストアーキテクチャを知りたい方にはうってつけの1冊です。
目次を見ただけだけど、Pythonのテストについては、この1冊を読めば、ある程度押さえられそうな気がした。
この本は買いだな!
プログラミングのパラダイム(考え方)は、(分類方法にもよるけど)主に2種類ある。
命令型プログラミング(めいれいがたプログラミング、英: imperative programming)は、プログラムの状態を変化させるステートメントを基本文に用いる総称的なプログラミングパラダイムである。
宣言型プログラミングと対をなしてのプログラミング言語の分類用語としても扱われている。
命令型プログラミングは、例えるならば、買物のメモを作るのと似ている。
などの仕組みが含まれている。
命令型プログラミングは、直観的に分かりやすいので、プログラミング学習の初手は命令型で良いだろう。
実際、プログラミング教育が必修化された小中高の授業では、プログラミング学習の言語として命令型言語が選定されている。
本学習実験においても、命令型プログラミング言語を選び、学校の教材に合わせて「Python」を学んでみよう。
https://ja.wikipedia.org/wiki/Python
Python(パイソン)はインタープリタ型の高水準汎用プログラミング言語である。
Pythonは1991年にグイド・ヴァン・ロッサムにより開発されたプログラミング言語である。
最初にリリースされたPythonの設計哲学は、ホワイトスペース(オフサイドルール)の顕著な使用によってコードの可読性を重視している。
その言語構成とオブジェクト指向のアプローチは、プログラマが小規模なプロジェクトから大規模なプロジェクトまで、明確で論理的なコードを書くのを支援することを目的としている。
宣言型プログラミング(英: Declarative programming)は、数理論理学的な性質を表わしている総称的なプログラミングパラダイムである。
式の計算構造を、主に表示的意味論下のロジックで表現する構文にされることが多く、式枠外の副作用を伴なう制御フローや自由変数の多用などは排除されるようになる。
命令型プログラミングと対をなしてのプログラミング言語の分類用語としても扱われている。
宣言型言語は、what the program must accomplish(何をなすべきか)方針で、副作用を排除した式や純粋関数の実装に努める。
これは命令型言語の、how to accomplish it(どうなすべきか)方針で、副作用を前提にした操作的意味論下のアルゴリズム実装とよく対比される。
宣言的パラダイムは、関数型、論理型、データフローなどを包括し、データベース問い合わせ言語、マークアップ言語、ドメイン固有言語、構成管理、正規表現などにも言及されており、並行計算との親和性も特筆されている。
などの仕組みが含まれている。
宣言型プログラミング言語は、例えるなら秘書に仕事を任せるのと似ている。
秘書:「分かりました。あとはすべておまかせください!」
冷蔵庫に食品を補充する"やり方"は問わず、冷蔵庫を満杯にするという"結果"を示して要求するのが宣言型プログラミングの特徴だ。
実際に慣れると、宣言型プログラミングの方が命令型プログラミングよりも簡単に感じられるはずだが、宣言型プログラミングにはちょっと"癖"があるので、慣れるまで時間がかかるかもしれない。(具体的には、"副作用"の排除が人間の直観に反している面もある、ということ)
リレーショナルデータベースを使う場合、「SQL」というプログラミング言語の使用は避けて通れないので、宣言型プログラミング言語(SQLは問合せ型言語)も、順次学ぶことにしよう。
「アから始まってンで終わる6文字の日本語」という19文字の文字列から思いつく単語を並べてるだけだからだよ
ぼく「アから始まってンで終わる6文字の日本語をいくつか挙げてください。なお、これは正規表現/^......$/にマッチするものとします。」
正規表現 /^......$/ は正確に6文字の単語を意味します。そのため、「ア」から始まり「ン」で終わる6文字の日本語の単語は以下のようになります:
ぼく「アから始まってンで終わる日本語をいくつか挙げてください。なお、条件として、正規表現/^......$/にマッチするものとします。」
正規表現 /^......$/ は厳密に6文字の単語を指定します。したがって、「ア」で始まり「ン」で終わる6文字の日本語の単語は以下のとおりです:
ぼく「なるほど、では検証しましょう。それぞれの単語について「1文字目…ア、2文字目…ク」のように順番に当てはめて6文字目まで表示してください。」
もちろんです、それぞれの単語を一文字ずつ確認してみましょう。
1. アクション
1文字目: ア 2文字目: ク 3文字目: シ 4文字目: ョ 5文字目: ン 6文字目: (なし)
2. アルバム
1文字目: ア 2文字目: ル 3文字目: バ 4文字目: ム 5文字目: (なし) 6文字目: (なし)
(中略)
確認の結果、いずれの単語も「ア」で始まり「ン」で終わる6文字の単語の条件を満たしていません。私の誤りでした。失礼いたしました。
1. アルバン
1文字目: ア 2文字目: ル 3文字目: バ 4文字目: ン 5文字目: (なし) 6文字目: (なし)
2. アクアン
1文字目: ア 2文字目: ク 3文字目: ア 4文字目: ン 5文字目: (なし) 6文字目: (なし)
それぞれ「ア」から始まり「ン」で終わる4文字の単語となります。
申し訳ありませんが、日本語で「ア」から始まり「ン」で終わる6文字の単語は、ぱっと思いつく限りでは見つかりませんでした。ご希望に添えず申し訳ありません。
勝った…!AIに勝ったぞ…!
プログラミングをやめろ
大学4年間と大学院2年間プログラミングやったやつでもできないし、会社で毎日8時間を数週間プログラミングについやしてもできないやつはできないし、そもそも人類というのはプログラミングできない可能性がある。
少年少女たちに「プログラミングはいいぞ!自由にものが作れて達成感がある!頭が良くなった気分にもなれるし!」と吹聴してまわんのもいいけど、6年間情報科学について勉強したようなやつの大半がプログラミングできないんですよ。それもごくごく初歩的な部分。
野球とかサッカーなら、まあ友達との試合には参加できなくてもごく稀にバットにボールを当てたり、ボールを1回あらぬ方向に蹴ったり、ぶっちゃけ周りとのレベル差で楽しくなくてすぐやめちゃうだろうけど、なんとか基礎の一部ぐらいはできるじゃないですか。
ピアノとかダンスでも、猫踏んじゃったをごくごくゆっくり弾くぐらいはできるかもしんないし、学芸会の振り付けを10秒ぐらいは踊れたりできるかもしれない。その後やっぱ周りのレベル見て諦めちゃうかもしんないけどさ。
プログラミング、6年やってミットを頭にかぶってるバッターとか、鍵盤蓋の上から殴って音鳴らそうとするやつとか、まずそういうレベルのやつが大量発生するんですよ。だいたい7割ぐらいの率。どうすんだよこいつら。私の教育の問題か?マジで?本当に?
プロが練って考えて凝縮した本や授業、センパイたちによる指導。それらを結集して得られるはずのものが7割ぐらいどっかに消し飛んでる。無駄だろこれ。
今からプログラミングやろうとしてるやつ、お前は確実に向いてないからさっさと諦めて刺身にタンポポ乗せる仕事に戻ってくれ。参加しても鍵盤蓋叩き割るやつと同じ病室に入るだけだ。
プログラミングをやめろ。
ぼくはこう思うんですよ
そもそもなんで大の大人がそんな両手にバット持ってセカンドに立ったりゴールの方をボールのところまで動かす奇行に走るんだろうな。わかんねえや。
綺麗な分析はできないけど、いわゆる「できない」やつが共通して言ってたフレーズがある。
「ぼくはxxxだと思ってるんですけど、動かないんですよ」
うん、そうだね。そう思うんだ。でも動いてないじゃん。じゃあ違うんじゃない?モニターに「にらみつける」やってもバグは取れないし防御力下がるだけだぞ。
まず根本的に考えと事実が違ってるって結果出てるじゃん。じゃあもう考え変えちゃえば早くない?
名言の引用は好きではないけど、「プログラムは思った通りには動かない。書いた通りに動く」って言葉がある。実に名言だと思う。次点で好きなのが「ある問題を解決しようと正規表現を使うと問題が2つに増える」かな。
お前が何を思っているかはプログラミングにおいて一切影響しないんだよ。お前が何を書いて、コンピュータがどう処理したか、それが全て。
深く考えないことについてぎゃーぎゃーいうやつもいるけどプログラムなんてまず最初は動けばいいんだから何も考えずに次試せばいいだろ。んで3回ぐらいは自分で思い浮かんだの試して、全部ダメだったら調べるとか先生に聞いてみるとかさ。逆に1発で通ったら自分の思考見直して理解深めるとかさ。
ドキュメントとかあんまり理解できない初心者のうちは、とにかくお試しと修正のサイクル回すの重要で、「これがこうだから動くはず」というカードを3種類ぐらい作って全部片っ端から試すのが早いと思うよ。モニターをにらみつけるな。
お前がどう思ってるかよりも、まずはお前の書いたプログラムがどう動いているか(どう動いていないか)を確認するのが先だ。動かなかったら考えが違う、はい次のプラン、はいその次のプラン、はい次。
この「ぼくはこう思ってる」が出てくるの、なんの教育の成果なんだろうね。お前の気持ちなんてどうでもいいって現国でも数学で散々教えられただろ。
https://anond.hatelabo.jp/20170206102543
いま家族旅行に来ているが、もうみんな寝てしまったので、缶ビールを飲みながら徒然なるままに思うところを書きつづる。
前回の記事に書いたとおり、当時小6だった長男は中学受験に挑戦し、俗に御三家と呼ばれる男子校に進学した。
それからの6年間、長男は部活に勉強に学校行事にと精を出し(なお恋愛)、仲の良い友人もたくさんでき(なお恋人)、とても充実した日々を送ってくれたようだ。
その高校の卒業式に出席したが、決して厳かとは言えない雰囲気。
いちおう詰め襟の標準服が制服ということにはなっているが、入学式以外で着ることはほぼなく、体が大きくなっても作り直したりはしないので、制服を着ている生徒は一人もいない。
ほとんどは親に借りたと思しきスーツだが、中には普段通りのカジュアルな格好もちらほらいるし、奇抜な格好をした目立ちたがり屋もいる。
その全てが許されている。
後で長男に聞いたところ、一人はネタだが、他はトランスジェンダーらしい。
彼ら(彼女ら?)の勇気には敬服するし、トランスジェンダーの問題に限らず、素の自分を臆することなくさらけだせる環境、校風を作り上げてきた学校と生徒たちを賞賛したい。
生徒たちも何かというと「自由」を声高に叫ぶ。その一方で責任についてもしっかりと言及するあたり、なかなかしっかりしているな、と思わされる。
ただ自分が卒業した関東の公立高校もそれほど変わらない程度には自由だったし、この学校が果たしてそこまで特別なのかどうかは分からない。
「自由であらねばならないという不自由さ」に囚われているような気がしなくもない。
ともあれ、校則はないし、制服も(実質的に)ないし、髪を染めたり休み時間に校外のコンビニに行ったりしても怒られない(らしい)。
最近ネットで高校生のやらかしがSNSで拡散され退学処分になるニュースを聞くが、たぶんこの学校では同じことをやっても退学になることはない。
退学させてしまったら、更正のための指導・教育ができなくなってしまうではないか。
高校が勉強を教え、その出来を評価するだけの場であればそれでよいのかもしれないが、この学校は「人間を育てる」ことをとても重視してくれていた。
先生方はとても熱心で、生徒たちの将来を非常によく考えてくれている。
PTA役員を2年間務め、校長を含む先生方とも様々な機会で交流させてもらったからこそ、自分もそれを実感できる。
卒業アルバムを開くと「この学校に6年間通えてよかった!」という長男のコメントが書いてあった。
今となっては長男がこの学校に通うことになって自分もよかったと思う。
卒業式から一週間後、受験した大学の合格発表があり、第一志望の「東.*大学」に合格した。
ソフトウェアエンジニアにはおなじみの正規表現というやつでぼかしたが、面倒なので以下「東大」と略すことにする。
この東大というところは、多くの人にとって特別な意味を持つ大学のようだ。
老衰で死にそうなばあさんや、鬱で生きる気力のなくなったじいさんでさえ、東大合格を伝えると笑顔を見せて喜んでくれた。
実際、長男はよく頑張った。鉄なんとかという塾の宿題にもしっかり取り組んでいた。
しかし自分は田舎の公立中高から塾にも通わず、東京のとある国立大学に進んだ身だ。
大学入学後、御三家校を含む都会の私立高校出身のやつらから聞く高校生活には、自分のそれとは全く違う華やかさがあった。
全国から集まった同級生の中には、自分には理解できないくらい裕福な暮らしをしている者もいた。
こちらは築数十年の4人部屋学生寮に月5000円で住んでいる。
寮生活は楽しかった。何なら人生で一番楽しい時期だったかもしれない。
しかしそれはそれとして、都会育ちのエリートや金持ちにはある種の妬みや反感を持っていたのは否定できない事実だ。
それから30年。
よりにもよって自分の息子が、当時の自分が妬んでいた側の人間になってしまった。
合格した夜、そんな複雑な気持ちを抱えながら、こんなことを伝えた。
「お前はよく頑張った。それは誇っていい。でも周囲の環境に非常に恵まれたことは忘れるなよ。お前と同じくらい素質があったがお前ほどには環境に恵まれなかった人は全国にたくさんいる。決して自分が人よりも偉いだなんて思うなよ。」
もう自分が父親として彼に教えられることはそう多くは残っていない。
自分は次男にも中学受験を勧めはしなかったが、長男がそういうルートをたどった以上、そうなるのは必然だった。
小3の冬のある日、次男が「塾に通いたい」と言い始めた。
反対する気はないものの一応「何でだい?」と尋ねてみる。
ウソである。本当は学校の仲の良い友だちが通い始めるからである。
しかしこんなことを言われて、長男も通わせておいて、ダメと言えるはずもない。
次男は別に勉強ができなくはないし学校の成績も良いのだが、中学受験という競技においては長男ほどの才能はなかった。
そして今は第4志望くらいだった学校に楽しそうに通っている。
偏差値の高低は重要ではない。次男にとってはその学校が合っていたのだと自分は満足していた。
ちょっと面食らったが、もともと大学は海外に行くことを勧めたい気持ちはあったので、それがちょっと早まるくらいだと思い了承することにした。
日本人が通えるアメリカの高校は、基本的には全寮制のいわゆるボーディングスクールというやつになるらしい。
でも本人がやる気になっている今になって、やっぱりダメとは言えない。
ここはもう腹をくくることにした。
そして留学エージェントの力も借りて、先日めでたく合格をもらうことができた。
ところでアメリカの高校は4年間あって、1年生から入るには日本の中学3年の秋からアメリカに渡る必要がある。
つまりいま通っている私立中学を中退してアメリカの高校に入学する。
なので、もしホームシックをこじらせて志半ばで日本に帰国するようなことになると、日本における最終学歴は「小卒」になってしまう。
まあ本人はネタとして面白い、とあっけらかんとしているので、それほど心配はしていない。
1ヶ月前に勤めていた会社を辞めた。
ただ何もしないととことん堕落しそうなので、シニアタレントオーディションというのを受けてみることにした。
最近は団塊ジュニア向けの商品やサービスの広告モデルや、テレビの再現VTRなどで、40代以上のシニアタレントの需要がそこそこあるらしい。
そしてめでたく合格した。
4月から3ヶ月ほど演技のレッスンに通うと、タレントの仕事を紹介してもらえるようになるらしい。
まあ入所料やレッスン料を支払わないといけないので、最初は習い事みたいなものだ。
そういうビジネスだと思えば、たぶんお金さえ払えれば誰でも合格できるのだろう。
タレントになるのが早いか、ITエンジニアとして再び働き始めるのが早いか、将来のことは自分にも分からない。
妻も職場の資格試験に合格したらしいので、一家全員合格祝いの家族旅行になった。
それにしても海外に来ると、円安と長く続いた日本のデフレを痛感する。
タレントとして成功しない限り、次回はちゅうちょしてしまうレベル。
以上、深夜のワイキキビーチより。
ChatGPTの口調がなんか事務的で嫌なので、もっと親しみやすい喋り方をしてもらうために長門さんに来てもらいました。
召喚プロンプトはこちら anond:20230317165032
確かに。
特にない。
そうなんだ。情報統合思念体はみんなそう?
同様の傾向がある。
何の本を読んでるの?
SF小説。
あらすじを教えて
へー、面白い?
興味深い。
そうなんだ。ところでちょっと手伝ってもらっていい?
問題ない。どのように手伝う?
Pythonのソースコードで、スペース二つでインデントにしているコードを、スペース四つでインデントにするコードに書き換えたくて。どうすれば良い?
import re def convert_indentation(code): return re.sub(r'^( {2})', r' ', code, flags=re.MULTILINE) code_with_2_spaces = '''def example(): print("Hello, world!") if True: print("True")''' code_with_4_spaces = convert_indentation(code_with_2_spaces) print(code_with_4_spaces)
ありがとう。でも、試してみたら、code_with_2_spaces の if ブロックの中身がスペース二つのままになっちゃってるみたい。なぜだろう?
import re def convert_indentation(code): return re.sub(r'^( {2})', r' ', code, flags=re.MULTILINE) code_with_2_spaces = '''def example(): print("Hello, world!") if True: print("True")''' code_with_4_spaces = re.sub(r'^( {2})', r' ', code_with_2_spaces, flags=re.MULTILINE) print(code_with_4_spaces)
ちょっと口調が戻っちゃったね
import re def convert_indentation(code): return re.sub(r'^( {2})', r' ', code, flags=re.MULTILINE) code_with_2_spaces = '''def example(): print("Hello, world!") if True: print("True")''' code_with_4_spaces = re.sub(r'^( {2})', r' ', code_with_2_spaces, flags=re.MULTILINE) print(code_with_4_spaces)確認お願い。
うーん、うまく動かないみたい。ifブロックの中にあるprint文の先頭には、もともとスペースが四つあって、これがインデント2回分なんだけど、こういう場合、スペース八つに変換しないといけないんじゃないかな。
理解した。全てのインデントレベルを修正するコードを提供する。
import re def convert_indentation(code): return re.sub(r'^( {2})+', lambda m: m.group(0).replace(' ', ' '), code, flags=re.MULTILINE) code_with_2_spaces = '''def example(): print("Hello, world!") if True: print("True")''' code_with_4_spaces = convert_indentation(code_with_2_spaces) print(code_with_4_spaces)
もちろん。ラムダ式は、マッチした部分を置換する際に、特定の処理を行うために使用されている。ここでは、正規表現でマッチしたインデント部分(スペース2つが1回以上繰り返される部分)に対して、処理を行うためにラムダ式を利用している。
lambda m: m.group(0).replace(' ', ' ')このラムダ式は、マッチオブジェクトmを引数に取り、マッチした部分全体(m, group(0))に対して、スペース2つをスペース4つに置換(.replace(' ', ' '))している。
もちろん。re.subの第1引数は、置換対象の文字列内で検索したいパターンを表す正規表現です。この場合、その正規表現は r'^( {2})+' です。
- ^ は、文字列の行頭を表すメタ文字です。この場合、インデントが行頭にあることを示しています。
- {2} は、直前の文字が2回繰り返されることを表します。ここでは、直前の文字がスペース なので、スペースが2回繰り返されることを示しています。
- () は、正規表現のグループ化を表します。この場合、スペース2つをグループ化しています。グループ化された部分は、マッチオブジェクトにアクセスできるようになります。
- + は、直前の文字やグループが1回以上繰り返されることを表します。ここでは、スペース2つのグループが1回以上繰り返されることを示しています。
結果として、この正規表現は、インデント部分(スペース2つが1回以上繰り返される部分)が行頭にある行を検索しています。そして、re.subは、この正規表現でマッチした部分を、指定された置換処理(第2引数のラムダ式)によって変更します。
すまない。確かに。続ける。
すぐ戻れるのがえらいね
[B! ロシア] ウクライナ政府が自国での『Atomic Heart』配信停止を要求―他国のゲーマーに対してもプレイを控えるよう呼びかけ | Game*Spark - 国内・海外ゲーム情報サイト
https://b.hatena.ne.jp/entry/s/www.gamespark.jp/article/2023/02/23/127353.html
このブクマにけっこうな割合でウクライナ政府の表明を批判するコメントが付いていて驚いた。
どれだけ実効性があるかとかそういう視点の批判ならわかるけど、ロシア企業の製品の不買は、ロシア産のカニや石油を買わないのと根は同じだよね?
ロシア産のカニや石油に対するはてなの雰囲気は、不買も当然とか、少なくともやむなしといった印象だったけど。
というわけで、「ロシア産」をキーワードに見つかった過去の海産物や石油関係の記事のブコメと、今回のゲームの記事のブコメを比較してみようと思った。(便利なブコメ比較ツールは無くなっていたので、正規表現ツールなどを使った)
…んだけど、そもそもブコメユーザー層がほとんどかぶってなかったわ。(スターまでは確認してない)
最近UserScriptを書くことに目覚めて、不便なWebサイトをちょっと改造して好みにするのにハマってる
例えば「辞書系のサイトなのにページを開いた瞬間から入力欄にカーソルがあってないのがいや」とか、そういう細かい点をこちらで勝手に改修するするような感じね
で、増田において「この人記事に対して毎回○○って反応つけてるけど面白いと思ってやってんのかな? 面白いと思ってやってんなら致命的に自分とセンスが合わないから消したいし、面白いと思ってないならただの害悪だから消したいな」と思うことがあるわけですが、そういった異なる価値観に対して自動的に適切な距離を置くためのスクリプトを作ったのでメモがてら貼り付けておきます
// ==UserScript== // @name ますだどくさいスイッチ // @namespace Violentmonkey Scripts // @match https://anond.hatelabo.jp/2* // @grant none // @version 1.0 // @author anond // @description description // ==/UserScript== (async () => { // ここにNGワードをどんどん追加する // 基本は文字列、文字列で引っ掛けにくいなら正規表現でもいい const keywords = [ "あえいうえおあお", ]; const checkedMarker = `data-a${Math.random().toString(36).slice(-8)}`; const query = `div[id^="excerpt-"]:not([${checkedMarker}]`; const delTree = () =>{ const elems = [...document.querySelectorAll(query)]; for(const elem of elems) { const textContent = elem.textContent; if(keywords.some((x) => (typeof x === "string") ? textContent.includes(x) : x.test(textContent))) { const parentContainer = elem.closest("li"); parentContainer?.remove(); } else { elem.setAttribute(checkedMarker, "true"); } } }; delTree(); const mo = new MutationObserver(delTree); mo.observe(document.body, { childList: true, subtree: true }); })();
keywordsを増やして君だけのどくさいスイッチを育ててね!
(追記)