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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2020/11/27(金) 10:07:17.73ID:d9w49I3I
この板はプログラムを作る人のための板です。
あらゆる質問はまず
スレ立てるまでもない質問はここで
スレにしてください。
【前スレ】
スレ立てるまでもない質問はここで 154匹目
http://mevius.5ch.net/test/read.cgi/tech/1599472611/l50
2021/01/19(火) 18:30:43.36ID:zmXXrJtv
WebIDEとかでよく使われてるブラウザ上のコマンドラインってどうやって作ってんすか?
483デフォルトの名無しさん
垢版 |
2021/01/19(火) 21:31:09.20ID:AAGIcVgh
>>482
1文字づつ入力受け付けてんだろ
2021/01/20(水) 00:59:29.08ID:W2pMMNRu
cakePHPのクエリビルダみたいなのって誰得なんですか?
あれでなんでもできるならまぁいいんだけどちょっと複雑なSQLになると「出来ないんで直接SQL書いてください」になるし
それだったら最初から全部直接SQL書けばよくないですか?
2021/01/20(水) 01:21:14.07ID:JbkhoYGM
>>484
フレームワークっていうのは、非常によく使う機能を簡単かつ定型的に使えるようになっているんだよ

複雑なSQLだと使えないって文句言うのは、
bootstrap使っておきながら「細かな調整ができない!」って文句言うデザイナみたいなものだよ
2021/01/20(水) 01:22:24.08ID:Rdh9isrB
例外とか使うよりもgotoの方が
好きな場所にジャンプできて便利じゃん
2021/01/20(水) 01:42:06.09ID:Zqxom2Xr
>>484
静的解析でエラー検知できる
2021/01/20(水) 10:46:14.94ID:sOzWFlEJ
直接、文字列でSQL を書くと、SQLインジェクションで、
データを抜かれたり、システムをめちゃめちゃにされる

だから、? を使ったプレースホルダーとか、
Ruby on Rails などのフレームワークで、チェックしないといけない
489デフォルトの名無しさん
垢版 |
2021/01/20(水) 11:39:47.82ID:pudyYjeO
初歩的ですいません
「もし整数ならA、それ以外ならB」って条件分岐を書きたいんだけど、整数ってどうやって表現すればいいんでしょうか…
言語はSwiftです
2021/01/20(水) 12:27:49.43ID:5gwvq16z
["21.5", "19.25", "27", "no data", "28.25", "no data", "23", "2.9999999999999999"]
.map { Double($0) ?? .nan }
.filter { $0.rounded() == $0 } //<= コレ
.forEach{ print($0) }
491デフォルトの名無しさん
垢版 |
2021/01/20(水) 13:16:46.97ID:pudyYjeO
>>490
なんか思ったよりかなり難しそうでした…
ありがとうございます
2021/01/20(水) 14:33:22.24ID:QXTg6pL2
整数かどうかで分岐させたい処理って何なの?

宿題系のプログラム以外で見かけたことがない
493デフォルトの名無しさん
垢版 |
2021/01/20(水) 14:49:49.52ID:pudyYjeO
>>492
宿題系です
2021/01/20(水) 15:46:28.72ID:FzWFRFOF
>>492
画面表示に関わる座標系は整数で分岐させるよね
TANとか外積とかの例外を文字列で入れたりとかあるかも
2021/01/20(水) 17:02:10.07ID:+ripr6vm
座標系は剰余でしょ
代用できる場合はあるけど意味は違う
2021/01/21(木) 01:14:00.80ID:x0t63wd3
linuxでファイルに任意のメタデータを付与することってできる?
2021/01/21(木) 01:26:15.07ID:e05IQa93
>>496
man xattr
498デフォルトの名無しさん
垢版 |
2021/01/21(木) 01:47:33.22ID:w6TxDr36
Flashが死んだわけだが、プログラム言語としてのActionScriptももう死んだのか?
Flash以外に用途があったんだろうか?
499デフォルトの名無しさん
垢版 |
2021/01/21(木) 02:11:52.50ID:0K6M1mAX
ActionScriptっていうのは、IE6に搭載されていたJavaScript(ECMAScript3)の
次世代版、ECMAScript4を先取りした言語だったんだよ
でもECMAScript4は今までのJavaScriptと大幅に変わってしまい廃止になった。

