はてなキーワード: Pythonとは
IT企業から転職してきて一人で任されて自由にできるし自分の市場価値以上に給料がいいから満足してたけど、上司や同僚のスキルがあまり高くはなくて打ち合わせで説明したり説得させるときにストレス感じてきたから辞めるか迷ってる。どう思う?
日本語のネット空間が特にそうなのだが、沢山情報があるようで結局見に行くと似たような内容で問題が解決しないということがよくある。
Pythonのpandasでこんな動作できるんだっけ?と思って検索をかけて10ページくらい色んなサイトを見て回っても似たようなことしか書いておらず、
比較的プログラミングは情報が多いのだが、検索結果がより分散が広がるような並びになってない。
ネットになくても、この本を読めば網羅されてるのであればいいのだが、この本に書かれているというのも中々出てこない。
ここまでは既存のサイトに書かれているが、検索しても見つからなかったので書いたものを、上手く合わせて出してくれればいいのだが。。。
TypeScript(TS)がJavaScriptの代わりになるだと?確かに型を使えるのは良い。意味不明なオブジェクトを操作しまくって意味不明な動的型付けするJSに型が追加されたら、そりゃバグも減るだろうよ。でもそれは意味不明なオブジェクトを操作し、再代入を繰り返すレベルの低いJSerの責任だ。コーダーの責任なんだよ。Pythonも意味不明なオブジェクトを操作しまくるが、JSほどはひどくならない。Pythonも型ヒントなんてものが導入されたが、誰が使うんだこんなの。果てしなく冗長になって糞だ糞。DocStringを充実させるのと型ヒントを充実させるの、どちらがどれだけメリットが有るっていうんだ。DocStringで十分だろ。全員アホだ。話をTSに戻そう。
散々文句を言ってしまったが、型が使えるのにはこしたことはない。TSを始ようじゃないか。TSをインストールしよう。Node.jsをまずインストールして、TSをインストールしたぞ。ついでにgulp、webpackもいるのか。おいまてよ、ts-loader、webpack-cli、webpack-dev-serverもいるのか。何が何のために必要なのかよくわからないが、node_modulesはすでにパンパンだぜ。tsconfig.jsonを設定してsrcとdistを決め、ECMAのバージョンも決めたぜ。webpack.config.jsってファイルもあるじゃないか。これも設定が必要なのか?俺はいつになったらHello Worldを書けばいいんだ?なめてんじゃねえぞ!!!なんかに似てるんだよ!これはCだ。C言語でプログラムを書こうってときに、コンパイラが必要でインストールして、パスを通して、謎のおまじないを書いて、それでよくわからないままHello Worldを出力したあの頃の思い出がフラッシュバックしたぜ!いや、TSはそれ以上に糞だ。なにせ設定ファイルばっかいじってまだ一行もコードを書けてないくせに、ファイルサイズは70MBを超えてるんだからな。「TS コンパイル」で検索したら、なんで「次にgulpをインストールしましょう」なんて記事がヒットするんだよ!糞か?いや糞だお前は!
プロジェクトに必要なツールをインストールするのは当たり前だって?偉そうなこと言ってんじゃねーぞ!どうせお前なんか先達がすでに準備してくれたプロジェクト環境に後でアサインして、「これとこれが必要だからインストールしてね」って言われてそのまんまインストールしたクチだろうが!どのツールがどのシチュエーションで最適なソリューションなんかわかってねえに決まってら!どのツールがどのシチュエーションで最適なんか誰もわかってねぇんだよ!インターネットに情報は適当に転がってて、お前の先達もDevelopers.IOの記事を読んでなんとなく良さそうだからインストールしてんだよ!全てを正しく把握してるやつなんか日本で3%いたら多いほうだろ。少なくともお前も俺も理解してねぇよ!PHPがRubyを駆逐するって言われて何年たった?今でもPHPは現役で、RubyはPHPの後ろを歩いてるじゃねえか。jQueryが消えるって?同じ理由で消えねえよ!一生やってろばーーか。JavaScriptも消えねぇよ。ECMAのアップデートに従って生で書けば十分だろ。こんなコード書くまでにうんこ行きたくなるような設定ファイルばっかいじらせる言語にとって代わるわけねぇだろ。消えるのはお前だばーか。
世には大企業信仰みたいなのがあります。かくいう俺もその信仰にドップリ浸かっちゃってるんですが、かといってその大企業は最高かと思いきやそんなことはないらしく、ツイッターにはドワンゴとかNTTとか富士通の有名企業の悪いところがいっぱい書いてある退職エントリがいっぱい転がってる始末です。
じゃあ中小やらベンチャーなのかって話なんですが、TLの(おそらく)中小勤務の人たちは低い給料に喘いだり、消息を絶ったり、いいね報告でしか生存を確認できなかったりみたいなことが散見されるので基本闇だと思います。全員がエンジニアじゃないのでまちまちだとは思いますし、観測範囲も狭いですが、、、
話は戻りまして、退職エントリの話です。退職エントリを書いてる人は、文章から察するにとても知的で、勉強量も積んでて、技術を学ぶことが趣味のような人たちです。でも俺はスキルなんてぜんぜんなくて(たまにPythonでDiscordのbot書くくらいです)、頭も悪いし、勉強は必要に応じてするレベルです。こんなんで俺マトモになれるんですか?どうしてそんなバリバリに仕事してきた人間がそんなストレス背負う必要があるんですか?そんなバリバリ仕事人間ですら壮絶なストレス背負ってるのに、チンカス人間の俺はどうすればいいんですか?そもそも俺は就職できるんですか?助けて...助けてください...
一応しらべた
https://www.rdkit.org/docs_jp/Installation_jp.html
[Windows]
[Prerequisites]
3.6+ (http://www.python.org/)
numpy (http://numpy.scipy.org/ あるいはpip install numpy)。 win64用のバイナリはここで手に入る: http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
Pillow:(https://python-pillow.github.io/> あるいはpip install Pillow)
オススメの追加項目
[Recommeded extras]
aggdraw:Pythonで高画質の描画を行うためのライブラリ。ダウンロードの方法はこちら: http://effbot.org/zone/aggdraw-index.htm 新しい描画コード(2008年5月時点)はaggdraw v1.2a3 でテストした。alpha labelにも関わらず、コードは安定していてかつ機能する。
matplotlib: Pythonから科学的なプロットを作成するためのライブラリ。 http://matplotlib.sourceforge.net/
ipython : Python(とそれ以上に多くのこと)のためのとても役に立つインタラクティブなシェル http://ipython.scipy.org/dist/
win32all: PythonのためのWindowsの拡張 http://sourceforge.net/projects/pywin32/
なんのためのものかわからんがシミュレーションソフトとかで動作が早くないとこまるの?
とにかくアドビ系でもシミュ系がサクサク動いてなんぼのソフトは
なんでもグラフィックメモリをつかっていてCPUはその補助みたいになっとる
たぶんそれだと
20万以上する「ゲーミングパソコン」をつくもあたりで買ってこい。以上
import random
''.join(random.SystemRandom().choice(string.ascii_letters) for _ in range(8))
パスワードも許されている文字の範囲を気にしつつこんな感じで作ってる。
{
std::string input = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
std::random_device rnd;
input.end(),
8,
rnd);
std::cout << result << std::endl;
return 0;
}
自分が機械学習に詳しいかどうかはわかりませんが,わかる範囲で書きます.
を実現する事が目的だと考えて話を進めましょう.
一般的にこのタスクは類似文書検索と呼ばれています.ブックマークコメントでは「ElasticSearchを使え」と言われています.ElasticSearch の More Like This Query 機能を使うことで類似文書検索が実現できるようです.あとはパラメータを調整することで思い通りの結果が得られるのではないでしょうか.
より高度なアプローチを取るのであれば,BERT と呼ばれるニューラルネットワークモデルを活用した類似文書検索も可能です.こちらのブログ (ElasticsearchとBERTを組み合わせて類似文書検索 - Ahogrammer) が参考になるでしょう.
しかしこれだけで終わると悲しいのでもう少し機械学習の話をすることにします.
機械学習的にこの問題に取り組むには順序学習 Learning to Rank という問題を解く必要があります.順序学習は google 検索にも使われている機能です.
これは,「入力 x に対して N 個の候補 y_1, y_2, ..., y_N を類似している順に並び替えるようなスコアを出力する関数 f(x, y_i) を学習する」というものです.
More Like This Query 機能よりもこちらのアプローチが優れているのは,前者はどうパラメータをチューニングしようと「類似している文書」しか得られないのに対して,後者は(先程引用したような)「見合った」を明示的にデータとして与えてランキングを学習できる,という点です.
学習データとして「この質問のに対してこの FAQ ページがもっとも見合っている」「この質問に対して A と B ふたつの FAQ ページがあるが,B より A の方が見合っている」「この質問に対して見合った順に全ての FAQ ページを並び替えたもの」といったデータを大量に準備することで,「見合った」を学習することが可能です.
しかしこちらも ElasticSearch の機能に搭載されているようです.ありがとう ElasticSearch.お疲れ様でした.
もしあなたが ElasticSearch を使うのではなく, Python を使って再実装したいと考えているのであれば,目印として必要なライブラリや概念を書いておきます.
こういうのを実装したいと思ってるだがどんな言語とライブラリ使って
業務で使うというよりは習得メインだから回答の精度とかは二の次でいい
ちなみに自分のスキルは一応本職だからPythonは触ったことないけど
MySQLいじったりテーブル設計したり学習データ管理用のGUI作ったりとかMeCabの知識とかはどうにでもなると思う
あ、ただ微分積分とか行列については全くわからないと言っていいレベル
最近はWebの知識をフロントエンド/バックエンド/フレームワーク/アーキテクチャと
総合的に勉強するより機械学習の方がむしろ低いとか聞くけど意味不明な記号の羅列を見てるとにわかには信じられない……
”そこそこの大学をでて大学数学をちゃんと習得している人にとっては”的な条件があるのだろうか
このくらいの仕組みならパパっと作れたりするのかなぁ