スレ立てるまでもない質問はここで 146匹目©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/02/23(木) 13:55:17.04ID:OAGoqT7f
質問する前にGoogleで検索しましょう。 http://www.google.com/
プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。
Javascript は Web 制作板、CGI は Web プログラミング板へ。
業界談義、愚痴はプログラマ板へどうぞ。
ゲーム関係の話題はゲーム製作板へどうぞ。
ネタ、板とは関係の無い話題はご遠慮ください。

前スレ
スレ立てるまでもない質問はここで 145匹目
http://echo.2ch.net/test/read.cgi/tech/1483755167/
2017/09/07(木) 01:20:11.47ID:EkI2HYTy
>>176
これは歪んでるわ
そしてこのQiitaのLike数に震える

ついでに負数はともかく0を特別扱いする意味がわからんが
2017/09/07(木) 07:05:23.25ID:iSu3unJA
>>177
負数の平方根で虚数を返さないsqrtはおかしいよな。
MatlabやWolfram言語、Juliaあたりは普通に扱えるのに。
2017/09/07(木) 07:15:08.46ID:MB/dyp5b
returnが複数あったり途中にあったりするのは苦手
後でいじるときに既存部分も書き直さなければいけないことが増えるから
でバグ作る
2017/09/07(木) 07:29:58.30ID:sTZGXhdy
JavaScript, Python, PHP には、偽が一杯ある

一方、Ruby では、nil, false だけ。
やっぱり、Rubyがすごい
182デフォルトの名無しさん
垢版 |
2017/09/07(木) 08:16:30.82ID:AFVFsrIl
数学者とプログラマーはどっちの方が頭が良いのでしょうか?
2017/09/07(木) 08:38:34.12ID:iSu3unJA
もう、言語仕様で関数はキャメルケースでなければならないとか、ハンガリアン記法を強要するとか、綴りが間違ってるとエラーとかすればいいのに。
2017/09/07(木) 09:28:32.72ID:9krprfDJ
そんなエディタを作ればよい
2017/09/07(木) 09:35:12.70ID:Omz9mDs1
>>172
損失は310億円以上
賠償はたったの5億円
どうみてもNECの勝ち
2017/09/07(木) 09:38:41.84ID:nzkvp6mm
>>184
誰が書いても同じにしたいって思想らしいからさ。
エディタが賢くなれば、「この変数名は意味わからないですよ」とかなるかもね。
AIがやってくれるか。
2017/09/07(木) 09:45:28.31ID:dkrfuUTt
> 176
return sqrt(i) if i>0 else 1j*sqrt(-i) if i<0 else 0
188デフォルトの名無しさん
垢版 |
2017/09/07(木) 12:42:23.53ID:qwqm4Dyg
>>176
これ以上ネスト深くなったり、長くなったりした時とか、
もしくは、変更がかかった後にdiff見る時のこととか考えてる?

そこまで考えられないの?
そえとも、考えたうえで
>>177
>おれは空白がなくてもこっちのほうがよくね?って思うわけだ
こう思ってるの?
2017/09/07(木) 12:59:44.57ID:SWYVBVQN
計算機科学を究めれば神と会話ができるようになりますか?
2017/09/07(木) 13:04:06.99ID:SWYVBVQN
量子コンピュータと人工知能はどっちの方が凄いですか?
2017/09/07(木) 16:14:41.57ID:EkI2HYTy
>>180
>後でいじるときに既存部分も書き直さなければいけないことが増えるから

returnするための値を一時的に持ちながら最後にreturnする場合でもそれは同じじゃないの?
returnの仕方に対称性や規則性がないと読みにくいのは確かだけどそれはそういうコードを書くやつが悪いと思う