つまりActionScriptはJavaScriptの世界で言えば
廃案となった実験的言語でしかないんだよ
2021/01/21(木) 04:40:28.73ID:xWHELsa7
Adobeの他の製品ではActionScript2とか3が使える
2021/01/21(木) 11:30:03.39ID:DtxXx33C
Haxe(ヘックス)はOSSで、JSに型チェックを付けたような言語で(altJS)、
JS(ES5), Flash, PHP, C++, Java, C#, Python, Lua に書き出せる

ゲーム製作などに使う
502デフォルトの名無しさん
垢版 |
2021/01/21(木) 14:41:52.12ID:bQp8azG/
スマートウォッチのSpo2センサーの数値を取得したいのですが、現在発売中のSpo2が取得できる機種で、センサー数値取得方法が公開されてるのはAppleのみですよね?
Huawei、Amazfit、GARMINはどれも独自OS積んでて仕様公開してないようですが、探し方が悪いのでしょうか?
503デフォルトの名無しさん
垢版 |
2021/01/21(木) 14:52:40.75ID:vScR+qbO
メソッドチェーンってオブジェクトのある言語なら何でもいけるの?
何も返さない(voidを返す)メソッドは全部
かわりに自分自身を返しておけばいい?それで別に不具合は起きないよね?やらない理由はない?
504デフォルトの名無しさん
垢版 |
2021/01/21(木) 19:38:14.30ID:6tk1Snw3
スマートウォッチングって変態御用達では。
505デフォルトの名無しさん
垢版 |
2021/01/21(木) 20:07:22.53ID:XYuR1JzO
少数第一位までの数字(例えば15.0〜50.9までの間)をランダムで表示するにはどうすればいい??
2021/01/21(木) 20:11:41.97ID:6GIk8mhw
60くらいまで乱数だしてあたいが条件からはずれたらループとか
多分10倍した150と509を上弦と下弦にして掛け算割り算するより
良い分散になりそう
2021/01/21(木) 20:12:38.68ID:EAcGW6Ot
>>505
150〜509までのランダム出して10で割る
2021/01/21(木) 20:17:20.32ID:e1j6x1hx
150から509の間の整数乱数を作って1/10しろ
乱数は0から(509-150)で作って150足せばできる
2021/01/21(木) 21:42:01.07ID:2LdLfW0X
>>503
ostreamみたいにひとつのオブジェクトのメソッドを立て続けに叩きたい用途なら意味があるかもしれんが
それ以外ならやる理由がないな。
どんな関数でもチェーンする関数チェーンとはそのへんが違う。
510デフォルトの名無しさん
垢版 |
2021/01/21(木) 21:57:05.26ID:XYuR1JzO
>>506->>508
ありがとう
その手があったか
そういう発想パッとできるようになりたいわ
511デフォルトの名無しさん
垢版 |
2021/01/22(金) 00:17:05.06ID:V0T4RJrl
メソッドチェーンが無い言語で、自分でメソッドチェーン作るとか
暇人すぎるから普通やらない
2021/01/22(金) 01:05:10.26ID:ZQEfkoyS
メソッドチェーンが無い言語?
513デフォルトの名無しさん
垢版 |
2021/01/22(金) 07:20:16.45ID:J5cef2aH
>>511
Obj-CでPromiseモドキ作るやつとか?
https://github.com/YasufumiMuranaka/promise
2021/01/22(金) 07:36:57.05ID:KQNzVW3z
オブジェクトを持たない言語じゃない?
2021/01/22(金) 08:33:22.48ID:A5Uig14k
メソッドチェーンっていうのはライブラリの設計に過ぎないから
・言語にメソッドチェーンがあるわけではない
・自分でライブラリを作るのは当たり前

