はてなキーワード: unicodeとは
(年収270万で)プログラマーを引退して、医学部にきた俺が真面目に考えてやろう。
真面目に読んでいて、ちょっと気になる箇所がある。たとえば PostgreSQL を postgre とか書くヤツは現場では嫌われるぞ。少なくとも postgres と書いてくれ。お里が知れるぞ。
消えていくエンジニアの特徴だけど、叱責されたり馬鹿にされるのが嫌で VCS にコミットしないヤツ、または貪欲にコードレビューをされるのが嫌がるやつは、成長しない。
この業界は数年前には『デジタル土方』と揶揄される業界でした。ちなみに、アメリカでも「テック系はハードだから避ける」という雰囲気でした。つまり何をいいたいのかというと、ソフトウェアの開発者っていうのは「泥臭い領域」なんだよ。エリートとは程遠い場所にあるというね。
いやぁ、是非とも楽天で働くべきだよ。どうせ野村総合研究所とか NTT DATA なんて無理だと思うから。
うん、ココはまずい。基本的にフロントエンドなんて給料が安いのよ。だって、誰にやらせてもデータベースにクソなDCLを飛ばせないから。逆に、データベースを触れることができるプログラマーはリスクと責任が大きいから、給料が高いのだよ。B4 になってもそれが理解できていないようだと、この先くらいよ。
君はソフトウェア・エンジニアになりたいのだろ?世の中は分業で成り立っているのだから、全部やろうとするやつはアホだよ。
インターン生はお客さんなの。君のスキルが通用したのはすごいと思うけど、同じ感覚で仕事はできないから注意しときなよ。
なに言ってるの?そんなことは言い訳にならんよ。プログラマーになりたいのだろ?勉強をしろよ。
逆にいうと、あなたがインターンとして週3で20万円貰えていたのは、参入障壁が少ないからでしょ?強強エンジニアが生き残っているのは、それだけすごいということだよ。
いやぁ、違うと思うよ。その問題が「難しい」なら切り分けて、上に「ココが自分の能力では解決できないです」と持っていくだけなんだからさ。CS じゃないのだったら、仕事をするまで「扱わないまま」なんだよ?しかも、土日に勉強する気もないとなったらいつするのさ?
諦めなよ。ソフトウェアというものが「変化できることに価値がある」ものだから。変化する業界はストレスフルだけど、立身出世する可能性が高いでしょ?安寧なばしょではないの。
いやー、CSでない博士課程に行って、雇ってくれる企業があるかね?無いと思うけどな。
この時点で、君はコピペしかやってきてないことが理解できる。おそらく QUIC か MQTT あたりだろ?逆にいえば、それが実装できたら他社と差のつけられるプロダクトだったはずだ。つまり会社の利益の源泉であった部分をみすみす実装できないようでは、そこらへんの専門卒以下だぞ。
ムカつくというか、虫酸が走る書き方だ。箇条書きにすると、
プログラミングに年齢はないから。自分は9歳ではじめたけどね。
あー、俺も天才が高校のときにいて、マーチの情報工学と旧帝の院の学費を会社持ちという驚異的なやつがいたよ。今もブログ見てると、Android と iPhone のアプリを書いているみたいで、元気そう。
それを上手にコントロールできるプログラマは世界中にもほとんどいねぇ。むしろ、月20万でやるもんならギルドから苦情が来るぞ。オレもアビームの人に給料を答えたら、「こんなヤクザな会社はやめろ」と耳うちされたよ。
人より良い経験をしたいという願望はあるのは素晴らしいと思うよ。しかしながら、君が到達したノウハウは他人にもできることだからね。ワン・オブ・ゼムになりたくないなら、努力し続けることだな。勉強をするのをやめたら、数年で中卒に負ける世界だからな。覚悟しとけよ。
P.S. 医学部に来たのは家庭の都合だよ。それに、自己顕示しないと「場末のコーダー」で読んでもくれないだろ?年収については、自分も低いと思うよ。なぜ低かったかというと、都内私立大学多浪中退の自分にはベンチャーの皮を被った助成金搾取がメインの反社会的勢力のフロント(ベンチャー)企業ぐらいしか相手にしてくれなかったからだよ。そこの会社は外国帰りの MDMA をキメて、未成年の子女に手を出しては警察沙汰スレスレのことをしているキチガイが社長をやっていて、人工知能を作ろうと学生インターンを酷使している会社だったのだけど、「サイバーエージェントに紹介する」という嘘にひっかかって、特定派遣事業の免許がないのに客先常駐させられ、土曜は帰社日、日曜は社長の Python の勉強会に参加させられる、というブラック会社にいてピンはね率(60%)となると、まともに考えることもできず働くアリになってしまってたからだよ。
P.S. ② 年収については、初日から派遣先の会社に引き抜きのオファーをもらって、2ヶ月後に新しい会社に移動したけど、300万だったので CodeIQ というサイトで転職をする準備をしていたよ。たしか、DMM とかサイバーエージェントの面接にいこうとしてたような記憶。その後で家庭の都合で、医学部に来たけど。
P.S. ③ 医学部医学科の6年生だよー。みんなが嫌いな私立医学部だけどね。ちなみに、俺もこの大学が嫌いだ。
P.S. ④「GraphQLをわざわざ書くのは理解できるけどな。」そうだとすると、REST や SOAP も書かないとまずくない?書くのだったら「Rails と Next のデータ受け渡しにGraphQLを使った経験が」という感じだと良いと思うけど。
P.S. ⑤「野村総研とデータを挙げるあたりSI寄りの仕事してたのかな。 」ちゃうねん。オレっちは多浪したからさ、そこのエントリーシートをかけなかったのよね。まぁまぁ大学が名門でさぁ、OB が誘ってくれるけど、年齢で弾かれて辛かったねん。
P.S. ⑥「ダウト。学費をどうやって稼いだんや 」えぇ、親の金です。だから家庭の都合でと書いてるじゃろ。
P.S. ⑦「本当に医学生ならここ数年の技術についてこの指摘ができる程詳しいわけないし少なくとも10年位は業界にいないとこういう感覚は身に付かない。 」たしかにおかしいよな。Kubernetes や Terraform を弄って、CI は GitHub Actions、CD には AWS CodeDeploy を使って、ブログは Jekyll で静的サイトジェネレータを使いつつ、自前のサービスを立ち上げるために Rails, Next, React, PostgreSQL, Redis, Kafka, Elasticsearch, S3 の勉強をしつつ、スマホ環境のために Kotlin と Swift を触れているなんて変だよな。そういえば、Docker が来るまでは Vagrant で環境をつくっていたのも忘れてたよ。あと Rust を今年に学ぶ言語にするなんて、受験生にあるまじき行為だよな。うん。
P.S. ⑧ 年収については、基本給が 22万で、残業が200時間超えたらプラスだった気がする。あと、反社ベンチャーは「ポートフォリオの作成にまる一ヶ月間で拘束された、しかも無給で」という時点でヤバいのだけど、その会社にコミットしたのは「サイバーエージェントに紹介する」ということだけであって、同時期に DMM も面接に行けそうだったのよね。馬鹿なことをした。
P.S. ⑨「特にフロントエンドを見下す感じとか」オレ自身はフロントエンド出なんだよ。何を隠そう、Adobe Flash のゲームをつくっていたから。それでもって言うよ、バックエンドが一番大切だと。
P.S. ⑪「5~10年前に人売りに捕まった話とするなら、年収270万も現実味を帯びる。」特定派遣は消えてくれてよかったよ。俺のところは特定派遣すら未登録だったけど。
P.S. ⑫「いい医者になるのだよ 」うん、頑張る。「オッサン」「社会不適合者」「あるき方がキモい」「プログラミングwww」「同じ班になりたくない」「親も頭が悪い」「生きてて恥ずかしくないの?」とか言われてるけど、頑張る!
P.S. ⑬ 「フロントエンド別に給与低くないよ。」えっ、そうなの?WebDesigning を読む限りだと、400万もいかないイメージだけど。
P.S「医学部6年でまだプログラムに興味あるの不思議。」好きなんだよ、言わせるな///
P.S. 「フルタイムじゃないのでしょ?」いいえ、東京都内でフルタイム(ひどいときで、朝7から夜24)でしたよ。入った会社が「法律よりも、派遣先の評価」という会社だったからね。
P.S. サイバーエージェントさん、ときどき御社の社名を使って「弊社に恩を売ると、サイバーエージェントに紹介する」というベンチャーが跋扈しているので、どうにかしてください。わたくし、1ヶ月間もその嘘で jQuery と Django を回収させられた挙げ句、月給 2000円だったのですけど。本当に千円札2枚だったのですけど。ついでに、Android(Java) と iPhone(Objective-C)と jQuery を使ったフロントエンドシステムに、バックエンドに Rails + Postgresql のシステムで、AWS を介したサービスを作らされたのも「サイバーエージェントに紹介する」と言われたからなんですけど。いったい、何なんですか?お前ん所は、コンプライアンスどうなってんじゃ。
P.S. 「好きそうだし医学部卒業してシレッとgoogle行ったれ 」無理っすよ。オレのスキルじゃ。
P.S. 「病院は」親がクリニックを持っていたけど、潰したよ。クリニックは人に患者がついていて、アルバイトを充てがっても患者さんが不幸になっていくのをみちゃったからね。自分は責任を持って患者さんを見たいから、バイトなんて使わないよ。
P.S. 自分はコードを書きたいタイプだったから、SIer みたいな UML とか書いて下請けにコードさせるみたいなのは絶対に嫌だったのよね。だから SIer にはならなかったよ。やっぱり、現実にある計算機が解決できる問題を、より直接的に触れて解決したいと思っているから。仕事がハードでも全く問題なし。
P.S. FPGA すごいよね。ザイリンクスとアルテラが Intel と AMD に買収されて、すごいと思ったよ。2010年頃だっけ?、CPU の限界を FPGA で突破しようという話があったけど。手を出そうと思ったけど、高性能なチップが 100万ぐらいして挫折した記憶があるよ。
P.S. 「東海大の医学部・学士」は自分は大学を卒業してないから無理でした。あと、それ以上の詮索はやめてくれ...
P.S. 「MySQLそんなに嫌いなのか。」そんなこと書いたつもりはないが、あれ?確かに MySQL は PostgreSQL より嫌いたけど、それは Oracle が親元だったり、Unicode の扱いがファッキンだったり、ストレージエンジンが切り替わるときにカオスな目にあったけどさ、MySQL は好きだよ。お世話になったし。
P.S. 給料については契約後に言われたのよ。というか、もともとは「サイバーエージェントに紹介」するという理由で、ポートフォリオの作成や Django の改修を手伝ったつもりで、入社とかする気は全く無かったのよ。それが、いきなり他所の会社に面接を受けさせられて「君は明日からXXで働くから、履歴書を書いてね」と言われて、抗議したら「俺に恥ずかしい思いをさせるのか!業界に入れなくするぞ!」と大声でシャウトされて、気がついたらあっちが用意した履歴書に拇印してしまったのよね。有料職業紹介と派遣登録をしてない会社だったから、そんなかとはできないはずなんだけどね。ホームページには「年収550万」と書いてあったけど、実際はまったく違ったのだけどね。
P.S.「うーん、いらないかな。IT土方としての仕事しかないと思う。」だよな。おとなしく医者になるよ。ありがとう。
P.S. Elasticsearch は全文検索機能がほしいからやってるよ。Redis はインメモリなセッションストアとして使いたいのよ。Kafka はさ、twitter のファボをじっそうしたいけど、RDB の書き込み速度が上がらないから利用したいの。TensorFlow は全く理解できてないよ。それは、指摘されたとおり。
逆に聞くけど、以下の知識があったらどれぐらいもらえるわけ?東京23区で。
時間 | 記事数 | 文字数 | 文字数平均 | 文字数中央値 |
---|---|---|---|---|
00 | 126 | 17354 | 137.7 | 45 |
01 | 95 | 6782 | 71.4 | 42 |
02 | 48 | 4676 | 97.4 | 54.5 |
03 | 52 | 3712 | 71.4 | 56 |
04 | 53 | 3790 | 71.5 | 40 |
05 | 39 | 6825 | 175.0 | 56 |
06 | 74 | 7895 | 106.7 | 41.5 |
07 | 94 | 9784 | 104.1 | 39.5 |
08 | 92 | 7236 | 78.7 | 52.5 |
09 | 96 | 6418 | 66.9 | 43.5 |
10 | 185 | 19276 | 104.2 | 39 |
11 | 162 | 18339 | 113.2 | 41 |
12 | 152 | 18072 | 118.9 | 44 |
13 | 158 | 13274 | 84.0 | 44.5 |
14 | 118 | 9387 | 79.6 | 33.5 |
15 | 154 | 17951 | 116.6 | 48.5 |
16 | 181 | 16014 | 88.5 | 43 |
17 | 144 | 11992 | 83.3 | 31.5 |
18 | 129 | 10455 | 81.0 | 31 |
19 | 137 | 15240 | 111.2 | 51 |
20 | 179 | 14061 | 78.6 | 35 |
21 | 181 | 20130 | 111.2 | 48 |
22 | 206 | 24346 | 118.2 | 45 |
23 | 243 | 20905 | 86.0 | 38 |
1日 | 3098 | 303914 | 98.1 | 43 |
91年(30), unicode(3), 7月7日(3), リュウジ(4), 彦星(4), ソムリエ(15), 豊洲市場(3), 文字コード(6), 唖(4), 七夕(10), 両さん(3), プリキュア(20), タレント(18), ハンバーグ(8), PV(7), アーティスト(14), 焼く(8), スイッチ(10), 付近(8), 衣装(8), 五輪(30), レシピ(9), ダンス(9), 国語(12), 観客(8), オリンピック(58), 韓国(40), 感動(24), 反省(29), 接種(25), ワクチン(66), 打っ(19), アイドル(36), 中止(24)
■女性VTuberが元カレについて話している動画 こんなの許されるのか /20210706191608(37), ■主語デカは病気 /20210707061507(35), ■「感動を届ける」の類語他にある? /20210707164659(27), ■○○ソムリエという言葉を使うのを今すぐやめてください /20210707083056(27), ■【追記有り】男性の問題について何故女性が首を突っ込んでくるのか?という疑問 /20210707213629(19), ■東京オリンピックにプリキュアを人質に取られた気持ちがわかるか。 /20210706120130(18), ■最近のはてなが糞溜になってきてる /20210707093406(15), ■料理においてよくわかっていない所 /20210706120259(12), ■同じ20歳前後のグループでも日本と韓国でこれだけ違うから悲しくなる /20210707112939(12), ■なんで氷河期世代が20代だった頃、処女厨が覇権握ってたの? /20210707152859(12), ■俺の性癖が一番気持ち悪い自信がある /20210706190411(11), ■好きで漫画描いてるけど /20210707064836(10), ■映画のタイトルにプリキュア入れていこうぜ /20210707162046(10), ■リュウジのパクリについて /20210706172941(9), ■磯野カツオはどう見てもフネの孫 /20210707003201(9), ■はてなーの邪推が酷い /20210707120139(8), ■欧米の出生率がやばいことになってる /20210707135356(8), ■増田ブクマは運次第 /20210707135546(8), ■名前に入ってるとカッコいいと思う漢字 /20210707143138(7), ■マッチングアプリで女の子とヤったら初手で不治の病を引いた話 /20210706181333(7), ■しにたい /20210707015718(7), ■senbuuさんさぁ…… /20210706141425(7), ■クッキーの利用を聞いてくるサイト /20210707185657(7), ■「腐女子除霊師オサム」を読んだ男オタクの感想 /20210707013052(7), ■転職組、ディスられる /20210707224811(7)
夫婦別姓は選択肢を増やすだけで別姓にする選択肢を選ばない人には無害だとする論がある。選択肢は多ければ多いほど良いのだと。現在ある制約を緩くして選択肢を増やしていく思考実験をしてみよう。
選択的夫婦別姓が達成された世界であっても田中さんと鈴木さんが結婚した時には田中さんは田中さん、鈴木さんは鈴木さんに留まるだけであり新たな姓を作ることはできない。新たな姓を作ることができる世界だとどうなるだろう。田中さん鈴木さんが結婚して同じ超合金という姓を名乗ることも、田中さん鈴木さんがそれぞれ超合金さんと木材さんになることだってできる。選択肢を増やすのは良いことだ。多様な名前の楽しい世界になるだろう。
新たな姓を自由に設定できる世界では更にややこしい制約が発生することだろう。どんな文字を使えるのかという制約だ。現行法では子供の名前に使われる文字に関して戸籍法が定めている。
とあり、この常用平易な文字というのは戸籍法六十条において以下のように定められている。
戸籍法第五十条第二項の常用平易な文字は、次に掲げるものとする。
一 常用漢字表(平成二十二年内閣告示第二号)に掲げる漢字(括弧書きが添えられているものについては、括弧の外のものに限る。)
二 別表第二に掲げる漢字
これを鑑みるに、姓が自由に決められる世界では次のような制約が発生するだろう。
新姓を設置できる新たな世界は素晴らしいが現状では常用漢字プラスアルファとカタカナひらがなしか使えない。これは不便だ。新姓をつくる際に使えない文字が存在するのは不便だ。外国人と結婚した際にその外国人の姓を名乗ることを決めた場合であれば発音が違うのに無理矢理カタカナを使うことを強制される。不便だしアイデンティティーの喪失につながるだろう。
文字制約を緩めるのは非常に難しい問題だ。どこまでの緩和を認めるのか。ローマ字も良いのか、漢字は簡体字も含めるのか、アラビア文字も許すのか。現状世界中の文字を一手に扱え最も普及しているものとしてはUnicodeがある。最新のUnicodeに含まれる文字は全て許すとすれば制約はかなり緩まると考えられる。新姓も子の名もUnicodeに含まれる文字なら許されるというように変えれば自由度は格段に上がるし選択肢も増える。選択肢の多い世界は素晴らしい。例えば㍻㍍くんという名前も合法だ。人種に配慮した名前の付け方もできる。👋🏿くんも👋🏻ちゃんも存在可能だ。多様性に配慮し選択肢の広まった素晴らしい世界だ。
夫婦別姓、新姓の自由を手に入れ、文字の選択肢の自由も手に入った世界になったは良いが未だに問題は残っている。別姓を名乗っていたのに同姓にした場合、またはその逆、または新姓を名乗りたくなった場合はどうするのだろうか。現状の世界では戸籍上の氏の変更には家庭裁判所の許可が必要だ。そして裁判所法第七十四条には「裁判所では、日本語を用いる」とある。せっかく文字の自由を手に入れたのに日本語以外の文字だと問題が起きてしまう。より選択肢の多い自由な世界を手に入れるためには家庭裁判所の許可の要請を廃止するか、裁判所法を改正する必要があるだろう。
面倒なのでこの際どちらも変えてしまおう。戸籍の氏の変更に家庭裁判所の許可は必要ないし、裁判では日本語を使う必要もない。素晴らしい世界だ。選択肢が増え世界は良くなった。
ぼく「こんにちは、ベン。ぼくはWashlet2000。便意はどう?」
面「超いい感じだよ。きみは?」
ぼ「ぼくも超いい感じさ」
面「それはよかった。わたしは部署AのToiletエンジニアで3年目なんだ。社内ツールを作ってるよ。Benki関係のツールで、超クールでExcitingなやつなんだ」
ぼ「それはクールだね」
ぼ「うん。ぼくは経験豊富な自宅警備員で…〇〇で貢献して…リーダー経験が……」
面「Cool(たぶん聴いてない)。じゃ、問題に入ろうか。わたしからの問題はね…」
ぼ「あ、はい」
ぼ「Unkの管理…」
面「そう。Unkってさ、知的生命体でしょ?あれを実現するの。『分裂』もあるから注意して」
ぼ「なるほど。えーと、それはHankeyみたいな普通のUnkだよね。えーとえーと」
面「…」
ぼ「えーと、そうだ、Unicodeとか決まってる?」
面「決まってるよ。U+1F4A9」
ぼ「うーん。じゃあUnkって何を保持したらいい?種類、個数?」
面「いい匂いだね。ここでは簡単のため、そうだね、個数だけにしようか」
ぼ「ならUnkの個数を持つ感じかな」
面「多分そうだね」
ぼ「えーと、そして、『分裂』のときに増える個数、『消滅』したかどうかを返すAPIが要る」
面「うん。あと新しいUnkが産声を上げたときも」
ぼ「そうだね。じゃあ内部的には、分裂した時の増殖個数を計算して、unkで現在の個数を管理する感じかな…」
面「それで行けそう?」
ぼ「待って。それで、APIはdivision()、roar()、isDead()でいい?」
面「うん、そうだね。とりあえずAPIはそれで良いよ」
ぼ「OK。あ、division()でもうそれ以上増えれないときには、どうする?」
面「それもいい匂いだ。そうだね、今の個数を返すようにしようか」
ぼ「あと何かあるかな…」
面「…」
ぼ「Unkだと、大腸菌を表示したり、そこからBenkiにジャンプしたりできるけど…」
面「あとで必要になるかもね」
ぼ「だよね。速度は…当然すべてO(1)でやらないといけない」
面「速いほうがいいね」
ぼ「あとは、えーと、Benkiクリアもあとで付けそうだな。まあこれは簡単か」
面「そうだね」
ぼ「まとめると、Unkの個数を整数のIntで持ち、unkで管理する。division()が呼ばれたら、分裂して、isDead()が呼ばれたら、生存の真偽を返す。分裂時にはroar()を呼び出して、Unkoooooooooo!×(増殖個数分)産声をあげる」
面「それで良さそう?」
ぼ「うーん、多分…なにかあるかな…」
面「『消滅』を何度かしたあと、『分裂』をしたらどうなる?」
ぼ「ん?……あ、だめだ!そうか、『消滅』『消滅』『分裂』で過去の個数うんこに増えてしまう!つまり、isDead()が真なら、その時のunkを初期化しないと!」
面「そう!ならどうする?」
ぼ「うーん。変数maxUnkを足せばいいかな。isDead()はmaxUnkより大きな場合は真。そのときはunkを初期化する」
面「なるほど。大丈夫そうだね」
ぼ「あとはOKかな?…よし、じゃあコード書いてみるよ(マーカーを手に取る)」
ぼ「まずクラス外観はこんな感じかな…(カキカキ)」
class Unk: def __init__(self): pass def division(self): pass def roar(self): pass def isDead(self): pass
面「ん?これ何の言語?」
ぼ「pyてょnだよ。ぼくはpyてょn使いなんだ(自己紹介で言ったけど…)」
面「Cool」
ぼ「そして、Unkの個数を整数で持つよ。名前はunkでいいか」
面「OK」
ぼ「それと有効な最大unk数を保持するmaxUnkが要るね」
class Unk: def __init__(self): self.unk = 1 self.maxUnk = 1024 def division(self): pass def roar(self): pass def isDead(self): pass
面「なんでunkを1で初期化したの?」
ぼ「これは『いまの個数』だから。初めは1つのUnkが存在するのを想定してる」
面「なるほど」
class Unk: def __init__(self): self.unk = 1 self.maxUnk = 1024 def division(self): self.unk = self.unk*2 def roar(self): print("Unkoooooooo! ×", self.unk//2) def isDead(self): return self.unk > self.maxUnk
ぼ「division()、roar()、isDead()も書くとこんな感じかな…」
面「増殖の計算は2倍したんだね」
ぼ「そう。ちょっと手動テストしてみるね…。えーとunkが無いときのdivision()、roar()は大丈夫そうかな…。初回のdivision()でunkのサイズが1になって…そのあとroar()したら…isDead()は……」
unk = Unk() while True: if not unk.isDead(): unk.division() unk.roar() else: break --- Unkoooooooo! × 1 Unkoooooooo! × 2 Unkoooooooo! × 4 Unkoooooooo! × 8 Unkoooooooo! × 16 Unkoooooooo! × 32 Unkoooooooo! × 64 Unkoooooooo! × 128 Unkoooooooo! × 256 Unkoooooooo! × 512 Unkoooooooo! × 1024
面「大丈夫そう?」
ぼ「うん…たぶん…」
面「じゃいくつか聞くよ」