自分の経験では最後にreturnしようとする人のほうが早期returnを当たり前に使う人に比べて
メソッドを長々と書いたり安易に条件文のネストを深くしていく人が多い
昔からの慣習だからなのかな?
2017/09/07(木) 16:26:51.37ID:EkI2HYTy
>>188
>これ以上ネスト深くなったり、長くなったりした時とか、

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
↑(使う箱の種類)
194デフォルトの名無しさん
垢版 |
2017/09/07(木) 17:30:53.92ID:1NUQmKHv
>>193
おしえてくださいお願いします。
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
↑(使う箱の種類)
197デフォルトの名無しさん
垢版 |
2017/09/07(木) 18:03:29.90ID:1NUQmKHv
めっちゃずれてる...
2017/09/07(木) 18:15:23.21ID:9LLfLktS
問題文からなぜその一覧を必要とするかが読みとれないな
199デフォルトの名無しさん
垢版 |
2017/09/07(木) 18:22:31.38ID:1NUQmKHv
>>193
いろいろ抜けてました。
出力結果のようになるフローチャートを書いてくるのが
課題です。
2017/09/07(木) 19:42:19.95ID:sTZGXhdy
「ナップサック問題」で検索!

アルゴリズムの基本
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 の順に詰めていく
202201
垢版 |
2017/09/07(木) 21:10:44.45ID:sTZGXhdy
自己レス
>つまり、C を詰められるだけ詰めて、
>余った所に、D, E, B, A の順に詰めていく

この方法はどん欲法だけど、やっぱり、この方法ではダメだ

「ナップサック問題」の解答の通りにやるべき
2017/09/07(木) 21:21:23.29ID:nzkvp6mm
1次元なら分かるが
3次元の箱にきっきり収まるのだろうか?
2017/09/07(木) 21:56:38.14ID:9LLfLktS
そんなこと言ったら形によって空き容量はあるのに入らないって場面はどーすんの?
プログラムとして考えるときには考慮する必要ないよ
205デフォルトの名無しさん
垢版 |
2017/09/07(木) 22:08:49.75ID:abyvl7Px
計算機科学の入門書って、中学数学や高校数学がほとんど理解できてない人でも読めますか?
2017/09/07(木) 22:20:15.74ID:nzkvp6mm
>>202
箱Eは大きさ12で価値14だから
12空いてたら箱Cを2個詰めたほうがマシ。
なので箱Eは使わない。

条件考えていったらもっと簡単になると思うよ。
2017/09/07(木) 22:44:56.89ID:BW/FZa1O
フロアレイアウトの問題はそこが肝心だったりする。
そういうのがあるからふつうのナップサック問題は重量を制約条件として出題される場合が多いと思う。
2017/09/08(金) 00:40:50.51ID:vWsWUiiy
>>188
> これ以上ネスト深くなったり、長くなったりした時とか、
> もしくは、変更がかかった後にdiff見る時のこととか考えてる?

それ、なんか違いあんの?

空白があってもなくても、違いはないことを、
さも空白がないときだけ問題が起きるようふうなことを
根拠なく言わないことだね。
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
2017/09/08(金) 00:49:31.06ID:vWsWUiiy
訂正