ライブラリの再発明は可能ならすべきではないが
自分でライブラリを作らないっていうのは
プログラマとしては未熟だろう
2021/01/22(金) 09:40:16.31ID:JAaKTTQV
デザインパターンを覚えた直後は感動して何でもかんでも適用したがる麻疹のような状態になることがある
頭空っぽにしてあらゆるメソッドをチェーン可能に作る前にちょっと冷静になったほうがいい
YAGNIの法則を心に留めつつ、チェーンが欲しいものとそうでもないものに最初に仕分けるべし
2021/01/22(金) 09:43:19.96ID:JAaKTTQV
メソッドのシグネチャーは利用者との契約
voidにしておけばチェーンの便利さがない代わりに責任もない
後から戻り値を追加設計したくなったとき、破壊的な影響なく仕様変更できる自由がある
2021/01/22(金) 09:49:47.60ID:JAaKTTQV
YAGNIについて補足
jQueryのようなライブラリは一度return thisを書いておけば世界中から1億回使ってもらえる
俺ライブラリのメソッドは3箇所からしか呼び出されずチェーンも利用されないことが常
2021/01/22(金) 11:41:37.48ID:nErdMrP/
無理してチェーンにしなくていいけど自然とチェーンになる
voidって副作用の温床じゃん
2021/01/22(金) 13:30:34.24ID:xLVy+Y7f
チェーンかどうか、コンパイラが最適化しない気がするが
モックアップはvoidと、private以外で作り、
最後に、synchronizedつけたり、privateつけて、一部だけpublicのgettter settter使うように調整するのは、
毎日リファクタリングする段階だとありだよな

object返してチェーンさせるのは、
そのメソッドの中見ないと解読できない

場合によるが、finalな編集不可能オブジェの、
変数いじるクローンだったりするし、


あと、1行ごとに、catchやsynchronizedで囲めないから、
あまりいいと思わないな
2021/01/22(金) 13:36:37.41ID:xLVy+Y7f
>>519のチェーン絶対主義だと、レジスター変数つかえない
cpuにも優しくないし、戻り値全部使っちゃいけないことになるし

お前の仕事いつもはまってるんじゃないの?
2021/01/22(金) 13:58:53.41ID:KQNzVW3z
チェーン絶対主義は戻り値拒否じゃないし、
そもそもレジスタ変数とか歴史に帰れ
2021/01/22(金) 14:03:41.13ID:KQNzVW3z
あとvoid返却じゃなくチェーンでも副作用を期待してるんだから温床に変わりないじゃん頭大丈夫?
2021/01/22(金) 14:06:37.52ID:KQNzVW3z
あ、不変オブジェクト原理主義だったらごめんよ
525デフォルトの名無しさん
垢版 |
2021/01/22(金) 14:09:10.63ID:xLVy+Y7f
話にならないな、何しにきたの?&そうするとどうなるの?
2021/01/22(金) 14:11:25.57ID:KQNzVW3z
メソッドチェーンなんてAPIのスタイルにしか過ぎないから議論なんて意味ないって話だよ
527デフォルトの名無しさん
垢版 |
2021/01/22(金) 14:13:00.00ID:sdt8Ek7M
書き殴る便所の落書きかよ
ちょっとは人の文章よめ

最初からわかりきってたけど
2021/01/22(金) 14:24:02.05ID:ZQEfkoyS
>>519
戻り値voidは「このメソッドは副作用を起こすためのメソッドですよ」という表明

Selfを返してチェーンさせるAPI設計にしたほうがいいかどうかはケースバイケース
2021/01/22(金) 14:55:08.74ID:A5Uig14k
void mainはやめて、int mainにしよう!
関数は副作用をなくすべき!
2021/01/22(金) 15:23:41.81ID:lXDpHddi
int mainは副作用云々はともかく終了コード返すから有用だろ
2021/01/22(金) 16:25:31.48ID:ZqD8WV63
>>521
リソースカツカツの大昔ならともかく現代ではそんなに気にしなくていい

ぜんぜんハマらないどころか快適だよ

