スレ立てるまでもない質問はここで 149匹目

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

前スレ
スレ立てるまでもない質問はここで 148匹目 [無断転載禁止]©2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1495618637/
357デフォルトの名無しさん
垢版 |
2019/06/24(月) 07:02:00.65ID:218UFAwP
>>350
あ、わかったかも。
「(クラス毎ではなく)オブジェクト毎に所持メソッドやメンバー変数を変えられる」
これがプロトタイプの本質だって言ってるんですね。

否定してる最初の説明でもその意味だと思うけど、
「動的にクラス定義を変更してその全インスタンスの振る舞いがまとめて変わる」
のか
「特定のオブジェクト限定で振る舞いを変えられる」
のかが紛らわしい。

まあでも当然後者の意味だと思うけど。
クラスが動的に再定義されちゃったら型安全壊れるし、
コンパイル時にバグを見つけれる事が強みなので、それをやる言語は無いはず。
2019/06/24(月) 07:43:03.13ID:y1bnKJFn
型安全ってC/C++みたいな言語の用語だぞ

そういう言語で、正しくない型として扱うと
不正なメモリアクセスとか無効な命令実行でプロセスが不正に落ちる

JavaScript等はどんなことをしてもプロセスが落ちることはない
正しくない型であつかっても例外が発生してトラップできる
だから動的に再定義されたとしても、型安全のまま
359デフォルトの名無しさん
垢版 |
2019/06/24(月) 08:27:58.03ID:218UFAwP
ああそうか
まあでもその存在しないメソッドを呼んでしまったとかで例外が出ちゃうから、
クラスを使用している言語はオブジェクト別の所持メソッドの変更を許可しないだろうということです。
それをやっちゃうとせっかくのクラスによる安全性を放棄してしまう
2019/06/24(月) 09:03:19.73ID:Fz7q9gfG
型安全ではなく「強い型付け」の恩恵の話だな
プロトタイプに限らず、ダックタイピング全般の考え方は
型付けをユルくすることで恩恵を一部手放すと同時に別のメリットを得る
トレードオフだから原理主義的に決めつける必要はなく言語次第
金型を使いたいときは使えばいいし手彫りしたいときはすればいい
そういう言語があってもいいじゃない
361デフォルトの名無しさん
垢版 |
2019/06/24(月) 10:51:03.90ID:218UFAwP
ダックタイピング調べてみた。

これはたぶんJavaプログラマー的に言えば
interfaceを明記しなくても自動判別してくれるということだろう。
メソッド側が期待するinterfaceとクラスが実装しているinterfaceを自動判別する。

https://ja.wikipedia.org/wiki/%E3%83%80%E3%83%83%E3%82%AF%E3%83%BB%E3%82%BF%E3%82%A4%E3%83%94%E3%83%B3%E3%82%B0
class Duck
def sound
'quack'
end
end

もしこれのsoundメソッドのとこをコメントアウトしたら
test(Duck.new)がコンパイルエラーになるんだろう。

しかしプロトタイプベースだったらコンパイル時にエラーを出すのは無理だろう。
しかしクラスのメリットは確かにコンパイル時エラーの検出のためだけではない。
プロトタイプかつクラスを使用する言語があったとしたら、
その場合クラスは単に抽象的な意味を記述するため、あるいは
クローンの連鎖の大元になるためにある。
そんな言語もあってもいいのかもしれない。
362デフォルトの名無しさん
垢版 |
2019/06/24(月) 11:08:38.28ID:218UFAwP
ダックタイピング良く調べてみると
このwikipediaの記事は間違いだって言ってる記事があるな
「そのオブジェクトがどんなメソッドを所持しているかを事前に知らずにとにかく呼び出してしまう」
つまり動的バインディングのような概念である、と。
プロトタイプベース系の話だな、それなら。

wikipediaの記事からは、クラスがあって、
interfaceを書かなくても多態性が実現できるinterface自動判別の仕組みだ、
という印象を受ける。
363デフォルトの名無しさん
垢版 |
2019/06/24(月) 11:11:04.94ID:218UFAwP
https://en.wikipedia.org/wiki/Duck_typing#Criticism_of_the_term_itself
>AttributeError: 'Whale' object has no attribute 'fly'

英語版wikipediaの記事だと、「メソッドがあるかないかを事前に気にせずにとにかく呼び出してしまう」
というプロトタイプベース的な意味でダックタイピングという言葉を使用しているようだ。
364351
垢版 |
2019/06/24(月) 12:51:20.27ID:a0F4XMAJ
そのインスタンス固有のメソッドを、Ruby では、特異メソッドと言う

