質問する前にGoogleで検索しましょう。 http://www.google.com/
プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。
Javascript は Web 制作板、CGI は Web プログラミング板へ。
業界談義、愚痴はプログラマ板へどうぞ。
ゲーム関係の話題はゲーム製作板へどうぞ。
ネタ、板とは関係の無い話題はご遠慮ください。
前スレ
スレ立てるまでもない質問はここで 145匹目
http://echo.2ch.net/test/read.cgi/tech/1483755167/
探検
スレ立てるまでもない質問はここで 146匹目©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2017/02/23(木) 13:55:17.04ID:OAGoqT7f
122デフォルトの名無しさん
2017/08/30(水) 07:40:49.12ID:1xtdX2a2 >>121
片山博文MZのトリップも何度も流出してる。
片山博文MZのトリップも何度も流出してる。
123デフォルトの名無しさん
2017/08/30(水) 12:33:51.69ID:FcBhm7qE >>122
そうなんですか。プロはやっぱり凄いですね。
しかし流出したトリップを使って、なりすます人って存在したのでしょうか?
過去に存在したとする一体どんな心境で、なりすますんでしょうね?
話がズレましたね。
ご返答ありがとうございました。
そうなんですか。プロはやっぱり凄いですね。
しかし流出したトリップを使って、なりすます人って存在したのでしょうか?
過去に存在したとする一体どんな心境で、なりすますんでしょうね?
話がズレましたね。
ご返答ありがとうございました。
124デフォルトの名無しさん
2017/08/30(水) 20:51:28.91ID:nbDkZ4Vq 関数の依存関係をグラフィカルに表示できるIDEはありませんか?
関数Aが関数Bと関数Cを呼び出して,関数Bが関数Dを呼び出して…というのを相関図みたいに表示出来るものはありますか?
関数Aが関数Bと関数Cを呼び出して,関数Bが関数Dを呼び出して…というのを相関図みたいに表示出来るものはありますか?
125デフォルトの名無しさん
2017/08/30(水) 22:23:29.71ID:q4Wjjeh8 ありません
再帰関数とかどう表示したらいいの
再帰関数とかどう表示したらいいの
126デフォルトの名無しさん
2017/08/30(水) 22:29:24.71ID:lE/piHRT ループ描けばいいんじゃね
127デフォルトの名無しさん
2017/08/30(水) 22:34:02.84ID:AIW55pOF128デフォルトの名無しさん
2017/08/30(水) 22:42:03.31ID:AIW55pOF こっちのほうがそれっぽいかな。使ったことないけど。
http://www.aicp.co.jp/products/codesonar.shtml
http://www.aicp.co.jp/products/codesonar.shtml
129デフォルトの名無しさん
2017/08/30(水) 22:51:47.16ID:t1uAI5x9 解析ツールならそれなりにあるんじゃないの、understandとか
https://www.techmatrix.co.jp/product/understand/index.html
諸々の解析に役立つのは確かだけど、高いし個人で買おうとは思わないな
ソース読むだけなら、tagで十分
https://www.techmatrix.co.jp/product/understand/index.html
諸々の解析に役立つのは確かだけど、高いし個人で買おうとは思わないな
ソース読むだけなら、tagで十分
130デフォルトの名無しさん
2017/08/30(水) 23:05:37.38ID:GReeviPR 数学とか計算機科学に超詳しくなったら絶対に人生変わりますよね?
131デフォルトの名無しさん
2017/08/30(水) 23:07:19.21ID:nUOql6bX >>124
正しく設計しろ
正しく設計しろ
132デフォルトの名無しさん
2017/08/30(水) 23:12:45.76ID:nUOql6bX133デフォルトの名無しさん
2017/08/30(水) 23:57:17.29ID:M+3IdRJz >>130
金持ちになるかは別だけどね。
有名な数学者の一人は反戦して牢屋に入れられた時が一番数学に集中出来たとか言ってるし。
おいらも転職中は貯金切り崩してたから趣味が数学に偏った。
違う意味での豊かさ(心の豊かさ)は得られたかな。
一応言っておくとプログラミングには数学的センスは必要だけど、数学そのものは必須じゃないよ。
フーリエ変換覚えても、そもそもの変換するべきファイルのデータ構造知らんと何も出来ない。
逆にデータ構造さえ知ってれば、フーリエ変換知らなくても効率はともかく力押しで変換は出来る。
※フーリエ変換は大雑把に言えばアナログデータをデジタルデータに変換する。
金持ちになるかは別だけどね。
有名な数学者の一人は反戦して牢屋に入れられた時が一番数学に集中出来たとか言ってるし。
おいらも転職中は貯金切り崩してたから趣味が数学に偏った。
違う意味での豊かさ(心の豊かさ)は得られたかな。
一応言っておくとプログラミングには数学的センスは必要だけど、数学そのものは必須じゃないよ。
フーリエ変換覚えても、そもそもの変換するべきファイルのデータ構造知らんと何も出来ない。
逆にデータ構造さえ知ってれば、フーリエ変換知らなくても効率はともかく力押しで変換は出来る。
※フーリエ変換は大雑把に言えばアナログデータをデジタルデータに変換する。
134デフォルトの名無しさん
2017/08/31(木) 00:40:36.76ID:J2aSRpVx >>124
言語によってツールも違うよ
NDepend, JArchitect, Structure101, Doxygenなどなど
https://www.google.co.jp/search?q=doxygen+call+graph&tbm=isch
言語によってツールも違うよ
NDepend, JArchitect, Structure101, Doxygenなどなど
https://www.google.co.jp/search?q=doxygen+call+graph&tbm=isch
135デフォルトの名無しさん
2017/08/31(木) 04:42:13.97ID:1kAGjjBE136デフォルトの名無しさん
2017/08/31(木) 07:57:14.76ID:pAkIh2F5 >>124
QA Cに含まれてる
QA Cに含まれてる
137デフォルトの名無しさん
2017/08/31(木) 10:07:05.23ID:1kAGjjBE >>136
ありがとう。
いろいろとハードルが高いですね。当方は自営業のシステムを自分で管理している程度なので、なかなか決断できませんね。
お金が余ったらunderstandを買ってみたいですね。
とりあえず手始めにhttp://www.vector.co.jp/soft/win95/prog/se308859.htmlを買ってみます。
ありがとう。
いろいろとハードルが高いですね。当方は自営業のシステムを自分で管理している程度なので、なかなか決断できませんね。
お金が余ったらunderstandを買ってみたいですね。
とりあえず手始めにhttp://www.vector.co.jp/soft/win95/prog/se308859.htmlを買ってみます。
138デフォルトの名無しさん
2017/08/31(木) 11:15:32.78ID:PxNjJG10139デフォルトの名無しさん
2017/08/31(木) 12:54:48.58ID:1kAGjjBE >>138
なるほど。いい手を教えていただきありがとうございます。
それにしても、understandが手元にあればオープンソースのコードを片端から解析して楽しいだろうな、と思いますね。
その後はリバースエンジニアリングに手を出していろいろ遊べそうと夢想してしまいます。
なるほど。いい手を教えていただきありがとうございます。
それにしても、understandが手元にあればオープンソースのコードを片端から解析して楽しいだろうな、と思いますね。
その後はリバースエンジニアリングに手を出していろいろ遊べそうと夢想してしまいます。
140デフォルトの名無しさん
2017/08/31(木) 16:59:53.90ID:j9odL7Qq オブジェクト指向での設計についてなんですが
たとえばWebスクレイピングで画像をダウンロードするアプリの場合なのですが
「リスト一覧ページ」、「画像リストページ」、「画像ファイル」とありまして
まずリスト一覧ページのDOMを取得し、それから画像リストページのURLを抽出します
それから画像リストページをDOMを取得し、各画像ファイルのURLを取得します
そして各画像ファイルのDOMを取得し、画像ファイルのURLを取得し画像をダウンロードするんですが、クラス分けとしては
・リスト一覧ページからWebスクレイピングするクラス
・画像リストページからWebスクレイピングするクラス
・画像をダウンロードするクラス
こういう感じにわけるのでしょうか?細かく分ける理由がわからないのですが教えてください
たとえばWebスクレイピングで画像をダウンロードするアプリの場合なのですが
「リスト一覧ページ」、「画像リストページ」、「画像ファイル」とありまして
まずリスト一覧ページのDOMを取得し、それから画像リストページのURLを抽出します
それから画像リストページをDOMを取得し、各画像ファイルのURLを取得します
そして各画像ファイルのDOMを取得し、画像ファイルのURLを取得し画像をダウンロードするんですが、クラス分けとしては
・リスト一覧ページからWebスクレイピングするクラス
・画像リストページからWebスクレイピングするクラス
・画像をダウンロードするクラス
こういう感じにわけるのでしょうか?細かく分ける理由がわからないのですが教えてください
141デフォルトの名無しさん
2017/08/31(木) 17:44:45.63ID:Vr+Gp9oD 担当を分けて保守しやすくするってだけじゃだめなのか?
会社やクライアントの要求でもないのなら好きにしろよ
会社やクライアントの要求でもないのなら好きにしろよ
142デフォルトの名無しさん
2017/08/31(木) 18:31:34.76ID:J2aSRpVx >>140
Webスクレイピングの場合は各ページを抽象化したクラスを1つずつ用意して
実際にスクレイピングする部分は別クラスでやるのが常套手段
ページごとにクラスを用意するのはPageObjectパターンつって
スクレイピング対象のページの構造が変わっても、スクレイピングする処理部分のコードを変更しなくてもいいようにするため
細かく分けるのはある仕様変更に対して、コードの変更を一箇所にするため
便利さが分からないうちは分けなくてもいいと思う
Webスクレイピングの場合は各ページを抽象化したクラスを1つずつ用意して
実際にスクレイピングする部分は別クラスでやるのが常套手段
ページごとにクラスを用意するのはPageObjectパターンつって
スクレイピング対象のページの構造が変わっても、スクレイピングする処理部分のコードを変更しなくてもいいようにするため
細かく分けるのはある仕様変更に対して、コードの変更を一箇所にするため
便利さが分からないうちは分けなくてもいいと思う
143デフォルトの名無しさん
2017/09/01(金) 04:31:50.75ID:rLv0uJJn >>140
WebPage
-------------
URL
HttpClient
-------------
getDOM
scrape
ListPage->WebPage
--------------
getList
ContentPage->WebPage
--------------
getImage
例えばこうすれば、
ListPageとContentPageはビジネスロジックの記述に集中できる
新しいPageが増えても記述が少ない
httpについて知らない人でも書ける
http周りでバグがあってもWebPageだけ直せばいい
どこまでを専用のクラス、ライブラリなどの既存クラスにするかは設計次第
WebPage
-------------
URL
HttpClient
-------------
getDOM
scrape
ListPage->WebPage
--------------
getList
ContentPage->WebPage
--------------
getImage
例えばこうすれば、
ListPageとContentPageはビジネスロジックの記述に集中できる
新しいPageが増えても記述が少ない
httpについて知らない人でも書ける
http周りでバグがあってもWebPageだけ直せばいい
どこまでを専用のクラス、ライブラリなどの既存クラスにするかは設計次第
144デフォルトの名無しさん
2017/09/01(金) 04:34:50.31ID:rLv0uJJn DOMでパースできるようなページなら
専用のクラスでなくてxpathで指定してスクレイピングするだけていいかも知れないし
専用のクラスでなくてxpathで指定してスクレイピングするだけていいかも知れないし
145デフォルトの名無しさん
2017/09/01(金) 06:54:39.17ID:RTadbuNn curl, wget コマンドで、ダウンロードできる。
特に、wgetでは再帰的なダウンロードができる
wget を、高機能にしたのは、Ruby の、Anemone。
どのページを巡回するかなど、フィルターが充実している。
より高機能なのは、Selenuim か、PhantomJS を使った、Poltergeist
だから、この部分までが、1つのクラス
次のクラスは、XML/HTML の解析部分。
ここでは、Ruby, Groovy, jQuery(JavaScript) など、
各言語を切り替えられるようにしておく
最後に、データの保存では、ファイル、SQLite3, Mongo, MySQL など、
ファイル/DB を切り替えられるように、別のクラスにしておく
特に、wgetでは再帰的なダウンロードができる
wget を、高機能にしたのは、Ruby の、Anemone。
どのページを巡回するかなど、フィルターが充実している。
より高機能なのは、Selenuim か、PhantomJS を使った、Poltergeist
だから、この部分までが、1つのクラス
次のクラスは、XML/HTML の解析部分。
ここでは、Ruby, Groovy, jQuery(JavaScript) など、
各言語を切り替えられるようにしておく
最後に、データの保存では、ファイル、SQLite3, Mongo, MySQL など、
ファイル/DB を切り替えられるように、別のクラスにしておく
146デフォルトの名無しさん
2017/09/02(土) 12:25:08.34ID:qzG0zbyB 初心者なんですが、PHPを利用するにあたって仮想サーバーをたてるのにlocalhostを使いたいのですが表示されません。どなたか詳しくおしえてもらえないでしょうか?
147デフォルトの名無しさん
2017/09/02(土) 14:32:09.73ID:3rQ39W6S148デフォルトの名無しさん
2017/09/02(土) 14:33:58.08ID:x3xo3AHA 謝辞から奥付までな!
149片山博文MZ ◆T6xkBnTXz7B0
2017/09/02(土) 14:38:54.71ID:bEjlZdoB150デフォルトの名無しさん
2017/09/02(土) 16:48:11.33ID:CJZVlBwp よくこんな>>146みたいな文章で何やってるかわかるな
151片山博文MZ ◆T6xkBnTXz7B0
2017/09/02(土) 17:02:57.47ID:bEjlZdoB ローカルサーバーに困ったらXAMPPにおまかせ。
152デフォルトの名無しさん
2017/09/02(土) 17:41:09.43ID:zcwYWazW 命名ルールについて質問です
変数・メソッドの命名で言葉の区切りを大文字で表す・アンダースコア "_"で区切るというのがありますが、
その区切りの程度、どこまでを一語としていいか迷っています
例が乏しいですが、javaのapiを見たところ必ずしもルールに沿ってるとは言い難い気がします
filename 一語としていいような気がするけど、厳格にルールを適用するなら二語じゃないの?
fileSystem 二語でいいような気がするが、なぜ一語ではないのか?
arraycopy getenv これは絶対二語であるべきだと思う
他にも仮にPlayStationなんて語で命名しようとした場合、
ルール的にもsonyの表記的にもPlayStation
商品名として一つのものだからPlaystation
どうすればいいかわかりません
なにか判断基準があれば教えてください
変数・メソッドの命名で言葉の区切りを大文字で表す・アンダースコア "_"で区切るというのがありますが、
その区切りの程度、どこまでを一語としていいか迷っています
例が乏しいですが、javaのapiを見たところ必ずしもルールに沿ってるとは言い難い気がします
filename 一語としていいような気がするけど、厳格にルールを適用するなら二語じゃないの?
fileSystem 二語でいいような気がするが、なぜ一語ではないのか?
arraycopy getenv これは絶対二語であるべきだと思う
他にも仮にPlayStationなんて語で命名しようとした場合、
ルール的にもsonyの表記的にもPlayStation
商品名として一つのものだからPlaystation
どうすればいいかわかりません
なにか判断基準があれば教えてください
153デフォルトの名無しさん
2017/09/02(土) 17:41:58.98ID:FxmYDPin154デフォルトの名無しさん
2017/09/02(土) 18:12:22.34ID:Ti9M8tGK >>152
filenameもfilesystemも2語だと思うけど、1語として扱われることが
多いのならどっちも正解ってことなのでは?
商標は正しい表記をSONYが決めている(登録している)はず
https://google.github.io/styleguide/javaguide.html#s5.3-camel-case
Note: Some words are ambiguously hyphenated in the English language: for
example "nonempty" and "non-empty" are both correct, so the method names
checkNonempty and checkNonEmpty are likewise both correct.
filenameもfilesystemも2語だと思うけど、1語として扱われることが
多いのならどっちも正解ってことなのでは?
商標は正しい表記をSONYが決めている(登録している)はず
https://google.github.io/styleguide/javaguide.html#s5.3-camel-case
Note: Some words are ambiguously hyphenated in the English language: for
example "nonempty" and "non-empty" are both correct, so the method names
checkNonempty and checkNonEmpty are likewise both correct.
155デフォルトの名無しさん
2017/09/02(土) 22:55:25.31ID:9PaYDv7F >>152
arraycopyやgetenvは古くて今の命名規約には従ってない
今から新しく追加するならarrayCopy, getEnvになるはず
filenameはfile nameよりも
file systemはfilesystemよりも一般的に使われてるからだろうね
ググって件数比較してみるといい
ただ完璧なルールなんてないから
ある程度は自分で決めていくしかない
fileSizeなのかfilesizeなのかfile.sizeなのか
arraycopyやgetenvは古くて今の命名規約には従ってない
今から新しく追加するならarrayCopy, getEnvになるはず
filenameはfile nameよりも
file systemはfilesystemよりも一般的に使われてるからだろうね
ググって件数比較してみるといい
ただ完璧なルールなんてないから
ある程度は自分で決めていくしかない
fileSizeなのかfilesizeなのかfile.sizeなのか
156デフォルトの名無しさん
2017/09/03(日) 01:54:20.12ID:Jl5mn7um >>154>>155
>>arraycopyやgetenvは古くて今の命名規約には従ってない
そうだったのですか、てっきりその辺のルールは昔から揺ぎ無く定められているものだと思っていました
天下のgoogle様ならその点ばしっと切り分けてくれると思いきや
"nonempty","non-empty"どっちも正しい、とかまた迷わせてくれる…
正直その自由がめんどくさい
なので私は表記的に不恰好かもだけど迷わなくて済む厳格なルール
fileName fileSystem arrayCopy getEnv fileSize
でやっていこうと思います
ありがとうございました
>>arraycopyやgetenvは古くて今の命名規約には従ってない
そうだったのですか、てっきりその辺のルールは昔から揺ぎ無く定められているものだと思っていました
天下のgoogle様ならその点ばしっと切り分けてくれると思いきや
"nonempty","non-empty"どっちも正しい、とかまた迷わせてくれる…
正直その自由がめんどくさい
なので私は表記的に不恰好かもだけど迷わなくて済む厳格なルール
fileName fileSystem arrayCopy getEnv fileSize
でやっていこうと思います
ありがとうございました
157デフォルトの名無しさん
2017/09/03(日) 07:16:55.75ID:e9mk7X/B Camel case
getEnv : 先頭が小文字のものは、メソッド名などに使う。
FileSystem : 先頭が大文字のものは、クラス名などに使う
Snake case
file_size : 変数名に使う
FILE_SIZE : 定数に使う
getEnv : 先頭が小文字のものは、メソッド名などに使う。
FileSystem : 先頭が大文字のものは、クラス名などに使う
Snake case
file_size : 変数名に使う
FILE_SIZE : 定数に使う
158デフォルトの名無しさん
2017/09/03(日) 07:40:43.90ID:ne8qPBqk159デフォルトの名無しさん
2017/09/03(日) 09:56:57.49ID:iWD2f3RZ 超天才数学者と超天才建築学者はどっちの方が知能が高いのでしょうか?
160デフォルトの名無しさん
2017/09/03(日) 11:01:09.93ID:DIhXI1rF 知能が高い=金が稼げる と考えるならば
建築家の方では?
建築家の方では?
161デフォルトの名無しさん
2017/09/03(日) 11:49:31.26ID:uAsVKsme 映像編集に関して教えてほしいのですが、
例えば、スターウォーズみたいな、巨額の資金を投入して作られる映画の
映像編集ってどんなものなのでしょうか?技術的にはどんなものが使われるのでしょうか?また、そういった映像編集のプロの人がいるのでしょうか?いるとしたら、その人の映像編集のスキルとか、どんな技術を使っているのかなどが知りたいです。
そもそもそういう映画の編集とかって難しいものなのでしょうか?
撮影や編集の機材に関してもいろいろ知りたいです。
カメラは当然超高性能のデカイのを使っているのでしょうが。
スタジオとかも当然あるんですよね?
アメリカ映画を製作する時に使われる撮影や編集機材は、YouTuberが使用している撮影や編集機材などと比べると、使いこなすのに相当勉強したりしないと無理ですか?
あと、機能的にはどうでしょうか?
やっぱりYouTuberが使用しているような撮影や編集機材に比べれば比較にならないほど高性能なのでしょうか?
いろいろ教えてください。
例えば、スターウォーズみたいな、巨額の資金を投入して作られる映画の
映像編集ってどんなものなのでしょうか?技術的にはどんなものが使われるのでしょうか?また、そういった映像編集のプロの人がいるのでしょうか?いるとしたら、その人の映像編集のスキルとか、どんな技術を使っているのかなどが知りたいです。
そもそもそういう映画の編集とかって難しいものなのでしょうか?
撮影や編集の機材に関してもいろいろ知りたいです。
カメラは当然超高性能のデカイのを使っているのでしょうが。
スタジオとかも当然あるんですよね?
アメリカ映画を製作する時に使われる撮影や編集機材は、YouTuberが使用している撮影や編集機材などと比べると、使いこなすのに相当勉強したりしないと無理ですか?
あと、機能的にはどうでしょうか?
やっぱりYouTuberが使用しているような撮影や編集機材に比べれば比較にならないほど高性能なのでしょうか?
いろいろ教えてください。
162デフォルトの名無しさん
2017/09/03(日) 11:51:16.79ID:3IeB+7r0163デフォルトの名無しさん
2017/09/03(日) 13:26:23.87ID:n/pG+QVM 構うな
164デフォルトの名無しさん
2017/09/03(日) 18:10:16.82ID:skndupQG Chinema4D
165デフォルトの名無しさん
2017/09/03(日) 20:22:12.21ID:xf4c8ggn 言語始めるとしたら、
Apple=Swift、Microsoft=C#、Google=Python
なイメージでいいの?
Apple=Swift、Microsoft=C#、Google=Python
なイメージでいいの?
166デフォルトの名無しさん
2017/09/03(日) 22:27:38.63ID:qkpMKllN 就活対策?
167デフォルトの名無しさん
2017/09/03(日) 23:13:19.11ID:LluVimQv >>165
Google: C++ >>> Java/Go/JavaScript >>>>>>>>>> Python
PythonはGoogleで使われてる言語なんだぜ!
みたいな人がたまにいるけどメイン言語としては使われてないからね
Google: C++ >>> Java/Go/JavaScript >>>>>>>>>> Python
PythonはGoogleで使われてる言語なんだぜ!
みたいな人がたまにいるけどメイン言語としては使われてないからね
168デフォルトの名無しさん
2017/09/04(月) 03:01:58.47ID:jZ4EJkqS 自分は生まれつきもの凄く頭が悪いのですが、東京大学理学部数学科に入って数学を学びたいという目標があります。
生まれつきもの凄く頭が悪い人でも、人並み外れた努力を積み重ねれば、その目標を実現することはできると思いますか?
どうでしょうか?
生まれつきもの凄く頭が悪い人でも、人並み外れた努力を積み重ねれば、その目標を実現することはできると思いますか?
どうでしょうか?
169デフォルトの名無しさん
2017/09/04(月) 03:45:51.07ID:KUepcu9z 生まれつきなら無理だろ
170デフォルトの名無しさん
2017/09/04(月) 05:36:00.01ID:7T+ccfEh 失礼します。
今まで使えていたwriteprocessmemory 等を用いてプロセスアタッチを行なっていたのですが急に動作が不安定になり10回中2回ほどしか成功しません。
別PC(ネットカフェ)環境からだと問題なく動作します。
PC自体に負荷をかけるようなことを行なっていたためパーツ側に何か問題があると見ていまして、このような症状をご存知の方教えて下さい。
今まで使えていたwriteprocessmemory 等を用いてプロセスアタッチを行なっていたのですが急に動作が不安定になり10回中2回ほどしか成功しません。
別PC(ネットカフェ)環境からだと問題なく動作します。
PC自体に負荷をかけるようなことを行なっていたためパーツ側に何か問題があると見ていまして、このような症状をご存知の方教えて下さい。
171デフォルトの名無しさん
2017/09/04(月) 13:08:49.43ID:Dvco0PWY マルチーズ
172デフォルトの名無しさん
2017/09/06(水) 15:04:34.36ID:p7vL1/ES ミスしたプログラマは5億支払うんですか?
http://www3.nhk.or.jp/news/html/20170905/k10011128071000.html
http://www3.nhk.or.jp/news/html/20170905/k10011128071000.html
173デフォルトの名無しさん
2017/09/06(水) 19:38:46.70ID:5aagc8fK そらそうだ
174デフォルトの名無しさん
2017/09/06(水) 21:08:43.29ID:sZnGJ0d2 pythonってなんか変な哲学(zen?)を押し付けてくるイメージがあり嫌いでした。
今学期から新たにpythonの授業が始まるのですが、実際は作者のこだわりの強い押し付けがましい言語なのですか?
今学期から新たにpythonの授業が始まるのですが、実際は作者のこだわりの強い押し付けがましい言語なのですか?
175デフォルトの名無しさん
2017/09/06(水) 21:32:32.17ID:tZ2T0w/m >>174
The Zen of Python自体は特に押し付けがましいものじゃないよ
それにその哲学が実際に機能してない部分も多々ある
ただ、
swtich/caseできないの?
三項演算子もないの?
正規表現リテラルないの
なんでself毎回書かないといけないの?
…
みたいな文句を言うと
なにかとZen of Pythonを言い訳として引用するPython信者が多いから印象は悪い
グイドも押し付けがましいというより独善的という印象
対応しないことに対する言い訳が多め
言語としてそんな悪いわけじゃないから一旦学んで
メインで使っていくかどうか自分で決めればいいよ
機械学習・自然言語処理・統計みたいなのをやるつもりなら
言語が嫌いでもPythonは必須
The Zen of Python自体は特に押し付けがましいものじゃないよ
それにその哲学が実際に機能してない部分も多々ある
ただ、
swtich/caseできないの?
三項演算子もないの?
正規表現リテラルないの
なんでself毎回書かないといけないの?
…
みたいな文句を言うと
なにかとZen of Pythonを言い訳として引用するPython信者が多いから印象は悪い
グイドも押し付けがましいというより独善的という印象
対応しないことに対する言い訳が多め
言語としてそんな悪いわけじゃないから一旦学んで
メインで使っていくかどうか自分で決めればいいよ
機械学習・自然言語処理・統計みたいなのをやるつもりなら
言語が嫌いでもPythonは必須
176デフォルトの名無しさん
2017/09/07(木) 00:45:05.55ID:OOPim2+O 理屈は正しくてもPythonというコードのせいでその正しさが歪められることが有るからね
例えばこれ(この例を考えた人が誰かは知らんけど)
http://qiita.com/IshitaTakeshi/items/e4145921c8dbf7ba57ef#sparse-is-better-than-dense
> if i>0: return sqrt(i)
> elif i==0: return 0
> else: return 1j * sqrt(-i)
>
> if i > 0:
> return sqrt(i)
> elif i == 0:
> return 0
> else:
> return 1j * sqrt(-i)
>
> 上のコードと下のコード、どちらのほうが読みやすいだろうか。
例えばこれ(この例を考えた人が誰かは知らんけど)
http://qiita.com/IshitaTakeshi/items/e4145921c8dbf7ba57ef#sparse-is-better-than-dense
> if i>0: return sqrt(i)
> elif i==0: return 0
> else: return 1j * sqrt(-i)
>
> if i > 0:
> return sqrt(i)
> elif i == 0:
> return 0
> else:
> return 1j * sqrt(-i)
>
> 上のコードと下のコード、どちらのほうが読みやすいだろうか。
177デフォルトの名無しさん
2017/09/07(木) 00:47:12.12ID:OOPim2+O おれは空白がなくてもこっちのほうがよくね?って思うわけだ
if i > 0: return sqrt(i)
if i < 0: return 1j * sqrt(-i)
return 0
そしてもしreturnを省略できて、三項演算子が使えたらもっと良くなるだろう
i > 0 ? sqrt(i) :
i < 0 ? 1j * sqrt(-i) :
0
ruby風にcase whenが使えたら、こうもかける。
case i
when i > 0 then sqrt(i)
when i < 0 then 1j * sqrt(-i)
else 0
end
Pythonの哲学はPythonという言語で実現はできない
っていうのが現実だろうね。
if i > 0: return sqrt(i)
if i < 0: return 1j * sqrt(-i)
return 0
そしてもしreturnを省略できて、三項演算子が使えたらもっと良くなるだろう
i > 0 ? sqrt(i) :
i < 0 ? 1j * sqrt(-i) :
0
ruby風にcase whenが使えたら、こうもかける。
case i
when i > 0 then sqrt(i)
when i < 0 then 1j * sqrt(-i)
else 0
end
Pythonの哲学はPythonという言語で実現はできない
っていうのが現実だろうね。
178デフォルトの名無しさん
2017/09/07(木) 01:20:11.47ID:EkI2HYTy179デフォルトの名無しさん
2017/09/07(木) 07:05:23.25ID:iSu3unJA180デフォルトの名無しさん
2017/09/07(木) 07:15:08.46ID:MB/dyp5b returnが複数あったり途中にあったりするのは苦手
後でいじるときに既存部分も書き直さなければいけないことが増えるから
でバグ作る
後でいじるときに既存部分も書き直さなければいけないことが増えるから
でバグ作る
181デフォルトの名無しさん
2017/09/07(木) 07:29:58.30ID:sTZGXhdy JavaScript, Python, PHP には、偽が一杯ある
一方、Ruby では、nil, false だけ。
やっぱり、Rubyがすごい
一方、Ruby では、nil, false だけ。
やっぱり、Rubyがすごい
182デフォルトの名無しさん
2017/09/07(木) 08:16:30.82ID:AFVFsrIl 数学者とプログラマーはどっちの方が頭が良いのでしょうか?
183デフォルトの名無しさん
2017/09/07(木) 08:38:34.12ID:iSu3unJA もう、言語仕様で関数はキャメルケースでなければならないとか、ハンガリアン記法を強要するとか、綴りが間違ってるとエラーとかすればいいのに。
184デフォルトの名無しさん
2017/09/07(木) 09:28:32.72ID:9krprfDJ そんなエディタを作ればよい
185デフォルトの名無しさん
2017/09/07(木) 09:35:12.70ID:Omz9mDs1186デフォルトの名無しさん
2017/09/07(木) 09:38:41.84ID:nzkvp6mm187デフォルトの名無しさん
2017/09/07(木) 09:45:28.31ID:dkrfuUTt > 176
return sqrt(i) if i>0 else 1j*sqrt(-i) if i<0 else 0
return sqrt(i) if i>0 else 1j*sqrt(-i) if i<0 else 0
188デフォルトの名無しさん
2017/09/07(木) 12:42:23.53ID:qwqm4Dyg189デフォルトの名無しさん
2017/09/07(木) 12:59:44.57ID:SWYVBVQN 計算機科学を究めれば神と会話ができるようになりますか?
190デフォルトの名無しさん
2017/09/07(木) 13:04:06.99ID:SWYVBVQN 量子コンピュータと人工知能はどっちの方が凄いですか?
191デフォルトの名無しさん
2017/09/07(木) 16:14:41.57ID:EkI2HYTy >>180
>後でいじるときに既存部分も書き直さなければいけないことが増えるから
returnするための値を一時的に持ちながら最後にreturnする場合でもそれは同じじゃないの?
returnの仕方に対称性や規則性がないと読みにくいのは確かだけどそれはそういうコードを書くやつが悪いと思う
自分の経験では最後にreturnしようとする人のほうが早期returnを当たり前に使う人に比べて
メソッドを長々と書いたり安易に条件文のネストを深くしていく人が多い
昔からの慣習だからなのかな?
>後でいじるときに既存部分も書き直さなければいけないことが増えるから
returnするための値を一時的に持ちながら最後にreturnする場合でもそれは同じじゃないの?
returnの仕方に対称性や規則性がないと読みにくいのは確かだけどそれはそういうコードを書くやつが悪いと思う
自分の経験では最後にreturnしようとする人のほうが早期returnを当たり前に使う人に比べて
メソッドを長々と書いたり安易に条件文のネストを深くしていく人が多い
昔からの慣習だからなのかな?
192デフォルトの名無しさん
2017/09/07(木) 16:26:51.37ID:EkI2HYTy >>188
>これ以上ネスト深くなったり、長くなったりした時とか、
176とは別人だけど
ネストを深くせざるをえない状況にもよるから具体例がないと比較するの難しいかもね
ただどちらのケースもcase文や後置ifが使えないPythonは不利だよね
それがあるから歪んだZenの理解が広まるのかもしれないが
>これ以上ネスト深くなったり、長くなったりした時とか、
176とは別人だけど
ネストを深くせざるをえない状況にもよるから具体例がないと比較するの難しいかもね
ただどちらのケースもcase文や後置ifが使えないPythonは不利だよね
それがあるから歪んだZenの理解が広まるのかもしれないが
193デフォルトの名無しさん
2017/09/07(木) 17:29:51.42ID:1NUQmKHv Qある決まった大きさ(X)の箱に小箱(A〜E)を詰め込んでいく
箱(X)の価値を高くするには?
箱A 大きさ3 箱B 大きさ4 箱C 大きさ5
価値2 価値4 価値7
箱D 大きさ8 箱E 大きさ12
価値10 価値14
下のような結果を出力するためのアルゴリズムをおしえてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ←(番目)
A :0 0 2 2 2 4 4 4 6 6 6 8 8 8 10 10 10 12 12 12
AB :0 0 2 4 4 4 6 8 8 8 10 12 12 12 14 16 16 16 18 20
ABC :0 0 2 4 7 7 7 9 11 14 14 14 16 18 21 21 21 23 25 28
ABCD :0 0 2 4 7 7 7 10 11 14 14 14 17 18 21 21 21 24 25 28
ABCDE :0 0 2 4 7 7 7 10 11 14 14 14 17 18 21 21 21 24 25 28
↑(使う箱の種類)
箱(X)の価値を高くするには?
箱A 大きさ3 箱B 大きさ4 箱C 大きさ5
価値2 価値4 価値7
箱D 大きさ8 箱E 大きさ12
価値10 価値14
下のような結果を出力するためのアルゴリズムをおしえてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ←(番目)
A :0 0 2 2 2 4 4 4 6 6 6 8 8 8 10 10 10 12 12 12
AB :0 0 2 4 4 4 6 8 8 8 10 12 12 12 14 16 16 16 18 20
ABC :0 0 2 4 7 7 7 9 11 14 14 14 16 18 21 21 21 23 25 28
ABCD :0 0 2 4 7 7 7 10 11 14 14 14 17 18 21 21 21 24 25 28
ABCDE :0 0 2 4 7 7 7 10 11 14 14 14 17 18 21 21 21 24 25 28
↑(使う箱の種類)
194デフォルトの名無しさん
2017/09/07(木) 17:30:53.92ID:1NUQmKHv >>193
おしえてくださいお願いします。
おしえてくださいお願いします。
195デフォルトの名無しさん
2017/09/07(木) 17:46:39.42ID:K5Q2sK+z ずれててみにくい
196デフォルトの名無しさん
2017/09/07(木) 18:01:40.72ID:1NUQmKHv お願いします
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ←(番目)
A :0 0 2 2 2 4 4 4 6 6 6 8 8 8 10 10 10 12 12 12
AB :0 0 2 4 4 4 6 8 8 8 10 12 12 12 14 16 16 16 18 20
ABC :0 0 2 4 7 7 7 9 11 14 14 14 16 18 21 21 21 23 25 28
ABCD :0 0 2 4 7 7 7 10 11 14 14 14 17 18 21 21 21 24 25 28
ABCDE :0 0 2 4 7 7 7 10 11 14 14 14 17 18 21 21 21 24 25 28
↑(使う箱の種類)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ←(番目)
A :0 0 2 2 2 4 4 4 6 6 6 8 8 8 10 10 10 12 12 12
AB :0 0 2 4 4 4 6 8 8 8 10 12 12 12 14 16 16 16 18 20
ABC :0 0 2 4 7 7 7 9 11 14 14 14 16 18 21 21 21 23 25 28
ABCD :0 0 2 4 7 7 7 10 11 14 14 14 17 18 21 21 21 24 25 28
ABCDE :0 0 2 4 7 7 7 10 11 14 14 14 17 18 21 21 21 24 25 28
↑(使う箱の種類)
197デフォルトの名無しさん
2017/09/07(木) 18:03:29.90ID:1NUQmKHv めっちゃずれてる...
198デフォルトの名無しさん
2017/09/07(木) 18:15:23.21ID:9LLfLktS 問題文からなぜその一覧を必要とするかが読みとれないな
199デフォルトの名無しさん
2017/09/07(木) 18:22:31.38ID:1NUQmKHv200デフォルトの名無しさん
2017/09/07(木) 19:42:19.95ID:sTZGXhdy 「ナップサック問題」で検索!
アルゴリズムの基本
アルゴリズムの基本
201デフォルトの名無しさん
2017/09/07(木) 21:07:10.71ID:sTZGXhdy 価値 / 大きさ = 大きさ当たりの価値
A 2/3 = 0.67
B 4/4 = 1
C 7/5 = 1.4
D 10/8 = 1.25
E 14/12 = 1.17
つまり、C を詰められるだけ詰めて、
余った所に、D, E, B, A の順に詰めていく
A 2/3 = 0.67
B 4/4 = 1
C 7/5 = 1.4
D 10/8 = 1.25
E 14/12 = 1.17
つまり、C を詰められるだけ詰めて、
余った所に、D, E, B, A の順に詰めていく
202201
2017/09/07(木) 21:10:44.45ID:sTZGXhdy 自己レス
>つまり、C を詰められるだけ詰めて、
>余った所に、D, E, B, A の順に詰めていく
この方法はどん欲法だけど、やっぱり、この方法ではダメだ
「ナップサック問題」の解答の通りにやるべき
>つまり、C を詰められるだけ詰めて、
>余った所に、D, E, B, A の順に詰めていく
この方法はどん欲法だけど、やっぱり、この方法ではダメだ
「ナップサック問題」の解答の通りにやるべき
203デフォルトの名無しさん
2017/09/07(木) 21:21:23.29ID:nzkvp6mm 1次元なら分かるが
3次元の箱にきっきり収まるのだろうか?
3次元の箱にきっきり収まるのだろうか?
204デフォルトの名無しさん
2017/09/07(木) 21:56:38.14ID:9LLfLktS そんなこと言ったら形によって空き容量はあるのに入らないって場面はどーすんの?
プログラムとして考えるときには考慮する必要ないよ
プログラムとして考えるときには考慮する必要ないよ
205デフォルトの名無しさん
2017/09/07(木) 22:08:49.75ID:abyvl7Px 計算機科学の入門書って、中学数学や高校数学がほとんど理解できてない人でも読めますか?
206デフォルトの名無しさん
2017/09/07(木) 22:20:15.74ID:nzkvp6mm207デフォルトの名無しさん
2017/09/07(木) 22:44:56.89ID:BW/FZa1O フロアレイアウトの問題はそこが肝心だったりする。
そういうのがあるからふつうのナップサック問題は重量を制約条件として出題される場合が多いと思う。
そういうのがあるからふつうのナップサック問題は重量を制約条件として出題される場合が多いと思う。
208デフォルトの名無しさん
2017/09/08(金) 00:40:50.51ID:vWsWUiiy >>188
> これ以上ネスト深くなったり、長くなったりした時とか、
> もしくは、変更がかかった後にdiff見る時のこととか考えてる?
それ、なんか違いあんの?
空白があってもなくても、違いはないことを、
さも空白がないときだけ問題が起きるようふうなことを
根拠なく言わないことだね。
> これ以上ネスト深くなったり、長くなったりした時とか、
> もしくは、変更がかかった後にdiff見る時のこととか考えてる?
それ、なんか違いあんの?
空白があってもなくても、違いはないことを、
さも空白がないときだけ問題が起きるようふうなことを
根拠なく言わないことだね。
209デフォルトの名無しさん
2017/09/08(金) 00:48:22.81ID:vWsWUiiy >>180
> returnが複数あったり途中にあったりするのは苦手
> 後でいじるときに既存部分も書き直さなければいけないことが増えるから
> でバグ作る
returnが複数あったり途中にある場合かつ
後った時に既存部分を書き直さなければいけない 例を書いて
その逆でreturnが複数ない方が既存部分を
書き直さなくていい例を書いてあげよう
def hello(name)
return if name.nil?
return if name == ''
return if name == 'nanashi' # ← 追加しても既存部分は変えなくて良い
puts name
end
def hello(name)
if !name.nil?
if name != ''
if name != 'nanashi' # ← 追加したのでインデントが増えた
puts name
end
end
end
end
def hello(name)
if !name.nil? && name != '' && name != 'nanashi' # ← 追加したので既存部分を書き換えた
puts name
end
end
> returnが複数あったり途中にあったりするのは苦手
> 後でいじるときに既存部分も書き直さなければいけないことが増えるから
> でバグ作る
returnが複数あったり途中にある場合かつ
後った時に既存部分を書き直さなければいけない 例を書いて
その逆でreturnが複数ない方が既存部分を
書き直さなくていい例を書いてあげよう
def hello(name)
return if name.nil?
return if name == ''
return if name == 'nanashi' # ← 追加しても既存部分は変えなくて良い
puts name
end
def hello(name)
if !name.nil?
if name != ''
if name != 'nanashi' # ← 追加したのでインデントが増えた
puts name
end
end
end
end
def hello(name)
if !name.nil? && name != '' && name != 'nanashi' # ← 追加したので既存部分を書き換えた
puts name
end
end
210デフォルトの名無しさん
2017/09/08(金) 00:49:31.06ID:vWsWUiiy 訂正
その逆でreturnが複数ある方が既存部分を
書き直さなくていい例を書いてあげよう
その逆でreturnが複数ある方が既存部分を
書き直さなくていい例を書いてあげよう
211デフォルトの名無しさん
2017/09/08(金) 07:35:49.36ID:UV7+A1Tq 後のこと考えてるのにそんな書き方しないだろ
212デフォルトの名無しさん
2017/09/08(金) 07:59:24.78ID:UV7+A1Tq213デフォルトの名無しさん
2017/09/08(金) 08:30:04.77ID:idaiwuG/214デフォルトの名無しさん
2017/09/08(金) 09:22:42.41ID:QaKanL5Y 全体をブロックにしてbreakで抜け、最後にreturnひとつにしてはどうだろう?
215デフォルトの名無しさん
2017/09/08(金) 09:51:13.10ID:idaiwuG/ そのネストを排除したいのよ
216デフォルトの名無しさん
2017/09/08(金) 11:09:11.49ID:UV7+A1Tq217デフォルトの名無しさん
2017/09/08(金) 11:14:31.29ID:igjEawnU 数学の全ての分野を究めたい。
218デフォルトの名無しさん
2017/09/08(金) 11:44:17.98ID:zjVEM0GH 統計はつまらん
219デフォルトの名無しさん
2017/09/08(金) 11:47:55.39ID:idaiwuG/220デフォルトの名無しさん
2017/09/08(金) 12:47:15.39ID:uECMqc9H >>215
MISRA-C とかの話じゃないのか。
MISRA-C とかの話じゃないのか。
221デフォルトの名無しさん
2017/09/08(金) 13:50:07.15ID:UV7+A1Tq■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【卓球】早田ひな、「総額100万スられた」「ずっと憧れていたスペインとイタリア…」ヨーロッパ旅行で悲劇 スリ被害を告白 [muffin★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 産経新聞「高市早苗の答弁さぁ……思慮が足りてなくね?官僚と詰めずに思いつきで話しているでしょ」 [175344491]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【雑談】暇人集会所part18
- 高市早苗「支持者の理解を得られないので台湾発言を撤回できない」 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
