ドルオタワイ、1からプログラミングを学びたい [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
なにから手をつけていいのかすらわからんのじゃ…誰か教えてくれ 「プログラミング 勉強」「プログラミング 学習」「プログラミング 独学」でググれ。
なにから手をつければよいのか詳しく説明するサイトがぞろぞろ見つかる。
サイトを読むのは面倒だからスレで要点を教えろと思うならプログラミングを学ぶのは無理だ。
そのサイトを読む時間よりプログラミングを学ぶのにかかる時間の方が桁違いに長い。 まぁググれってのは最もなんだが、言語から選ぶとかでてくるだろ?目的自体は決まってるんだがそこの入口がどこかもわからんくてな 月並みだけど、まずどの言語を選ぶかから。
そのためには、プログラミングを覚えて何をしたいか(学ぶ目的は何か)をはっきりさせる。
ウェブ製作をしたいならHTML、など。 調べてもそもそも訳分からん固有名詞がいっぱい出てきてなぁ…いのいちは何から知っていけばいいんだかさっぱりだ まぁググれってのは最もなんだが、言語から選ぶとかでてくるだろ?目的自体は決まってるんだがそこの入口がどこかもわからんくてな ×
ググれというのはもっともなんだが、勉強したい言語を選んで勝手にやりなさいと言わんばかりのページが出てくるんだ ○
目的は決まってるんだが、それを達成するためにまず何をすればいいかがわからないんだ ○ 調べてもそもそも訳分からん固有名詞がいっぱい出てきてなぁ…いのいちは何から知っていけばいいんだかさっぱりだ ×
プログラミングについて調べても、意味がわからない固有名詞がいっぱい出てきてな ○
一番最初に何をすれば良いのかがさっぱりわからないんだ ○ いいか、プログラムは文字と文法が命だ
たった一文字を間違えるだけでもう動かない
伊達や酔狂で添削してるわけじゃないぞ
こんな滅茶苦茶な日本語を書いていて通用するようなものではないと言いたいんだ 了解した。これからは日常的に使う日本語から注意するよ それはそれとしてだな、俺の目標とする場所はweb上での自動チケット購入なんだよ。それを可能にするプログラムを作ろうと思うんだが、どの言語?が元になるんだ? それはWebシステムを作ることになるな
表示される画面など、目に見える部分を作るためにHTMLとCSSが必須
アクセスされたときの処理を書くのにプログラミング言語が必須。Web系で使われる言語なら何でも良い
PHP、Ruby、Python、JavaScript、Java、他にもいろいろあるが好きなのをどれか一つ選べ
データを保存するDBが必須。SQLがわかると良いが、最近は書けなくてもなんとかなる
これだけわかれば作れるが、実際に作ったものを稼動させるにはまだまだ知らなきゃいけないことがある
だけど多分かなり先のことだし、今は良いんじゃないかな ん? Webシステムを作るんではなくて、チケット購入サイトにアクセスして自動でチケットを買いたいんだと思ったが、
自分でサイトを構築したいって話か? 失礼俺の言葉が足りてなかったな。>>20の通り俺の目標というのはアクセスからの自動購入が可能なプログラムを組むことなんだ だったら、RubyとかPythonで、Mechanizeってライブラリとか使えばやれんこともないかもしれない可能性がなきにしもあらずだ
がんばれよ >>20-21
自動チケット購入ってそういう意味か。すまん
なら画面やDBはいらなくなって、>>18の通りRubyかPythonがわかれば良いかな
リクエストやレスポンスとか、ネットワークの知識を付けろ
プログラムでどこかのページにアクセスして内容を取ってきたり、
2chに書き込んでみたりすれば理解が深まる。そうすれば自動購入なんてあっという間だ
PythonならRequestsを使えば簡単にできるぞ 用語はわからんがプログラミングは言語ってのが基本にあってそれを選ぶところから始めるんだよな?そしてそのrubyかpythonてのが俺の目標に必要だってことだ。この二つは何が違うのかクソ文系の俺に分かるように説明してくれると非常に助かる RubyとPythonの違いぐらいググればいくらでも出てくるだろ
まず、疑問があったら自分で調べる癖をつけろ
この先、疑問なんて数え切れないぐらい出てくるぞ pythonが学術的でrubyのほうが入りやすいみたいな記述が多いんだが、実感というか経験を伴った君らの意見を聞いてみたいんだ。 今のお前のレベルならどっちでもいいだろ
Rubyの方が日本発の言語ということもあって、日本人には入りやすいかもな
ただ、俺はPythonの方が好き。これは好みの問題。 大量の総選挙投票券をスキャンして自動投票するシステム作ればいい たのしいRuby 第5版、2016
この本を買って、3回読むと、すべての言語の本を読める、基礎体力がつく >>21
これが目的ならPythonかRubyでよい。
ウェブサイトから情報を抽出する事をスクレイピングというが、
スクレイピングライブラリでウェブの操作もできる。
「Python スクレイピング」でググれ。
>>28
プログラミング言語はPythonを勧める。
Pythonの方が文法が小さいので覚える事が少ない。
Pythonは誰が書いても似たコードになるので他人のコードを読みやすい。
Pythonの方がユーザー数が多いためライブラリが豊富だ。
だから非プログラマーの学術論文でもPythonが使われる。
一方Rubyは同じ事をする方法がいくつもあるのでプログラミングが楽しい。
プログラミング自体が目的でなければRubyから入るのは遠回りだ。
データサイエンスにおけるRubyの現在の位置づけと可能性
http://www.s-itoc.jp/report/reaserch_results/439
この記事はRubyがPythonにある分野のライブラリの豊富さで
完全に負けている事を示しているが多くの分野で似た状況だ。
Python環境はJupyter Notebookを勧める。
コード修正→実行→結果記録→コード修正、の試行錯誤がとてもやりやすい。
本格的なアプリケーションを作るための開発環境はPycharmが最有力だが、
Python学習とPythonで試行錯誤ならJupyter Notebookが圧勝だ。
データサイエンティストを目指す人のpython環境構築 2016
http://qiita.com/y__sama/items/5b62d31cb7e6ed50f02c
この記事の方法でPython環境を作れ。
PythonもJupyter Notebookも必要なライブラリもAnacondaで入れろ。
この環境が初心者が>>21の近くまで行ける高速道路だ。 スクレイピングって正規表現大事なんで勉強した方がいいかも
あと、通信をスキャンして非公開APIがあるか探ったり SQLServerを初めて扱ったころ、レコードデータにお菓子系アイドルの名前入れてました。
「志村さゆき」とか知らんだろ!? >>32
かなり丁寧に指南してくれて助かる。基礎知識すら0ならrubyとpythonどちらでも変わらんと言われたんで>>32が言ってくれた様にpythonを学んでみようと思うよ。まずは書籍かwebサイトで基礎知識を学ぼうと思うんだが、なにかおすすめはあるかい? Ruby + Capybaraを強く勧める
Capybaraはブラウザを操作するためのライブラリ
RubyでWeb開発してる人はみんな使ってる
PythonにもCapybaraを真似てつくったライブラリやPython向けに移植したCapybaraもあるにはあるんだけど
Rubyの場合と違って広く使われてないので初心者が情報を得る労力が全く違うよ
ログインページにいってログインフォームにユーザー名・パスワードを入力してログインボタンをクリックするイメージ
visit/find/within/fill_in/clickあたりがCapybaraの機能
visit "https://www.ticketsite.com/login"
form = find('form[action="/check"]')
within form do
fill_in 'username', with: username
fill_in 'password', with: password
end
find('input[name="login"]').click MechanizeやPythonのRequestsはブラウザを操作するためのライブラリじゃなく
ブラウザの代わりに自分でプログラムからHTTPリクエストを発行しレスポンスを受け取って解析する処理をするためのもの
だからHTTPの詳しい知識が必須だしJavaScriptで動的に内容が変わるサイトだと初心者では対応できない
Capybaraはブラウザを操作するためのライブラリで
どこのURLへ行けとかあのボタンをクリックしろとかブラウザに指示する
下位でブラウザが動いてるので自分でリクエスト・レスポンスを意識する必要もないし
JavaScriptで動的に内容が変わるサイトでも人間が操作してる時と同じように使える >>37
それいいな
おい、>>1 これにしろ
Pythonはインデントにタブを強要されるから初心者にはエラーの原因が分かりにくいかもしれんぞ >>35
Python 3 ドキュメント
http://docs.python.jp/3/
どういうルートで学んでも結局は公式ドキュメントを読む必要がある。
公式チュートリアルが理解できるなら最初からそれで学べばよい。
ネットにはもっとやさしい入門記事もあるからPython学習に書籍は必要ない。
Pythonでゲーム作りますが何か?
http://aidiary.hatenablog.com/entry/20080507/1269694935
ゲームは動きがあるので作っていて飽きにくい。
ちなみにブログを読み進めると人工知能と機械学習の世界に連れて行かれる。
Awesome Python:素晴らしい Python フレームワーク・ライブラリ・ソフトウェア・リソースの数々
http://qiita.com/h_network21/items/34c91d4ee0b54bd7cb8b
この記事で自分がやりたい事を実現するライブラリの名前がわかる。 やっぱPtyhonはライブラリも豊富でいいな
チュートリアルもいっぱいあるみたいだし
おい、>>1 やっぱPythonにしろ
インデントも慣れればソースの可読性も上がるしいいもんだぞ >>40
そうなるよね
SeleniumはPythonに限らず主要な言語ならなんでも使えるが
Capybaraに比べてSeleniumは3倍大変
Seleniumを扱いやすくしたのがCapybara
Capybaraなら下位でSeleniumを使うこともできるし
PhantomJSみたいなヘッドレスブラウザにもそのまま切り替えられる
別にPython+Capybaraの組み合わせも出来なくはないんだけど
最近できたばっかりだしやってる奴ほとんどいないからね ブラウザを自動操作する分野の日本語書籍だとこれがオススメ
Selenium本だけど9章はCapybara
http://gihyo.jp/book/2016/978-4-7741-7894-3
ちょっと大きい本屋さんに行けばあるだろうから立ち読みしてみればいいと思う
言語別の設定方法やCapybaraやGebみたいなSeleniumの上位のライブラリについてものってる
最初に読む本としてはちょっとオーバースペックだとは思うけど 書籍とかいろんな意見くれてほんと助かるわ。あげてくれたの参考にしながらネットみつつ明日本屋行ってくる 一つ確認しとくけどそのチケット購入サイトは画像認証とか要求されない?
画像に表示されてる数字を入力してくれとか? ものによるけどされる時もあればされない時もあるわ。やっぱああゆうのには弱いのか >>46
単純一致が通用しないようにぼかしやノイズを加えた画像を使っているなら機械学習が使える。
MNIST(手書き数字7万枚セット)で学習させれば数字の特徴で判定できるようになる。
ただし、ひと桁の数字でないならこれとは別に桁ごとに分離する処理が必要だ。
3.6. scikit-learn: Python での機械学習
http://www.turbare.net/transl/scipy-lecture-notes/packages/scikit-learn/
PythonでMNISTを利用する方法まとめ
http://qiita.com/ToshikiShimizu/items/6bfacef12dafd63b1080 >>47
チケット購入サイトでDeepLeaningが必要なほどわかりにくい画像が使われるかな?
DeepLeaningはGPUがないと画像を学習させる時間が長すぎてつらい。
scikit-learnのSVM(サポートベクターマシン)では実力不足の時だけ
KerasでCNN(畳み込みニューラルネットワーク)を使えばよいと思う。
人工知能に関する断創録 > Keras
http://aidiary.hatenablog.com/archive/category/Keras 最近は画像が人間の目で辛うじて判別できるようにぼかしてあったり、マウスで絵をドラッグさせるようなものまであるからな
そうなるともういたちごっこだよ たのしいRuby 第5版、2016
この本がすべての言語の基本になる。
これを3回読むと、他の言語の本を読める、基礎体力がつく
その後「みんなのPython 第4版、2017」を読むと、よく分かる。
この2冊は表裏一体だから、たのしいRubyから読む方が、圧倒的に楽。
みんなのから読むと、難しくて分からない
教育とは、本の良し悪しじゃなくて、自分のレベルと合わせること。
これをしないから、多くの落ちこぼれが出る
自分のレベルをまず、5まで上げて、次に10まで上げて、
その次は15というように、基礎体力を付けていく
直接的に、目的に進んではダメ!
登山列車のように、遠回りしながら徐々に上がっていく
Pythonをやりたいなら、まず「たのしいRuby」から始めるべき >>46
弱い画像認証なら公開されてるツールとかで突破できるけど
Googleが機械学習のえさにしてるような強いやつはまず無理だと思っていいから
そこだけ人間で処理するようにプログラムを作ったほうが確実 簡単な突破ツールはディープラーニングなんて使わないし
プログラミングをこれから学ぶ人にいきなりそういうの自作しろとか無理ゲーでしょ
ディープラーニングを使ったCaptcha突破用のWebサービスとかもあるんだよ >>53
概ね同意するけど先に到達点を把握することも重要だと思うぞ
今は何が分かるようになればいいのかすら分かってない状況だと思うから >>53
「本の良し悪しじゃなくて、自分のレベルと合わせること」は全くその通りだ。
だからこそ「たのしいRuby」から始めるべき」はおかしい。
公式ドキュメントだけで理解できる人なら「みんなのPython」すら必要ない。
いきなり入門書を買う前にまず公式チュートリアルを読んでみるべきだ。
理解できなかったら自分に合う入門記事や入門書を探せばよい。
それと「みんなのPython」の前に3回読むなら「Pythonスタートブック」だろう。 >>57
今日本屋行ってきてそのpythonスタートブックてのも見かけたんだが、アレはpython2の指南書らしいんだ。
俺に違いは当然わからないんだがネットの入門記事を見ると最新の3から勉強した方がいいと書いてあることが多い。それでも2用の入門書で勉強してしまっても問題はないのか? >>58
Python 3に未対応のライブラリはほぼなくなった。
これから作るPythonアプリケーションはPython 3で作るべきだ。
だから「Pythonスタートブック」だけを読んでPython 3の本や
公式ドキュメントは読まずに済ませるつもりなら問題がある。
Python入門書の定番は「みんなのPython」だ。
Jupyterの解説も載っているからネットでの情報収集を省略できる。
「Pythonスタートブック」は「みんなのPython」や
公式ドキュメントが理解できない人のための入門の入門だ。
まず易しい「Pythonスタートブック」で基本を勉強してから
Python 3について詳しく勉強するのは別に問題ない。
でも「みんなのPython」や公式ドキュメントを
理解できるなら「Pythonスタートブック」は必要ない。
ちなみにPython 2で書かれたソースを読むために
Python 2の文法を知りたいなら公式ドキュメントを読めばよい。
Python 2 ドキュメント
https://docs.python.jp/2/ >>58
本来、言語一つ覚えたくらいでは、何でも出来る達人にはなれない
用途に応じて2つ3つ身につけて使い分けるもの
よって Python2 Python3 をよく似た言語として覚えればそれでいい >>62
Webで自動チケット購入ができるようになりたいって言ってるんだから
まずそれが達成できるようなアドバイスしてやれよ
いきなり達人の話されても困るわw エクセルのマクロの記録のように、
Selenium IDE とか、マジックマウスなどで、ブラウザ操作を記録すれば? 1回チケット買う時に記録して
それを使ってまた繰り返し同じ操作で同じチケットでも買うのかい?
記録するのは補助でしかないんだから中身理解しないと使えないよ チケット発売日のチケット争奪戦に使いたいなら、マルチスレッドで同時に複数のリクエスト投げないとだめかもしれない
実直にリクエストがタイムアウトするまで待ってたら、つながった頃には売り切れてる PHPはいいんじゃないですか。ドルが好きなんですよね。 本屋行って立ち読みした結果みんなのPython買ってきたわ。わからんとこあってもなんとなく理解した気で進んでると結構楽しいなこれ。 で、でたー悪くない言語なのに古くなったというだけで捨てられたperl奴〜 なんでもpythonの馬鹿がいるようだな
山のように書籍を紹介してどんだけ目的達成のために迂回させるつもりなんだよ、スクリプト使ってる意味がねえんだよそれじゃあ
この問題の解決策はどう考えてもUWSCが第一選択だろ、マクロでゴリ押すのが正解、そしてなんでも解決できる
これでダメなら諦めとけ
まるでユースケースが見えないんだけど、たぶんチケット発注戦争に参加したいんだろうな
結局マクロでどうにもならんなら他でもどうにもならん
他の手順を採用するなら言語のまえにhttpのGet postとhtml、javascriptぐらい読めんと話にならない
でjavascript読めるならjavascriptで解決したほうが早くねってなるわけだよ
きっと沢山のライブラリがある→俺もすごいってなってんだろうな
selenium使うにしてもdomは常識だという前提でライブラリ設計されてるだろっていうことがわかんねんだな
それでもスクリプト覚えるなら日本語が充実しているrubyのほうがまだいいのにpython押してる奴はいったいなんなんでしょうね 絶対プログラムを探求することに溺れて目的を見失うパターンやこれは
そもそも高度な言語っていうのは歴史を踏まえたうえで作られてるわけで、いきなりパラシュートで落下しようたって無理なもんは無理 良くわかんないけど、UWSCってのは確実に発生するであろうネットワークの遅延に対応できるの?
鯖から応答が返ってきてないのに勝手に次の操作したりしない? >>74
なんでもPython馬鹿には半分同意
でもUWSCよりCapybaraのほうが簡単 基本を学ぶならCからじゃないの?途中を知らんから適当だがww >>54-55
GoogleのreCAPTCHAはGoogle Cloud Vision APIでも無理だから、
ツールで突破失敗したらリトライ画像は自分で読むのが現実的だね。
人力解除サービスで1000回解除を数十円から数百円で買えるけど
コンサートチケット購入目的なら自力解除が面倒な回数ではないだろう。
機械学習×Webアプリ診断:Cloud Vision APIでCAPTCHAを認識する
http://qiita.com/bbr_bbq/items/9005e7b766898e04980b
歪んだ文字を入力する「CAPTCHA」の突破方法は盲点だった
http://kcszk.com/blog/archives/7772
画像認証を自動で解除するCaptcha機能の使い方 2Captcha
http://mongo.s25.xrea.com/x/wp/archives/2238
GoogleのreCAPTCHA、セキュリティリサーチャーに破られる
https://blog.kaspersky.co.jp/googles-recaptcha-defeated-by-security-researchers/11089/ >>81
音声CAPTCHAは画像CAPTCHAほど攻防が激しくないのかもね。
スパム避けに使われるGoogleの「reCAPTCHA」を自動的に99%以上突破するスクリプトが登場
http://gigazine.net/news/20120601-recaptcha-briefly-cracked/
GoogleのCAPTCHAをGoogle APIで破る方法見つかる
http://news.mynavi.jp/news/2017/03/04/149/ >>36>>37>>42
PythonでもCapybaraを使うのが簡単だけど、できたばかりだけあって
capybara-pyの使い方を日本語で解説しているページがないね。
でもAPIがRuby版のベタ移植なのでRuby用の記事を参考にできると思う。
capybara-py
https://pypi.python.org/pypi/capybara-py
>Ported to Python by Ian Lesperance, from the original Ruby library by Jonas Nicklas.
Capybara Documentation (Python版)
https://elliterate.github.io/capybara.py/
Capybara Documentation (Ruby版)
http://www.rubydoc.info/github/teamcapybara/capybara/master >>83
Pythonの場合はSplinterのほうが少し情報が多いかも
Seleniumを直接使ってる人のほうが多いから日本語はどっちにしても少ない それってrubyとpython両方よめねえと結局成り立たなくねって話なんですよ
日本語読めてpython読めたらrubyも読めるし、ライブラリの意味論もわかったことになるのか
なーんで迂回させようとするんだろうね
言語マスターからするとどの言語でもそんなにかわらん、注文を細かくすればするほど様々な知識が必要になるだけで、自動操作だけならそれこそexcelvbaがベストだったりする
seleniumは下手すると対策されるからね SeleniumはCaptchaみたいなボット対策以外での対策は無理だよ
ところでVBAでクローリングとかすごいね
ちょっと尊敬するわ >>86
別人だけど、mshtmlとbrowserのどっちゃでもやれるよ
前者は早いけど画面には特に何もでない、後者はIEをポチる感じ(なので遅いが手操作が再現可能) 2系からの移行組ならアレだろうけど
(ほぼ)初めてのpython経験が他人のコード読むことだった俺の意見では
ちょっとpython分かりづらい、見たのは2/3両対応の奴
今これbyteなん? stringなん? とか意味取れてないと例外でるでそ
小手調べの「printでデバッグ」→無事死亡(文字列だと思った? 残念、byteでした!)
あーこれがあの悪名高きbyte-string問題か……めんどくせぇな
初心者がpython触ったら「なぜか動かないふざけんな」系のことを言い出しそうな気がする 確かに、Pythonはごちゃごちゃしてるイメージ。
コードが同じようにしか書けない、可読性がいい、美しいとか言われてるけど、??って感じ。
あれ、本気で言ってるんかね? 下手くそなPythonコードみてPython批判とか
バカは大人しくスクラッチやってろ Pythonはコードがヘビみたいにくねくねしてるイメージ
Rubyは宝石のようにきらびやか >>91
Haskellライクの型宣言をするのをやっちゃうと、汚く見えるよ。いくら上手いと言われているコードでも。
ウパニシャッド哲学を知らずに西洋神学を至上とする西洋人に見えるよ、Pythonistaと自称する人達は。 >>1も、C -> Haskellの順にやるといいよ。Lispを途中に入れて。
一流の言語を母語にしてからクレオールに触れた方が良い。 >>90
>コードが同じようにしか書けない
これってPythonってこういう書き方もできないの!?っていうのに対する言い訳だろうね
可読性にしてもぱっと見はインデントのおかげで括弧が少なくていい感じに見えるけど
selfの強制とか__name__みたいなアンスコ多用とかで不要なノイズが多すぎる python3のsubprocess.Popenにさっき刺されたところ
stdout=subprocess.PIPE な引数を付けてる奴
引数のuniversal_newlinesがtrue -> TextIOWrapperを返す
引数のuniversal_newlinesがtrue -> BufferedReaderを返す
マニュアルをしばらく眺めて「なんでそんなことにしてるんスか orz」みたいな気分になったよ あー、true/trueとか意味わかんねぇぞ俺 orz falseじゃないか
某所にパッチ投げる前後から(ってか今現在も)なんか妙にビクビクしてる感じだし
慣れの問題もあるっちゃあるんだと思うけど、何分pythonはほとんどわかっちゃいねえ次第 どうやら、Pythonの勝ちのようだな
ttp://www.tiobe.com/tiobe-index/ pythonは明らかに遠回りだけど、もう本かっちゃったならそれでいいよ
正直、ああだこうだ理由つけてpython進めるけど、1は単に自動発注したいってだけの話だったやん
なのにtiobeとか、お決まりのロジックで宣伝してる奴は何もプログラミングしてねえんだろうなとおもってしまう
考え方がモラトリアムのそれで、仕事やプロジェクトとしての思考法じゃねえんだもの
pythonすごい→おれすごいはわかったからさ ■ このスレッドは過去ログ倉庫に格納されています