instance-specific method
singular method
singleton method, eigen method

Rubyも、Duck Typing(動的型付け), Open Class を使う

obj.print( "あ" )

Duck Typing では、インスタンスobj のクラス・型・継承関係は関係なく、振る舞いで決まる。
objが同名のメソッドで、同じ数の引数を持つだけでよい

「アヒルのように歩き,アヒルのように鳴くものは、アヒルに違いない!」

改訂2版 Ruby逆引きハンドブック、2018/8/28

この本で、みっちり学ぶと、オブジェクト指向・関数型・メタプログラミングを理解できる!
365351
垢版 |
2019/06/24(月) 12:59:35.18ID:a0F4XMAJ
Duck Typing では、インスタンスobj のクラス・型・継承関係は関係なく、振る舞いで決まる。
objが同名のメソッドで、同じ数の引数を持つだけでよい

Java で言う、同じinterface を持つけど、特に宣言はしない。
呼び出すメソッドに、反応するかどうか

「アヒルのように歩き,アヒルのように鳴くものは、アヒルに違いない!」

ただし、Duck Typingは、クラスよりも変幻自在だから、モンキーパッチになりやすいので要注意!
2019/06/24(月) 13:56:33.09ID:GG24ezzu
> 「アヒルのように歩き,アヒルのように鳴くものは、アヒルに違いない!」

コードで書くと

if ( 生き物.鳴く() = "ガアガアガア" ) {
 print "アヒル"
}
2019/06/24(月) 13:57:16.50ID:GG24ezzu
ダックタイピングとは、メソッドの呼び出し結果で
型が決まるということを意味している。
2019/06/24(月) 22:04:21.83ID:J1mrJWpK
ダックタイピングで言う「型」って意味ないよね。
2019/06/25(火) 00:59:08.16ID:5X/+rI3v
実際の所、アヒルのように歩いて,アヒルのように鳴いたからといって、
アヒルとは限らないんだよな。アイボが犬ではないのと同じように
2019/06/25(火) 02:13:42.81ID:UDO8hU+H
https://ideone.com/3vJCEw
ダックタイピングってこうだっけ。C++は進む。
2019/06/25(火) 05:37:18.00ID:OfIMnEVQ
>>370
継承を使うものはダックタイピングとは呼ばない。
C++ でやるなら type erasure とか使うんじゃないかな。
372デフォルトの名無しさん
垢版 |
2019/06/25(火) 11:44:43.82ID:Cc6pu6kp
型安全はコンパイル時にエラーを見つける事を助ける、みたいな記述があるんですが
実行時にも型情報に基づいて例外を出す事はありますよね?
例外を出して処理をキャンセルしたということをもって型安全と言えますか?
もしそうならコンパイル時エラーだけでなく実行時例外に貢献するだけでも型安全である、
つまり動的型付けでも型安全な場合がある、と言えますか?
もし型の間違いを無視して処理を続けたら、言語にもよるけど、メモリ安全を壊すかもしれない。

そもそも"安全"と言っているのは、何かを破壊から守っているという事です。
メモリ安全は分かり易いですが、型安全とメモリ安全は違うようです。

「型安全とは関係が宣言されていない無関係な型へキャストされないこと」
と定義すると間違いですか?
2019/06/25(火) 12:20:37.40ID:ru6rAPvz
>>372
OSのエラーダイアログが表示されてプロセスが強制終了するなら型安全ではない
言語のtry-catchなどでトラップできる例外が発生するなら型安全
2019/06/25(火) 12:20:53.88ID:ru6rAPvz
> 「型安全とは関係が宣言されていない無関係な型へキャストされないこと」
間違い
375351
垢版 |
2019/06/25(火) 12:25:15.12ID:/8kFlQVi
JavaScript のjQuery は、引数の型によって、処理を変える

引数が文字列なら、文字列の処理へ、
引数が配列なら、配列の処理へ、

それら以外の型なら、エラーとか
376デフォルトの名無しさん
垢版 |
2019/06/25(火) 14:22:34.24ID:vGWUuZ9A
dllの作り方がわかりません
exeファイルがobjファイルをリンクするというのはわかりましたが、dllも同じですか?
377デフォルトの名無しさん
垢版 |
2019/06/26(水) 07:38:44.89ID:+23jdxl3
「visual studio dll 作成」で検索!

Visual Studio で、コンパイルして下さい!
その際、実行ファイル(exe)ではなく、共有ライブラリ(dll)を作成して下さい
2019/06/26(水) 22:25:38.02ID:FyRR2J0k
俺がときどき不思議に思うのは
>>370みたいなド素人がなぜ話題に顔突っ込んで来るのか
なぜ平気で顔突っ込んで来れるのかということ