その逆でreturnが複数ある方が既存部分を
書き直さなくていい例を書いてあげよう
2017/09/08(金) 07:35:49.36ID:UV7+A1Tq
後のこと考えてるのにそんな書き方しないだろ
2017/09/08(金) 07:59:24.78ID:UV7+A1Tq
>>191
そういうことなら、
経験上returnを途中で書く人の方がメソッドを長々と書いたり安易に条件文のネストを深くしていく人が多い
と意味のないことを言っておこう
2017/09/08(金) 08:30:04.77ID:idaiwuG/
>>212
俺もできるだけ入口と出口は1個づつにしたい
でもパラメータが想定外な場合に限り非常口として即returnしてる
2017/09/08(金) 09:22:42.41ID:QaKanL5Y
全体をブロックにしてbreakで抜け、最後にreturnひとつにしてはどうだろう?
2017/09/08(金) 09:51:13.10ID:idaiwuG/
そのネストを排除したいのよ
2017/09/08(金) 11:09:11.49ID:UV7+A1Tq
>>213
途中じゃなくて最初はやる
複数にはなってしまうけど
異常で例外使える場合は例外投げるけど
217デフォルトの名無しさん
垢版 |
2017/09/08(金) 11:14:31.29ID:igjEawnU
数学の全ての分野を究めたい。
218デフォルトの名無しさん
垢版 |
2017/09/08(金) 11:44:17.98ID:zjVEM0GH
統計はつまらん
2017/09/08(金) 11:47:55.39ID:idaiwuG/
>>216
例外の扱いも個性でるよなぁ
予想できる例外と予想できない例外はどう区別するの?とか
2017/09/08(金) 12:47:15.39ID:uECMqc9H
>>215
MISRA-C とかの話じゃないのか。
2017/09/08(金) 13:50:07.15ID:UV7+A1Tq
>>219
主設計者のポリシーに従って統一されてればいいよ
私はユーザーの誤操作も例外扱い
222デフォルトの名無しさん
垢版 |
2017/09/08(金) 20:59:12.51ID:M4kQ75J0
数学の全ての分野を究めることは可能ですか?
2017/09/08(金) 21:14:44.24ID:LvqitQNW
>>222
学問・理系「数学」板
http://rio2016.2ch.net/math/
「数学教育は数学者が決める物ではない」スレ
http://rio2016.2ch.net/test/read.cgi/math/1394653952/l50
2017/09/08(金) 21:38:34.76ID:/943AUzO
>>181
Cなら0だけ。もっとすごい
225デフォルトの名無しさん
垢版 |
2017/09/09(土) 04:58:44.76ID:Vbu2eNh3
代数、幾何、解析
226デフォルトの名無しさん
垢版 |
2017/09/09(土) 09:45:27.04ID:8qezAaeu
>>225
単純な疑問なんだけど、どのスレにもこういう頭に浮かんだ単語を書いただけのレスあんじゃん
なんの意味があってレスしてんの?
227デフォルトの名無しさん
垢版 |
2017/09/09(土) 10:23:27.94ID:LdIRgWMB
↑こういうのを釣るためだろ
228デフォルトの名無しさん
垢版 |
2017/09/09(土) 10:30:47.55ID:61cUQFbU
teratail でも聞いててスマソ。

昨今のマルチコアCPUで組まれたPCでLinuxが動いてる場合です。

カーネルはそれぞれのコアにインスタンスを持ち、それぞれのコアでスケジューリングしてるのでしょうか。
それとも、何十コアあろうとも、ひとつのコアのひとつのインスタンスが、
他のコアのコンテキストスイッチを管理して、別のコアにもスレッドを割り当ててるのでしょうか?

推測ですが、コアごとにコンテキストスイッチを実行するのが素直だと思うのですが、
20コアのCPUでカーネルのインスタスンスが20個も存在するわけではないと思うし。
229デフォルトの名無しさん
垢版 |
2017/09/09(土) 11:10:24.98ID:8qezAaeu
>>227
釣りなのか?
ほとんど餌ついてないと思うんだがw
2017/09/09(土) 11:52:41.78ID:oNFAWeYJ
スケジューリング自体は基本的にはプロセッサ単位でしょ
多少優先度の高いタスクが他所にいても、タスクを実行するプロセッサを切り替えで発生するコスト自体が高い
特定のプロセッサにタスクが偏ってたり、必要に応じて他プロセッサにタスクを移管する
2017/09/09(土) 12:05:33.37ID:OV/mK/gQ
>>228
Linuxはモノリシックカーネルなので、カーネルのインスタンス(?)という概念は多分間違い。
但し、当然ながらCPUコアの数だけ並列で動作していて、
それぞれのコアがそれぞれコンテキストスイッチを行なっている。

なお、カーネル処理の一部はカーネルスレッドでプロセスライクに動作しているので
完全にモノリシックというわけでもない。
2017/09/09(土) 14:42:47.80ID:tI5Xqg/6
https://nobuo-create.net/android-develop/
Androidアプリを作ってみようと上記を参考にeclipseとAndroid Studioを導入したのですが、eclipseを起動すると毎回
”Failed to get the required ADT version number from the SDK. The Android Developer Toolkit may not work properly.”
というエラーメッセージが出てしまいます。
Androidアプリケーション・プロジェクトを新規作成しようとしても
"The tools need to be updated via SDK Manager"とのエラーが出ます。