あとチェーンは絶対じゃなくてオマケだ
あくまで副作用を最小化した関数重視の書き方が良い
オブジェクト指向言語で関数重視にするとメソッドチェーン的な書き方が自然と導入される
2021/01/22(金) 16:27:33.68ID:ZqD8WV63
>>528
そもそもthisは返さない

クローンしたものあるいはクローンを少し改変したものを返す
メソッド対象そのものはイミュータブルだ
返すのは別のインスタンス
533デフォルトの名無しさん
垢版 |
2021/01/22(金) 16:41:17.18ID:krMW4kbd
この業界できる人から辞めてくんだよな
534デフォルトの名無しさん
垢版 |
2021/01/22(金) 16:46:58.60ID:spT1A/uB
唖然
535デフォルトの名無しさん
垢版 |
2021/01/22(金) 16:53:03.74ID:J5cef2aH
>>533
会社辞めてSESで3倍稼ぐやつw
536デフォルトの名無しさん
垢版 |
2021/01/22(金) 16:53:52.57ID:7PH07t0Z
朝会とかウザ過ぎ、効率落ちる
537デフォルトの名無しさん
垢版 |
2021/01/22(金) 17:05:50.32ID:clpH6KY8
ただの好き嫌いレベルをこうしなければならないとか言って
先人の知恵をおちょくる
挙句、自分様は絶対正しいと主張し新興宗教じみた後出しジャンケンを繰り広げる

こんなのと同じことフロアーいややわー
2021/01/22(金) 17:36:04.00ID:ZQEfkoyS
>>532
それもケースバイケース
言語やそのAPIを使う状況次第

例えばJavaでBuilderパターンを実装するなら
最後に呼ぶbuild()メソッド以外はreturn thisする
2021/01/22(金) 18:20:53.68ID:mS9f9S7L
S3だとかMinioってやつはオブジェクトのメタデータ使って検索するのにはあんまし向いてない?
RDBと組み合わせて使うものなのかな
2021/01/22(金) 21:06:17.89ID:3W/g7okM
>>519
thisを返すメソッドも副作用前提だろ。自分の状態を変化させるんだから。
2021/01/22(金) 21:12:48.64ID:W5xHOOOh
クソコードとかウンコードって英語圏でなんと呼ばれているのですか?
2021/01/22(金) 21:19:12.97ID:YeZLRB5m
リーナス曰わく「shit code」
2021/01/22(金) 21:29:21.53ID:W5xHOOOh
>>542
おーそれっぽい検索結果が出てきました
ありがとうございます
2021/01/22(金) 21:37:24.65ID:i5dURt7P
そのまんまにもほどがある
545デフォルトの名無しさん
垢版 |
2021/01/23(土) 00:30:54.46ID:MUxSQoqh
>>537
因縁レベルのレビューとかするやつ・・
546デフォルトの名無しさん
垢版 |
2021/01/23(土) 01:07:21.78ID:pyPer7vX
>>505
>少数第一位までの数字(例えば15.0〜50.9までの間)をランダムで表示するにはどうすればいい??

Double型で150〜509までの数をランダムで出して10で割ってみてるけど
150.123...みたいな数がランダムに出てしまうようで、それを10で割っても15.0123になってしまう…
どこかおかしいのかな
プログラム初心者ですまん
面倒ならスルーでオッケーです
547デフォルトの名無しさん
垢版 |
2021/01/23(土) 01:18:16.86ID:MUxSQoqh
>>546
なぜdoubleなの?
2021/01/23(土) 01:56:25.92ID:VaEGlU5h
>>546
まず整数にしてから10で割るという簡単なことがすぐ思いつかないの?
人にいちいち聞かないとできないのならもうやめたら
549デフォルトの名無しさん
垢版 |
2021/01/23(土) 07:14:56.27ID:MUxSQoqh
整数にするのは当たり前として、もっとプログラマーに大切なのはコンピュータの気持ちになって考えてみる事だ。
この場合、0〜359の乱数を生成して150足して10で割る。10かけて四捨五入ならroundしてから10で割る。
0からにすることでコード量はかなり減らすことができる。
2021/01/23(土) 07:34:28.23ID:wDWcI13m
>>546
>>508に「150から509の間の整数乱数を作って1/10しろ」って書いてある日本語が読めない人は日本語わかるようになってから来てね
2021/01/23(土) 11:27:15.89ID:5S3f8ehS
>>549
> 整数にするのは当たり前として、もっとプログラマーに大切なのはコンピュータの気持ちになって考えてみる事だ。
ふむ