自分の力量とみんなの力量その両方が見えてないからこそ
こういう周回遅れ野郎が迷い込んで来るのかなあ
379デフォルトの名無しさん
垢版 |
2019/06/27(木) 00:06:31.05ID:xCRWMcAz
こんなただの質問スレで他人の力量(笑)なんてわかるほうがおかしい
2019/06/27(木) 16:56:06.00ID:mr6OcBu+
>>378
いやー、タイプイレーザー書かないと認めてくれないらしいのでサンプルクレ。C++で。
2019/06/27(木) 21:33:47.43ID:Qltwuv2S
正の整数 a および n が与えられたとき、

a = m^n

となる整数 m が存在するかしないか判定し、存在する場合には、 m を求めるアルゴリズムはありますか?

実際にプログラミングすることを考えています。
浮動小数点数を使っても構いませんが、結果は厳密に正しい必要はあります。
2019/06/27(木) 21:43:43.54ID:mr6OcBu+
A^(1/n)ってだめ?
上記は数学関数のpow使えばできんでもないよ。
2019/06/27(木) 21:50:04.25ID:nAZ+iPIM
整数の巾乗が正確に計算できるなら、逆算で概数を求めて一番近い整数で検算できるでしょうね。
384デフォルトの名無しさん
垢版 |
2019/06/28(金) 02:05:53.37ID:k4pW0x/X
複数のプロセスで読み取り専用のファイルが開かれていたら
実メモリ上でそれは一元化されてるんでしょうか

例えばJavaアプリを複数実行した場合
JDKのファイルは実メモリ上で一元化されていますか?
2019/06/28(金) 02:16:43.48ID:wKOen38i
アプリの同一性を確保するためにハッシュなりなんなりを使うのもコストかかるので
よほど起用じゃないと同一性を保証することはないと思う
マシンパワーは余ってるので力業に行きがちだけど。
2019/06/28(金) 02:17:37.01ID:wKOen38i
>>384
そのメモリというのは一時メモリなのかそれともストレージそのものなのかも重要だ。
2019/06/28(金) 03:41:16.16ID:fwV77rc1
>>384
読み取り専用かどうかは関係ない
読み取り専用を解除して再設定することもできるんだから

読込したらキャッシュに入る。書き込みしない限りキャッシュは有効
だから何度読み込んでも同じであることが保証されるので
これはメモリを一元化(共有)される
該当メモリに書き込まない限り、メモリは共有される
2019/06/28(金) 07:49:11.63ID:D2ExxOf/
読み取り専用・更新されない部分は、メモリ上に、1つしか作らない

そのメモリに参照カウントを付けて、いくつのプロセスから参照されているか、数えている。
参照カウントが0 になったら、破棄される

書き込みで開くと、メモリを共有されない
389デフォルトの名無しさん
垢版 |
2019/06/28(金) 11:44:26.09ID:k4pW0x/X
https://ja.wikipedia.org/wiki/%E5%A7%94%E8%AD%B2#Java
class BがさらにメンバーCを持ったとします。
private C c = new C();
それで、aとcの依存を表現するにはやはり引数にいちいち指定するしかありませんよね?
あるいはaがBに依存している場合thisを渡すとか。

というのは、継承より委譲という話があるけど、
もし多階層の継承を委譲ベースに書き換えた場合、
親子クラスが依存していたなら、冒頭のa,b,cの相互依存性のような事をやらないといけませんよね?

そう考えると委譲ってそんな常に推奨されるほど良いもんですか?
390デフォルトの名無しさん
垢版 |
2019/06/28(金) 12:04:28.45ID:k4pW0x/X
補足

a.method()
とかやるときに
a.method(this)
みたいにしないと、thisや他のメンバー変数との依存関係を表現できない。
メンバー変数のオブジェクトのメソッドを呼び出すのにいちいちthisを指定する
というのもなかなか見かけない変な設計な気がします。
2019/06/28(金) 12:27:09.28ID:D2ExxOf/
委譲は、文字列・配列などの、標準的なクラスを継承させないため!

例えば、Stack クラスを作る場合、Array を継承して、クラスを作らないようにする。
Stackクラスの中に、Array型のインスタンス変数を作って、そこへ処理を丸投げする

例えば、Ruby なら、Array型のインスタンス変数ary に、処理を丸投げする

ただし、ary は、下の3つのメソッドしか使えません!
Arrayクラスの他のメソッドは、使えません!