eclipseで"http://dl-ssl.google.com/android/eclipse/";からプラグインも入手し、SDKマネージャで全ツールを最新にしても
この状態が全く改善されず困っています。どうすればよいでしょうか・・・
2017/09/09(土) 16:26:12.88ID:ua/r5C7o
>>232
Android Studio 使うなら eclipse は要らないってクマパパが言ってた。
234デフォルトの名無しさん
垢版 |
2017/09/09(土) 17:17:21.86ID:5pt5XkEH
神と全と無だとどれが一番凄いですか?
235デフォルトの名無しさん
垢版 |
2017/09/09(土) 20:36:16.38ID:Vbu2eNh3
236デフォルトの名無しさん
垢版 |
2017/09/09(土) 20:36:48.16ID:2KVvTP+4
237デフォルトの名無しさん
垢版 |
2017/09/09(土) 20:37:03.12ID:Vbu2eNh3
神の見えない性質、すなわち、神の永遠の力と神性とは、天地創造このかた、
被造物において知られていて、明らかに認められるからである。したがって、
彼らには弁解の余地がない。

ローマ人への手紙、1章、20節
238デフォルトの名無しさん
垢版 |
2017/09/09(土) 20:37:43.69ID:Vbu2eNh3
神のなされることは皆その時にかなって美しい。
神はまた人の心に永遠を思う思いを授けられた。それでもなお、
人は神のなされるわざを初めから終りまで見きわめることはできない。

伝道の書、3章 11節
239デフォルトの名無しさん
垢版 |
2017/09/09(土) 20:39:34.23ID:Vbu2eNh3
「銀河の中で最も生存に適しており
最も生命への脅威が少なく
地球ができるのに
十分な材料がある(中略)
天文学の研究に最適な場所にもなっている。
生命が存在し生存するのに不可欠なだけでなく
科学的発見を行うにも最善の位置になっている」

驚くべき惑星 地球 (短縮版 17分) - YouTube
https://www.youtube.com/watch?v=1LMcyFQBcWk
2012/03/05
240デフォルトの名無しさん
垢版 |
2017/09/09(土) 20:41:45.48ID:2KVvTP+4
俺のなされる性技は皆その時にかなって美しい。
俺は女の股の割れ目に永遠を思うエロを授けられた。それでもなお、
人は俺のなされる性技を初めから終りまで見きわめることはできない。

電動のオナホ書、3章 11節
2017/09/09(土) 20:58:24.66ID:XkIFpn02
プログラムと関係ないね
242デフォルトの名無しさん
垢版 |
2017/09/10(日) 09:29:05.81ID:F/12iT+4
キチガイはどこにでも沸く
無視しとけばok
2017/09/10(日) 13:45:02.18ID:Dhgq8VY0
神は死んだからな
244デフォルトの名無しさん
垢版 |
2017/09/10(日) 17:45:17.04ID:/eT+y//h
Linuxでログ解析するスクリプトを作りたいです

AAAA0001(ジョブID) 開始 2017/9/10 17:00:00 1001(プロセスID)
AAAA0001(ジョブID) 終了 2017/9/10 17:01:00 1001(プロセスID)

こんな感じのログファイルを、開始と終了を結合して1行にしたいです
但しファイルの件数が数百万件あるので、1件ずつ読んで処理というのを避けたい

そこでまず開始と終了をgrepで別ファイルに分割し、
ジョブID・プロセスIDでsortしてjoinというのをやってみたのですが、
同ジョブでプロセスIDが被ってることがあり上手く行きませんでした