0〜1 0110 0111の乱数を生成して1001 0110足して1010で割る。1010かけて0100捨0101入ならroundしてから1010で割る。
2021/01/23(土) 11:29:27.64ID:DkrnWP3c
次のような表から
3項目、A合計180以上、B合計200以上を満たして
なおかつC+D合計がなるべく小さくなる組み合わせを探す方法

自分で試して見ましたが最適と思う答え(01,02,09)にたどり着かない…

名前| A| B| C| D|
-------------------------
  01| 59| 70| 15| 20|
  02| 74| 64| 15| 20|
  03| 49| 45| 15| 20|
  04| 49| 44| 15| 20|
  05| 51| 46| 15| 20|
  06| 62| 59| 15| 20|
  07| 54| 77| 20| 25|
  08| 54| 74| 20| 25|
  09| 58| 84| 15| 25|
2021/01/23(土) 11:32:03.49ID:5S3f8ehS
コンピュータの気持ちになって考えてみると・・・
2021/01/23(土) 11:43:13.51ID:A1DCo63z
>>552
ループして計算するだけやん?
2021/01/23(土) 11:46:47.59ID:5S3f8ehS
>>554
提出日は月曜なので明日中にお願いします
2021/01/23(土) 11:55:01.39ID:sAz3YI3t
宿題は自分でやれ
できないなら素直に単位落とせ
2021/01/23(土) 11:59:47.16ID:5S3f8ehS
自分で試したのにそんな事言うんですか?
試したって書いてあるでしょ
2021/01/23(土) 12:26:31.71ID:Migm0viT
>>552
コードをアップロードしたらみんな添削してくれると思うよ
あと正解は一つじゃない、念のため
2021/01/23(土) 12:35:32.61ID:fA0JjYru
重複ありなら1つに決まる
560デフォルトの名無しさん
垢版 |
2021/01/23(土) 12:50:55.51ID:f2Vc7d50
答えてあげたとしても
バレたら除籍が当たり前なんですけど

なんで入学しちゃったの?
2021/01/23(土) 13:12:32.84ID:q1SxwlIa
>>552
一般化しようとすると結構難しいね
計算をどこで止めるか
どうやって速度を出すか
まあ頑張って
2021/01/23(土) 13:38:21.43ID:hIt2ZLZ6
ふつうに動的計画法だろ
2021/01/23(土) 13:58:57.30ID:tpiREuz3
この程度なら総当りでいいだろ
2021/01/23(土) 14:09:23.46ID:BBAp0+Kx
んだね9*8*7の500パターン程度だから
そこからAB条件に合うものをC+Dでソートするのが一番手っ取り早い
100万くらいあっても多分
565デフォルトの名無しさん
垢版 |
2021/01/23(土) 15:28:59.91ID:f2Vc7d50
>>559
お前優しいな
問題が不完全なんだよね、つまり