Forwardable#def_delegators( :@ary, :push, :pop, empty? )
392391
垢版 |
2019/06/28(金) 12:35:50.24ID:D2ExxOf/
継承すると、親クラスの数十ある、すべてのメソッドで、
正常に動くように作らないといけないから、非常に厄介!

だから、標準的なクラスを継承してはいけない。
継承用の親クラスは、継承用に作られた、Object みたいなメソッド数が少ないものだけを使う

でも、Array の機能も少しは、使いたい場合に、
委譲を使って、使うべきメソッドを指定して、限定する事ができる
2019/06/28(金) 12:58:47.04ID:SBZUtncH
IT系の板のカテゴリってなんで「PC等」なんですかね?
世間から見るとそれがしっくりくるカテゴリ名なんすかね?
PCが大文字なのも、得も言えぬ感じを醸し出してて…
2019/06/28(金) 13:03:18.00ID:hmFpZHIL
大文字
2019/06/28(金) 14:17:04.07ID:WO9nfxii
*全角文字
2019/06/28(金) 18:06:53.87ID:gOdU8vWG
LinuxでC++で数値計算を書いてます。

引数が配列の関数について質問なんですけど、関数が最初に吐いた結果そのまんまを
弄らずに計算用の配列に渡す方法はないでしょうか?
作った関数の中に棄却採択法(乱数処理)が入ってるんですが、渡す際にforで回して
計算用配列に渡す成分ごとに関数を呼ぶと乱数計算がやり直しになるので計算結果の
ちゃんとした相関が崩れちゃうので困っています。

グローバル変数を用意して、関数は値を渡さず呼ぶだけにして計算結果をグローバル変数経由で
入手することでいちおう何とかしたのですが、関数を回すことなく1回の計算結果の配列を
そのまま取ってくる簡単な方法はないでしょうか?
2019/06/29(土) 01:36:51.17ID:pu12T/0o
日本語でおけ
2019/06/29(土) 01:51:55.71ID:pNPM9KL7
簡単な例で書くと、たとえば以下のユーザー関数からグローバル変数以外の方法で
s[0]〜s[2]の値を正確に抜き出すシンプルな方法はありますか、という質問です。

double *func(double x){
double s[3], x1, x2, x3;
x1 = x * rand() / RAND_MAX;
x2 = x * rand() / RAND_MAX;
x3 = x1 * x2;

s[0] = x1;
s[1] = x2;
s[2] = x3;

return s;
}

これを

for(i=0;i<3;i++){
x_calc[i] = func(x)[i];
}

とかで渡すとたぶんでたらめな結果になるので。
2019/06/29(土) 02:04:07.24ID:JqIDk+uk
>>381
そのアルゴリズムは存在するよ
もちろん厳密に求めることができる
mを1からカウントアップしてaを越えるまで一致を調べるだけ
時間的制約が書いてないんだから超イージー
2019/06/29(土) 02:25:31.00ID:3pgMwDvE
>>398
func内でのローカル変数sは関数のスコープを抜けると破棄されるからローカル変数の配列を返すのは良くない
引数に結果保存先の配列を渡してそこに書き込むといいよ
あとC++使うならもっと良い方法いくらでもある
2019/06/29(土) 05:42:37.19ID:3WPAMqWl
>>398
C++11でstd::vector使っていいなら、これで十分でしょう

#include <vector>

std::vector<double> func(double x){
double x1, x2, x3;
x1 = x * rand() / RAND_MAX;
x2 = x * rand() / RAND_MAX;
x3 = x1 * x2;

return {x1, x2, x3};
}

auto x_calc = func(x);
2019/06/29(土) 16:38:40.25ID:BQl+pfZF
YoutubeAPIを使って動画情報を取得する際に
動画のタイトル・説明文に日本語・英語両方が設定されている場合、英語しか所得できないんですけど
日本語を取得するにはどうしたらいいんでしょうか?

このページのTry this APIでlocaleとregionCodeにjpを入れてみたけど駄目でした
https://developers.google.com/youtube/v3/docs/videos/list?hl=ja

日・英両方設定されてる動画の例
https://www.youtube.com/watch?v=zGcYabz3hYg
2019/06/30(日) 09:12:15.90ID:WbrAeRc2
>>400
ありがとうございます。

>>401
なるほど関数そのものをvectorで作る手があるんですね。
ベクトルや行列・テンソル演算は配列の方が成分表示の数式と対応しやすくて
直観的だったんでvectorは敬遠しがちでしたけど、そういう使い方がありましたか。
2019/07/01(月) 18:52:08.77ID:Kmn6L8KY
ES系言語の改行・インデントについて