次にジョブID・プロセスID・日時でsortして単純に上下2行を1行にしてみましたが、
稀に開始・終了の一方が無いことがあり、1回ずれるとそこから最後までずれてしまいました
何かいい方法はないでしょうか
2017/09/10(日) 18:29:00.83ID:7And7Hgf
>>244
1行ずつ読んで処理する方法で出来るのなら、そうすればいいのでは?
普通は1行ずつ読んで処理するよりソートする方がコスト高い
246デフォルトの名無しさん
垢版 |
2017/09/10(日) 18:49:07.75ID:/eT+y//h
>>245
テストで3万件で実行しましたが、sortやgrepやjoinは一瞬で終わり、whileが10分近くかかってました
プログラムやDBを使えば1行読みでいいと思うんですが、スクリプトのみだと1行読みがかなり厳しいと感じています
2017/09/10(日) 18:54:07.72ID:CfAD8p5O
>>244
2つめの方法で開始・終了のどちらか一方がない場合の対処を追加しただけじゃだめなの?
開始の次の行が同じジョブID・プロセスIDの終了の場合だけその2行を1行にする

ジョブID・プロセスIDも被ってて
開始だけあって終了がないログと終了だけあって開始がないログが
sort後に連続するようなデータがあるなら追加できる条件がないとお手上げ

2行を1行にする処理はループ・sed・awkあたりで比較して、その後並列化するかな
2017/09/10(日) 20:36:05.64ID:Dhgq8VY0
3万件ならperlで全部読んでオンメモリで処理しちゃえば
249デフォルトの名無しさん
垢版 |
2017/09/10(日) 21:14:20.87ID:HIqJ8Jl6
wiresharkでwww.google.co.jpとの通信をフィルタリングしたいんだけどどうしたらいいですか?
2017/09/10(日) 23:24:16.86ID:Aa/cPztt
>>244
一旦、全ファイルの全行を、DB に入れてから、考えれば?

>同ジョブで、プロセスIDが被ってることがあり
こういう仕様では、順序が狂ってくる。
XML で言えば、整形式になっていない

バグのほとんどが設計段階で生じる、典型的な例。
仕様自体に、バグを含んでいる例
2017/09/10(日) 23:33:41.75ID:CfAD8p5O
>>246
シェルスクリプトの詳細はこのスレより下のスレで聞くといいよ

