はてなキーワード: markdownとは
なんか今頃になってPythonの学習コンテンツが充実してきてるけど
Pythonってもう旬を過ぎたと思うんだよな
tensorflowとかsklearnとか使うためにPythonは凄く有用だったしこぞって使ってた
まぁそれでもPandasはクソだったけど他に選択肢もなかった
あと、AIみたいにサービス化とかUIを気にしなくて良いようなワンショットのプログラミングには向いてた
型付けとかしなくていいし、少しぐらいメモリリークしてても気にしないし、UIはtensorboardとかグラフをpngで吐き出せば良かった
何よりターミナルから打ち込んだら実行してくれたりMarkdownのファイルの中に書いたら実行してくれたりそれはまぁ便利だった
ところがAIがコモディティ化して頭打ちも見え始めてきた段階でそろそろビジネス化しないといけないけど
そうなるとPythonみたいなやんちゃな言語をプロダクトレベルまで実装出来る人が少ないことに気づき始めた
UI作るの面倒だし、型チェックとかもやってくれないから想定してないバグが出たり
Pythonを凄いやってた人も「プロダクトレベルとなるとちょっと」っていう人が増えてきた
かといってJavaには戻りたくないってなってTypeScriptが流行り始めた
そもそも最終のUIはWebだし、jQueryから始まったReact/Vue/Angularあたりはどれを使っても簡単にUIを作れる
おまけに枯れたNode.jsでサーバレスに実行できる環境まであるからTypeScriptが流行りまくってるんだと思う
Web系の弱いところはスマホアプリで、WPAあるけどイマイチ流行ってないしAppleが乗り気じゃ無いのがなんとも
なのでflutterあたりが人気出てくるかなぁ、とは思うけどWeb系ほど選択肢が無いから合わない時にとことん合わないと思う
ここから数年はPython人気が落ちてきて、TypeScriptが伸びて、Dartがじわじわ伸びてくるんじゃないかなぁ
初学者はPython、とか言うけど関係なくTypeScriptやった方がいいと思う
1. Markdown, Textileは知っていた。
2. 「何か新しいことを覚えようかなぁ」というコレクター魂のようなもので、reStructuredTextの手を付ける。
3. Sphinxなるものを知る。Pythonとから、Djangoとか、あの見慣れたチュートリアルを作るドキュメントツールがSphinx。
4. 面白いのだけど登場人物が多くて話が追えないなろう系のメモとして使ってみる。
6. LaTeX記法での数式表現、Matplotlibの機能に感動する。
8. 索引ページに気づく。
9. 日本語表示がイケてない。微分なら「は」の項目に、積分なら「さ」の項目に表示してほしいじゃん?「微」「積」の項目なんよ。。英語と同じように「頭の一文字」を取ったらそうなるよね。
10. 探してみたら、「Yogosyu」というプラグイン(※Sphinxでは拡張モジュール)があった。使ってみる。
11. 最新のSphinxに対応していない。ここからPythonのコード解析へと逸れる。
12. 取り敢えずエラーはでなくなったけど、元々索引ページとは関係ない機能だった。同一「用語集」での表示順が日本語に対応するだけ。
13. (しばらく放置)
14. 「単語の先頭に振り仮名を付け足せば、いい感じにソートしてくれる?」と気付く。
15. 表示の直前で「振り仮名」を取除くために、どこで表示しているか探す。
16. (紆余曲折)
18. ここで初めて「プラグイン形式にすれば良くね?」と気付く。
20. 出来上がって喜ぶ。
21. ここで初めて「これってクラスにしたら、全体の見通しが良くなったりする?」と気付く。
22.(この辺りで、unittestモジュールに手を付ける)
23. テストケースのお陰でリファクタリングが怖くない。喜ぶ。
24. setup.py, setup.cfgの書き方を学ぶ。
25. pypi公開を果たす。誰にも知られずひっそりと…
26. テストケースにjinja2を通した結果も加える。一人で成果に喜ぶ。
27. githubに手を付ける。学ぶ。基本的なことは覚える。
30. teratailに登録。コソコソ。「何がなんだか分からない」では質問しないし、そのうちどうにかなることが多い。先駆者に感謝。
32. coverageを知る。学ぶ。基本的なことは覚える。
33. circleciを知る。学ぶ。基本的なことは覚える。
34. カバレッジが90%を超えて喜ぶ。←今はこの辺。
※ボッチの日常
色々なぶくまで紹介される Python 等の資料について、一応初心者は脱している身として、私見を元に初心者に向けたおすすめ度を紹介していく。
URL: https://www.python.jp/train/index.html
Python 情報サイトの老舗である Python Japanの初心者向けコンテンツ。若干覚える量が多いので挫折が心配になる分量ではあるが、普通の初心者を意識した内容であり、初学者にもおすすめできる範囲の内容と考える。
勿論、有償の書籍のほうが充実したものも多いだろうが、無償の中では比較的初心者向け。
URL: https://paiza.jp/works/python3/primer
動画で学べるのとそこそこの範囲を網羅しているのと、環境はサービスが提供しているのでインストール周りを気にしなくていいのがメリットとなる。
逆にいうと説明が音声のみなので自分のペースで進めたい人には少しもどかしいかも知れない。
有料サービスに申し込むとエンジニアに質問ができるということなので詰まった時にいいのかも知れない
(とはいえ初心者の質問であれば、teratail 等で訊けばいいと思う。世話になった分のチップ的な課金ならアリかも知れない)
URL: https://atmarkit.itmedia.co.jp/ait/subtop/features/di/pybasic_index.html
他の言語をかじったことがある人が詳細を知りたい時には便利だが、初心者にはちょいちょい分かりづらいところがある。
特に第一回目はわからないところは無視してスルーしないと、難しそうな資料だと勘違いされそうなので、構成もう少し考えればいいのにと思う。
このレベルの情報が無料公開されているのは純粋に素晴らしいと思える。
URL: https://mitani.cs.tsukuba.ac.jp/book_support/python/
「Python ゼロからはじめるプログラミング 」の著者が、著書の副読本的にまとめたPDF(スライド)が公開されたページ。網羅性も高く、図解もありそれなりにわかりやすい。
ただし、著書を教科書として授業する際に便利な資料として想定したものと思われ、詳細な解説は著書を参照という内容になっているため、初心者向けかと言われると少し悩んでしまう。
プログラムに関する知識がまったくない人であれば、先に紹介している ゼロからのPython入門講座、paiza ラーニング 、 @IT 等のコンテンツで基本を押さえて、その後で振り返りとしてスライドを参照するのが良いかと思う。
あるいは、著書を買うかどうか参考にするためのサマリーとして割り切って読み進めるのが良いかも知れない。
URL: https://www.stat.go.jp/teacher/comp-learn-04.html
VIA:b.hatena.ne.jp/entry/s/twitter.com/tankazunori0914/status/1451365384238428161
これは Python というよりAI関連の話が中心となった資料で、7章におまけ程度にPythonの基礎も扱われている。
機械学習をやりたくて Pythonを始めようという方も一定数居るだろうから、Pythonをある程度押さえた上であれば有意義なコンテンツと思われる。
コメント時は軽く眺めた程度だが、後でちゃんと精読しようと思える程度にはまとまっている。
URL: https://utokyo-ipp.github.io/
既に元増田に書いた通りだが、東京大学の学生向けの資料であり、遊びがなく、万人向けとは言い難い人を選ぶ資料である。
よって、最初の講座としてこの資料を選ぶのは、学校の教科書・学業が大好きで、読むのが苦にならないという人だけが推奨で、それ以外の人は避けよう。
とはいえ、よくまとまっているいい資料なので、ステップアップの際に復習を兼ねて目を通す分には悪くない。
URL: https://repository.kulib.kyoto-u.ac.jp/dspace/bitstream/2433/265459/1/Version2021_10_08_01.pdf
例の3000ブクマは2019年の資料だったが2021年の資料が掲載されているので、掲示はこちらを採用した。
イラスト等も交えて丁寧に解説しているが、本題の前にコンピュータ史のようなコンテンツがあったりするのがアカデミックな資料だけあるなという印象。
あと例えば以下のようなコードがある。(資料92ページより引用)
# x の平方根を求める
x = 2
#
rnew = x
#
diff = rnew - x / rnew
if (diff < 0):
while (diff > 1.0E-6):
r1 = rnew
if (diff < 0):
※コードのインデントがうまく働いてくれなかったので仕方がなく全角スペースで表現している。不等号も全角に変えている。コピペなどの際には注意されたし。増田記法よくわからん。Markdownで書かせて!
Python の初学者に平方根の計算という問題を与えてもなぁと。元々は現役の大学生に渡す資料なので普通に解けるでしょうけども。人を選ぶというのはこういうところを加味しての発言である。
URL: https://chokkan.github.io/python/index.html
chokkan.github.io/mlnote/index.html
Python 早見帳も必要なものを一通りまとめたコンテンツになっていて東大のコンテンツに近い。既に東大のコンテンツを試した人であれば新しく試す必要性は薄いと感じる。
機械学習のコンテンツはそれなりにボリュームがあるが、やはリファレンス的な使い方がおすすめで、別の資料で基礎を学んだ後に、知識の定着度を確認するために使うと良いだろうと思う。
URL: https://cauldron.sakura.ne.jp/thinkpython/thinkpython/ThinkPython2.pdf
Pythonそのものを掘り下げた書籍。オライリーの同書籍の日本語訳版である。
端的に述べれば中級者向け教材。簡単にPythonを修めた人が更に知識を深めるために利用すると良い。
解説画像などが一切なくてもコードを読めばわかるというレベルの人におすすめ。
オライリーと聞いて内容の想像がつくような人であればまず間違いないだろう。
他言語を学んだ人がPythonを新たに学ぶ際には申し分ないと思う。一方で初心者が最初に手をだすべきとは思えない。
URL: www.kunitomo-lab.sakura.ne.jp/2021-3-3Open(S).pdf
VIA: b.hatena.ne.jp/entry/s/twitter.com/tankazunori0914/status/1451365384238428161
自分は公開されたという話があった時に読んだが速攻で挫折した。Python 初学者には必要のない資料と考えてOK。
分析をやっていきたいという人も取り敢えず P14 の練習問題を読んでみて、こういう資料で学んで行きたいと思えなかったら素直に積読しておけばいいと思うの。
ある程度分析問題をこなしたあとのステップアップに使用するのが良いかなと思える資料である。
※URLの登録数に制限があるので、一部は意図的にリンクを切っています
ひやかし程度にぶくましてるだけなら別にいいのだけども、本当に Python を習得したいのであれば、ある程度「初学者」のためのコンテンツをあたって挫折しないように学習するべきだと思っている。
Python 自体は習得しやすさとかライブラリの充実度とか結構バランスがいい言語だと思ってるので、沢山の人に普及するといいなという思いから、このようなコンテンツをまとめてみた。
誰かの役に立てばいいなぁ。
テキスト保存系では文字通り最もシンプルなインターフェイスが特徴
単純なタグによる管理しかないが、そのシンプルさでわかりやすく簡単に使えるのが利点
Markdownに対応(一部非対応)しているので、Markdownを使っている人、使ってみたい人に向いている
作ったノートをWebに公開(Publish)できるので、プレーンなテキスト(コピペとか)を公開するのに便利
Simplenoteとインターフェイスがよく似ているが、こちらはリストを軸にしたアウトラインテキストを扱う
Simplenoteのようなタグ管理機能と、アウトラインをマインドマップ形式に表示できる機能があったのだが最近有料化されてしまった
作ったノートをWebに公開(Publish)できるので、アウトライン形式のテキストを公開するのに便利
テキストのほかに画像や動画も挿入できる(左寄せ固定)ほか独自の記法で装飾が可能
タグやリンクを使ってページ間を連結することで様々な情報を管理できる。「個人版Wikipedia」とも呼ばれるWebサービス
Webへの公開・非公開はページ類全体に設定でき、ページごとの設定はできない
単純なBlogとして使うのもよし、独自に研究したり蓄積した「個人版Wikipedia」の公開するもよし
表形式のデータベースが便利なWebサービス。テーブル構築やデータ入力などがしやすくできている
カレンダーやタイムラインなどタスク管理を目的とした機能が多いが、スケジュール的な使い方をするには周期的な入力(毎週〇曜日とか)ができなかったりとちょっと足りない面がある
画像や動画も挿入可能だが、テキストは1行ごとにブロックで管理されるため、長文を扱うのは不向き
ブラウザの拡張機能や共有機能でWebページをNotionに飛ばすことができる。データベースに飛ばすと後の管理がラク
ページ(データベース)ごとにWebに公開(Publish)できるので、データベースを公開するのに便利
徹底的に単純化、抽象化することで、馬鹿でも分かるようにしてメンテナンス性を上げるとか、(もちろんドキュメントはちゃんと書け
技術者の本懐だと思うんだけど、無暗に複雑化したい、見栄えを良くしたいという考え方がまったく理解できない
そもそも、お役所関係の仕事ってフリーランスでもみんな避けたい案件で、
一度作ったら保守とか改善をしたがらないし、それはお金の決め方が民間と違うからそうなるわけで、
逆に、余ったから道路工事みたいに予算消化に協力してよみたいになって寧ろバグやセキュリティーホールを埋め込んだりとか、
予算がないならないで公務員に勝手にいじられて無茶苦茶にされたりとか、
Google Mapsなんかも公的なサイトとか企業とかはGoogleにお金払わないと使えないわけだけど、
それも決められた予算内でだったり、稟議の遅さとか、普通のお客とは大きく異なるわけで、
あと、なんか政府も含めて、DXだのカッコイイ表現をしたがったり、ナウでヤングな開発スタイルやるぜ!みたいなノリだったり、
そういうの止めた方が絶対にいいと思う
そんなの当たり前じゃん、馬鹿なんじゃないの?と思われるぐらい単純化、抽象化するのが論理的思考の基本中の基本であって、
そこまで落とし込んでもいないのに、余計なことをするもんではないと思う
手書きのHTMLが温かみがあるwみたいに馬鹿にする輩がいるが、
元の文章はMarkdownなりはてな記法なりで書いて、静的HTMLに変換して、基本的なCSSで充分見栄えも良くなる
というか、マイナンバーカードを申請しても返信がずっと来ないので、さっきまで国のマイナンバーカードのページを眺めていたのだけど、
「文言が下手」「文章が冗長」「同じことを繰り返し書いてないか?」「FAQが読みづらいレベル」
という感じで、これ住んでる県とか市のWebもそうなんだけど、もっと端的にズバッて書けるんじゃないの?
デジタル庁の採用ページも必要ないエフェクトとかアホかと思ったが、文言も駄目、やりなおしレベルだと思う
思うけど、なんかポエム書く人の方が出世したりする世の中だったりするのでウンザリする
要は、その上のオッサンや老人を感動させなければいけないみたいな圧力に従った方が出世したりするわけだけど、
まあ、ティム・バーナーズ=リーとかだったら最近はどういう意見を言うのか、JavaScriptアリアリでしょと言うのか、
単純なテキストを相互に通信するのが基本だから、みたいに言うのか興味はあるけど
いずれにせよ、公的案件を普通の案件と同じに考えると痛い目に遭うし、
デジタル庁ではそういうのはやめて、モダーンでナウでヤングにバカウケな開発スタイルでやるぜ!
とか正反対に全力疾走されても不安になるんで、そういうのはやめてくださいとしか思えない
個人的には、こういうことを言うとまた馬鹿にする輩が出てくるんだろうけど、
jQueryみたいなのちょっと添えるぐらいで、それでもJavaScript切っても動作するように書けるわけだし、
とにかく、最新最近のやり方じゃないとか馬鹿にされても、余計なことをしない、
そうすることで仕事量を減らす、
基本的にJavaScriptがなければ成立しないようなページを国が必要にするようには思えない、
フォームで充分なわけで、寧ろレガシー寄りで5年10年、下手すると20年安定することを考えるべき
一方ロシアは鉛筆を、Intelではなく並列処理させたZ80を使った、
みたいにローテクでも確実に長期に動作させることを考えるべきだと思う
JavaScriptのフレームワークの流行り廃れが変わる度に無駄な税金を使われてたまるか、
という気もする
…
なんかトラブルになったときNuxt.jsのソース読まないと困ることってないの?
Lodashだったか何だったか、ちょっと失念してしまったのだけど、
動作がおかしかったのでソース読んで、時間をかけて間違いを発見して、
報告とかプルリクしようと思ったらタイミングの差で修正されてたこととか思い出すんだけど、
中国は国家公務員としてサイバー攻撃を含むハッカーが高給で雇われているわけで、
隅から隅までLinuxなり、敵国から盗んだ技術なり、戦場で墜落したドローンとか戦闘機を拾ってきたり、ワリャーグとかそうだし、
徹底してリエンジニアリングさせると思う、自分にはそういう優れた技術力はないけど
もちろん、そうやってリエンジニアリングした組み込みOSなり、
そういった知見から独自のリアルタイムOSを開発するなりして、
それをミサイルなり戦闘機のアビオニクスなりに応用していくわけだ
(というか、最近の組み込みOS界隈とか中国も含めて熱いように思ってる
だから、最近のAWSとかを中心にした開発だと当てはまらないけど、
例えばApacheとかNGINXとかだったら、本来はそのソースもくまなく読むべきだと思う
使用しているユーザーが多いから、エコシステムが機能しているから、セキュリティーも安全だろう、
みたいな発想は国のシステムや軍需産業では相応しくないように思う
まあ、だからといってミッションクリティカルなシステムにしろとかまでは思わないが、
w3mで読めるように作ってもバチは当たらないというか、
最近のネタで言うなら、シンエヴァがちょっと盛り上がってたわけだけど、
庵野さんが、オネアミスは足し算、エヴァは引き算で作った、みたいに言ってた気がするけど、
この徹底した引き算って凄い大事な考え方だと思うんだよなあ
もちろん、テレビ版のエヴァは徹底的に引き算してもあの様になってしまったわけだけどw
徹底した足し算から、徹底した引き算に移行した、というのは凄く良い意味で理系的発想だと思う
(でも噂から想像されるシンエヴァは徹底した引き算でもなさそうなので家で観るつもりだけど
この程度でも600万は稼げるという夢を持つか、こんなのでもちょっと何かが違うだけで600万稼げるか否かが分かれてしまう業界に闇を感じるか、600万程度で何ドヤってるの?と思うかはご自由にどうぞ(外資系ってもっと稼げるの?)。
歳は30台前半。学部卒。BtoB向けのパッケージ製品の開発プロジェクトで、設計、コーディング、テストあたりを担当している。仕様について発注元との折衝もやっている。
業務で使う技術のうち、自分自身がそれなりに習得しているものだけを書く。プライベートでしか習得・使用していない技術は別。
以上。
PythonもgitもDockerもkubernetesもAnsibleもCIツールもAWSもGCPもRuby on Railsも知らなくてもなんとかなってしまっている。業務でこれらのスキルを要求されることは(今のところは)ないから。
楽でいいと思う一方、このままだと将来ヤバいとも思っている。いざ転職となったときに詰みそう。
でもいざとなったらググっていくらでも独学できるだろうとたかをくくっているので焦ってはいない。
というか「その他」のところに書いた能力が高ければ世の中大体はなんとかなるんじゃないの。知らんけど。
ちなみに自分は構築できないというだけで、プロジェクトではJenkinsとかgradleとかbabelだかwebpackだかでビルド環境は整えられている。
あとプライベートで、単純な仕様の独自言語のコンパイラフロントエンドをC++とLLVMで作っている(これで金が稼げるとは微塵も思っておらず、完全にただの趣味)。
カラーリングで、開発環境でコードが見やすくなる。マークアップ言語には、markdown, html, wikiなどがあげられると思う。
また、xml, jsonなどのデータもマークアップ言語と言ってよいだろう。
(pythonを使えば否が応でもスペース4つを空けることになるだろう。(あるいはtab一つ分))
まずは、ブラインドタッチでマークアップ言語を書き、一文字でも違うとコンピューターは、こちらの意図通りには動いてくれないという悲しみにひたらないかぎり、
全角スペース、半角スペースを目grep出来るようにならないと、プログミングは上達しないことをここに宣言したい☆