apples.Foo().forEach( (apple,k)=>{ apple.Bar().Baz(); return; } )

のようなメソッドチェインやコールバックがある場合
どこで改行&インデントしてる?
405デフォルトの名無しさん
垢版 |
2019/07/03(水) 21:16:16.19ID:C46248vl
ソフトウェア開発で仕様変更が発生する理由は何か?
どうすれば減らせるか?
2019/07/03(水) 21:28:07.53ID:5uao/N1o
Q. 仕様変更が発生する理由は何か?
A. 仕様を毎回決めているから

仕様を決めるから変更が発生する

決まってる仕様の中から選ぶだけにすれば、
仕様変更は発生しない
407デフォルトの名無しさん
垢版 |
2019/07/03(水) 21:58:47.31ID:C46248vl
>仕様を決めるから変更が発生する
仕様を決めるなということ?

>決まってる仕様の中から選ぶ
良く分からんけど仮にそうだとして「どれを選ぶか」が変わる可能性はあるのでは?
2019/07/03(水) 23:08:20.31ID:0qfdLOF6
おっしゃる通り
ビジネスシーンは常に目まぐるしく変わっているし
俺は気分屋だしコミュ障だし
客と技術者には認識ギャップが大きいしリスクは過小評価されるし
お客さんは忙しくてドキュメント読まないし書いてあっても曖昧だし何せ人間がやることだし以下略
2019/07/05(金) 04:13:13.96ID:F91/Jfe/
お世話になります。他所で聞いてみても解決できず、こちらで質問させて頂きます・・・。

https://dotup.org/uploda/dotup.org1887279.png
PCはHP ENVY x360 Convertible 15-ds0xxx Windows10 Homeを使用しています。

Docker ToolBoxを勉強したくインストールをし、
BiosからVirtualization TechnologyをEnableにしてCPUの仮想化をONにしました。
タスクマネージャーのCPU画面でも画像の通り「仮想化 有効」になっています。

しかしDockerの初期設定のDocker Quickstart Terminalを起動すると、
Error with pre-create check: "This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory"
と表示されてしまいました。

試しにSpeccyというソフトでもCPUの状態を確認したところ、画像の通り「Virtualization Supported, Disabled」と
表記されており、こちらでは仮想化がEnableにはなっていない様に見受けられるのですが、
どうすれば仮想化をONにすることができますか?

試してみたこと
・ 一度ToolBoxをアンインストールし、
Git、VirtualBoxの最新版をそれぞれのサイトから管理者権限からインストールし、
ToolBoxではDockerのみを管理者権限からインストール、
Docker Quickstart Terminalを起動すると
「bash.exeを探しています。自分で探す場合は、[参照]をクリックしてください。」
と出てくるので、Git>bin>bash.exeを指定し起動
しかし同じエラーメッセージ、Error with pre-create check: "This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory"
がでてきました。
・ VirtulBoxの設定のアクセラレーションから「VTX-/AMD-vを有効」をONにしましたが、
同じくエラーメッセージがでてきました。
・ 過去バージョンのToolBox( DockerToolbox-18.09.2 )をインストールしてみても同じエラーメッセージでした。

長文になってしまいすみません。心当たりある方いらしたらどうぞ宜しくお願いいたします。
410デフォルトの名無しさん
垢版 |
2019/07/05(金) 13:40:10.21ID:imex3OYJ
たぶん、安いCPU で、仮想化支援機構、VT-X/AMD-v が付いていないのだろう。
CPUの種類を調べて、VT-X/AMD-v が付いているか調べれば?

タブレットとか、安いパソコンのCPU には、付いていない。

i5, i7 などには付いている
2019/07/05(金) 20:29:57.88ID:tuQ+HBP8
ツールボックスは仮想化支援いらんぞ
オフにしてやり直せ
412410
垢版 |
2019/07/06(土) 00:21:32.31ID:uI6wmjg2
この辺りが、ヒントになるかも

仮想環境コンテナ総合スレ Docker、Vagrant等
https://mevius.5ch.net/test/read.cgi/tech/1487235664/803-806

>Docker Toolboxは古い
>Docker Desktop for Windowsを使え

上のスレへ、移動すれば?
このスレでは、そこまで専門的な事は、わからないから
2019/07/06(土) 14:16:29.81ID:Q6BMofOT
プログラマーの能力って
偏差値50位の人の生産性を1とすると60、70で生産性にどのぐらい違いがありますか?
2倍、3倍ぐらいでしょうか
2019/07/06(土) 14:22:12.12ID:Ykz9tA1F
最近サーバー上に直じゃなく1回コンテナはさんで
その上にフレームワークいれるパターンがはやってるけど何かメリットあるの?