シェルスクリプト総合 その26 [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/unix/1489979246/
2017/09/11(月) 01:38:52.23ID:iHYQL+H3
悲観的ロックってあるじゃん
あれって

検索結果をバックエンドでロックしてブラウザに表示
行削除の時に非同期リクエスト発行してバックエンドで1件ロック解除
ページ閉じる時に非同期リクエスト発行してバックエンドで全件ロック解除

みたいな実装なのか?
上からこのように実装しろって指示されたんだけど
なんか自分が思ってた悲観的ロックと随分違うから困惑してる
自分の思ってた悲観的ロックって

リクエスト発行
更新対象のロック取得
更新
更新対象のロック解除
リクエスト終了

みたいなイメージであくまでリクエストスコープ内で完結するもんだと思ってた

リクエスト跨ぐロック管理ってロック漏れ多発しそうな気がする(検索結果がレンダリングされる前にブラウザ閉じるとか)んだけど
業務用システムってこういうもんなのかな
運用が適切であることを信じるしかないのかな(マニュアルに検索途中で閉じてはダメですと明記したり)
2017/09/11(月) 02:23:39.50ID:wRb7h9Km
>>252
悲観的ロックは一般的には君が思ってたやつであってるよ
その最初のやつも悲観的ロックを使ってると言えるけど
ロングランニングトランザクションの設計の話

座席指定のあるコンサートチケット発行みたいに
複数回の対話的やり取り中も確保した座席をロックしておくようなやつ
2017/09/11(月) 02:39:52.69ID:wRb7h9Km
リクエストをまたぐロック管理ってのは、DB製品が管理するロックじゃなく
自分でレコードのステータスを更新して管理する必要がある
だからロックとは呼ばないほうがいいかもね

注文完了前に在庫を引当済みに更新しておいて
規定時間内に注文完了しなければ引当を解除する的な処理
2017/09/11(月) 03:02:53.33ID:9CSrOHyJ
>>246
シェルスクリプトでは、for は遅いから、while を使う。
元々、コマンドは、1つで1プロセスだから遅い

ファイルを3万件も開くのは、遅くなる
2017/09/11(月) 06:29:12.25ID:JLDhDRUg
>>244
1行ずつ読み込み
開始だったら配列に読み込んで
終了だったら配列を探して一致するのがあったら出力して配列から削除

開始がない場合、探すのに失敗するので逐次エラーに出力
終了がない場合、配列に残るので最後にエラーに出力

awkで書くのが簡単そうだな
2017/09/11(月) 08:10:31.71ID:9CSrOHyJ
ruby, powershell などで、やれば?

まず、開始・終了を正しく対応させる、方法を考えるべき
258デフォルトの名無しさん
垢版 |
2017/09/11(月) 12:33:26.53ID:Knwuh2Qc
>>252
ロック漏れよりロック解放漏れ多発の真のクソ設計だなw
259デフォルトの名無しさん
垢版 |
2017/09/11(月) 14:44:30.55ID:8Urf4fC2
ピエール=シモン・ラプラスさんぐらいのレベルの天才になりたいのですが、どうすれば良いですか?
2017/09/11(月) 16:20:10.70ID:qsj63RLc
天才に生まれるまでリセマラしろ
261デフォルトの名無しさん
垢版 |
2017/09/11(月) 20:05:52.24ID:GatsGW1i
>>260
生まれ変わっても前世の記憶ないから無意味やでー
2017/09/11(月) 20:16:10.04ID:j2JxUcFR
>>261
持ち越されないならこんなくだらないことで悩む必要もなくなるね
リセマラ待ったなし
263デフォルトの名無しさん
垢版 |
2017/09/11(月) 20:18:22.89ID:OwrZ6iQ6
初心者です。質問させてください。
pythonでクローリング・スクレイピング〜なる本で勉強中なのですが、この本というのがunix環境を強要する内容でして、windows利用者(私)はunix仮想環境を構築せよ!とあるのです。以下、すべてunixコマンドでの解説が続くと。
仮想とかはメンドクサイと思っていたところ、cmderというターミナルエミュレーターを使えばunixコマンドが使えるということを知りまして。
そこで、このcmderですが、確かにunixコマンドは使えます。しかし文字化けするのです。
chcp ○○○○という風に文字コード指定をしても全く無視されてしまいます。
例えば、
cat aaa.csv とした場合文字化けを起こします。

では、windowsコマンドならどうかということで
type aaa.csv とした場合には正しくと出力されます。
chcpコマンドも、windowsコマンドに対しては効いているようです。

なんとかunixコマンドで文字化けしないように出来ないものでしょうか?
2017/09/11(月) 21:53:02.82ID:lCKR2/pb
>>244ですがレスしてくれた方々ありがとうございます
とりあえずawkで>>247さんの内容でやる方向にしました

awkをよく知らなかったので列参照以外で使うことを考えていなかったのですが、
ちょっと作ってみたのでwhileで10分近くの処理が一瞬で終わりました

プロセスID被りの開始・終了の相互抜け落ちによる不整合はレアケースなので、
所詮は性能監視なので異常を検知した場合に個別調査、でいいような雰囲気です
(実際運用してみたら意外とあって改善が必要になる可能性はありますが)
2017/09/11(月) 23:26:29.44ID:gXe6ae/k
>>263
aaa.csvをUTF-8にする
2017/09/12(火) 11:27:53.45ID:WW0MtbKa
>>263-265
Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例、
佐々木拓郎・るびきち、2014

Chef, VirtualBox, Docker とか、
GUI 無しなら、Windows10 の、Bash on Ubuntu on Windows(BoW)も使えるかも
2017/09/12(火) 12:27:03.84ID:sXz5+Zzg
>>266
おまえはすっきりしてろよ
268デフォルトの名無しさん
垢版 |
2017/09/12(火) 13:04:04.63ID:Drbbzm0n
>>263
エミュレーターはしょせんエミュレーターなので、ちゃんとlinux環境作った方がいいよ。
環境がwin10proだったらdocker。
それ以外だったらvirtualbox(vagrant)。
BoWはまだ開発に使えるほどこなれてないからダメ。
という感じかな。

俺はwin10homeなのでvagrant + virtualboxでlinux環境構築してる。
自分でいろんなソフト入れなきゃならないけど、サーバ構築も1度経験した方がいいと思う。
そんでちょうど今俺もクローリングアプリを作っていて、goutteというphpのライブラリと
casperjs(phantomjs)を併用してる。
このへんの技術は面倒だけど面白いね。
269デフォルトの名無しさん
垢版 |
2017/09/12(火) 15:04:14.34ID:fozrELYn
「有」=「全」=「無」=「永遠」

な気がしてきた。
270デフォルトの名無しさん
垢版 |
2017/09/13(水) 12:23:02.80ID:W3E85BX/
気のせいやで安心しい
271デフォルトの名無しさん
垢版 |
2017/09/13(水) 14:20:34.03ID:1Vzk//I6
「有」=「全」=「無」=「永遠」

じゃないのでしょうか?
2017/09/13(水) 15:21:13.59ID:5e/RUVh/
ガキのたわごと
273デフォルトの名無しさん
垢版 |
2017/09/13(水) 20:54:12.53ID:v0Gy6J0Y
>>263です。
みなさん有難うございます。
cmderで文字化けすることなくunixコマンドを使用する、ということは私のスキルでは不可能でした。
・試したこと
aaa.csvの文字コードを色々変えてみる
chcpコマンドで文字コード指定をしてみる
どうにもうまくいきませんでした(文字化けしている文字の内容も変わらない)。
そこで、あきらめてvirtualboxとdebianとかいうのをインストールしてみました。
しかし動きが鈍すぎて使う気になれません!
274デフォルトの名無しさん
垢版 |
2017/09/13(水) 21:14:41.85ID:Lp/X5Gmt
>>273
クロスプラットフォームのプログラミング言語の解説書なのに特定のOS環境しか想定しない理由がわかるか?

答えは著者がバカだからなのだよ
バカだからごく限られた領域のごく限られた問題しか理解しないし
そもそもその理解もバカなりの狂ったフィルターを通された本質の一側面に過ぎない
そのバカが書いた書物など役に立つわけがないのだろ?
バカ本など今すぐ捨てた方がよいのだ

いいか?大前提として世の中の9割の人間は救いようのないバカなのだ
それが技術書の著者であっても比率はなんら変わらない
この世では9割のバカな著者が多数のバカな書物を書きバカの無限ループが作りだされているのだ

少しは勉強になったと思うからこれからはまともな著者、まともな書物を見ぬく目を養うことだ
275デフォルトの名無しさん
垢版 |
2017/09/13(水) 21:14:46.61ID:Lp/X5Gmt
>>273
クロスプラットフォームのプログラミング言語の解説書なのに特定のOS環境しか想定しない理由がわかるか?

答えは著者がバカだからなのだよ
バカだからごく限られた領域のごく限られた問題しか理解しないし
そもそもその理解もバカなりの狂ったフィルターを通された本質の一側面に過ぎない
そのバカが書いた書物など役に立つわけがないのだろ?
バカ本など今すぐ捨てた方がよいのだ

いいか?大前提として世の中の9割の人間は救いようのないバカなのだ
それが技術書の著者であっても比率はなんら変わらない
この世では9割のバカな著者が多数のバカな書物を書きバカの無限ループが作りだされているのだ

少しは勉強になったと思うからこれからはまともな著者、まともな書物を見ぬく目を養うことだ
2017/09/13(水) 21:24:55.38ID:n1InxPaY
>>273
cygwinとapt-cyg試してみたら?
それかもうどっかのサーバー使うか
2017/09/13(水) 21:28:22.66ID:n1InxPaY
>>274
クローリング・スクレイピングの解説書なのに、プログラミング言語の解説書と勝手に勘違いしてる理由がわかるか?

答えは君がバカだからなのだよ
バカだからごく限られた領域のごく限られた問題すら理解しないし
そもそもそんなことも理解もできないバカの狂ったフィルターを通されたレスなど何の役に立つわけがないのだろ?
バカレスなど今すぐNGした方がよいのだ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況