日本語からやり直しね
566デフォルトの名無しさん
垢版 |
2021/01/23(土) 16:03:10.41ID:s8PlSkaV
プログラミングを始めてからXAMPPでやってるんだけど
youtubeとかで勧められてる
docker、AWS、CircleCI のセットがわからない
これらってXAMPPで例えたらどの部分になるの?
2021/01/23(土) 16:09:52.52ID:dilIonj4
どの部分にもならない
568デフォルトの名無しさん
垢版 |
2021/01/23(土) 16:43:57.72ID:s8PlSkaV
>>567
どういうこと?
繋がりがわからん
2021/01/23(土) 16:53:14.35ID:dilIonj4
いやだからそれらはxamppのどれにも当てはまらんって言ってんの
質問の回答のままなんだが
2021/01/23(土) 16:53:27.81ID:A1DCo63z
>>566
個人でやるだけならそもそも要らないしな
Dockerもいらんよ
普通に仮想環境のほうが分かりやすい
virtualboxとvagrantなど
awsは個人でも無料枠があるので使ってみるのはありかと
circleCIなんかまじでいらん
jenkinsとかなら触ってみてもいいとは思うけど案外導入が面倒だしいらんかと
2021/01/23(土) 17:05:14.39ID:BBAp0+Kx
>>566
Docker はコンテナ技術と言う、仮想マシンの従兄弟のアプリ
AWS はコンテナやら仮想マシンやら諸々をホストするクラウドサービス
CircleCI は Jenkins などのビルド用の商用版サービス

といっても CircleCI なんて貧乏人だから知らなかった
Jenkins で不満に感じてないし
2021/01/23(土) 17:08:50.93ID:BBAp0+Kx
>>570
でもPython環境とかだったとしたら、一々セットアップするよりコンテナダウンロードしたほうが楽じゃね?
まぁPythonやるのか知らんけど
2021/01/23(土) 17:27:22.48ID:5S3f8ehS
>>570
> 個人でやるだけならそもそも要らないしな
> Dockerもいらんよ
> 普通に仮想環境のほうが分かりやすい

Dockerは他の人に配布したり
サーバーにアプリをデプロイする時に使うから
個人でやるだけならいないってだけ

仮想環境=物理マシンとほぼ同じなんだから
仮想環境があればDockerがいらなくなるわけじゃない
配布orデプロイするなら、仮想環境があったとしてもDockerは必要
2021/01/23(土) 17:28:06.67ID:5S3f8ehS
> といっても CircleCI なんて貧乏人だから知らなかった
貧乏じゃなくて知識がないから知らなかっただけ
認めよう
2021/01/23(土) 17:28:57.57ID:5S3f8ehS
> Jenkins で不満に感じてないし

自分でメンテナンスしてないから
不満がないんだろう?
会社で誰かが作ったのを使ってるだけ
2021/01/23(土) 17:30:37.48ID:5S3f8ehS
> でもPython環境とかだったとしたら、一々セットアップするよりコンテナダウンロードしたほうが楽じゃね?

DockerはPython環境を作るためのものじゃない
Pythonで作ったなにかを、他の環境で簡単に動かすためのもの
他人に配布した時の話だから、個人レベルで必要ないと思うのは当然
577デフォルトの名無しさん
垢版 |
2021/01/23(土) 17:33:50.73ID:s8PlSkaV
みんなありがとう
AWSがサーバーで補助的にDockerやCircleCIが挟まってる感じなんだな
2021/01/23(土) 17:43:07.75ID:BBAp0+Kx
>>576
いや、DockerHUB に Python コンテナ色々あるやん?
自前で環境整えなくていいやつ
2021/01/23(土) 17:48:12.09ID:5S3f8ehS
Docker hubにあるいろんなコンテナのほとんどは
開発者が自分のために作ったものであって
他人が使うために用意されていません
2021/01/23(土) 17:55:53.71ID:BBAp0+Kx
>>575
もちろん!
んで、不都合ないんだから別に良いじゃない
subversionとGitくらい違うの?
見てみたけどパフォーマンスはともかく、ビルド毎にSDKとか変えられるってのは、それこそ商用の複数ターゲット向けの機能じゃない
2021/01/23(土) 18:02:06.88ID:5S3f8ehS
複数のバージョンに対応するときに
Dockerを使うとしたらテストする時に使うものなんだが
ビルド毎にSDK変えるってpyenvで十分な話でもしてんのか?


配布するときは特定のバージョンを入れて配布すればいいのだから
複数のSDKに対応する必要があるのはライブラリとかオープンソースアプリの開発者だけだな

自社で運営してるサービスとかでは
複数のバージョンに対応する必要がなくなるのがDockerのメリット
■ このスレッドは過去ログ倉庫に格納されています