物理サーバー使ってたり
1つのクラウドで複数の機能動かしたいみたいなよほど貧乏な使い方するならともかく

いまはベースがクラウドだから機能ごとに分離できるのに
さらにその上に仮想化機能のせる意味がわからない
2019/07/06(土) 14:56:27.09ID:O76mcSig
>>413
偏差値では全くわからない。
偏差値が運動能力に関係あるのか?みたいな話と同じで
偏差値はプログラマーの能力に関係ない

また泳げない人がプールの端までいけないのと同じように
出来ない人は全く出来ないから、生産性の違いは何万倍もの差があるし、
溺れて他人に迷惑をかけるのと同じように、マイナスの生産性になることもある。
416デフォルトの名無しさん
垢版 |
2019/07/06(土) 15:27:32.02ID:B8JGQzL3
学力の偏差値じゃなくて
プログラマーとしての能力差が生産性にどれくらい差をつけるかということだろ
417◆9GoCDasLbI
垢版 |
2019/07/06(土) 15:31:11.22ID:B8JGQzL3
トップとヘボい人では10万倍以上違う。

例えばリーナストーバルズという人。
LinuxとGitを作った。C言語で。
両方とも世界最高のソフトウェア。
個人が始めたプロジェクトがWindowsの競争相手になり、Androidに採用され、
サーバOS市場を支配した。
Linuxプロジェクトの規模は地球上最大といっていい。
ソースコードは2億行を超えている。

日本のIT業界が総力をあげたとして、
LinuxとかGitに比肩するプロダクトを生み出せるか?
どちらか片方すら無理じゃないか?と思うので、10万倍は差がある。
418◆9GoCDasLbI
垢版 |
2019/07/06(土) 15:33:26.60ID:B8JGQzL3
Gitは他のバージョン管理システムに比べて10倍から100倍高速と言われてる。
Mozillaがベンチマークした。
Linuxの巨大なソースコードを管理できる事が念頭に置かれていると思われる。
ソフトウェア作ってれば分かるが、そういう根本的な要件の違い、
達成しなければならない性能や規模の違いは制作の難易度を桁違いに難しくする。
419◆9GoCDasLbI
垢版 |
2019/07/06(土) 15:51:59.65ID:B8JGQzL3
なにより、本物のソフトウェア開発は発明の連続だ。
困難を乗り越える発明力の差が作れるものの違いを作る。
2019/07/06(土) 16:09:42.72ID:O76mcSig
>>417
> 例えばリーナストーバルズという人。
> LinuxとGitを作った。C言語で。

それでリーナス・トーバルズはどれだけ大金持ちになったの?
2019/07/06(土) 16:24:03.62ID:LdZDcwTE
>>420
その時に床を踏み抜かなかったら、1億$くらいの寄付得られるくらいの名声はあると思われる。
422◆9GoCDasLbI
垢版 |
2019/07/06(土) 16:43:40.61ID:B8JGQzL3
結構裕福だとされてる

あと、どれだけ稼いだか、というより
1兆円あったってLinuxとかGitを作れないかもしれないわけで
その能力と実績は半端な金より価値あるよ
2019/07/06(土) 16:45:36.89ID:Q6BMofOT
>>416
そういう意味です。
例えばそのLinuxの人は特別な人なので何万倍としても
日本のランダムな100人プログラマーがいて
真ん中位にできる人とトップ20の人とトップ10ぐらいとの生産性の差みたいなもんです
感覚値でいいので
自分のなかでは真ん中1ぐらいとするとトップ20で3、トップ10なら5、位の生産性かなと思ってました
424デフォルトの名無しさん
垢版 |
2019/07/06(土) 16:56:40.74ID:B8JGQzL3
中小企業とかだと、一人ハイレベルなエンジニアがいて、
その人が色んな人を助けてるからなんとか回ってる、という事がある。
普通のプログラマーは「詰まったら終わり」みたいで、解決できないし
適切な基本設計もできない。

要するに一定レベル以下の人は単独では一切何もできない。
難しいところを補佐してもらえば出来る事もある、という程度。
だから生産性を数値で比較する事はできない。
そもそもできる事が違う。
425◆9GoCDasLbI
垢版 |
2019/07/06(土) 16:58:54.18ID:B8JGQzL3
まずプログラミングという作業が単純な作業の足し算で完成するものではないという事だ。
生産性より、生産可能な範囲が違う。
2019/07/06(土) 17:05:52.64ID:3nMBkHjL
この板の主旨が分からないのか頭がおかしいのかどっちだ
427デフォルトの名無しさん
垢版 |
2019/07/06(土) 18:33:20.46ID:6c3l+b/P
オープンソースのアプリを改造したいです
Cssというファイルをいじって日本語用の改行に合わせたいだけです

androidstudioをインストールして
プロファイルオアデバッグでAPKを開いて
アプリをPCと実機を繋いで実行することまでは出来たんですが
apkの中のファイルを変更することができません
readonlyの様です

apkを解凍したあとのモノだと編集はできるのですが
Runマークが押せないです。全く光ってないです
どうしたらいいですか?
2019/07/07(日) 03:48:28.42ID:JxXLCnuV
apkはソースではないからAndroidStudioはapkを実行・デバッグするが編集するようにはできていない。
apkを解凍する知恵があるがapkに書き戻す知恵がないのなら、ソースを取得してAndroidStudioでソースのCSSファイルをいじってビルドすればお望みのapkができる。
オープンソースのアプリなんだろ?
2019/07/07(日) 07:15:57.61ID:265Kx3U0
linuxが流行ったのは単純に無料でそこそこの品質でオプソなのでプログラマのオモチャになったから
Windowsが無料のオプソだったらLinuxはあっという間に絶滅していた
リーナスはプログラマとしてはそれほど大したことないが売り方がうまかった(無料なので売り方というのは変かもだけど)
ビジネスマンになったほうが成功したかもね
2019/07/07(日) 07:42:17.74ID:Xmz31hdk
どうでもええわ
2019/07/07(日) 09:29:35.27ID:9mbVQdeV
>>429
> リーナスはプログラマとしてはそれほど大したことない

念のためお尋ねしますが
あなたは彼よりは凄い人なんですか
そうでない場合でも責めませんので
シンプルにお答えください
432デフォルトの名無しさん
垢版 |
2019/07/07(日) 10:27:57.20ID:L6br89wj
>>415
高校生の頃に偏差値70近くある友人がプログラミング覚えて
ゲームを作ると豪語していたけど、結局、何も作れず挫折してたのを思い出したわ
433デフォルトの名無しさん
垢版 |
2019/07/07(日) 20:56:18.88ID:+MitFUu1
windows10のHomeです
プログラミングにおいては、インストールするフォルダはデフォルト指定(Cドライブ)が良いのでしょうか
手動でインストールするのは全てDドライブに入れているのですが、不便不都合はありますか?
2019/07/07(日) 21:00:28.61ID:VrO3HeBH
>>433
何をインストールするの?
インストール場所指定できるもので不具合起きる可能性があるのならそこのベンダーなり配布者に聞いて
2019/07/07(日) 21:17:45.12ID:+MitFUu1
>>434
場合によりけりなのですね
今回入れるのはWindows Gitです
2019/07/07(日) 21:29:43.31ID:VrO3HeBH
>>435
Gitは専用スレあるんだからそちらへどうぞ
Git 17 (IPなし)
https://mevius.5ch.net/test/read.cgi/tech/1561145169/
Git 16©2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1502726047/
437デフォルトの名無しさん
垢版 |
2019/07/07(日) 22:19:23.87ID:+MitFUu1
>>436
スレチ失礼しました
誘導ありがとうございます!
438427
垢版 |
2019/07/07(日) 22:54:14.15ID:BS+ei3AC
>>428
ありがとうございます!

GitHubにアプリの公式が公開してるファイルがありました!!
それだとちゃんと編集出来てRUNできて
スマホ繋いだらインストールまでできました
2019/07/08(月) 07:59:40.47ID:chMIaIM4
SQLiteのような簡単にどの環境でも使えるデータベース
かつうっかりそれが他人に漏れてしまっても
中身がわからないというようなものとかないですかね
データベースのバイナリみてもヒントになるような情報はなく
テーブル構造なんかも外見上不明で
そういうのを一覧で表示するクエリとかも存在せず
もしデータベースの中から情報を得ようとしたら
ブルートフォース的にテーブル名を当てるところから始めないといけないような
2019/07/08(月) 10:18:38.44ID:buLS+oc3
暗号化するんじゃダメなん?
SQLliteでSQLCipherをよく使ってるが。
暗号化キー入れるまでsqlite3コマンドで開いても何にもできない。
さらにはVFSに自前で圧縮組み込だりするけど、そうすると標準のsqlite3コマンドでは全く扱えないDBファイルになる。
2019/07/08(月) 12:07:03.47ID:chMIaIM4
>>440
ありがとう!早速調べて使ってみます
442デフォルトの名無しさん
垢版 |
2019/07/08(月) 17:54:21.46ID:CccTAuA7
マスタープロセスがスレーブプロセスを起動して、
そのプロセスオブジェクトを通じて
標準入力と標準出力を通じて通信する場合、秘密情報の交換は危険ですか?
2019/07/08(月) 18:07:26.95ID:OnOhhClA
>>442
世間に通じる用語を使ってください
444デフォルトの名無しさん
垢版 |
2019/07/08(月) 18:16:06.38ID:CccTAuA7
プロセスAがプロセスBを起動して、
例えばJavaではAにおいてBのProcessオブジェクトが得られるが、
それを通じて標準入出力を使って通信する事はセキュリティ上問題があるか?

C++でも同様にProcessクラスがあるから起動時に取得できるはず。
どの言語でもそうだろう。
445デフォルトの名無しさん
垢版 |
2019/07/08(月) 18:18:56.06ID:CccTAuA7
こういうのを使ってAとBが相互に通信できるはず。
https://docs.oracle.com/javase/jp/7/api/java/lang/Process.html#getOutputStream()

その通信内容は傍受されてしまうか?あるいは改竄されてしまうか?
446デフォルトの名無しさん
垢版 |
2019/07/08(月) 18:36:29.33ID:CccTAuA7
良く考えてみたらコマンドラインのプログラムでパスワードを入力する時も
標準入力という事になる、はず。
それが傍受されたりするならかなり多くのプログラムが脆弱性を抱えている事になる。
2019/07/08(月) 18:38:35.28ID:hUv9B0nZ
またこいつか
質問スレで独演会とか
448デフォルトの名無しさん
垢版 |
2019/07/08(月) 19:05:49.17ID:CccTAuA7
この投稿内容に何か問題あるの?少しも分からない
2019/07/08(月) 20:00:55.35ID:QjZ3grgu
デバッガのアタッチ検出したらいいだけじゃね
2019/07/08(月) 20:21:09.65ID:FtptyyO3
「コンピュータ将棋選手権」
「コンピュータ囲碁選手権」
みたいな、
「事前に作ってきたソフトを戦わせる競技」
ってほかにどんなのがありますか?
2019/07/09(火) 21:31:05.34ID:ggPtzp0W
突然だが、こんなものを作った。
https://light.dotup.org/uploda/light.dotup.org599403.png
使ってくれ。

暇だったんだ。
2019/07/09(火) 21:31:50.67ID:ggPtzp0W
>>451
学生が大好きな待ち行列のイメージだ。
2019/07/09(火) 21:38:49.41ID:chrBBqpb
今のところのハードだと
無理数の浮動点少数が2進法駆使して実装するために近似値で頑張ってくれる感じになる
しかし、その挙動をコードから読み解くのは私には厳しいです

(loop for x from -3 to 3 by 0.0001 when (> -10 (+ (expt 8 x) (expt 8 (* -1 x)) (- (* 4 (+ (expt 4 x) (expt 4 (* -1 x))))))) do (print x))
-1.3885257
-1.3884257

数学的に -10 が最小値となる関数を計算させたら、機械はそれより小さい値をだした

私は恐ろしい
今回はバグりそうな場所を数学的にめぼしを付けて高密度なローラーすることでバグを発見できた
だが、普通はこんな数式よりはずっと予測が難しく、そして無理数に満ちている

以上の背景より質問はこれです
3/7のように分母と分子を記録する方法は多くの言語で使えるようになりました。
無理数を数学的に扱える言語はありますか?
ルート2や三乗根の5 といった根と指数を記録できる言語はありますか?
sin(2pi) = 0, cos(pi) = 0 となる言語はありますか?
2019/07/09(火) 21:39:58.69ID:chrBBqpb
cos(pi/2) = 0 か
2019/07/09(火) 21:51:15.88ID:ggPtzp0W
コンピュータは2進数を基礎として動いているので、2進数で表せないものは近似解になる。
少数は、二進数で0が多くなるたびに1/2されていく感じになる。それで表せないものは近似解になる。
0.1(2)=0.5(10)
0.01(2)=0.25(10)
基本情報の試験で出るから勉強しとけよ〜。
2019/07/09(火) 21:53:22.21ID:ggPtzp0W
らしょなるだっけ?分数で保持して実数解を最後に出すやつ。
2019/07/09(火) 21:54:27.83ID:YXbnrG+I
こんなのがお望みかね?
https://reference.wolfram.com/language/ref/Sin.html
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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