X



スレ立てるまでもない質問はここで 156匹目
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
垢版 |
2021/02/20(土) 17:17:54.73ID:56yjs2OO
この板はプログラムを作る人のための板です。
あらゆる質問はまず
スレ立てるまでもない質問はここで
スレにしてください。

【前スレ】
スレ立てるまでもない質問はここで 155匹目
https://mevius.5ch.net/test/read.cgi/tech/1606439237/

次スレは>>980が立てること
0009デフォルトの名無しさん
垢版 |
2021/02/24(水) 11:25:43.86ID:/7SVkk6c
rubyの正規表現で文中の数字の位置を調べるために、下記のように書きました。

"xyz243" =~ /(\D|^)\ d{3}(\D|\s|$)/

すると、
#=> 2
として結果の位置が3ではなくて2とずれて表示されたのですが、何故でしょうか?
0011デフォルトの名無しさん
垢版 |
2021/02/25(木) 06:44:07.67ID:6tXaXq4d
html のレイアウトって一々width指定しなきゃダメなの?
エクセルとかみたいにドラッグで幅変更できるソフトとかないの?
0012デフォルトの名無しさん
垢版 |
2021/02/25(木) 10:25:30.79ID:GHF9B9DF
>>11
そんな機能はHTMLの標準機能で実装されていない。
そもそもHTMLはマークアップ言語であってプログラミング言語ではない。
基本的にレイアウトやデザインはHTMLではなくCSSで設定する。
動的なページを作りたければ、JavaScriptでコントロールしろ
という考え方。

Webページ作成ソフトの事を言っているのなら、HTMLの問題でなく
作成ソフトの問題。ホームページビルダー等でそういう事ができるか
どうかは知らない。
0014デフォルトの名無しさん
垢版 |
2021/02/25(木) 23:32:48.58ID:NwngGk4h
サーバーって言葉には
1.サーバーソフトウェアのこと(ApacheとかNginXとか)
2.サーバーソフトウェアを動かしているマシン(ハードウェア)のこと
・・・の二つの意味があると思うのですが、ここで質問です。

サーバーソフトを動かしているマシン上ではサーバーソフトしか動かせないのでしょうか?
(サーバーソフトは特別なソフト?)

そんなことはなく、サーバーソフトを動かしているマシン上でも、
普通にソリティアやマインスイーパーで遊べたりできるんでしょうか?
(サーバーソフトは特別なソフトでもなんでもなく、ソリティアと同じレベルのソフト?)
0015デフォルトの名無しさん
垢版 |
2021/02/26(金) 00:06:07.77ID:Uu1lQaJf
>>14
サーバーは役割
OSはWindowsServerやLinuxが多い
しかしただのWindows10かもしれない

ハードウェアもサーバー向けが使われる事が多いが
そこらの自作パソコンやノートパソコンでも出来ないわけじゃない

まずは自作パソコンを組み立ててサーバー向けOSをインストールしてみたほうがいい
もしくは安く売っているようなサーバー向けPCでもよい
安い時は1万円程度で売っている

サーバーの勉強目的ならRaspberryPiは避けたほうがよい
0016デフォルトの名無しさん
垢版 |
2021/02/26(金) 00:21:41.11ID:Bk6XWue8
サーバも今だとホームサーバ、VPS、クラウドで分けて考えた方がいいね
公開しない、する、可用性と拡張性も気にするって具合で
0017デフォルトの名無しさん
垢版 |
2021/02/26(金) 00:52:59.40ID:tFK0PlkJ
>>14
>サーバーソフトを動かしているマシン上ではサーバーソフトしか動かせないのでしょうか?
いいえ

>普通にソリティアやマインスイーパーで遊べたりできるんでしょうか?
Windows Serverならできる
その他のOSでもGUIがあればだいたいできる
(サーバーとして使う場合はGUIを入れないことも多い)

>サーバーソフトは特別なソフトでもなんでもなく、ソリティアと同じレベルのソフト?
同じ面もあれば違う面もある
起動後はメモリに常駐してクライアントのリクエストに応じて
何らかの処理をして結果を返すのがソフトウェアとしてのサーバーの役割
複数のクライアントからのリクエストを同時に捌けるように作るのが普通
0020デフォルトの名無しさん
垢版 |
2021/02/26(金) 05:11:28.10ID:7gSGuGqY
WindowsServerは普通にOffice入れたりする
リモートデスクトップみたいなサービスもある
0021デフォルトの名無しさん
垢版 |
2021/02/26(金) 10:01:35.52ID:dY7Klnj+
>>12
ありがとうございます!
0025デフォルトの名無しさん
垢版 |
2021/02/27(土) 05:30:01.63ID:hpJz9JUm
子プロセスを呼び出すプロセスは、そのプロセスがkillされたとき
自分が呼び出した子プロセスをkillするものだと思うけど
デフォルトでそうなってないのってなんで?
0026デフォルトの名無しさん
垢版 |
2021/02/27(土) 06:29:04.32ID:NdmEqzoY
逆に、親が死んだとしても子供が死ぬ謂れがないのに、なんで子供が道連れに死ぬものだと思うの?
0027デフォルトの名無しさん
垢版 |
2021/02/27(土) 07:17:12.57ID:xGn+rZN0
パイプライン・ジョブ・タスクランナーみたいな、
複数のプロセスで処理するものは、個別のプロセスに意味がない

だから親が止まれば、すべての子も止まるべき

流れ全体が、正常が異常かだけが重要。
データベースと同じ

全体が成功すれば成功で、
1つでも失敗すれば、全体をロールバックする
0028デフォルトの名無しさん
垢版 |
2021/02/27(土) 07:24:00.97ID:hpJz9JUm
>>26
デフォルトの問題です。
当たり前ですが人間の話はしていません。

親プロセスが死んだとき、子プロセスだけが生き残っていて嬉しいことがありますか?
それは特殊な例だけでしょう
0029デフォルトの名無しさん
垢版 |
2021/02/27(土) 07:26:30.81ID:hpJz9JUm
ディレクトリに当てはめれば
親ディレクトリが削除されたとき、下位ディレクトリだけ残っていて
なにか嬉しいですか?と同じ話ですよ
0030デフォルトの名無しさん
垢版 |
2021/02/27(土) 07:31:01.56ID:pn9T/JCU
>>25
コンソールベースのシステムは子が一緒にkillされるのが用途と直感に敵っていた
一方GUIベースのシステムでは子がkillされるのは多くの場合直感に反する
あるアプリがメモ帳を開いたとして、アプリが終了したときにメモ帳が勝手に閉じるのは不自然
MDIならさらに悪いことになる
0031デフォルトの名無しさん
垢版 |
2021/02/27(土) 07:37:29.03ID:hpJz9JUm
>>30
だからデフォルトの話だって
MDIだってウインドウを閉じたら、中のウインドウも一緒に消えるはずだ
0032デフォルトの名無しさん
垢版 |
2021/02/27(土) 07:39:27.74ID:hpJz9JUm
そもそもGUIのシステムでアプリが別のアプリを起動することは殆どない
0033デフォルトの名無しさん
垢版 |
2021/02/27(土) 07:43:41.52ID:NdmEqzoY
>>28
いや、そのデフォルトの話としてですね
プロセスに関して「死ぬ」と表現しているように、生命をそのモデルとしています
そして子供は親の所有物ではなく、関係しているだけです
親ディレクトリが削除されたファイルだって、実際にはlost+foundディレクトリに移されるだけというシステムもあれば、ファイルがあったらディレクトリは削除できないシステムもあります

で、親が死んだら子供も無理心中すべきではないのか?という思想にそれほどの蓋然性はあるのですか?
0034デフォルトの名無しさん
垢版 |
2021/02/27(土) 07:49:56.95ID:pn9T/JCU
>>31
デフォルトの話って何のOSの話をしてるの?
俺は普通にアプリからプロセス起動するけど

最初にクソレスがついて質問者が反発して意固地になってるパターンっぽいからこれもうメンドクセェな
0036デフォルトの名無しさん
垢版 |
2021/02/27(土) 07:52:42.43ID:hpJz9JUm
>>33
> プロセスに関して「死ぬ」と表現しているように、生命をそのモデルとしています

ソースでもあんの?そうしなければいけなかった理由は?
0037デフォルトの名無しさん
垢版 |
2021/02/27(土) 07:54:10.80ID:hpJz9JUm
>>33
> で、親が死んだら子供も無理心中すべきではないのか?という思想にそれほどの蓋然性はあるのですか?

はい。親プロセスがいない状態で子プロセスだけが残ってることに
どれだけ意味があるんですか?まだこの質問に答えてもらってません。

例外があるのは知ってますので、例外的な例ならいらないです。
子プロセスを起動する殆どのプログラムに当てはまる例を聞いています
0038デフォルトの名無しさん
垢版 |
2021/02/27(土) 07:55:15.29ID:hpJz9JUm
>>35
> MDIの中のウィンドウはプロセスとは限らんよ
じゃあなんであなたはMDIなんて例を持ち出してきたんですか?
0039デフォルトの名無しさん
垢版 |
2021/02/27(土) 08:02:14.39ID:pn9T/JCU
>>38
起動したウィンドウが子プロセスがどうかはエンドユーザーには見分けられない(コンソールなら一目瞭然)
そこでユーザがそのシングルプロセスのMDIアプリケーションで別ドキュメントを開いて閲覧や編集を始める可能性がある(まあMDIじゃなくても別ドキュメントを操作し始めることはある)
親と道連れでまるっとkillされると、ユーザーの意思で開いたドキュメントも閉じてしまってまずい
0041デフォルトの名無しさん
垢版 |
2021/02/27(土) 08:03:37.55ID:hpJz9JUm
>>39
ああ、基本的なことがわかってないのね

MDIは親ウインドウが閉じたら、子ウインドウは全て閉じます。

理解したら出直してね。
0042デフォルトの名無しさん
垢版 |
2021/02/27(土) 08:04:26.32ID:hpJz9JUm
>>40
> 現実を見よう

だからその現実を教えてくれって言ってんの
親プロセスが死んだとき、子プロセスが残っていて何が良いことでもあんの?

現実を見よう。
ないから、何も言わないんだろ?
0043デフォルトの名無しさん
垢版 |
2021/02/27(土) 08:06:00.50ID:pn9T/JCU
>>41
いや一度深呼吸して落ち着いて読み直してくれ
俺はMDIは一蓮托生だからこそ困るケースになるという話をしてる
0044デフォルトの名無しさん
垢版 |
2021/02/27(土) 08:08:20.03ID:hpJz9JUm
>>43
> 俺はMDIは一蓮托生だからこそ困るケースになるという話をしてる

じゃあ、MDIの子ウインドウだけ残っていて
アプリが適切に動く例が存在するんか?

MDIの子ウインドウだけ残っていてもまともに動かないだろ
CLIでも同じで、子プロセスだけ残っていてもまともに動かないから
親プロセスが死んだとき、子プロセスだけ残っていても意味がないだろって
話を出発点にしてるのに、

MDIだと子ウインドウだけ残っていて
まともに動くんか?
0046デフォルトの名無しさん
垢版 |
2021/02/27(土) 08:09:46.21ID:hpJz9JUm
親ウインドウが死ぬと、子ウインドウだけ残っていても意味ないの
0047デフォルトの名無しさん
垢版 |
2021/02/27(土) 08:24:37.06ID:k03S0y+9
なでしこスレに投下したとこだけど、あそこ動いてないからこっちにも投下させてください
linuxにwineでなでしこ入れたのは良いけど、calc使いたくて
calc起動 でwindowsだとopenofficeやlibreofficeのcalcが起動するんだけど
linuxでは当然起動しない

何か起動する方法はないかと探してるけどどうだろう
0048デフォルトの名無しさん
垢版 |
2021/02/27(土) 08:37:16.83ID:pn9T/JCU
>>44
MDIの子ウィンドウだけ残るなんて話してないぞ
具体的に書こうか
親プロセスPが子プロセスCを起動したとする
Cは他人が作ったMDIアプリで、起動時の指定でドキュメントD1を開いたとする
ユーザーがCのウィンドウを見てD2を開いたとする
Pが終了したとき、Cも終了するとなると、D1とD2も当然閉じる
D1が閉じるのは意図通りだけど、D2が閉じるのはユーザーの期待に反する
そういうケースの説明のためにMDIを例示した

ただ俺のMDIへの言及は枝葉にすぎない
俺が伝えたい肝は、GUIシステムにおいて子プロセスがウィンドウを持つときユーザーからは子プロセスとして認識できないので誤解を生じるという点
もちろん子プロセスがウィンドウを持たないことも多いが、持つことも多い
どちらが多いなんて言い張り合いをする気はないが、デフォルトを決める上で勘案すべき事柄
0049デフォルトの名無しさん
垢版 |
2021/02/27(土) 09:53:54.84ID:hpJz9JUm
>>48
どうでもいい情報ばかりで説明下手すぎ

> Cは他人が作ったMDIアプリで、起動時の指定でドキュメントD1を開いたとする
> ユーザーがCのウィンドウを見てD2を開いたとする

CじゃなくてMDI設定にしたエクセルでいいだろ
エクセル起動して、エクセルの中の1番目のウインドウでドキュメントD1が開く
同じくエクセルのウインドウを見てD2をが
エクセルの中の2番目のウインドウでドキュメントD2が開く

こーなりました。
https://docs.microsoft.com/ja-jp/office/vba/images/odc_xl15_ta_programmingthesdiinexcel2013_02.jpg
エクセルの中に、2つのウインドウがあるんだから
エクセルを終了したとき、2つのウインドウが閉じるのはユーザーの期待通りだ
0050デフォルトの名無しさん
垢版 |
2021/02/27(土) 09:59:35.99ID:hpJz9JUm
>>48
> 親プロセスPが子プロセスCを起動したとする

親プロセスPが、シェル対して「ドキュメントを開く」のアクションを
実行するって話なら、親プロセスがCを起動してなんかいない

プロセスが他のプロセス(子プロセス)を開くという話と
プロセスがシェルに依頼してプロセスを起動してもらう話を
ごっちゃにするな
0051デフォルトの名無しさん
垢版 |
2021/02/27(土) 10:25:50.90ID:pn9T/JCU
こりゃもう口論が目的化してるな
当初の質問も理由が知りたかったのか、そんなデフォルトおかしいよねとただ共感してもらいたかったのか
0052デフォルトの名無しさん
垢版 |
2021/02/27(土) 10:37:10.60ID:Hg2wHc/X
Win32のCreateprocessはシェルを介さないで直接子プロセスを起動するだろう。
そこで親が先に死んだら子プロセスが親なしになるだけ。
0053デフォルトの名無しさん
垢版 |
2021/02/27(土) 13:35:02.43ID:hpJz9JUm
>>51
じゃあ仕切り直し

25 自分:デフォルトの名無しさん[] 投稿日:2021/02/27(土) 05:30:01.63 ID:hpJz9JUm [1/15]
子プロセスを呼び出すプロセスは、そのプロセスがkillされたとき
自分が呼び出した子プロセスをkillするものだと思うけど
デフォルトでそうなってないのってなんで?
0054デフォルトの名無しさん
垢版 |
2021/02/27(土) 13:44:30.37ID:hpJz9JUm
Wndowsでも親プロセスが死んだら子プロセスも殺したいんだって
みんなあれこれ悩んでるね。

なんでみんな望んでる動作をデフォルトにしなかったんだろうか
0055デフォルトの名無しさん
垢版 |
2021/02/27(土) 14:11:49.68ID:Npk4kHio
みんなと言えるほど多くの人は望んでないから。
0056デフォルトの名無しさん
垢版 |
2021/02/27(土) 14:23:18.53ID:hpJz9JUm
まーた口論することが目的のレスをする
困ったもんだねw
0058デフォルトの名無しさん
垢版 |
2021/02/27(土) 14:41:42.27ID:Hg2wHc/X
普通に考えて、子プロセスが生きている間それを起動したプロセスを終了できないという
制約があったらいろいろと面倒だと思うが。
親が死んだら子を殺す動作をオプションとして簡単に実現できるようにしてほしいという
要望ならわからんでもないが、そこは手間の問題。
0059デフォルトの名無しさん
垢版 |
2021/02/27(土) 15:13:28.59ID:HtPM28za
子プロセスを作った時点で、ハンドルを保存しておけば
親が閉じるときに子のハンドル使って閉じれば良いだけやん
0060デフォルトの名無しさん
垢版 |
2021/02/27(土) 16:02:00.45ID:hpJz9JUm
>>58
俺は最初から親プロセスが死んだら子プロセスを死ぬ動作が
デフォルトのほうが良かったんじゃないかって言ってるんだが?

俺が言ってないことを、さも俺が言ったかのように書かないでくれ
0061デフォルトの名無しさん
垢版 |
2021/02/27(土) 16:02:33.35ID:hpJz9JUm
>>59
Windowsの話に限定しないように
そもそもLinuxの話をしてたんだが
0063デフォルトの名無しさん
垢版 |
2021/02/27(土) 16:17:07.40ID:Hg2wHc/X
>>60
子プロセスを自動的に殺すか殺さないか2つの案があるときに、デフォルトの動作として
どちらを選ぶかという話とデフォルトではない方の動作をオプションとして提供するかどうか、
その2つの話に分けて説明したつもりなんだが。
0064デフォルトの名無しさん
垢版 |
2021/02/27(土) 16:21:22.18ID:hpJz9JUm
>>63
それは最初からわかっていてその後の話、
なんでデフォルトが殺さない方にしたのか
という話をしてる

> 親プロセスが死んだとき、子プロセスだけが生き残っていて嬉しいことがありますか?
> それは特殊な例だけでしょう
0065デフォルトの名無しさん
垢版 |
2021/02/27(土) 16:22:38.95ID:hpJz9JUm
>>63
あと俺が言ってないのは
「子プロセスが生きている間それを起動したプロセスを終了できないという制約」
だからな。

俺はそんな制約があったほうが良いなんて一言も言ってない
どこからその話が出てきたのか全くわからない
0066デフォルトの名無しさん
垢版 |
2021/02/27(土) 16:52:11.78ID:Hg2wHc/X
伝わらんかな?

1. OS側で強制的に殺す
2. 殺さない(必要に応じてプロセス側でやる)
3. 両方選択できるようにしてどちらかをデフォルトにする

1は困る場面があるし3は手間の問題だと言っているんだが。
0067デフォルトの名無しさん
垢版 |
2021/02/27(土) 16:58:48.93ID:hpJz9JUm
>>66
最初から2の話しかしていない。なんで2になってるのかという話をしてる
俺は1は候補にすら出してないから書くのはやめろ
3の話もしていない


今は親プロセスが死んだとき子プロセスは殺さないようになってるが
親プロセスが死んだとき、子プロセスだけが生き残っていて嬉しいことがありますか?
0068デフォルトの名無しさん
垢版 |
2021/02/27(土) 17:12:46.48ID:Hg2wHc/X
>なんで2になってるのかという話をしてる

消去法で2になるということをわかりやすく書いたつもりなんだが。

>親プロセスが死んだとき、子プロセスだけが生き残っていて嬉しいことがありますか?

ふつうに、デーモンとか起動した親とは別にバックグラウンドで動いてほしいプロセスとかあるじゃん。
0069デフォルトの名無しさん
垢版 |
2021/02/27(土) 17:17:37.97ID:hpJz9JUm
> ふつうに、デーモンとか起動した親とは別にバックグラウンドで動いてほしいプロセスとかあるじゃん。

殆どのプログラムはデーモンじゃないし、バックグラウンドで動くことは親プロセスが死んでないからなんけいないし
子プロセスを苦労して殺す方法を、どの言語もあれこれ頑張るぐらいなら
デーモンとして残す方法を頑張ったほうが良いじゃん

これで言ってること理解できますかね?
0070デフォルトの名無しさん
垢版 |
2021/02/27(土) 17:18:40.13ID:NdmEqzoY
ライフサイクルやら殺す(kill)やら、生命に当てはめて見ているって話に反論はどした?
親が死んでも子は育つってな、世界的に一家心中なんて常識外で不自然なんだよ
現実を見よう
0071デフォルトの名無しさん
垢版 |
2021/02/27(土) 17:20:36.27ID:hpJz9JUm
そもそもデーモンとして残す方法なんて簡単なんだわ
すでに親プロセスの付け替え機能はすでに実装されてるんだから

あとはデフォルトをどちらにするかの話
なんで、面倒くさいほうがデフォルトになってんの?
0072デフォルトの名無しさん
垢版 |
2021/02/27(土) 17:21:58.99ID:hpJz9JUm
> ライフサイクルやら殺す(kill)やら、生命に当てはめて見ているって話に反論はどした?

>>28ですでに反論済み
> 当たり前ですが人間の話はしていません。
0073デフォルトの名無しさん
垢版 |
2021/02/27(土) 17:38:47.25ID:Hg2wHc/X
>>69
だからそれは両方の手段を提供するってことになるだろ?つまり>>66の3.

さすがにここまでくると、理由を知りたいというよりも自分が望む形になっていないことに対して
駄々をこねているようにしか思えない。
0074デフォルトの名無しさん
垢版 |
2021/02/27(土) 18:06:56.29ID:hpJz9JUm
>>73
今現在も両方の手段を提供していて
なんで不便な方がデフォルトなのって
これが話の出発点

やっと俺の最初の話に追いついただけだよ
0075デフォルトの名無しさん
垢版 |
2021/02/27(土) 18:16:07.47ID:hpJz9JUm
ちなみに今のやり方とコメント

1. デーモンを作る・・・用途としては少ないのでこれをデフォルトにする理由がわからない
2. ↑をつくる場合forkして子プロセス作って親は終了して・・・どちらにしろ面倒な仕組みが必要
3. これは今の親が死んでも子プロセスは残るというおかしな仕様をハックしたからだろう
4. 最初からデーモンをつくるAPIを容易すべきだった
5. そうすりゃ親プロセスが死んだ時に子プロセスを全部殺せた


親プロセスが死んだ時に子プロセスは全部死ぬという仕様をデフォルトにし
子プロセスを死なないようなAPIを、forkとか使う面倒なハックの代わりにすれば
シンプルに出来たはずなんだが

なんでそうなってるの?が最初から話をしている内容に
誰でも知ってるやろ的な技術的な説明を加えた言葉


> 25 自分:デフォルトの名無しさん[] 投稿日:2021/02/27(土) 05:30:01.63 ID:hpJz9JUm [1/27]
> 子プロセスを呼び出すプロセスは、そのプロセスがkillされたとき
> 自分が呼び出した子プロセスをkillするものだと思うけど
> デフォルトでそうなってないのってなんで?

> 28 自分:デフォルトの名無しさん[] 投稿日:2021/02/27(土) 07:24:00.97 ID:hpJz9JUm [2/27]
> >>26
> デフォルトの問題です。
> 当たり前ですが人間の話はしていません。
>
> 親プロセスが死んだとき、子プロセスだけが生き残っていて嬉しいことがありますか?
> それは特殊な例だけでしょう

↑特殊な例=デーモンであることぐらいすぐ気づけよ
0076デフォルトの名無しさん
垢版 |
2021/02/27(土) 18:43:48.49ID:Hg2wHc/X
>今現在も両方の手段を提供していて

両方?

>親プロセスが死んだ時に子プロセスは全部死ぬという仕様をデフォルトにし

あんたが望んでいるこれはオプションででも提供されていないと思うが?
あんたが言う面倒な手順ってのは、親が死ぬときに子を殺して回るとか、子が
親の死を検知して自殺するとかだろ?それは>>66の2.

>>75はもう「ぼくのかんがえたさいきょうのOS」の話なんでコメントはせんがw
0077デフォルトの名無しさん
垢版 |
2021/02/27(土) 18:55:16.34ID:hpJz9JUm
>>76
自分で実装すれば出来るだろ
デーモンだって自分で実装してるんだし

それでなんで面倒くさいほうがデフォルトなの?
知らないなら知らないでいいじゃないか
無理して答えようとしなくて良いんだぞ
0078デフォルトの名無しさん
垢版 |
2021/02/27(土) 19:19:40.68ID:Hg2wHc/X
だからその機能が提供されていないから自分で実装することになっているんだと思うが。
さすがにここまで話が通じないとは。
0080デフォルトの名無しさん
垢版 |
2021/02/27(土) 19:26:12.38ID:1gWeBX/D
>>78
で何のために今まで実装されてないの?

最初からそれを聞いてる
0081デフォルトの名無しさん
垢版 |
2021/02/27(土) 19:50:16.37ID:Hg2wHc/X
まるで駄々っ子だねぇw
実装されていないってのはつまり、それぞれのOSの開発者はそれほど必要な機能だと
考えていないんだろう。
0082デフォルトの名無しさん
垢版 |
2021/02/27(土) 20:05:19.11ID:gAEhUe3Y
ファイルを開いたら閉じなくてはいけない
それはプログラマーが実装する
OSができることはガッベージコレクション
0083デフォルトの名無しさん
垢版 |
2021/02/27(土) 20:06:33.62ID:lzDnqtNz
あわしろ氏は、そうは言っていなかったな。
0084デフォルトの名無しさん
垢版 |
2021/02/27(土) 21:06:45.81ID:vOMAq4pj
システムコールやAPIを設計するとき、できるだけプリミティブな機能として実現するというのは至極自然なことだろう。プロセスを殺すならそのプロセスだけを殺す。子供も一緒に殺したいならプログラマが明示的にそう書けばいいというだけのこと。
そんなのぼくはやだやだ!めんどくさい!なんて知ったことではない
0085デフォルトの名無しさん
垢版 |
2021/02/28(日) 00:07:23.43ID:xybIltek
>>47
Linux 板で聞いた方がよい

which calc
と、コマンドを打ってみれば?

グローバルにパスが通っていれば、そのコマンドの場所が表示される
0086デフォルトの名無しさん
垢版 |
2021/02/28(日) 00:12:10.19ID:xybIltek
Windows ではプログラムで、IE, Excel などの子プロセスが自動的に、kill されないのかな?

子だけが残った場合に、どのプログラムが起動したか分からないし、
子は何かで使っているかも知れないと思って、なかなか削除できない

どう扱えば良いのか、分からない
0087デフォルトの名無しさん
垢版 |
2021/02/28(日) 01:03:53.67ID:BkwKpqyL
されない
だからタコの作ったツールだと何個もExcelやらのインスタンスが残る>OLE
だから、つ SysInternalTools
0089デフォルトの名無しさん
垢版 |
2021/02/28(日) 02:34:00.51ID:XaglP2nw
>>88
プロセスを停止したら、そのプロセスが使っていた
リソースを解放するのはOSの仕事ですよ?
009086
垢版 |
2021/02/28(日) 06:17:53.34ID:xybIltek
GC は言語内で、その言語内で作ったオブジェクトの解放はするけど、

プログラム内で、IE, Excel などを起動したら、
別のプロセスとなって、その言語内のGC では追跡できない

だから、>>87
が言うように、多くのExcel のプロセスが残ってしまう
0091デフォルトの名無しさん
垢版 |
2021/02/28(日) 07:07:50.83ID:A9mKhwpJ
COCOAが3億円で発注されたらしいが
あの内容だと1行当たりいくらになるんだろうな?
0092デフォルトの名無しさん
垢版 |
2021/02/28(日) 08:48:22.87ID:Gc6Q6B7T
>>90
それは起動の仕方が違うから的外れ。IEやExcelを直接起動してるのではなく
シェル(OS)に依頼して明示的に子プロセスならない方法で作成している
0093デフォルトの名無しさん
垢版 |
2021/02/28(日) 08:49:22.22ID:Gc6Q6B7T
>>90
COMとかOLEオートメーションを勉強したほうが良いですよ
プロセスツリーを見ればわかるように
子プロセスにはなってないですから
0094デフォルトの名無しさん
垢版 |
2021/02/28(日) 09:10:29.45ID:BkwKpqyL
……インプロセスサーバーとアウトプロセスサーバーの違いも分からん奴が人に勉強不足と言うのか
0095デフォルトの名無しさん
垢版 |
2021/02/28(日) 10:01:29.70ID:Gc6Q6B7T
そうですね。勉強不足ですね。私は子プロセスではないといいました。ExcelやIEがどちらなのかよく考えてみましょう
http://docwiki.embarcadero.com/RADStudio/Sydney/ja/%E3%82%A4%E3%83%B3%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%EF%BC%8C%E3%82%A2%E3%82%A6%E3%83%88%E3%82%AA%E3%83%96%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%EF%BC%8C%E3%81%8A%E3%82%88%E3%81%B3%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC


・インプロセスサーバー
クライアントと同じプロセス空間で実行中のライブラリ(DLL)。たとえば,Internet Explorer または Netscape で
表示されている Web ページに埋め込まれた ActiveX コントロールがこれに当たる。
つまり,ActiveX コントロールはクライアントマシンにダウンロードされ,Web ブラウザと同じプロセスの中で呼び出される


・アウトオブプロセスサーバー(ローカルサーバー)
クライアントと同じマシンの別のプロセス空間で動作している別のアプリケーション(EXE)。
たとえば,Word 文書の中に埋め込まれた Excel スプレッドシートがこれに当たる。
Word と Excel は同じマシン上で動作している 2 つの別個のアプリケーション
ローカルサーバーは,COM を使ってクライアントと通信する
0097デフォルトの名無しさん
垢版 |
2021/02/28(日) 10:16:35.68ID:xwhOcFRJ
>>89
参照不要になったゴミ部分だけを探して捨てていく仕組みをGCという
ガベージコレクション、文字通りゴミ収集ということ
プロセス終了時のような、占有していたものを全解放する行いはGCとは言わない、少なくともGCという言葉が使われてこなかった
ガッベージという読み方も一般的じゃないし原音とも合ってない
0098デフォルトの名無しさん
垢版 |
2021/02/28(日) 11:50:34.07ID:Gc6Q6B7T
>>97
それはGCの話を始めたアホに言ってください
私はその話は全くしていません。
GCという単語すらこのレスより前に書いていません
0100デフォルトの名無しさん
垢版 |
2021/02/28(日) 18:21:46.67ID:8z4Ob+XW
>>85
わかりました、きいてみます
なでしこユーザー少なくてこういうときは困ります
010186
垢版 |
2021/03/01(月) 02:20:34.60ID:6RQFswOZ
>>95
パッと読んだ感じでは、同一プロセス内のメモリ空間に配置されるものは、
一部分の部品をコード化した、DLL みたいにサイズが小さいもの

昔は、1つのプロセスの仮想メモリ空間は、4GB しかなかったから。
今は、どうか知らないけど

EXE 同士みたいなものは、サイズが大きいから、
別のプロセスとして起動されるのだろう
0102デフォルトの名無しさん
垢版 |
2021/03/01(月) 14:38:49.82ID:Gxj572y+
クラウドサービスを利用してる場合のテストってどうすればいいの?

前提として
・API互換性のあるオンプレ製品は無い
・E2Eテストなのでモックでは駄目

普通に考えると金を払ってテスト用のクラウドサービスを借りるしかないんだけど
テストのために余計な費用を払いたくない
0103デフォルトの名無しさん
垢版 |
2021/03/01(月) 15:32:57.73ID:EnwEHWfA
>>102
クラウドからでもオンプレからでもローカルPCからでもE2Eテスト実行すればええやん
何に困ってるのか分からん
0104デフォルトの名無しさん
垢版 |
2021/03/01(月) 16:10:57.96ID:UPXhvHyB
> E2Eテストなのでモックでは駄目
というのは思考停止

モックでいい部分(自社ロジック部分)のテストが絶対にある
本当にモックではだめな部分だけE2Eテストをするだけの話

1か0で考えるのはやめなさい
テストのために余計な費用を払いたくないんでしょう?
0にできないなら1にするんじゃなくて0.1にすればいいでしょう
0106デフォルトの名無しさん
垢版 |
2021/03/01(月) 16:29:27.70ID:MvU3YVh1
マシンリソースやネットワークリソースは使いたいけど金は払いたくないってこと?
プロダクションと違った形の節約はできるだろうが無料枠にでも収まらない限り金払わないのは無理だろ
0111デフォルトの名無しさん
垢版 |
2021/03/01(月) 23:23:47.08ID:qIwpFI/L
質問・アドバイスよろしいでしょうか?
Pythonで統計分析をしたくてプログラミングの独学を始めて間もないのですが,パソコンが壊れてしまいました。買い替えにあたってパソコンの最低限のスペックやOSはどのようなものがいいでしょうか?様々なサイトを見てもWindowsがいいとかmacがいいとか,結局何がいいのかいまいちわからないです。ご教授いただけると嬉しいです。
0112デフォルトの名無しさん
垢版 |
2021/03/01(月) 23:27:41.28ID:6RQFswOZ
Ruby on Rails の実行環境は、
development, test, (staging), production

テストは、単体・機能・結合・システムテスト
0113デフォルトの名無しさん
垢版 |
2021/03/01(月) 23:32:43.03ID:6RQFswOZ
Python は知らないけど、
Ruby なら、Mac でメモリ32GB とか

Windows 10 pro版でも、WSL2, Linux, Docker で、メモリ16〜32GB。
8GB では足りない

メモリは、とにかく最大まで積む

Pythonのスレで聞けば?
0114デフォルトの名無しさん
垢版 |
2021/03/01(月) 23:43:55.64ID:qIwpFI/L
>>113
ありがとうございます
0115デフォルトの名無しさん
垢版 |
2021/03/03(水) 19:02:36.46ID:K8zIHYhU
php勉強するんだけどphp民のおすすめエディタおしえて

ちなJavaはeclipseでフロントはvscode使ってる
0116デフォルトの名無しさん
垢版 |
2021/03/05(金) 10:03:02.59ID:qGqr3pNV
どこで聞けば良いか分からなかったので教えてくだしあ

とあるasp.netからiisを経由して表示するプログラムがあるんだが
元々は問題なく動作していたんだ
そのうち1つのaspxファイルの一部をvisualstudioでコメントアウトして実行したら404が返ってきたので
そのコメントアウトを元に戻して実行したんだけど
やっぱり404が返されるんだ

念のため変更したaspxファイルをwinMergeで比較してみたが全く同じ
元々の動作する状態と変更後で何が変わったかサッパリなんだが
これって何が問題なのか可能性として挙げられるものを教えてくれないだろうか

asp.net自体初めて触ったのに誰も教えてくれない環境で詰んでる
ざっくりした質問で申し訳ない
0118デフォルトの名無しさん
垢版 |
2021/03/05(金) 10:26:19.07ID:qGqr3pNV
>>117
git管理していないから無理な気がする
あと元に戻ったとしてもいずれ触らないといけない部分なので
できれば原因を追及したい……
0119デフォルトの名無しさん
垢版 |
2021/03/05(金) 10:50:50.07ID:7U7M/a2u
>>116
コメントアウトして実行ってのはどうやって実行してるの?

同じ環境と同じ実行手順で問題なく動作してたことをコメントアウト直前に自分で確認してる?
0120デフォルトの名無しさん
垢版 |
2021/03/05(金) 11:01:11.98ID:qGqr3pNV
>>119
・変更直前に正常に動作したことは確認済み
・aspxファイルのある1つのtdタグ部分をコメントアウトした
・その他のコーディング部分はチンプンカンプンの状態だが
少なくともコメントアウトしたtdタグ部分を直接参照する部分は無い気がする
・コメントアウト前(正常起動時)とコメントアウトから戻した後(404リターン時)でaspxファイルの記述は完全一致
0122デフォルトの名無しさん
垢版 |
2021/03/05(金) 11:28:54.54ID:qGqr3pNV
>>121
それならコメントアウトする直前に動作している以上
元に戻したときにも動作すると思うんだけど
asp.netってもしかしてコード部分以外で何か特殊なことをしてる?
無知で申し訳ない
0123デフォルトの名無しさん
垢版 |
2021/03/05(金) 11:50:02.79ID:/lmwOJl7
古いものは、キャッシュを表示していただけとか、

ファイルのタイムスタンプが変わったから、
ファイル名に付いている、ハッシュが変わったので、キャッシュから読み込まず、
再読み込みしようとして、古いファイル名が存在しなくなったとか

プロジェクトなら、何かを修正したら、
ファイル名に付いている、ハッシュなどが変わるので、
再デプロイしなくてはならないとか

そのプロジェクトのフレームワークによるかも?
0124デフォルトの名無しさん
垢版 |
2021/03/05(金) 12:01:15.50ID:qGqr3pNV
>>123
なるほど
キャッシュが生きてたから動いていただけの場合
キャッシュを削除して実行していれば変更前の時点で既に404を返されていた可能性があるってことか

その場合然るべき場所に参照されるデータを再配置すれば解決するけど
それが一体何なのか調べる必要があるってことか……
うげー吐きそう

ありがとう試してみる
0125デフォルトの名無しさん
垢版 |
2021/03/05(金) 12:35:18.24ID:QWuUnW8Q
>>120
どういう環境でどういう手順で実行してるのか?

実行環境が変わったかコードが変わったかのどちらかしかないから両方精査して
tdタグコメントアウトしたくらいで404になったりしないから見にいってる場所が違うに1000ペリカ
0126デフォルトの名無しさん
垢版 |
2021/03/05(金) 12:35:43.34ID:si/4Bu18
自作のWindowsアプリに「起動時パスワード」を付けたいと思っています。
初期値はオフで、そのときはパスワードを求めないままにしたいです。

この機能を付けるとすると、
設定のオンオフ状態やパスワードの文字列は、
どこにどのように持たせるべきでしょうか。

他の設定と同じようにiniファイルやレジストリなどに入れると、
たとえ暗号化したとしても、その項目自体を消してしまえば、
設定が初期値に戻ってパスワードを求めないようになってしまいます。
0127デフォルトの名無しさん
垢版 |
2021/03/05(金) 12:52:52.98ID:piwKD6ZW
>>126
パスワードを設定するユーザーとパスワード入力を回避してアプリを使いたいユーザーが同じOS上の権限をもってるなら
ローカルに設定を保存してローカルで認証するする限りパスワードがあっても時間と手間をかければ破られる

できるのはその方法を分かりにくくしてより手間をかけさせることだけ
破られるのは仕方がない
0129デフォルトの名無しさん
垢版 |
2021/03/05(金) 13:34:10.21ID:QpDkjV+0
>>126
初期状態のキーを iniなど適当なファイルの更新時間を組み合わせてハッシュにしておく
初回実行時に上のキーは削除

ただし ini の初期状態のキーとファイルの更新時間も含めて復元されたら無効
0130デフォルトの名無しさん
垢版 |
2021/03/05(金) 13:36:59.93ID:si/4Bu18
>>127-128
解説ありがとうございます。

使用しているメールソフトにも同じような起動時パスワードの設定があったのですが、
レジストリに「設定するか」と「実際のパスワード(暗号化)」の二つが入っていて、
「設定するか」を手動で0に変更しただけで起動できるようになってしまいました。
この程度の仕組みしか作れないものなんですかね。

初期値はオフで、初期パスワードも存在しないので、
設定が消されたら認証というのも難しいでしょうし。
0131デフォルトの名無しさん
垢版 |
2021/03/05(金) 13:41:04.52ID:si/4Bu18
>>129
解説ありがとうございます。
アプリの外で書き換わっていたら無効化してしまうということですね。
0135デフォルトの名無しさん
垢版 |
2021/03/05(金) 18:44:02.64ID:rfD4qAER
言うまでもなく暗号化ハッシュ化はCRYPTREC電子政府推奨暗号リストを使わなければならない
0137デフォルトの名無しさん
垢版 |
2021/03/07(日) 01:53:49.70ID:9WV6HKiO
来週閉鎖するホームページのミラーを保存したいんですがwgetやhttrackで保存しても画像が上手く表示されません
原因が良く分からないので詳しい方居たら教えて欲しいです
ちなみにこれがそのページです
https://www.revdol.com/special/
0138デフォルトの名無しさん
垢版 |
2021/03/07(日) 07:57:16.57ID:bNghcsY5
>>137
今、携帯からなので想像ですけど
リンク先を見たら商品ページ、だとすると画像とかはcgiで配信しているのかもしれません
保存ディレクトリに、image?id=123456 とかのファイルは無いでしょうか?
0139デフォルトの名無しさん
垢版 |
2021/03/07(日) 08:13:51.77ID:bNghcsY5
>>137
cgiに対応しているダウンローダーだと、画像URLとかの部分をうまく書き換えてくれますが、wget とかはそのままのダウンロードデータを保存するため上手く行きません
ブラウザは image?id... の image までをパス、?id... 以降は引数と解釈して参照するため、画像ファイルが見つからない事態になります
また、画像ファイルもそのurlのままに保存するので、url からの image?id=... というファイル名(urlエンコードされて%xx%xxとか読みづらいかも)そのままで保存されています
0144デフォルトの名無しさん
垢版 |
2021/03/07(日) 15:48:47.98ID:9WV6HKiO
リンク先も保存したいので出来ればwget等のミラーリングツールが使いたいです
0148デフォルトの名無しさん
垢版 |
2021/03/07(日) 20:59:48.55ID:9WV6HKiO
ページがいくつもあるのと階層に応じて相対パス書き換える必要があるんでエディタでやるのはきつそうです
0150デフォルトの名無しさん
垢版 |
2021/03/08(月) 14:10:21.22ID:CHREQTow
そのオプションは試したんですが上手く書き変わらないですね
WordPressが使われてるのが原因なんですかね
0152デフォルトの名無しさん
垢版 |
2021/03/08(月) 16:03:05.90ID:CHREQTow
どこが書き変わってるか知りたいのですが
index.htmlのdata-src="..."のところですか?
0155デフォルトの名無しさん
垢版 |
2021/03/08(月) 23:11:47.76ID:CHREQTow
wgetはdata-*に対して何もしない感じなんですかね?
an internal table of HTML tag / attribute pairsがどういうattributeを集めてるのかが分からないですね
0157デフォルトの名無しさん
垢版 |
2021/03/09(火) 04:40:45.23ID:NUN2sKP0
data-* 属性は、ユーザーが使い方を決める部分

そこに入っているデータは、使い方が決まっていないから、何もできない。
そこにリンクを入れてるのは、その人独自の使い方と言うだけ

だから、そこは直接書き換えるか、置換プログラムを書くとか
0158デフォルトの名無しさん
垢版 |
2021/03/09(火) 09:11:05.45ID:K8yALR59
AWSのcodepipelineでcodebuildからelasticbeanへのデプロイが成功って出てるのにアプリがawsのサンプルになってしまうのですが、buildspecファイルのartifactの置き場所が違うとそうなる、とかありますか?
0159デフォルトの名無しさん
垢版 |
2021/03/09(火) 11:58:38.65ID:UEq7DsGd
ふとパワーシェルを勉強しようと仕事サボって遊んでるんだが、$_で躓いた

$obj=ls; echo $obj.PSDrive
は良くて
ls| echo $_.PSDrive
がだめな理由が分からん
暇な方いたら解説頼みたい
0160デフォルトの名無しさん
垢版 |
2021/03/09(火) 20:32:47.09ID:L1JhVdDy
ファイルが1個の場合はコレクションにならないのでパイプラインを通す意味がなくて、通常
(ls).PSDrive
で事足りる

敢えてパイプラインを通すなら要素1個のコレクションと考えて、
ls | % {echo $_.PSDrive}
0161デフォルトの名無しさん
垢版 |
2021/03/09(火) 21:24:30.91ID:FO598anN
>>160
サンクス
コレクションならforeachで要素を展開して動かすってのは直感的に分かるんだ

ただそうなると変数に格納した場合に動く理由が分からん
もし、コレクションに対してecho $obj.PSDriveで動くのなら、ls| echo $_.PSDriveも動いていいんじゃね?ってのが疑問
何か勘違いしてるんだと思うんだが自分じゃ気付けずモヤモヤしてる…
0162デフォルトの名無しさん
垢版 |
2021/03/09(火) 21:55:31.31ID:sQfPg4KP
lsコマンドってpipe時はis -1になるからじゃない?
0163デフォルトの名無しさん
垢版 |
2021/03/09(火) 22:16:48.46ID:2BiJ5sGo
繰り返すけどその$objはコレクションじゃない
ファイル1個の場合と複数の場合とでそれぞれ$obj.getType()を確認してくれ

%に流せばそれなりに良きに図らってくれるけど本来固くやるなら明示的にコレクションに変換すべき
,(ls) | % {echo $_.PSDrive}

あと$_はそのような使い方はそもそも存在しないから確認して
もっと簡単な例で試すと
(0,1,2) | echo $_ # error
0164デフォルトの名無しさん
垢版 |
2021/03/10(水) 02:34:56.12ID:hr2yGgcj
>>158
デプロイしても、すぐに起動されるとは限らないのでは?

Kubernetes のrolling update とか、すべてが入れ替わるのに時間が掛かる
0165デフォルトの名無しさん
垢版 |
2021/03/10(水) 02:43:21.41ID:hr2yGgcj
JavaScript でよくある。
0, 1, 2以上で、型が変わるので統一的に書けないとか

0 ならnil を返して、1 なら単数形を返して、
2以上ならコレクションを返すみたいな、バラバラなAPI を作っている

それを統一的に書けるのが、jQuery。
jQueryオブジェクトに変換すれば、0でも空配列、1以上は配列になる

0以上で、すべてeach で書ける。
0なら何も実行されない
0166デフォルトの名無しさん
垢版 |
2021/03/10(水) 12:56:00.03ID:wBm3UJME
>>163
何度もありがとう

ファイル1つと複数でfileinfoとobject[]になってるのは確認したが、
$obj=ls; echo $obj.PSDrive
はどちらでも実行可能だった
聞きたいことの本質ではないのでここは割愛

>あと$_はそのような使い方はそもそも存在しないから確認して
ググってみるとパイプで渡されたオブジェクトを格納する変数とか書かれていた
意味わからんのでもう少し調べてみたら、processブロック内で参照できるように渡されたオブジェクトって記載を見かけた
awkにおける$0、無名関数における変数に近いのだとひとまず理解したつもりになったわ

ただそうなると以下の挙動がまた混乱した
最後のは機能してないんだけども…
OK: ls|echo
NG: ls|echo $_.Name
OK: ls|sort
OK: ls|sort $_.Name
これ以上は深みに嵌りそうだから一旦ここまでにするわ
0167165
垢版 |
2021/03/10(水) 13:53:46.96ID:hr2yGgcj
>>165
に書いた

$_ は、パイプの前段から渡ってくるもの

パイプの前段が、nil なら、エラーになる。
nil.Name に、Name 属性はない

1つが返ってくると、単数型.Name。
2以上なら、配列.Name

nil, 単数型・複数型に、Name 属性があるかどうか、
3つの条件処理で分けないといけない

大文字に変換する、Ruby の1-liner、
ls | ruby -ne 'print $_.upcase'

これが動く原理は、-e オプションで、
print $_.upcase を、暗黙の内にループで囲むから

jQueryオブジェクトに変換してるのと同じ。
前段の戻り値が、0, 1, 2以上のすべてのパターンを一旦配列化して、each を呼ぶから

配列化して、each するから、必ず配列の要素型になるから、
3つの条件処理で分けなくてもよい

>>166
では、配列化して、each を使っていないから、

パイプの前段が、0のnil, 1の単数型・2以上の複数型と、
3つの条件処理で分けないといけない
0168165
垢版 |
2021/03/10(水) 13:58:50.69ID:hr2yGgcj
一旦配列化して、each を使うと、
前段のパイプが、0のnil, 1の単数型・2以上の複数型と、どれを返しても正常に動く

jQueryオブジェクト、Ruby の1-liner と同じ原理

[ ].each
[ "a" ].each
[ "a", "b" ].each
0169165
垢版 |
2021/03/10(水) 14:06:33.53ID:hr2yGgcj
[ ].each
[ "a" ].each
[ "a", "b" ].each

要素が0の場合は、処理なし。
要素が1の場合は、$_ に、a が渡ってくる

要素が2の場合は、1回目の$_ に、a が渡ってくる
2回目の$_ に、b が渡ってくる

だから一旦配列化して、each を使うと、
前段のパイプが、0のnil, 1の単数型・2以上の複数型と、どれを返しても正常に動く
0170165
垢版 |
2021/03/10(水) 14:21:33.96ID:hr2yGgcj
例えば、JavaScript では、関数の戻り値が、

0個・該当無しの場合は、nil を返して、
1個の場合は、文字列を返して、
2個以上の場合は、配列を返すとか、

3つの型が異なる設計にしているから、
一々、3つの条件処理で分けないといけない

これが苦痛だから、jQuery オブジェクトが出来た。
0のnil, 1の単数型・2以上の複数型と、どれを返しても正常に動く

nilでも単数型でも、配列化してしまうので、each で処理できる
0171デフォルトの名無しさん
垢版 |
2021/03/11(木) 00:16:26.39ID:RchM98kf
>>166
ls|sort $_.Name
これが想像通りに動作していない理由は、sortの第一引数がソート対象のパイプライン対象データやコレクションではなく、-Property 引数だからだよ
ls|sort -Property $_.Name
と書いているのと同じで、プロパティ名として謎のリストが渡されている状態
ls|sort -Property $(if ($_ -eq $null) { "LastWriteTime" } else { "Length" } ) を実行してソート順をみると分かりやすい
$_ は $null になってる
ls | ForEach-Object { echo $_ } のようにコマンドレットのスクリプトブロック外で呼び出しても $_ は $null になっていて使い物にならない模様

echo 1
は当然エラーにならないのに対して
ls|echo 1 が ParameterBindingException になる理由はよくわからんけど、第一引数とパイプラインのどちらの形式でも渡すことができる同一概念のパラメーターを二重に渡しているのでコマンドレット内部で競合・混乱が起きるのかもね
0172デフォルトの名無しさん
垢版 |
2021/03/11(木) 00:21:47.20ID:RchM98kf
文が変なので訂正

ls | ForEach-Object { echo $_ } のようにコマンドレットのスクリプトブロック内で参照するのが正しい
ls | コマンドレット $_ のように外で $_ を参照しも $null になっていて使い物にならない
0173デフォルトの名無しさん
垢版 |
2021/03/11(木) 08:00:09.14ID:veC1m4UT
>>167
丁寧な解説痛みいる
背景的な内容は分かりやすかったが、すまんが俺の疑問は直接解決できんかった

>>171
分かりやすい回答ありがとう
> ls|sort -Property $(if ($_ -eq $null) { "LastWriteTime" } else { "Length" } ) を実行してソート順をみると分かりやすい
これは天才的な分かりやすさだった!一発で理解できた、マジでスッキリした

>>172
この内容、公式ドキュメントに書いておいて欲しいぐらいだわ…

レスしてくれた方々、非常に助かった
ありがとうございました
0175デフォルトの名無しさん
垢版 |
2021/03/11(木) 12:48:39.66ID:7AhbbQuZ
>>174
AWS VPNっていうそのまんまなサービスがある
変な知恵を働かせようとするのはやめて猿のように完全マネージドサービスに頼るのがAWSの正しい使い方
0176165
垢版 |
2021/03/11(木) 13:08:05.76ID:EP88fPM9
大文字に変換する、Ruby の1-liner、
ls | ruby -ne 'print $_.upcase'

これが動く原理は、-e オプションで、
print $_.upcase を、暗黙の内にループで囲むから

ls | ForEach-Object { echo $_ }
も、たぶん同じ原理で、
ForEachで、ループで囲むか、イタレータ・配列化してる

これによって、前段が、次の3パターンの型のどれを返しても、エラーにならない。
該当なし0, nil
1つの単数型
2以上の複数型・配列

jQuery オブジェクトも、同じ原理

Ruby では、オブジェクト.メソッドを呼ぶ時、
オブジェクトがnil の場合、nil.メソッドとなり、
nil には、そういうメソッドは存在しないという、エラーがよく出る

だから必ず、返すものが、0, 1, 2以上の個数の3パターンで、テストしないといけない
0177デフォルトの名無しさん
垢版 |
2021/03/11(木) 14:16:17.15ID:Jwslfn/r
質問というか雑談やが
google画像検索ってくっそ精度低い
のに
二次元画像詳細検索はどうやってあそこまで
高い精度出してるんだ
分かるやつおる?
0178デフォルトの名無しさん
垢版 |
2021/03/11(木) 14:22:52.42ID:EP88fPM9
異なるものを使っているから。
たぶん、開発者も異なる

YouTube なんか、しょっちゅうデザインが崩れる。
漏れは、いつも通報してるけど、ひどい時は1か月も修正されない

ちゃんと開発できる香具師は、意外と少ない
0180デフォルトの名無しさん
垢版 |
2021/03/11(木) 18:02:27.69ID:Q/MHSOVy
>>177
俺が雑に画像検索作るならこんなもんかな
1.ハッシュ値の検索
2.各色の比率、分布
3.アクセス頻度、ワード検索
0181デフォルトの名無しさん
垢版 |
2021/03/12(金) 15:11:58.40ID:87XOLJ3X
>>137ですが, pythonでwebクローラーを書いて解決しました
解答して下さった皆さんありがとうございました
0182デフォルトの名無しさん
垢版 |
2021/03/12(金) 20:42:26.28ID:JVJjAlGn
既存のソースコードの処理の流れを把握するのによく使われる調査ツールや分析手法とかありますか?
ttps://lvgl.io/ (組み込み向けのGUIフレームワーク)
の画像をレンダリングする部分を改造したいのですがこの規模のソースコードだと何かどうなっているのかさっぱり判りません・・・
0183デフォルトの名無しさん
垢版 |
2021/03/12(金) 21:02:17.58ID:REwpE7TJ
>>182
軽く見てみたけどかなり綺麗で読みやすいコードだな
ネーミングもコメントも神経質すぎるくらい丁寧
このレベルでさっぱり判らないならたぶん改造なんて無理だから諦めたほうがいいよ
0186デフォルトの名無しさん
垢版 |
2021/03/12(金) 22:23:00.78ID:U+iRPjP4
>>182
静的解析ツールでDependency DiagramやCall Graphを生成する
図にしてくれるやつは有償のが多い
無償ならdoxygen + graphvizとか
0187182
垢版 |
2021/03/12(金) 23:58:48.24ID:JVJjAlGn
GUIフレームワークの裏側の知識なんて全くないしどこから手を付ければいいのか・・・
とりあえずシミュレータとやらを動かしてみるとか?
この類のプログラムだと動かすのも簡単ではなさそうだけど

改造内容は出力対象としてラインバッファを追加してメモリを節約出来ないかなと

>>183
確かにコードは見やすくコメントはよく書いてある方だと思いますが
フレームバッファに書いているのは何処なのか・・・

>>184-185
ググったら「レガシーソフトウェア改善ガイド」なる本が出てきましたが
今度本屋へ行ったときに見てみようと思います

>>186
それ良さそうですね。試してみます
0188デフォルトの名無しさん
垢版 |
2021/03/13(土) 02:00:09.73ID:EttNgG4o
競技プログラミングのスレ、人気スレのようだけど
ム板でもよさそうだけどなんでプログラマー板いっちゃった?
もともとマ板なんかネタスレしかなかったのに
いつのまにか立場逆転しとるやん
0190デフォルトの名無しさん
垢版 |
2021/03/13(土) 08:48:03.00ID:+/gF4ceM
>>188
競プロのスレはアルゴリズムとか技術的な話はほとんどなくて、不正がどうのスコアやルールがどうの就活が〜〜とか、ム板にあったらマ板に行けって言われるような内容だぞ
0191デフォルトの名無しさん
垢版 |
2021/03/14(日) 13:18:59.65ID:dGW/zbvR
ちょっとマイナーかもしれませんが、pythonのgrapheneに関する質問です。
queryに指定されたレスポンスのフィールドがどれかを知ることはできるのでしょうか?
0192デフォルトの名無しさん
垢版 |
2021/03/15(月) 04:07:57.73ID:MNT36Itg
エンジンとライブラリってどう違いますか?
ググったのですが、参考になるページが出てこなかったので質問させてください。

たとえば、音声合成エンジン、音声合成ライブラリ、
――などの文脈で使われる、「エンジン」と「ライブラリ」は、
同じようなものですか?それとも全然別物でまったく違うものなのでしょうか??
0193デフォルトの名無しさん
垢版 |
2021/03/15(月) 06:33:29.52ID:3pdFxOVF
>>192
同じようなもの
言い切った者勝ち

でも他のプログラムに皮被せたようなものでエンジンとか言ってたら、俺は胡散臭い目で見ちゃう
なんちゃら(爆)速エンジンw
ライブラリと言っておけば安泰
0194デフォルトの名無しさん
垢版 |
2021/03/15(月) 12:13:08.90ID:NUPkxmQY
javascriptのファイルをIEやchromeの開発者ツールで見えないようにすることは難しいでしょうか?
0195デフォルトの名無しさん
垢版 |
2021/03/15(月) 12:21:39.59ID:KUxKEAvv
モジュール・ライブラリは、いくつかの関連するクラス・関数などを、1つにまとめたもの。
例えば、CSV 関連のモジュールなど

一方、エンジンは、Unity ゲームエンジンとか、
上のモジュールなどを、大量に使って、1つのシステムにしたもの
0199デフォルトの名無しさん
垢版 |
2021/03/15(月) 15:08:52.10ID:W4mhVG7e
>>192
同じようなものの場合もあるが文脈的に強調したい点が違うか違うものを指すほうが多い気がする
エンジンという場合は対象の中核となる処理を実行するソフトウェアコンポーネントを指すことが多い
(中核となる処理を担いますよとアピールしたい場合にも使う)

音声合成エンジンは音声合成処理そのものを実行するコンポーネント
音声合成ライブラリはアプリケーションプログラムが音声合成機能を使いたいときに利用できるAPIを備えたライブラリ
音声合成ライブラリが特定の音声合成エンジンを含んでいる場合もあればエンジンは選択可能な場合もある

正規表現エンジンと正規表現ライブラリとかで考えればわかりやすいかと
0200194
垢版 |
2021/03/15(月) 15:35:14.92ID:NUPkxmQY
>>196
ありがとうございます。
ただ、見にくくなるだけで、頑張って解析しようとしたら読めるんですかね?
ただ、.htaccessでjsに直接アクセスできないようにしても、F12ツールで見えてしまうでしょうし、これで読みにくいように持っていくのがベストでしょうかね?
0201デフォルトの名無しさん
垢版 |
2021/03/15(月) 16:13:13.56ID:KUxKEAvv
難読化ツールか。
7行テトリスとか、変数名を1文字にするだけでも読めない

apple をみかん、orange をリンゴの数にするだけでも、理解するのに苦痛
0202194
垢版 |
2021/03/15(月) 16:47:38.40ID:NUPkxmQY
ありがとうございます。
ここを使えばだいたい読めなくなりますね。ありがとうございます。
ttps://javascriptobfuscator.com/Javascript-Obfuscator.aspx
0203デフォルトの名無しさん
垢版 |
2021/03/15(月) 16:48:15.07ID:AOv43n/m
横浜駅近辺か以南で東プレとかHHKとかのプログラマ御用達キーボードの実機が触れるお店があったら教えて下さい
(このご時世アキバまで行きたくないです
0206デフォルトの名無しさん
垢版 |
2021/03/17(水) 11:02:52.72ID:tiNitlKG
複雑なロジックが絡む認可処理ってどこでやればいいんだ?
例えば勤務データ登録システムがあるとして
・部長以上はすべての勤務履歴を変更可能
・チームリーダー以上は3ヶ月以内のチームメンバーの勤務履歴を変更可能
・平社員は当月の自分の勤務履歴を変更可能
みたいな感じで条件に合わない場合は403

A. 他の認可と同じようにWEBフレームワークのミドルウェアでやる
B. ドメイン層でやる
C. その他
0208デフォルトの名無しさん
垢版 |
2021/03/17(水) 21:59:18.03ID:kWcDxPo7
procfs以外で他のプロセスのシグナルマスクの状態を見る方法ある?
macOSで知りたい。言語は何でもいい。
0209デフォルトの名無しさん
垢版 |
2021/03/17(水) 22:44:39.39ID:12LzxBGv
>>206
一般的には認可はアプリケーション層でやる

その例なら”勤務履歴変更”のユースケースの中で認可処理をキックする
認可ルール/ポリシーの管理や可否を返すメソッドは独立した認可サービスに切り出してまとめる
0212デフォルトの名無しさん
垢版 |
2021/03/18(木) 23:49:03.68ID:wqSEV4VX
>>210
アプリケーション層

アプリケーションロジックじゃなくドメインロジックとして捉える考え方もあるだろうけど
アプリロジックとしてアプリケーション層にまとめておいたほうが何かとスッキリしやすい

認可サービスという独立したBounded Contextのアプリケーションを作って
その中のドメイン層で扱うというやり方もある(WindowsのActive Directory的なもの)が
一般的なアプリだとオーバーキルになる
0213デフォルトの名無しさん
垢版 |
2021/03/19(金) 00:15:19.34ID:z1gdjZk4
データベースにログインするようにしたら
個人でログインするとかドメインで管理するとか
好きにすればいいじゃない
0214デフォルトの名無しさん
垢版 |
2021/03/19(金) 00:29:23.47ID:ugVJrA7w
>>212
的外れなことを言うかもとは思うけど、
まず、認可の前提としての認証は自前では持たずにOAuthに任せるって方針の所もあるよね(俺とかも)
そう考えると認可(権限)の管理とかも今後は自前ではやらずに、認証に対する権限リストの保持までは他所のサービスを使うってのは、いずれはオーバーキルとも言えなくなってはこないだろうか?
認証を内製するより外注しといたほうが安全で楽なように、権限処理も定型的だから外注したほうが安全で楽だろう
0215デフォルトの名無しさん
垢版 |
2021/03/19(金) 00:43:48.97ID:ZleoXut0
>>214
いや、認可ってのはあくまでフラグを立てるだけでしかない
そのフラグをどう解釈するかは完全にアプリ次第
0216デフォルトの名無しさん
垢版 |
2021/03/19(金) 00:55:02.15ID:ugVJrA7w
>>215
だからそのフラグを使う部分だけは内製するけど、認証と結びつけておくデータベースとか管理ツールは外注している認証側に移行していかないかな?という話
定型的と書いたのは、フラグ管理は認証した相手をグルーピングすることで行うだろうけど、グループ分けに特段のビジネスロジックは不要だから共通サービスとして提供できるだろうと
まあ、要するにオープン化されたADサービス?
0217デフォルトの名無しさん
垢版 |
2021/03/19(金) 02:48:32.09ID:ysVgQ22g
>>214
AWSのIAMみたいのでしょ
認可って汎用的にするとそれだけで結構複雑になんだよね

外部とインテグレーションするオーバーヘッドが出てくるのもあるし
特定のアプリケーションで必要になる認可ポリシーがアプリケーションとは全く別のところで管理されるので
両方を見ないと全体を把握できなくなるみたいなデメリットもある
その辺りを考えてもメリットがあるかどうかってところ
0218デフォルトの名無しさん
垢版 |
2021/03/19(金) 10:05:16.85ID:A2FC3wYP
アプリケーション層で管理するほうが人気か…
自分としては認可ってドメイン層だと思うんだけどな
誰がどんな条件で何をしていいかなんてのは
システムがなくたって業務ルールとして存在してるわけじゃん
ならそれはドメイン層としか思えんのだが

・ドメインサービスの入口で認可検証
・拒否ならAuthz例外を投げる
・アプリケーション層は認可ルールの詳細を把握せず例外を403に変換するだけ

こっちのほうがよかないか?
0219デフォルトの名無しさん
垢版 |
2021/03/19(金) 10:18:54.73ID:A2FC3wYP
アプリケーション層に認可があると移行の問題もある
例えばWEBフレームワークをJava EEからSpring bootに変更したい場合とかね

認可がアプリケーション層にあるとフレームワークに合わせて認可を大幅に書き換えないといけない
認可の業務ルール自体は全く変わっていないにも関わらずだ
それってなんだかおかしくないか?

ドメイン層に認可を置いておけば移行の際に認可は全く変更しなくていい
ただ例外をレスポンスに変換する処理を切り替えるだけ
それはアプリケーション層の仕事としては妥当だ
0220デフォルトの名無しさん
垢版 |
2021/03/19(金) 11:10:58.80ID:isOHUPOf
WebフレームワークはDDDやClean Architectureで言うアプリケーション層とは違うぞ

WebフレームワークのControllerをアプリケーション層として利用すればその2つが密結合する
メリットもあるのでトレードオフを判断して選択するもの
0223デフォルトの名無しさん
垢版 |
2021/03/19(金) 19:01:54.56ID:+RPcY+jV
>>222
すまん、無駄なのは知ってる
HTTPリクエストごとにTCPコネクション確立するのはサーバー攻撃に該当するか?ってのが知りたい
頻度は例えば秒間80回とか
0224デフォルトの名無しさん
垢版 |
2021/03/19(金) 19:08:37.48ID:zfX0YSnj
ちゃんとしたシステム程そういう短い期間に多数のリクエストを送るホストを遮断する
0226デフォルトの名無しさん
垢版 |
2021/03/19(金) 20:47:33.56ID:3OSa/Ffn
>>223
それは相手次第だから一概にはなんとも言えん
感覚的には攻撃とみなされても文句は言えないレベルだと思うぞ
0229デフォルトの名無しさん
垢版 |
2021/03/19(金) 23:12:56.84ID:gtzZCHhj
その昔はサイトに対して警告が来たもんだが
最近は、最悪いきなり訴訟かもしれないからなあ
0230デフォルトの名無しさん
垢版 |
2021/03/20(土) 19:06:44.35ID:V661mPJv
>>223
同じ場所から秒間80回だとsyn-floodとまでは言わないけど、WindowsだとTIME_WAITの
デフォルト時間が4分らしいので、何か処理して切ってって繰り返してもセッションが
19200発生するので、良くないって言うか攻撃だと判断される可能性が高いと思うよ
0231デフォルトの名無しさん
垢版 |
2021/03/20(土) 19:34:22.31ID:DA77laUl
MDISみたいな技術力の低い三流会社が作ったサイトだと一秒に一回のアクセスでもサービス停止を引き起こして告訴される
0232デフォルトの名無しさん
垢版 |
2021/03/20(土) 20:34:52.41ID:MkV/e5E1
あれはアクセス頻度とは関係ないバグだったからな
日本はSIerも警察も図書館も技術力だけでなく倫理観も底辺クラスだったことが露呈した歴史に残る事件
0235デフォルトの名無しさん
垢版 |
2021/03/21(日) 00:29:10.59ID:he5zjlJ+
C++でコードを書いていって、途中から プロセス間のIPCの処理を追加したくなりました。
で、IPCの際、データをマーシャルするということでprotobufというものを知り、現在protobufで
データを定義中 <- 今ココ、なんですが、

IPCの際、元からあるオブジェクトをいちいちprotobufで定義するオプジェクトに変換、およびその逆
をしないといけないような?
ひょっとして、最初からprotobufで定義するオブジェクトでコードを書けば良かったのかな?
0237デフォルトの名無しさん
垢版 |
2021/03/21(日) 00:39:11.43ID:ejnWrGNO
普通は変換するよ
通信のためのデータ構造とアプリケーションのためのデータ構造は別物だからね
0238デフォルトの名無しさん
垢版 |
2021/03/21(日) 08:19:52.84ID:he5zjlJ+
>>236
Linuxですが、そこは重要ですか? macOSやAndroidでも動かす予定ですが。

>>237
はい、実際 protobuf の範疇では元のオブジェクトを完全に定義することは不可能で、
今はオブジェクトの属性をロジカルに書き出して、それをprotobufのmessageとして定義し、
IPCでやり取りした後オブジェクトに反映、みたいな処理かなあ、という感じになってます。
0240デフォルトの名無しさん
垢版 |
2021/03/22(月) 11:55:12.29ID:c10Em98H
>>230
TIME_WAITの待ち時間の間、TIME_WAIT状態のTCPコネクションが残るため、待ち時間240秒なら秒間80回x240秒=19200のコネクションが残るって話?
でもこれはアクティブクローズ仕掛けてる側の話だから、クライアントからアクティブクローズしてるならサーバーサイドじゃ問題にならないよね?
クライアント側が動的ポート食いつぶして自滅する可能性はあるけど…
0242デフォルトの名無しさん
垢版 |
2021/03/23(火) 18:27:50.33ID:DozAEiY7
ラインのあのニュースで、実況板とかニュース板に日本のプログラマーはレベルが低いとか
書かれててむかついた
0245デフォルトの名無しさん
垢版 |
2021/03/23(火) 20:03:34.91ID:9H2nLt0o
GitHubのコミットランク見ると米を筆頭に中国まで入り交じってずらずら並んでいる中
日本人の最上位は大分さがってMatzって時点でいろいろお察し
もっとも個人と言うより社会構造の問題だと思うけどね
0247デフォルトの名無しさん
垢版 |
2021/03/25(木) 12:02:00.02ID:uUMoHwzC
vuejs勉強するんだけど3系ってまだまだ不安定?
2と3の大きな違いも分からんけどどっちやるべきか
0248デフォルトの名無しさん
垢版 |
2021/03/25(木) 12:21:56.06ID:Pky8hc2u
Vue自体がオワコン気味だからなあ
わざわざ手間かけて3へ移行するくらいならReact他へ行くってとこが多いんじゃないかな
0250デフォルトの名無しさん
垢版 |
2021/03/25(木) 13:10:10.28ID:fY5X1PQI
最近は五分五分ぐらいだろ
というか日本と中国以外ではreactが圧勝してるしねえ
0251デフォルトの名無しさん
垢版 |
2021/03/25(木) 13:27:49.44ID:zrKz1Lho
推奨NGワード: あわしろ
推奨NGワード: デル男
推奨NGワード: KENTA
推奨NGワード: ケンタ
推奨NGワード: Ruby
推奨NGワード: Rails
0253デフォルトの名無しさん
垢版 |
2021/03/25(木) 21:58:16.63ID:rjYYjYhZ
>>252
単に募集とか見ていての感想
そもそもreact言ってる連中って本当に仕事で使ってるのかと思うわ
趣味でやる分にはお好きにどうぞだが
現実は使えるエンジニアが居ないわけだし
どっちにしてもvueもそうだけど日本じゃ言う程流行ってない
0257デフォルトの名無しさん
垢版 |
2021/03/25(木) 23:09:53.39ID:Q90m2+0Z
要はなんの根拠も持っていない人同士が思い込みで仲良く殴り合いしているだけという
0258デフォルトの名無しさん
垢版 |
2021/03/27(土) 01:00:47.33ID:fWD/Qk/S
DBからデータ持ってきてリアルタイムにグラフを表示するシステムを作りたいです
・エクセル→現システム 遅い、重たい
・BIツール→グラフの種類が少ない,やれることが少ない(以下の必須機能がつけられない)
・必須機能
 日付の範囲指定(1日〜2ヶ月の間)
 自動更新機能(3分に1回)
 スライサー機能

なのでグラフを画像として保存しhtmlに貼り付けようと思っています

一応構想としては
@3分に1回コンソールアプリでDBのデータをCSV化する
AASPで日付の範囲指定ボタンを押す
 →CSVの中から欲しい範囲のグラフを画像で保存
BASPの帳票ボタンを押す
 →グラフの画像を表示


ここからが質問です

・AのCSVからグラフ化するのに一番早い方法を教えてください(データを扱うのはPythonが早いとのことですが真偽が分かりません)
・この構想以外にいい方法があったら教えていただきたいです
0261デフォルトの名無しさん
垢版 |
2021/03/27(土) 07:23:03.89ID:jB646XGh
HTMLに貼るならChart.jsやCHARTIST.JSみたいなJavaScriptのグラフ描画ライブラリを使うのが早いんじゃない?
WebAPI側は慣れてる言語で作る
Excelもツボを抑えて書き直せば余裕で桁違いに速くなりそうだけど、あんまり継続的に保守はしたくないね
0262デフォルトの名無しさん
垢版 |
2021/03/27(土) 10:38:19.71ID:cpUHfD3R
>>258
DBのデータをわざわざCSV化せずに
範囲指定した必要なデータだけをてDBから直接取得してグラフを更新する処理を書いてそれを定期実行すればいい

Excelで遅いのは作りが悪い可能性が高い
3つあげてる必須機能はExcel以外にもGoogle Sheetsでも一般的なBIツールでもできる
Webアプリ化したいならPythonよりJavaScript
0263デフォルトの名無しさん
垢版 |
2021/03/28(日) 11:04:04.41ID:S6joBK3i
すまんどこで聞くべきかわからんからここで聞いちゃうけど
サービス運用についてどうやって勉強すればいい?
プログラミングはそれなりにできるようになったと思うがサービス運用がまったくわからない
セキュリティやらモニタリングやら色々とやらなきゃならないんだろうけど具体的に何をすればいいのかサッパリ
会社の同僚・先輩もみんな同じようなレベルでプログラミングはまあまあできるんだけどねって感じで頼りにならない
0264デフォルトの名無しさん
垢版 |
2021/03/28(日) 11:32:33.36ID:spxldOS4
サービス運用なんて適当でいいんだよ
どうせ客にはわからん
そして適当にやって間違ったらごめんなさいすればいいだけ

どれだけ巨大なシステム組んでも裏はどうしようもないほど酷いシステムだからな
0267デフォルトの名無しさん
垢版 |
2021/03/28(日) 13:21:06.18ID:IES6ITrg
ITILはうまくいった例を挙げているだけ
現実の問題ではかなりの応用力を問われる
独特なセンスを要求されるな
ある意味プログラミングと同じ
向いている人と向いていない人がはっきりしている
0268デフォルトの名無しさん
垢版 |
2021/03/28(日) 14:17:11.86ID:ycCgcz1y
>>264
重要な個人情報を扱う分野なのでテキトーでは困る…

>>265
数値目標のたてかたすら手探り
どんな数字を見れば役に立つのかさっぱり
0270デフォルトの名無しさん
垢版 |
2021/03/28(日) 14:21:54.03ID:Ah6uwjvI
>>263
「運用設計の教科書」(近藤誠司) を読んで見れば?

運用設計に必要な視点を網羅的に把握できる
ログ収集基盤の実装方法みたいな技術的な詳細を求めてるなら向かない
あとは実際に自分の会社で運用してる社内外のシステムで実践して知識を身につけるといいと思う
0271デフォルトの名無しさん
垢版 |
2021/03/28(日) 14:25:44.53ID:Ah6uwjvI
個人情報の扱いならISMSとかPマーク認証を学べば必要な視点は分かるはず
ただ具体的な実装となると会社によって千差万別なので実際に運用してるシステムから学ぶしかない
0273デフォルトの名無しさん
垢版 |
2021/03/28(日) 17:47:45.81ID:wq/sCKbI
デーモンのような形態のプログラムについて質問。
ログギングモジュール、設定ファイルモジュールがあるとして、どっちを先に初期化するべきだろう。
設定ファイルを先に初期化すると、設定が壊れているときに、適切なログを出力できない。
ログギングを先に初期化すると、設定ファイルを反映できない。
卵だか鶏だかで困った。
0274デフォルトの名無しさん
垢版 |
2021/03/28(日) 18:11:24.29ID:Ah6uwjvI
>>273
ログ周りの設定が壊れてるときにどうハンドリングしたいかによるんじゃない?

起動時にstdout等にエラー吐いて即停止でよければ設定モジュールから初期化
ログ出力して処理を継続したいならユーザー設定じゃなくシステム設定でまずロギングを初期化
次にユーザー設定を読み込んで設定を更新
0275デフォルトの名無しさん
垢版 |
2021/03/28(日) 18:39:41.38ID:NjmNZXxg
>>263
たいてい、この2つのサロン

YouTube で有名な、雑食系エンジニア・KENTA のサロンが月千円

くろかわこうへいのAWS サロンが、月3千円。
彼は、Docker も教えているとか

大企業は、AWSの資格を全社で800持つ、クラスメソッドに頼むとか。
この会社には、AWSの12資格すべてを持つ、ジェダイマスターが7人もいる!

AWSの資格の教科書とか
0276デフォルトの名無しさん
垢版 |
2021/03/28(日) 18:42:44.33ID:wq/sCKbI
>>274

後者がのちに停止させるとしても汎用性が高くてよりよくにみえる。
初期化手順の定石とかはないのかな。
本当はなにか物差しがあるといいのだけど。
0277デフォルトの名無しさん
垢版 |
2021/03/28(日) 19:27:07.19ID:wq/sCKbI
うん。
コンソールログ初期化
設定ファイル読み込み
設定ファイルを入力としてログ再初期化

この手順にしよう
ありがとう
0279デフォルトの名無しさん
垢版 |
2021/03/28(日) 19:48:11.72ID:wq/sCKbI
>>277

自己レス。二度めの初期化がライブラリ的にできない。。どうすっかな
0280デフォルトの名無しさん
垢版 |
2021/03/28(日) 20:23:28.06ID:yHCir1no
シングルトン。
0281デフォルトの名無しさん
垢版 |
2021/03/28(日) 21:06:55.27ID:Ah6uwjvI
>>279
loggerを分ければ?

ライブラリの制約はよくわからないけど
bootstrap時のログ出力とログ周りのユーザー設定を反映した後のログ出力は別扱いした上で
ユーザー設定項目のうち不都合があればfatal errorとして処理を落とすべきものを明確にしておけば
方針が立てやすいと思う
0282デフォルトの名無しさん
垢版 |
2021/03/28(日) 21:48:45.40ID:wq/sCKbI
>>281
そだね。。
まあ、初期化のわずかな時間だし、
結局stderrにwriteしたいだけなので、別枠で出力するのが現実的にみえてきた。
Rustのfernってライブラリ使っているのだけど、どうも複数のloggerを同時に駆動できないっぽい。かつ二度めの初期化は許されない。
どうしてもこれでどうにかってなるとこのスレの守備範囲を越えかつ、論点がずれると思うので、これでクローズ。
ありがとう。
0283デフォルトの名無しさん
垢版 |
2021/03/28(日) 22:29:09.92ID:wq/sCKbI
ちげええ
ちげええ
設定ファイル読み込み中にログを吐こうとするのが誤っている。
設定ファイルがおかしなときは、エラーを一旦格納しておいて、
次にロギングの設定を行いフォールバックした設定で、初期化する。
その後、設定ファイルのエラーを改めて書き出せばよいのだ。
俺の頭が悪かった。
0284デフォルトの名無しさん
垢版 |
2021/03/29(月) 00:50:31.22ID:kW6kUd5H
>>283
>次にロギングの設定を行いフォールバックした設定で、初期化する。

ここでエラーが発生したらどうなるの?
0285デフォルトの名無しさん
垢版 |
2021/03/29(月) 01:20:40.59ID:FvwB/lXm
>ここでエラーが発生したらどうなるの?

ここはパニックするしかないと思ってる

>>277
>コンソールログ初期化
>設定ファイル読み込み
>設定ファイルを入力としてログ再初期化

最初の手順でも同じことなだと思っているけど、
結局、最小限(==フォールバックした設定==コンソールログ)でもログを吐けないなら、何もできないとおもた。

いまのところ次を想定してる
コンソールログ: 100%出力できる。できなきゃパニックしかねえ。echo hogehoge >>stdout に似ているものだと思って。
設定ファイルの読み込み: エラーすることはある。必ずしも信用できない。例えば logfile = "/var/log/logfile" みたいを思い浮かべて。
設定ファイルの設定を踏まえたログ: エラーすることはある。echo hogehoge >>logfile をおもっちゃって。

>>277 の手順で、
まずエラー報告をできる姿勢にして、他のエラーするかもしれない設定をやるのつもりだった。
コンソールログにはlinuxでいうとこの、early_printkみたいな役割を担わせるつもりだった。
0286デフォルトの名無しさん
垢版 |
2021/03/29(月) 14:55:42.52ID:eHkwZkun
ブラウザ(SPA)用APIとネイティブ用APIで入り口を分けたほうがいい?
ブラウザでは安全性を考慮してCookie認証(httpOnly, https, sameSite) + CSRFトークンにしたい
しかしネイティブではこれは無意味なので扱いが簡単なヘッダ認証にしたい
0288デフォルトの名無しさん
垢版 |
2021/03/30(火) 20:32:01.49ID:dIxbRizb
>>287
撮影日が解れば、特定の形式のJPGデータなら解る
0289蟻人間 ◆T6xkBnTXz7B0
垢版 |
2021/03/30(火) 21:25:04.50ID:R6g6oTte
>>287
大抵のデジカメはJPEG画像にEXIF情報を追加する。EXIFの有無などを解析すれば改変の有無を判定できるかも。
0291デフォルトの名無しさん
垢版 |
2021/03/31(水) 11:23:44.58ID:FoEJ8r8W
WindowsやMacで、ユーザーからアクセスできないフォルダをプログラムで作成することは出来ませんか?
サーバー上からダウンロードした画像データなどをゲーム内でのみ使用させるために特定のフォルダに配置したいのですが
0293デフォルトの名無しさん
垢版 |
2021/03/31(水) 11:35:40.15ID:FoEJ8r8W
>>292
>>292
ゲーム販売等のプラットフォームのSteamなどは、違法ダウンロードに対抗するために
それに近いことをやっているんじゃないかと思うのですが、あれはめちゃくちゃ頑張って何とかしてるってことなんでしょうか?
0294デフォルトの名無しさん
垢版 |
2021/03/31(水) 11:48:40.08ID:YNK+IKVT
>>293
ネット認証+暗号化されたデータをエンコードならともかく、「WindowsやMacで、ユーザーからアクセスできないフォルダ」なんか作ってどうやって使うのよ
0295デフォルトの名無しさん
垢版 |
2021/03/31(水) 12:04:10.07ID:FoEJ8r8W
>>294
iOSなどにはユーザーがアクセスできないけどアプリ側からはアクセスできるフォルダが存在するので
恐らく技術的には可能なはずで、WindowsやMacにもあるのかなと思ったのですがないんですね、すみませんでした
0296デフォルトの名無しさん
垢版 |
2021/03/31(水) 12:45:19.82ID:1K4SHGhs
技術的に可能だと思うんならその仕組みをまず調べたらいいと思うんだけど、なんで調べないの?
0297デフォルトの名無しさん
垢版 |
2021/03/31(水) 13:07:58.61ID:FoEJ8r8W
>>296
あなたもその書き込みをする前に調べたらその書き込みをする必要なく自分だけの知識に出来たのでは?
0298デフォルトの名無しさん
垢版 |
2021/03/31(水) 14:31:16.33ID:YTeB5kzi
>>297
ごめんよー、ググれカスの婉曲表現が通じないとは思わなんだ

自分が知らないから他のやつも当然知らないと思ってるみたいだけど
iOS開発者なら誰でも知ってることなのでググってね、カス
0300デフォルトの名無しさん
垢版 |
2021/03/31(水) 15:22:31.30ID:HRm2CLYI
>>298
訳「私は知りません。」ってことやね
0302デフォルトの名無しさん
垢版 |
2021/03/31(水) 16:10:52.45ID:FoEJ8r8W
脱獄したらapplication supportとかbundleフォルダの中身も全部抜き取れるの?
0304デフォルトの名無しさん
垢版 |
2021/03/31(水) 19:51:43.52ID:FoEJ8r8W
>>303
どうやってですか?
Apple公式ではユーザーはアクセスできないと言ってますよね?
0305デフォルトの名無しさん
垢版 |
2021/03/31(水) 20:02:46.33ID:qNH4nG2x
javaでgui作るんですけど今の主流や最新って何ですか?
前はSwingで作ってて今回は一先ずJavaFXでサンプル動作くらいまではやったんですが
0308デフォルトの名無しさん
垢版 |
2021/03/31(水) 20:11:59.50ID:Dmfl5kzC
>>305
javaFXは正直流行ってるとは言えず
現時点ではjavaでGUI開発は時代遅れかと思う
環境を変えて良いならelectronとか別のクロスプラットフォームなものにした方が良い気がする
0309デフォルトの名無しさん
垢版 |
2021/03/31(水) 20:19:27.46ID:qNH4nG2x
回答ありがとうございます
>>307
調べたら埋め込みできるみたいですね
>>308
どっちも微妙だなぁとは思ったんですがやっぱりですか
環境は叩きたいjarがあるので上回るメリットがないと意味がないですね
0310◆QZaw55cn4c
垢版 |
2021/03/31(水) 20:41:04.64ID:9YkxM+j+
>>308
そうなんですか?
win32api の世界の複雑怪奇なお作法でガリガリ書くくらいなら、java で GUI するほうが快適だと思っています…
0311デフォルトの名無しさん
垢版 |
2021/03/31(水) 20:45:36.67ID:k0t0X50G
なんだかんだで.NETが楽だよ
Xamarinでクロスプラットフォーム
Java相互運用も今後サポートされていくはずなのでJava資産も取り込める
0313デフォルトの名無しさん
垢版 |
2021/03/31(水) 22:21:52.29ID:FoEJ8r8W
>>312
ユーザーからアクセスできないという表現は誤解を生む可能性のあるものだったかもしれないけどユーザーに"公開されない"フォルダは存在しますよね?


これがAppleの公式ドキュメントだけど

https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileSystemOverview/FileSystemOverview.html

Use the Library subdirectories for any files you don’t want exposed to the user. Your app should not use these directories for user data files.

少なくとも、ユーザーに公開したくないファイルはlibraryフォルダ(application support)に保存してくださいと書いているように見えるんですが、違うんですか?Appleはユーザーには非公開のフォルダがあると言ってますよね?
私は何か間違ってますか?
公開されないだけで、外部プログラムからアクセス可能なんですか?私にはそうは見えないんですけども
0314デフォルトの名無しさん
垢版 |
2021/03/31(水) 22:38:03.53ID:FoEJ8r8W
プログラミングしたことない無職のゴミしかいないスレで聞いたことが間違ってたわ、すまんな
0316デフォルトの名無しさん
垢版 |
2021/03/31(水) 23:08:57.30ID:gjCDZf2L
>>313
間違ってる
自分の都合よく拡大解釈したいんだな

マジでiOS開発者なら誰でも知ってることだぞ
ユーザーから秘密にしておきたいシークレットを素で保存したりするなよww

信じられないならチケット使ってAppleに問い合わせるといいよ
0317◆QZaw55cn4c
垢版 |
2021/03/31(水) 23:09:56.17ID:9YkxM+j+
>>311
どっちかというと、保守的な文法のJava8 の範囲で C# のライブラリをサポートしてくれるとうれしいのですけど…
0318デフォルトの名無しさん
垢版 |
2021/03/31(水) 23:10:40.56ID:gjCDZf2L
バックアップ対象なんだしちょっと考えただけでもわかりそうなもんだけどなぁ
0319デフォルトの名無しさん
垢版 |
2021/04/01(木) 17:09:27.99ID:zfuxMBQH
Androidで開発に使うadb.exeですが、ソースはApacheライセンスだそうですが
Googleが提供しているバイナリはアプリや独自IDEなどにバンドルするのは駄目
だそうです。
そこで、どこかで、誰かが独自にビルドしたバイナリがダウンロードできない
ものでしょうか?
ウイルスなどが入ってないと思えるようなものでないと困りますが。
0320デフォルトの名無しさん
垢版 |
2021/04/01(木) 17:13:43.58ID:o5XCnMGW
自分でビルドすればいいだろ
0321デフォルトの名無しさん
垢版 |
2021/04/01(木) 19:25:41.75ID:NLtnaoPL
DBからとってきてJson返すだけみたいなドメインがスカスカなシステムってどこをユニットテストすりゃいいんだ?
0322デフォルトの名無しさん
垢版 |
2021/04/01(木) 20:40:57.35ID:49uqYWRg
>>321
E2Eだけでいいよ
実際にテスト用のDBに接続して、リクエストハンドラが期待通りの結果を返すことを確認するテストを書け
テストを書けと言われたら、中の方の極一部のテストしやすいロジックだけ単体テストを書くアホがよくいるが、そんなものよりE2Eの方が遥かに重要で効果的
0323デフォルトの名無しさん
垢版 |
2021/04/02(金) 09:33:31.57ID:hcKppiRt
>>321
テストフェーズ関係なくどういう種類のテストをしたいのか、もしくはするべきなのかをまず考えて
次にそれらをどうフェーズ分けするのがいいかを考える

何をテストすればいいのかがわからないならその原因を考える必要がある
0324デフォルトの名無しさん
垢版 |
2021/04/02(金) 09:49:59.74ID:sr96G99p
>>321
まず今それはどうやって実装されてるのか?

下手なやつはAPIの数だけ同じようなロジックをコピペする
それが本当にDBからJSONを返すだけなら共通化出来る
間に多少のロジックが入る場合があったとしても大抵はほとんどなにもないはずだ

そうなると簡易的なDSLが作れる
define_api "POST" <endpoint> みたいな使い方ができるdefine_api関数を作れる

そして define_api が正しくAPIを作れるかどうかをユニットテストすればいい
ユニットテストは、実際にはエンドポイントに通信を行わず(モックを使う)
テスト用に作ったエンドポイントに想定したパラメーターを渡せるか
戻り値をちゃんと受け取れるかをテストする

あとはずらずらとdefine_api "POST" <endpoint>を並べるだけ
これをテストするかどうかは任せる。単なる定義でしかないので俺は不要だと思うが、
やりたいならAPIが定義できてるかとかdefine_apiをモックして
ちゃんと呼び出してるかをテストすることになるだろう

まあユニットテストとして重要なのはこの define_api だ。
いくらAPIが増えたとしても、この関数は増えないので手間ではない

そしてまれにあるJSONをちょっと加工する必要があるものは、
それをちゃんと加工しているか?をテストすれば良い
一番マヌケなのは、中身スカスカなのに、それにたいしてスカスカなテストを繰り返す書くこと
全てをテストすることのは重要なことではない。
テストを書かなければ不安なところだけやるのが正しいテストだ
0325デフォルトの名無しさん
垢版 |
2021/04/02(金) 09:51:28.29ID:wd8HVT89
>>321
そんなプログラムだって
・リクエストを受けとる
・DBからデータを取得する
・JSONとして整形する
・レスポンスとして返す
という詳細設計項目はあるだろ
単体テストは詳細設計に対応するテストだから、その項目が正しく実装されているかをテストする
テストをどうしたらいいのかなんて悩んじゃうのは、設計とテストの対応を理解してないだけだよ
0326デフォルトの名無しさん
垢版 |
2021/04/02(金) 09:56:46.17ID:sr96G99p
define_api api1 "POST" <endpoint>
define_api api2 "POST" <endpoint>
define_api api3 "POST" <endpoint>
みたいな定義コードをテストしないことが納得できないなら
これが定義ファイルだと思えばいい

定義ファイルに従ってAPIを作る
では、その定義ファイルをテストするか?

俺は、定義ファイル(YAMLファイルなど)に「この定義が書いてあるか?」を
テストしている例を見たことはない
0329デフォルトの名無しさん
垢版 |
2021/04/02(金) 23:53:58.88ID:WscKa11H
VBA前提です。

購入品が発生する仕事で、プロジェクト毎に購入実績をエクセルブックにまとめています。
購入品単体の実績を確認しようと思った時、
ブックを一つ一つ開いて探さないといけないのが現状です。

これに大して検索システムを作ろうと考えていますが、
検索する度に他ブックを参照するか、一端全データを抽出してそこに大して検索をかけるかで
悩んでいますが、検索速度など考えた時後者の方が早いでしょうか。

また、他に何かいいシステムがあれば教えてください。
0331デフォルトの名無しさん
垢版 |
2021/04/03(土) 06:18:53.95ID:Cw69re+2
なんか気づいたらletsencryptが更新失敗してた
原因はポート80をapacheで使ってるため
80(http)から443(https)にリダイレクトさせるなんて止めないとダメになったのか?
cronでは一時的に停止して更新させるべきなのか?
どうしてる?
0333デフォルトの名無しさん
垢版 |
2021/04/03(土) 14:05:00.90ID:WR1zR6HO
>>313
iOSでもAndroidでも同じなんだけど、今のOSは必ずユーザのIDでアクセス
できる領域を制限しているのね
で、一般的になユーザではアクセスできず、管理者や特定のIDを持った
プログラムしかアクセスできない領域っていうのがあらかじめ決めてあって、
そこに書き込んだ場合には、アプリからはアクセスできるけどユーザは
アクセスできないとか出来るようになっているのね

だけどWindowsとか素のLinux(Macの場合はBSDベースだからLinuxじゃない
とかは置いといて)では、一般のユーザ以外に管理者権限でアクセスする
方法が提供されていて、管理者権限って名前の通り、どのような設定を行って
いてもあらゆる領域にアクセスすることができる機能があるのよ

iOSとかAndroidでは通常、管理者権限で操作をすることは出来ないように
なっていて、ユーザから見えない領域にアクセするプログラムは、その領域に
アクセスできる権限を与えることによってアクセスコントロールしている

なので、iOSでは脱獄、Androidでroot化って言われる処理をすれば管理者
権限が使用できるようになるので、どのように制限された領域でもアクセスできる
ようになるし、WindowsやMac OSみたいにユーザが管理者権限を普通に取得
できるOSでは、ユーザから完全にアクセスできない領域を作ることは
出来ないって話しになるだね

処理中のメモリの内容を隠蔽してデータの入力と出力しか出来ないようにする
トラステッド領域処理とかって言うものも最近は存在するけど、Windowsや
Macでローカルストレージに置いたデータを、暗号化などによってわからなく
することは出来ても見れなくすることは無理なので
0334デフォルトの名無しさん
垢版 |
2021/04/03(土) 18:19:12.30ID:G1tvYMqy
>>333
頑張って調べたのかもしれないけど>>313と同じで間違ってるよ

モバイルでも3rdパーティのアプリがデータを読み書きするフォルダやファイルは脱獄やroot化しなくてもユーザー(=デバイス所有者)は閲覧可能だから
iOSのアプリごとのLibrary/やAndroidのshared_prefsフォルダに書き込むのにroot権限使ってたら大変だよね
0335デフォルトの名無しさん
垢版 |
2021/04/03(土) 18:34:52.15ID:hqV+Figq
ルートじゃなくてポート1194も開いてない(ウェブとかメール用のポートは開いてる)サーバでopenvpn動かすことってできますか
0336デフォルトの名無しさん
垢版 |
2021/04/03(土) 19:36:07.49ID:RE1SrDkO
ブートローダのアンロックやrootを取れる機種限定で良いのでAndroidスマホのシステム周りを
デバッグするチュートリアルとか技術資料ってないですかね
アプリケーションの開発に関する情報は腐るほど出てきますが、OSや標準機能のデバッグに
関する情報はさっぱり見つかりません
例えば今でもしばしば目にしますが「特定のキャリアでVoLTEが使えない」みたいな場合です
別のキャリアでは動く以上、プログラムの修正を要したとしても少量、ひょっとしたら
設定ファイルの変更だけで済みそうですが何処で転けているのか判らないことには対処が難しいです
0337デフォルトの名無しさん
垢版 |
2021/04/04(日) 14:50:32.07ID:euN+A9Un
>>334
あんな、WinとかMacでユーザに読み取られないフォルダは作れないって話であって、
iOSで特定のフォルダにアクセスするのに特権がいるとかいらないとかって話してないぞ

>>335
openvpnのサーバ?クライアント?ポート1194が開いていないってFirewallの話かな?
vpnサーバを立てるっていう話ならば1194はwellknownポートじゃないので、一般
ユーザでも自分の書き込み可能な領域にvpnサーバのプログラムを入れれば動くと思う
Firewallでポートを開けなくても使えるって話ならば、使えるポートを待ち受けに使えって
話しだし、クライアントならばサーバ側でpnサーバが動いているば使えるんでない
1194が開いていないっていうなら違う話かな?

>>338
多分最近始まった携帯サービスがVoLTE必須で自分のでは使えないとかいう話
なんだろうけど
AndroidOS自体のデバッグとかは、基本的にAndroidOpenSourceProjectのところを
見て、OSのビルド方法とかから勉強しないと話が始まらないです
まぁ、あそこの資料はお約束的に量が多い割りに中身が薄いので、いきなり読んでも
まったく分からないとは思うけど
なのでAndroidのカスタムOSとかで検索して色々調べると分かるようになるかも
あと、こういった情報で日本語のものは、やり方をコピペしているだけの情報が
多いので、書いてある通りやってうまく行かないとそれ以上は自分で勉強して試行錯誤
する必要があるけど、詳しい情報はXDAみたいな英語のサイトとか台湾人や韓国人の
技術者が書いてくれているブログなんかがほとんどなので、日本語ベースの情報は
ほぼないよ
VoLTEについてはOSというより、Androidスマホに搭載されているSoCのモデムが
対応しているか(ここ2、3年のQualcommのSoCならばほぼ大丈夫なはず)と、
機能の有無を制御するEEPROMの設定を変更するって作業が必要で、やり方は
機種ごとに違うので、自分の機種で「VoLTE enable」とかで検索すると情報が
見つかるかも
多分qpstとかで書き換える方法とかに行き着くかもだけも、その手のツールは失敗
するとハードブリック(完全に修復不能な状態)するので気を付けてね
0339デフォルトの名無しさん
垢版 |
2021/04/04(日) 17:42:31.45ID:5yUAN7k9
初心者でも見分けられる知ったかぶりの7つの特徴

1. 要点に対して無駄に長文
2. 不必要に上から目線(マウンティング第一主義)
3. 主題には明確に答えず枝葉末節にへの指摘や反論、薀蓄語りをしたがる
4. 質問や指摘を意図的に軽んじることで自分の優位を保とうとする
5. 自身の間違いや勘違い、無知を正直には認めない
6. 権威主義的で有名人や有名企業などを持ち出したがる
7. 相手を否定する言葉で会話をはじめがち(例「いや、〜」)
0340◆QZaw55cn4c
垢版 |
2021/04/04(日) 20:27:41.61ID:xUGHmBNZ
>>339
>>339 の全文そのものが >>339 の基準を十分に満たすように思えてならないのは気のせいですか?
0342デフォルトの名無しさん
垢版 |
2021/04/05(月) 03:09:41.31ID:VixPxvD5
いや、冷静に考えると4以降はまるで該当してないな
前半の印象だけでの予断はよくないぞチミィ
現物をよく見よと本田宗一郎も仰っておるからな
0344336
垢版 |
2021/04/06(火) 19:10:14.52ID:0VxVWOV2
>>337
アンカーがおかしくね?内容的に自分宛で良いのかな
調べてみたいスマホはdocomoのSO-04G(3.5Gスマホ)でauの4G SIM(3G不可)でVoLTEを使えるが
楽天のVoLTEは不可って所。ついでにVoLTEがらみでXperiaのグローバルモデルも調べたい
ビルド環境を用意しないことには始まらないのはその通りで、別件でSONY Developer World見ながら
ビルド環境の準備を進めていて最近PCを用意してLinux入れて・・・とやっていたところだった
で低レイヤーのデバッグ環境も準備したいがさっぱり判らん状態

ハードウェア的にはVoLTEが使えるはずなのでソフトウェアや設定の問題ではないかと思うのだけど・・・

>qpst
一理ありそうだけどどのパラメータがどのような意味なのかを把握せずにいじり回すのは
かなり危険に感じるんだよな。流石に気軽には試せない
0345デフォルトの名無しさん
垢版 |
2021/04/07(水) 02:40:43.73ID:g0cTo5ct
レンタルサーバー上で顧客管理をPostgreSQLで行うcgiを作りたいのですが、
仮に後からカラムを追加するような場合、安全に行うにはどうすればいいでしょう。
いったん、cgiを停止させてから、ssh(リモートシェル)を使って、
手作業でカラムを追加してから、バージョンアップしたcgiに差し替えるので
しょうか。
その場合、cgiをどうやって停止させるかが問題となりそうですが、あらかじめ
停止できるような仕組みを作っておくのか、それとも、ftpなどでcgiを削除
してしまえばいいでしょうか。
かなり微妙で安全に行うのは難しそうですが、予め完成されたソフトを買えばいいのかな?
0346デフォルトの名無しさん
垢版 |
2021/04/07(水) 03:32:44.38ID:keBvs1o2
メンテナンスモードのチェックをしてからメンテナンスならメンテナンスですみたいな画面を出して処理しなきゃ良いだけでは?
0347デフォルトの名無しさん
垢版 |
2021/04/07(水) 11:44:49.11ID:g0cTo5ct
cgiにおいて、PostgreSQLなどのテーブルをロックしたいんですが、
ロック中にそのcgiが途中でダウンした場合、ロックが解除されずに
残るのか、それとも、解除されるのかどちらでしょうか。
仮に解除されないままになった場合、どうやって解除すれば良いんでしょう?
0348デフォルトの名無しさん
垢版 |
2021/04/07(水) 12:28:38.32ID:T/7kn+II
まずrdbの基本的な事から勉強してください
トランザクションも分からない段階じゃ何を説明しても無駄
0349デフォルトの名無しさん
垢版 |
2021/04/07(水) 13:07:53.00ID:XZ4egoAQ
RDBも平日勤務にして土日祝休みにすべきだよ
国のシステムはどれも平日しか使えないだろ
36協定見習うべき
0350デフォルトの名無しさん
垢版 |
2021/04/07(水) 16:07:35.06ID:IKflwJ+i
>>347
ネットワークレベルで接続が切れるような死に方をすれば
DB側もすぐ検知できるのでそのタイミングでロールバックされる

ハングアップするような中途半端な状態になった場合は
idleなトランザクションのタイムアウト値をみて判断される

それでも対応できないような稀有なケースは手動で該当セッションを切断する
0351デフォルトの名無しさん
垢版 |
2021/04/07(水) 16:17:54.17ID:g0cTo5ct
>>350
ここに質問した後に、transactionの存在に気付いたのですが、
やはり、lock table(?) より、基本的にはまずそっちを使うんでしょうかね。
transanctionの場合、whileやifや変数(?)のようなものを使ってSQL自体で
プログラミングするんでしょうか。
0352デフォルトの名無しさん
垢版 |
2021/04/07(水) 17:01:22.57ID:c1pdqECQ
>>344
AndroidはLinuxの上にAndroidっていうJava互換サブセットのアプリが動いている
構造なので、一番低いレイヤーのデバッグっていうとAndroid端末上でkdbを使える
ようにして作業することになる

でも、VoLTEはさらに低レベルのSoCに内臓されるモデムのファームウェアと、
関連するパラメータの設定で制御しているらしいので単純にOSの制御じゃないとか

VoLTEは端末側で自由に使用できるものではなくて、携帯キャリアでこの機種使って
良いですよって確認とって有効化しなければならないものらしいので、日本では
キャリア販売端末以外では使えないのが普通らしい

なので、APN設定で選択するとVoLTEが使えるようになる機種以外は、Qalcommの
SoCに関係する設定を変更するしかない場合が多くて、それを行うには非常に
危険だけどQPSTを使う必要があるらしいよ

問題のある/なしは分からないけど「zenfone volte qpst」で検索すると、強制的に
VoLTEを使えるようにする方法が色々引っかかってくるので、その情報をベースに
目的の端末の情報を調べてみて
0353デフォルトの名無しさん
垢版 |
2021/04/07(水) 22:47:33.41ID:LKaymI6+
就活のネタにwebブラウザを自分で作ってみましたっ☆

ってアピールしたいけど、エクセルでif文と四則演算ができます。って技術力で、
ドメインだとか名前解決とかipアドレスv6(?)意味があんまり分からない状態。
そんな状態で1か月〜2か月あれば作れるものなのかしら。。。
0354デフォルトの名無しさん
垢版 |
2021/04/07(水) 22:59:24.00ID:MMKQHkD0
付け焼き刃よりも今までやってた事を突き詰めたほうが良い
エクセルならそれでも行けるとこは行けるだろ?
就職先次第
0355デフォルトの名無しさん
垢版 |
2021/04/07(水) 23:02:24.01ID:MMKQHkD0
ブラウザの作り方のハウトゥー見ながら作れたとして、それで評価されるとしおもえないんだが
話術、知識が凄くて、プログラム素人が全然ばれないならなんとかなるかもしれないが
それだったらブラウザ作らずとも行けるかと
0356デフォルトの名無しさん
垢版 |
2021/04/07(水) 23:09:14.34ID:T/7kn+II
まー就職活動で目を止めてもらえるレベルのものは無理
簡単なのはC#でwebコンポーネントを貼り付ける事だろうけど、そんなのはアピールにはならんでしょIEベースだし
0359デフォルトの名無しさん
垢版 |
2021/04/08(木) 00:00:05.95ID:x35EtLun
あーそうか、、githubちゃんがあるから作りましただけだとアピールにならんか。
どんな仕組みで動くかレベルで言わんと技術力のアピールにはならんか。。
むむーぅー。
0360デフォルトの名無しさん
垢版 |
2021/04/08(木) 00:01:32.94ID:x35EtLun
ご意見ありがとうございます。
勉強にはなると思うのでやってみます。
0361デフォルトの名無しさん
垢版 |
2021/04/08(木) 10:03:06.42ID:RD6Ac6a7
OSSにしてgithubなんかに公開してることが発覚したら、即、作用面接落としてやる。
0363デフォルトの名無しさん
垢版 |
2021/04/08(木) 11:12:36.97ID:RD6Ac6a7
1行追加しただけ、100行の汚いコードを追加しただけでOSSプロジェクト
作りましたってか。
0364デフォルトの名無しさん
垢版 |
2021/04/08(木) 11:14:35.61ID:RD6Ac6a7
フルスクラッチでOSSプロジェクトを立ち上げても不採用にする。
技術がどんなに優れていても。
0365デフォルトの名無しさん
垢版 |
2021/04/08(木) 11:27:19.58ID:zlso3ipm
出来上がったものがショボくても
自分が問題意識を持ってる事に取り組んでるやつが評価される

そういうのが無いやつは今ならあざとくコロナ関係やっとけ

ただ新卒なら4〜5月で面接して6月頭に内定が出るのが普通だから
今からネタ作りするのは手遅れ
0366デフォルトの名無しさん
垢版 |
2021/04/08(木) 12:28:47.99ID:93ffqPLh
1からブラウザ作りましたってんなら即採用じゃね
たった2ヶ月で何人月の仕事をしたのか想像も付かないレベルの偉業
0368デフォルトの名無しさん
垢版 |
2021/04/08(木) 16:53:20.72ID:eSL736QZ
>>353
Webブラウザのコンポーネントを使って何とかサービスのフロントエンドを作って
みましたって言うならば、出来がよければアピールになるかもしれないけど、
Webブラウザを作りましたは言った瞬間にお祈りメール行きだぞ

今の世の中にブラウザはGoogle ChromeとMozilla FireFoxしか存在しなくて、
巷にあふれるブラウザはどちらかのカスタマイズなのでWebブラウザを
作りましたじゃなくて、こういう事柄とかに特化した何々をベースにした
カスタムブラウザを作りましたならありだけど
0369デフォルトの名無しさん
垢版 |
2021/04/08(木) 18:03:37.37ID:9dA8V6RD
そんなことやっているから日本のIT産業はアメリカどころか中国にすら負けるんだろうね
0372デフォルトの名無しさん
垢版 |
2021/04/08(木) 21:20:09.90ID:lDvnXqCb
基本、技術自慢の香具師は、即不採用。
HTML, CSS で、何か月も掛けて、サイトを作りましたみたいな香具師

それよりも、Bootstrap でコピペして作りましたの方が採用される

非効率で他人の何倍も苦労して、低品質なものを作った人・技術自慢などは嫌われる。
なぜかと言うと、独自で作ったものは保守できないから

そういう製品は、個人商店のもの。
製品が特定の人に属しているもの・属人性

会社みたいな組織では使えない。
会社では属人性がダメ。交換可能じゃないといけない

採用されるのは、その会社についての製品愛があるかどうか。
Ruby on Rails, Bootstrap で、その会社の商品を発展させたものが良い

その会社と無関係な技術自慢は、してはならない。
会社にとって、時間の無駄だから

自分本位のアピールじゃなくて、会社側に立って、アドバイスをする。
MBA・中小企業診断士などの立場で、会社にアドバイスする
0376デフォルトの名無しさん
垢版 |
2021/04/09(金) 09:24:53.67ID:ndeuG/ap
同一の言語、同一のロジックであっても、
配列のような変数セットにおける最後のカンマが要るケースと要らないケースがありますが、
内部処理的に扱いがどう異なるのですか?

[1,2,3,4,5,]
[1,2,3,4,5]
0377デフォルトの名無しさん
垢版 |
2021/04/09(金) 09:36:49.52ID:G/iU/2tK
空要素を許すか、その要素は指定されていないものとして扱うか、だけの違い
0378デフォルトの名無しさん
垢版 |
2021/04/09(金) 09:38:30.39ID:N8DfP4lZ
>>376
要るケースと要らないケースが両方存在する言語って何よ?
その前提がわからないのにどうやって内部のことを語るんだよ
0379デフォルトの名無しさん
垢版 |
2021/04/09(金) 09:43:50.69ID:J6bfp+GS
>>376
大抵の言語では全く違いはない
末尾にカンマを入れることが許されているのは、一要素ずつカンマの直後に改行を入れたときにその方が楽だから
最後の要素だけカンマがないと、コピペが面倒だったり、後で末尾に要素を追加したときに直前の行まで変更が必要になってgitでコンフリクトしやすかったりする
0380デフォルトの名無しさん
垢版 |
2021/04/09(金) 09:48:02.53ID:G/iU/2tK
補足すると言語における構文の定義による

言語によっては [1,,,2]といった空要素を許容したりする
その場合は最後の,は最後ではなく空要素が続く指定になる

また別の言語では最後の,は除去されるとするものもある
複数の要素を改行して表記したいときに最後の行の末尾に,が付いていても構文エラーにしないという糖衣構文
0383デフォルトの名無しさん
垢版 |
2021/04/09(金) 20:59:31.47ID:J6bfp+GS
一般論としては、物事に対して管理番号的なものは振るな、説明的な名前だけで管理せよ
どうしても振らなければならない場合は、その理由を明確にせよ
目的が明確になっているならルールは自ずと決まる
0387デフォルトの名無しさん
垢版 |
2021/04/11(日) 14:14:20.79ID:WZaxHJJN
PCでエクセルを開いたとかPDFを開いたとかの
アプリを起動した時のイベントを記録したいです
その時、できれば対象となったファイルも記録したい。
開発はwindows10、VB or C#で
0390デフォルトの名無しさん
垢版 |
2021/04/13(火) 19:04:48.78ID:gWbnUgF3
NginxのリバプロってOAuthベースの認可できる?
何の保護もされてない丸出しAPI鯖があるんだが
Nginxでルーティングするついでに認可もしたい
0391387
垢版 |
2021/04/13(火) 20:05:22.74ID:u8+Pcrh1
>>388>>389
ありがとう!!
0392デフォルトの名無しさん
垢版 |
2021/04/13(火) 20:32:22.08ID:5ucR1c1v
前に WMI Code Creator を使ってたけど、バージョンアップしてないしもうオワコン?
0393デフォルトの名無しさん
垢版 |
2021/04/14(水) 02:42:32.31ID:d4l6wVLA
https://developer.android.com/studio/terms
3.5 Use, reproduction and distribution of components of the SDK licensed
under an open source software license are governed solely by the terms
of that open source software license and not the License Agreement.
訳してみると、
「OSSライセンスの下にライセンスされているSDKの構成成分の使用/再生成/配布は、
 単にOSSライセンスによってのみ左右され、「ライセンス同意」によっては左右されない。」
Android SDK のほとんどはApacheライセンスに基づいているんですが、Android SDKの
「ライセンス同意」には、例えば、他のSDKの開発のためには用いては良くない(may not)
と書かれていますが、Apacheライセンス的には、自由に使用/配布できるとされます。
矛盾しているようで、理解できません。
may not は、must not より緩いとされているので、禁止ということではないということ
なんでしょうか。
0394デフォルトの名無しさん
垢版 |
2021/04/14(水) 02:52:16.79ID:d4l6wVLA
>>393
「may not」は立場が上にあるものが、上から目線で「してはいけません」という
時に使われる言葉だと解説しているサイトがありました。
また、3.5は、「components」に関していっていることなので、SDK全体の
ことはさしていないと解釈することもできます。なので、adb.exeや
xxx.jar のようなSDKの中の一部分だけなら自由に配布/使用してもいいが、
SDK全体では駄目、と解釈することも出来るかも知れません。
Android SDKのソースは、AOSPにおいて大部分がApacheライセンスで配布
されているとされ、ApacheライセンスはBSD系ライセンスとされているので、
プロプライエタリなソフトを作りたい人目線ではかなり何でもして良い緩い
ライセンスです。
AOSPのソースコードは100GBあり、ビルドにはさらに150GBも必要とされ、
ダウンロードするのもビルドするのも大変です。
ソースはどう使うのも自由だが、バイナリにどんなライセンスを与えるのも
自由とも解釈できます。「配布を妨げてはならない」などいうような条項は
無かったと思いますので。
結局、良く分かりません。
0395デフォルトの名無しさん
垢版 |
2021/04/14(水) 10:14:14.50ID:GNdqlmcr
JavaScriptを知らないのにいきなりTypeScriptを勉強するのと、
JavaScriptを勉強してからTypeScriptを勉強するのとでは、
どちらが早くTypeScriptを習得できそうですか?

※ ちなみに、他の言語はCやC#やPythonなど10年ぐらい経験があります
0397デフォルトの名無しさん
垢版 |
2021/04/14(水) 10:22:32.32ID:GNdqlmcr
>>396
前者ということですか?
理由もお願いします
0399デフォルトの名無しさん
垢版 |
2021/04/14(水) 10:41:56.14ID:GNdqlmcr
この人ダメです
他の人お願いします
0400デフォルトの名無しさん
垢版 |
2021/04/14(水) 10:44:44.60ID:pk3Ilzgy
javascript自体は理解しておいた方がいいよ
javascriptが消えることは無いけど、typescriptのようなjavascriptにトランスパイルする為のものはそもそもずっと使えるかどうかなど分からないし
0401デフォルトの名無しさん
垢版 |
2021/04/14(水) 10:52:05.18ID:GNdqlmcr
>>400
ありがとうございます
なるほど、納得です
それは大きな弊害ですね
それとTypeScriptから始めるとJavaScriptとTypeScriptの境界が分からなくなりそうですし、
やっぱりJavaScriptから始めてみます
0402デフォルトの名無しさん
垢版 |
2021/04/14(水) 10:52:41.03ID:LK5tZoqm
別の言語だから
これでわからないならノーセンス

英語を学ばないといけないのですが
ラテン語と英語どっちを先に勉強したほうがいいですかね?

それらは別の言語です
英語を習得したいなら英語を学びなさい

C言語を学ばないといけないのですが
アセンブリ言語とC言語どっちを先に勉強したほうがいいですかね?

それらは別の言語です
C言語を習得したいならC言語を学びなさい
0403デフォルトの名無しさん
垢版 |
2021/04/14(水) 10:57:14.74ID:GNdqlmcr
なるほど、TypeScriptとJavaScriptの関係を知らない人が回答していたんですね・・・
恥ずかしくないんですかね・・・?
0405デフォルトの名無しさん
垢版 |
2021/04/14(水) 11:42:20.28ID:GNdqlmcr
>>404
OK, I'll learn JavaScript first, then move to TypeScript.
0407デフォルトの名無しさん
垢版 |
2021/04/14(水) 12:23:23.81ID:2bkEPAcW
つうか10年やってきてJavaScript知らないというのは少々非現実的な設定だ
自演したいならもう少しキャラ設定には気をつけたほうがいいぞ
0408デフォルトの名無しさん
垢版 |
2021/04/14(水) 12:38:10.88ID:xXGuyyXk
Javaを知らないのにいきなりKotlinを勉強するのと、
Javaを勉強してからKotlinを勉強するのとでは、
どちらが早くKotlinを習得できそうですか?

※ ちなみに、私は失礼無礼な>>395ではありません
0410デフォルトの名無しさん
垢版 |
2021/04/14(水) 12:48:18.85ID:xXGuyyXk
>>409
でもJava自体は理解しておいた方がいいと思うよ
Javaが消えることは無いけど、KotlinのようなJavaにトランスパイルする為のものはそもそもずっと使えるかどうかなど分からないし
0412デフォルトの名無しさん
垢版 |
2021/04/14(水) 15:33:57.73ID:Pbf/d/ID
トランスパイラという言葉が使いたかっただけだ。
どういう意味だ?
0413デフォルトの名無しさん
垢版 |
2021/04/14(水) 15:43:09.85ID:7tHprJG0
別言語のソースコードに翻訳するプログラム
その別言語で動かしたり、更にコンパイルしたりする
0415デフォルトの名無しさん
垢版 |
2021/04/14(水) 16:45:03.36ID:hz0wFRHA
デジタルトランスフォーメーション
デジタライズ
デジタライゼーション
それぞれの違いを教えてけれ
0417デフォルトの名無しさん
垢版 |
2021/04/14(水) 18:09:31.12ID:PDgXMls3
git cloneでダウンロードしたVS C++のソースをコンパイルしようとするとutf8のファイルが文字化けしてエラーになります。

BOMを付ければ良いそうですが、ソースが大きい為、手動ではとても全部はできません。
git cloneの段階でBOMを付ける指定などできないでしょうか

またはutf8のファイルに自動でBOMをつけてくれるツールなどはないでしょうか
0418デフォルトの名無しさん
垢版 |
2021/04/14(水) 19:22:44.82ID:7tHprJG0
メイクファイル、ましてや/utf-8でコンパイルできないような妙なソースを拾ってくるんじゃありません
拾ってきた場所に返してきなさい
0419デフォルトの名無しさん
垢版 |
2021/04/14(水) 19:51:00.20ID:pdM3M1hI
株式市場の板みたいなのって大量にリクエスト受信しますよね?
どうやってさばいてるのですか
0423デフォルトの名無しさん
垢版 |
2021/04/15(木) 07:03:08.77ID:S1KqOAhX
>>417
ム版だし、ここは自作したら?
ファイルの先頭に3バイトつけるだけの簡単なお仕事

いろんな文字コードが混ざってるならちと面倒くさいけど
0424デフォルトの名無しさん
垢版 |
2021/04/15(木) 07:08:54.91ID:/ORclnPB
UTF-8自動判定させようとしてBOMって言ってるんだろうから加工じゃなく418がベストだと思うがなぁ
0425デフォルトの名無しさん
垢版 |
2021/04/15(木) 07:42:45.67ID:7TaslGvt
いろんな国の人が関わってちゃんぽん状態だから
utf8の必要な部分と、アスキーでいい部分と混在してるんですよね
0426デフォルトの名無しさん
垢版 |
2021/04/15(木) 08:16:42.67ID:/ORclnPB
ん、チャンポンだとそれこそメイクファイルあるんじゃないのか?
git pull からの make 出来ないと不便だろ
0427デフォルトの名無しさん
垢版 |
2021/04/15(木) 11:56:37.12ID:aY5ixRTL
gitでコンパイルまではしなくて
別にコンパイル用のwindowsのバッチがあってそこで
VSのコンパイルをする部分に問題があります。

BOMがないと文字化けするのはVSに問題があるそうです。
0428デフォルトの名無しさん
垢版 |
2021/04/15(木) 12:06:51.91ID:/ORclnPB
メモ帳すらもBOM無しが標準となった現代で、VSに責任転嫁するのは無理がある
UTF-8とShiftJISの自動判定は理論上不可能で、コンパイルオプションで明示してやる必要があるのは、それこそ常識に近い
エンコーディングを意識していないメイクファイルしか入ってないプロジェクトじゃ、メンテナンスの品質もお察し
そこを踏まえての>>418なんだよな
0430デフォルトの名無しさん
垢版 |
2021/04/15(木) 13:09:15.34ID:/ORclnPB
>>429
内部でのコードは統一されるので文字列リテラルの文字化けが問題
コメントなんて化けても良いんだが
なお、識別子に全角文字使うのは馬鹿としか言えないので考慮の外
0435デフォルトの名無しさん
垢版 |
2021/04/15(木) 18:05:39.42ID:KOHmz8sB
日本語には不利だ
0440デフォルトの名無しさん
垢版 |
2021/04/15(木) 22:11:37.35ID:g6O5KoeO
git で、指定したhash値の位置にresetしたいんですがhash値がテキストファイルに書かれていた場合ワンライナーでどのように書けばいいですか?


因みに以下では無理でした
cat hoge.txt | git reset --mixed
0443デフォルトの名無しさん
垢版 |
2021/04/16(金) 11:13:26.52ID:2Nn8ILTQ
勉強で作ってるプロジェクトで
OAuthアプリのidとsecret keyを書いたファイルをうっかりgirhubにpushしてしまいました
アプリは新しく作り直してキーを再取得して、環境変数から読むようににファイルを修正して再度pushしました
ただ、当然ですが前のid等を書いたファイルは履歴から辿れてしまう状態だし
コミット履歴は消せないみたいなので
諦めてリモートもローカルもリポジトリ自体を消して作り直す方がいいですか?
0444デフォルトの名無しさん
垢版 |
2021/04/16(金) 11:30:17.42ID:ZlbAbtfH
もうキー変えたんだったら放置でいいだろ
GitHubのサポートに連絡すれば消してくれるらしいけど、そこまでするくらいならリポジトリ作り直すわ俺なら
0446デフォルトの名無しさん
垢版 |
2021/04/16(金) 12:07:57.66ID:2Nn8ILTQ
>>444
ありがとうございます
キーは変えたけど、こういうのがずっと履歴に残るのって問題ないのか不安だったんです
大丈夫ならこのまま進めます
0447デフォルトの名無しさん
垢版 |
2021/04/16(金) 12:26:27.22ID:k5zYfJVI
Linux や、VSCode, サクラエディタも、BOM付きUTF-8 には対応していない

世界標準は、UTF-8 だけ。
それ以外のソースコードは、古いから危険!

まず、すべてのファイルを、UTF-8に変換した方が良い
0448デフォルトの名無しさん
垢版 |
2021/04/16(金) 12:37:42.09ID:VxhI1wCX
>>446
仮にもプログラマなら不安じゃなく事実で判断しろ
当時のキーがいつでも参照できる状態にあるという事実、それ以上でも以下でもない
それが問題になるかどうかは君次第
0450デフォルトの名無しさん
垢版 |
2021/04/16(金) 12:58:24.75ID:v/sZV+ho
>>449
GitHubにキャッシュが残るから、サポート依頼が必要
docs.github.com/en/github/authenticating-to-github/removing-sensitive-data-from-a-repository
0452デフォルトの名無しさん
垢版 |
2021/04/16(金) 18:53:53.45ID:2u59kp0K
revertだと前のリビジョンに戻すイメージなんだよな
単に書きかけのものをやっぱりなしにするだけ
0453デフォルトの名無しさん
垢版 |
2021/04/16(金) 19:19:06.30ID:8JlkmWn5
svn revertってそういうコマンドだろ
git revertはまた違うけど
何をどこからどこに戻すかの決まりが違うだけで
revertという英単語のニュアンスに反してない
0456デフォルトの名無しさん
垢版 |
2021/04/17(土) 12:46:25.27ID:3fA8iAMy
何が問題だったか簡潔に述べよ。
@ 日本のプログラマーの低レベルさ 
A 出来もしない仕事を持ってきた営業のミス
B @Aを雇っている社長

【COCOA受託業者 1200万円返納】
ttps://yahoo.jp/yIs0wa
新型コロナ対策の接触確認アプリ「COCOA」の不具合に関し、厚生労働省から保守運用を受託していた業者のパーソルプロセス&テクノロジー社。
同社は16日、業務対価1200万円を自主返納すると発表した。
0457デフォルトの名無しさん
垢版 |
2021/04/17(土) 12:54:29.79ID:HcGBP4JZ
テスト環境ないからテストせずにリリースしよう
ということを決めた奴がいて、そいつが犯人
0459デフォルトの名無しさん
垢版 |
2021/04/17(土) 15:53:40.45ID:9UAdok9q
プログラミングの技術力とはなんですか?

一通りWEBアプリなどを作れるようになりました。
わからないことがあれば、調べて実装すればいいこともわかってきました。
多分、大抵のことは調査すればできるようになるのではないかと思ってきました。

そこで技術力を上げろと言ってる人たちが、よくネットにいますが
なんの事を言ってるのでしょうか?

一度作って理解してしまえば、次に作るとき早く作れるようになります。
技術力とは作成するスピードの事を言っているのですか?
それなら理解できますが
実際、技術力とはなんのことを言ってるのでしょうか?
0463デフォルトの名無しさん
垢版 |
2021/04/17(土) 16:47:03.87ID:6GAIvEwc
>>459
>多分、大抵のことは調査すればできるようになるのではないかと思ってきました。

技術力とはなんのことを言ってるのか調査してもわからなかったの?
0465デフォルトの名無しさん
垢版 |
2021/04/17(土) 18:27:41.48ID:WIbW6nPA
実際のサービスをやることを考えたら負荷やら色々問題が出るのに動けばokは素人しか許されないよね
インフラどうするかとかはプログラマーは管轄外だとしてもソフトウェアのパフォーマンスチューニングとかはどこに負荷がかかってるのか調べたり色々やることはあるからね
>>459レベルだとSQLもよく分かってないでしょw
0466デフォルトの名無しさん
垢版 |
2021/04/17(土) 18:53:05.70ID:RcoXWRlB
>>459
そういう業界談義はマ板でやれよ
板の主旨すら読み取れないのに技術がどうとかバカじゃないの
0467デフォルトの名無しさん
垢版 |
2021/04/17(土) 21:01:10.12ID:9UAdok9q
>>462
こういう答えなんだよな
まったく具体的じゃないから、なんのことかわからないんだよ


>>465
つまり、効率よく動かす事を技術力というのか
0468デフォルトの名無しさん
垢版 |
2021/04/17(土) 21:29:41.83ID:+bbd78zs
>>467
技術力を上げろを実力を上げろに変換すれば
ネットで調べたらだいたいできるよねとか
慢心することもない
0470デフォルトの名無しさん
垢版 |
2021/04/17(土) 23:38:47.85ID:U6hwmM2O
>>467
具体的にしたら本何冊にもなる
だから自分で何が必要か考えて文献を紐解くしかねえんだ
思考停止した時点でおわり
頑張ってな
0471デフォルトの名無しさん
垢版 |
2021/04/18(日) 00:39:34.65ID:+5Vr0CNc
一人でWebアプリを作れて問題が出ても自己解決できるメンバーはかなり頼りになる
もう少し上のレベルになると困ってから調べるんじゃなくて、事前に一通り知ってたり勘所を押さえてるから無駄なく効率的で、想定漏れのバグもほとんど作り込まない
高スキルの人になるとネットの質問に回答が付いていないような情報の少ないミドルウェアやライブラリのバグやその迂回方法なんかもすぐに答えにたどり着く
0472デフォルトの名無しさん
垢版 |
2021/04/18(日) 00:50:40.72ID:+5Vr0CNc
セキュリティや性能なんかは技術力の低いチームだと知らない間に下手こいていて、問題に気付いてないことも多々ある
要件が緩いなら別にいいけど、本来1秒で済む処理を毎回1分掛けてたら作業効率は下がる
保守性が高くメンテしやすい設計やソース、開発環境が整備されていると生産性も品質も底上げされる
0473デフォルトの名無しさん
垢版 |
2021/04/18(日) 05:57:52.63ID:8BgTcnje
医学でもそうだけど、技術なんて無限にある。
何万冊もの本・論文が出てる

個人じゃ太刀打ちできないから、
大事なのは、歴史・先人の成果を流用すること

Ruby on Rails から、Elixir のIoT・Nerves へ進んでいるのは、その証拠。
サーバー側も、RubyからGo へ

つまり技術力とは、無限の範囲があるから無意味。
自分ができる、限られた範囲で答えるしかない
0475デフォルトの名無しさん
垢版 |
2021/04/18(日) 15:13:24.79ID:8qgOOFVo
イメージボタンの表示についてだけど、例えばスピーカーに斜線の図柄とかみたいな奴なんかがすんごく困る
現在がミュートという状態を示しているのか?
それとも、ボタンを押すとミュートするという機能を示しているのか?
UXの取り決めとしてコイツはこう、と決めてる規約はあっても、それはその団体が強権的に決めつけてる話
そんな規約なんて知らんという、団体ごとに変わってくる

状態と機能、どちらを示している方が多いと思う?
0476デフォルトの名無しさん
垢版 |
2021/04/18(日) 15:31:36.04ID:+5Vr0CNc
状態を表すほうが多いと思う
でもアイコンの変化だけで状態を表すのはオシャレ感重視の悪いUIが多いんじゃないか
デフォルトでまず斜線のないスピーカーが表示されている場合、そのボタンがミュート機能を表すということが伝わりにくい
(ただ、ミュートの例に限ってはこのスタイルが一般的に認知されてるので例外ではある)
トグルスイッチであればトグルスイッチのUI部品を使うべきとするデザインガイドラインが優れていると思う
0477デフォルトの名無しさん
垢版 |
2021/04/18(日) 15:57:13.64ID:ZsDsAuud
電灯のスイッチがonとoffで赤と緑が切り替わるんだけど、
どっちの色がどっちを示しているか毎回判らなくなる
0478デフォルトの名無しさん
垢版 |
2021/04/18(日) 21:50:22.92ID:H2FK2rvZ
javascriptで簡単なパズルゲームを作りたいと思っています
ゲーム内容の描画にはcanvasを使うつもりです

ここまでは決まっているのですが、最近Reactを公式のチュートリアルで少し勉強したのでせっかくなのでそれも取り入れたいと思いました

そこで気になったのですが状態の変更によって色々なコンポーネントを再描画するReactで単一のコンポーネントであるcanvasを管理するのって相性としてどうなのでしょうか

調べてみてもReactとcanvasを使ってゲームを作ってる人がいなかったのであまりいいやり方ではないのでしょうか
0479デフォルトの名無しさん
垢版 |
2021/04/18(日) 22:20:29.05ID:8qgOOFVo
どうなんだろ?
Reactは投げたクチなんで深いところは理解してないけど、仮想DOMでのコンポーネントの一般化が肝じゃないのか?
それに対してゲームで使うCanvasAPIはグラフィックコンテキストで描くAPIだからDOMとはレイヤーからして違うんじゃない?
0482デフォルトの名無しさん
垢版 |
2021/04/19(月) 23:05:22.70ID:XxiWqLWU
PHPやってて、Laravelというフレームワークを使ってみたら
bladeとかあって便利だと思ったんですが
フロントエンドにVueとか、Reactとか使うメリットって何があるんですか?
表示するだけなら使わなくてもいい?
それとも使ったほうが便利になったりする?
0484デフォルトの名無しさん
垢版 |
2021/04/19(月) 23:14:55.31ID:PUY12mOS
メリットはコンポーネントを作りやすいこと
あとはフロントエンドとバックエンドが綺麗に別れてるので理解しやすいこと
0485デフォルトの名無しさん
垢版 |
2021/04/19(月) 23:18:22.21ID:7YJjHWKI
>>482
bladeである程度開発して経験してから再度質問してみてね
何も知らないのにVueの方が優れてるので今すぐ採用しましょうとか言っても
分からないかと思うので
0486デフォルトの名無しさん
垢版 |
2021/04/19(月) 23:57:03.64ID:XxiWqLWU
>>485
もうLaravelでアプリ完成させたから
次の技術使ってみたいんだよね
bootstrapも使ってみて便利だった

だから、次はVueとか使ってみたいんだけど
何が便利なのか知りたいです

ちなみにJavaScriptとか、ほとんど使ったことないです
フロントエンドにあまり労力を使いたくない
ただ、bladeやbootstrapみたいに楽できるなら使いたいです
0488デフォルトの名無しさん
垢版 |
2021/04/20(火) 04:38:17.14ID:7xfghfsY
Ruby on Rails では、Bootstrap, jQuery, React、
規約だけのフレームワーク・Stimulus

Vue.js はほぼいないので、やらなくてよい
0489デフォルトの名無しさん
垢版 |
2021/04/20(火) 16:10:44.80ID:ysyB9KS4
MySQLやJavaには有料版が有りますが、企業は、もし無料版で機能的に
足りる場合で、ライセンス的にも一見問題ないような場合でも
安心感やライセンス的なトラブルを避けるためなどのため
有料版を買いたがるものでしょうか?
0490デフォルトの名無しさん
垢版 |
2021/04/20(火) 16:19:42.69ID:uATsLQNo
>>489
大きく「うん」
主には延長サポート目当て
問題発生時にお金で解決出来る可能性が高いのは大きい
0491デフォルトの名無しさん
垢版 |
2021/04/20(火) 16:24:13.28ID:ysyB9KS4
>>490
「サポート」とは、電話やメールでの技術的な問い合わせのことでしょうか。
それとも、不具合があった時に「報告できる明確な窓口がある」程度でも
安心材料になるものでしょうか。
0492デフォルトの名無しさん
垢版 |
2021/04/20(火) 16:29:55.07ID:Q3U1x8DZ
>>491
お前が担当者として全責任を取りますって宣言するか?
してもお前の価値次第だがな
0493デフォルトの名無しさん
垢版 |
2021/04/20(火) 16:52:52.60ID:uATsLQNo
でも大昔は酷い所もあった
明らかなバグでOSが例外吐いて落ちるんだが、そのサポート回答(有料)が、「次のメジャーバージョンでは直っていますので購入してください」
潰れたんだがDEC
0494デフォルトの名無しさん
垢版 |
2021/04/20(火) 16:54:06.25ID:ftz4Kapn
24時間無停止サーバーなんかだと「〇〇のケースは再起動は必要ですか?」
みたいな質問をサポートに投げなきゃいけない場合もある
再起動するだけの根拠をかき集めないといけない
それなりの規模でやってたらOracleでも不具合に当たってパッチ作ってもらうなんて年に1回ぐらいは当たる

社内でサポートセンター作って、そこから一本化してベンダーサポート結んでたりもあるよ
0495デフォルトの名無しさん
垢版 |
2021/04/20(火) 17:04:46.35ID:ysyB9KS4
無料版Javaは、GPLで、ソースさえ開示すれば何をやってもいいというライセンス
だったはずですが、「AndroidのJavaはこれまでの互換性のエコシステムを破壊した」
とされて、Googleは裁判に負けて一兆円を払うことになるかどうかの瀬戸際(?)
なようですが、無料版だとそのようなリスクが有ることも企業は直感的に警戒
しているのかも知れないと思うのですが、いかがでしょうか。
0497デフォルトの名無しさん
垢版 |
2021/04/20(火) 17:14:50.23ID:YwVDfnEJ
OSについて質問です

Windowsが入っている市販のPCに、Linuxをリブートするのは
リスキーでしょうか?
止めた方がいいでしょうか?
0500497
垢版 |
2021/04/20(火) 17:39:33.12ID:YwVDfnEJ
すいません、リブートでなくマルチブートでした…
リブートだと再起動になっちゃいますね
0502497
垢版 |
2021/04/20(火) 17:53:42.57ID:YwVDfnEJ
>>501
えっ?
0503デフォルトの名無しさん
垢版 |
2021/04/20(火) 18:12:55.11ID:7xfghfsY
Windows 10 Home 版でも、WSL2, Linux, Docker を使えるようになった

CPU-i7、メモリ16〜64GB ぐらいあれば
0509コルム
垢版 |
2021/04/20(火) 20:36:25.57ID:rvQsrFur
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10241982575についてご教授いただけないでしょうか?すみません。以下は、質問です。
「import32.lib」から呼び出すのは「MessageBox()」という機能の実体ではなく「利用する為」の呼び出しです。 「MessageBox()」という機能を利用する際「MessageBox()」というプログラムから「import32.lib」内にある情報を参照する必要があります。 つまり参照先のプログラムからさらに別のファイルの情報を参照しているだけです。画像の写真です。どういう意味でしょうか?ご教授いただけないでしょうか?すみません。
0511デフォルトの名無しさん
垢版 |
2021/04/20(火) 20:48:48.01ID:kRKfc0q4
messageboxはwindowsのuser32.dllにあるから
ダイナミックリンクになるしかない
としかわからない
0514497
垢版 |
2021/04/20(火) 23:13:02.84ID:YwVDfnEJ
お礼が遅くなってすいません
答えてくれた方ありがとうございました
ラズパイ検討しようと思います
0515デフォルトの名無しさん
垢版 |
2021/04/21(水) 01:03:58.47ID:SVTBKWZf
質問させて下さい

Linuxの仮想環境を作成したいと思い、調べながらやっていたのですが、
途中で詰まってしまいました…
具体的には、光学ディスク選択の箇所で、
ubuntu-ja-20.04.1-desktop-amd64.isoというisoファイルが表示されなければ
いけないみたいですが、表示されません

どうしたらよいでしょうか?
0518515
垢版 |
2021/04/21(水) 02:24:52.47ID:SVTBKWZf
返信ありがとうございます

はい、ubuntuのisoファイルは既にダウンロードしてあります
してあるのですが、候補に表示されないんです…

以下参考画像です
https://i.imgur.com/XTBl6LN.png
0519デフォルトの名無しさん
垢版 |
2021/04/21(水) 06:23:18.01ID:NCTKtzNH
>>518
左上の追加ボタンを押すとファイルダイアログが出ると思うので、それでisoファイルを置いたフォルダまで辿って選択してみて
0521デフォルトの名無しさん
垢版 |
2021/04/21(水) 09:18:40.91ID:NCTKtzNH
大規模な組織で水平展開するなら意味はあっても、個人での試用で使うにはちょっと……
導入自体にハードルあるよね?
0522デフォルトの名無しさん
垢版 |
2021/04/21(水) 10:50:11.03ID:a9YIoDQQ
母艦がLinuxとMacならハードルは全く無いよ
WindowsだとDockerと競合して動かない場合がけっこうあるからハードル高いね
0523デフォルトの名無しさん
垢版 |
2021/04/21(水) 13:16:09.98ID:P7LSpcTG
Linux の質問は、Linux板へ書き込んでください!

Vagrant を使うこともできる。
メモリ16〜64GB なら、Windows 10 Home 版, WSL2, Docker もある。
Mac なら、メモリ32〜64GB

山浦清透、1/15

Docker超入門講座 合併版 | ゼロから実践する4時間のフルコース
www.youtube.com/watch?v=lZD1MIHwMBY

Windows 10 Home 版, WSL2, Ubuntu 20.04 LTS,

Docker Compose, VSCode, Heroku, Ruby on Rails, Git, CI/CD, CircleCI
0524デフォルトの名無しさん
垢版 |
2021/04/21(水) 18:05:15.35ID:n35Ewbnt
AJAXリクエスト発行するときひょっとして勝手にOPTIONSメソッドも実行される?
普通にGETメソッドを実行したつもりなんだけどエラーになってログみたらOPTIONSメソッドはサポートしてないって書いてある
0530デフォルトの名無しさん
垢版 |
2021/04/21(水) 19:42:11.53ID:YA3PmkpH
Docker使って仮想環境で色々勉強したいんだけどマシン自体のメモリって16GBじゃ不安?
仮想環境使ったことないからよく分からん
0531デフォルトの名無しさん
垢版 |
2021/04/21(水) 20:13:51.51ID:U7I+mJcY
普通にDocker Desktop for Windowsを使ってるなら問題ない
自分でVirtualBoxとかHyperVに仮想マシンを立てるなら苦しい
0532デフォルトの名無しさん
垢版 |
2021/04/21(水) 20:23:04.53ID:NCTKtzNH
16GBあるなら充分すぎる
でもDockerはコンテナだから仮想環境入門としてはどうなんだろ?
デスクトップ使うには X サーバ立ち上げて、X でログインしないとならないんじゃなかったか?
意味がわからないなら、VertualBox とかで仮想マシン立ち上げてそこにインストールして Linux を勉強すべき
0533デフォルトの名無しさん
垢版 |
2021/04/21(水) 20:28:38.12ID:NCTKtzNH
GUIじゃなくCUIならDockerでいいのか…?
でもコマンドしか使えないのは初心者的にどうなん?
それとも今時のDockerはGUIサポートしてるん?
0535デフォルトの名無しさん
垢版 |
2021/04/21(水) 22:15:34.01ID:hZhPN+RC
最近SEからPLっぽい事やり始めたんですが、ステップ数の考え方で迷ってます。

例えば
コミット1、ファイルA:ソース1ステップ
コミット2、ファイルA:+50ステップ
コミット3、ファイルA:-49ステップ

のような場合、コミット毎に前回バージョンと比較してステップ数を累積するのと、
コミット1と3で比較するのとではステップ数が異なりますよね?
どちらで比較するのがスタンダードなのでしょうか?
0536デフォルトの名無しさん
垢版 |
2021/04/21(水) 22:29:22.41ID:U7I+mJcY
>>535
論理ステップ数で比較するのが一般的です。

https://e-words.jp/w/%E3%82%B9%E3%83%86%E3%83%83%E3%83%97%E6%95%B0.html

ソースコード中の改行文字を単純に数え上げたものを物理LOC(Lines Of Code:コード行数)というが、
多くの言語ではコード中にコメントや空行など何も行わない行や、
コードブロックの開始や終了(中括弧{}やbegin/endなど)など実質的な処理を行わない行を記述できるため、
一定の基準を定めてこうした行を数え上げから除外する。こうして数えた行数がステップ数で、論理LOCとも呼ばれる。
0537デフォルトの名無しさん
垢版 |
2021/04/21(水) 22:34:08.39ID:hZhPN+RC
>>536
すみません、論理ステップ前提です。
上の+50、-49は全て論理ステップと思って下さい。ちなみにcloc使ってます

前バージョン比較で累積すると新規50ステップ
1-3間で比較すると新規1ステップ

どちらでカウントするのが一般的かというのが知りたいのです
0538デフォルトの名無しさん
垢版 |
2021/04/21(水) 22:36:02.33ID:NCTKtzNH
>>534
仮想環境の勉強とか言ってるレベルの人に、CUIしかない(と思う)環境を勧めていいのか?と言ってる
コマンド叩いてサクサク操作ができる人なら、そんなこと聞かないだろと思うから

いや、俺の認識が古くて今では GUI が使えるようになったのなら問題はないんだが
0539デフォルトの名無しさん
垢版 |
2021/04/21(水) 22:37:54.75ID:U7I+mJcY
>>537
目的によります。

同じことを実現するのに
・ステップ数が多い(無駄が多い)方を評価したいなら、ステップ数が多い方を選びます。
・ステップ数が少ない(無駄が少ない)方を評価したいなら、ステップ数が少ない方を選びます。

ただし相手が評価されるのが嫌な場合は逆を選びます。
0540デフォルトの名無しさん
垢版 |
2021/04/21(水) 22:41:26.40ID:U7I+mJcY
ちなみに、クソコードを50行消して
改善したコードを50行追加した場合、
その人は100行の素晴らしいコードを書いたことになります
クソコードを消すのはプラス評価です。
0541デフォルトの名無しさん
垢版 |
2021/04/21(水) 22:42:31.42ID:hZhPN+RC
>>539
なるほど。
因みに目的はバグ密度やテスト密度、生産性などのメトリクス分析なんですが、
この場合あなたはどちらの比較が適してると思われますか?
0544デフォルトの名無しさん
垢版 |
2021/04/21(水) 22:47:20.46ID:U7I+mJcY
クソコードを削除すると生産性は上がります。
この事実に結びつかないメトリクスは
意味がありません。
0545デフォルトの名無しさん
垢版 |
2021/04/21(水) 22:49:51.23ID:hZhPN+RC
>>544
普通に組んでたから気持ちはわかるが暴論よ・・・
レビューの結果糞コードに変身する場合もあるんですよ><
0546デフォルトの名無しさん
垢版 |
2021/04/21(水) 22:53:43.72ID:NCTKtzNH
近頃は面倒なんでカバレッジ率ぐらいしか見てないな
ステップ数は顧客に報告する時だけ…
0547デフォルトの名無しさん
垢版 |
2021/04/21(水) 22:55:34.22ID:U7I+mJcY
ステップ数はただの「量」です。
家の中にモノがたくさんある。これはいいことでしょうか悪いことでしょうか?
モノはゴミかもしれません。多いことが良いことかどうかなんてわかりません。

メトリクスは量を除いて計測します。
そして良いものがこれくらいある。
ゴミがこれくらいある。という言い方しかできません

メトリクス分析するなら、量の概念は除いて計測します。
0549デフォルトの名無しさん
垢版 |
2021/04/21(水) 22:59:45.21ID:YcNEV+yo
>>535
もちろんコミット1と3の差分でカウントするよ
一度書いたけど採用しなかったコードなんて計測する意味はない
最終的に採用したコードのステップ数に応じてテストの件数を計画・評価するんだから当然じゃん?
遠回りしようが近道しようが、同じだけの改変には同じだけのテストが要る
0550デフォルトの名無しさん
垢版 |
2021/04/21(水) 23:07:36.61ID:hZhPN+RC
>>549
ありがとう。
確かに無駄コード分、必要テスト数が増えてしまうもんね。
その方向でまとめてみる。thx!
0551デフォルトの名無しさん
垢版 |
2021/04/21(水) 23:53:32.96ID:n9Psf8QY
フローで評価したいならコミット1から現在のコミット3の間に発生した+50と-49の変化を分母にする
ストックで評価したいなら評価時に残ってる2ステップを分母にする

新規50ステップや新規1ステップはどっちつかずで微妙だし
必要テスト数を出すためにステップ数やテスト密度使うのも微妙だなぁって感じる
0552518
垢版 |
2021/04/21(水) 23:54:32.93ID:SVTBKWZf
>>519
出来ました!
ありがとうございました
0553デフォルトの名無しさん
垢版 |
2021/04/22(木) 04:38:17.22ID:gbeL+P6Z
ステップ数とテストの数に相関関係はないぞ
リファクタリングしてコードを減らしても
動作は変わらないんだからテストの数は変わらない
0554デフォルトの名無しさん
垢版 |
2021/04/22(木) 04:40:05.35ID:gbeL+P6Z
長いコードを関数に分けると関数呼び出しのためにステップ数は増えるが
長いコードに含まれるフローパターンの組み合わせが
関数にすることで減らすことが出来るのでテスト数は減る
0556デフォルトの名無しさん
垢版 |
2021/04/22(木) 09:30:25.81ID:pnqsiiWe
ifとかforの数を数えてプログラムの複雑さを表現する方法を
なんて言ったっけ?
0559デフォルトの名無しさん
垢版 |
2021/04/22(木) 10:13:50.59ID:WMdOWH0O
メトリクスは以前と比べてどう変化したかを見るのに使う分にはいい
数字を単独で見てそれが良いだの悪いだの言い出したらもうダメだな
0560デフォルトの名無しさん
垢版 |
2021/04/22(木) 10:38:59.64ID:Usd5IZeQ
まあステップ数が尺度として非常に劣った存在であることは確かなんだけどさ、それでしか評価・理解できない組織もあるし、伝わらない相手もいる
ステップ数とFPの両面からバグ密度やテスト密度を出して、説得力を増強できる場合もある
同じような人海戦組織が作れば同じようなステップ数が出る傾向はあるし、乖離があっても個別に説明がつけばいい

いずれにしてもステップ数の功罪なんて今回は聞かれてなくて、ステップ数を図って評価に使うなら最初と最後の差分で取りますよって話だ
0561デフォルトの名無しさん
垢版 |
2021/04/22(木) 10:40:44.97ID:Usd5IZeQ
最初の質問に対してこうも脱線話ばかり盛り上がるところを見ると、あのブランコ開発の風刺イラストを思い出すわ
0562デフォルトの名無しさん
垢版 |
2021/04/22(木) 11:05:13.74ID:fYKo/KH7
>>560
>ステップ数を図って評価に使うなら最初と最後の差分で取りますよって話だ

1000ステップ追加して1000ステップ削除したら差分はゼロってことなの?
0563デフォルトの名無しさん
垢版 |
2021/04/22(木) 11:35:08.43ID:WMdOWH0O
それでいいんじゃね
実質的に大して意味のない尺度なんだから、どうしても必要なんだったら手間が少ない方がいい
0564デフォルトの名無しさん
垢版 |
2021/04/22(木) 12:47:09.81ID:Usd5IZeQ
>>562
いやいや、削除分をどう算入するかという話と、差分の道のりを測定すべきか距離を測定すべきかというのは別の話だよ

たとえば機能Aを追加して、それとは別に同じ規模の機能Bを削除したとしたら、プログラム全体の規模を表すステップ数はプラマイゼロ
だけどその開発の品質評価に使うときは削除量は無視する
だってまるごと削除した機能のテストなんてほとんど要らないから、必要なテストはAの追加分に近似される

差分の取り方の話は、最初のコミットで100ステップ書いたあと、次のコミットでまさにその100ステップを消すことがある
この瞬間的な変動はカウント不要

ステップ数は糞ってことで思考停止してる人がいるけど、今書いた話はFPやほかのメトリクスでも換言できる
0565デフォルトの名無しさん
垢版 |
2021/04/22(木) 14:22:01.59ID:fYKo/KH7
>>564
それだと変更の意味解釈が必要になるから機械的には計算できないよね

意味解釈をやるのに一番簡単な方法は各コミットを変更内容で分類しておくことなので
結局差分の道のりを含めて集計することになる
0566デフォルトの名無しさん
垢版 |
2021/04/22(木) 15:01:23.09ID:FJ25hTkO
foo(); bar();
baz();

この2行のステップ数は3なんだが
gitの差分でそれがわかるわけがない
0570デフォルトの名無しさん
垢版 |
2021/04/22(木) 19:23:41.51ID:lA0hV636
まあ見積もりは相手を見てどれぐらい出せそうか判断してから決めるんだけどな
赤字が見込まれるのなら受けないだけ
0571コルム
垢版 |
2021/04/22(木) 19:47:43.53ID:JzuxwhsV
「import32.lib」から呼び出すのは「MessageBox()」という機能の実体ではなく「利用する為」の呼び出しです。 「MessageBox()」という機能を利用する際「MessageBox()」というプログラムから「import32.lib」内にある情報を参照する必要があります。 つまり参照先のプログラムからさらに別のファイルの情報を参照しているだけです。とはどういう事でしょうか?ご教授いただけないでしょうか?すみません。
以下のURLです。解説願います。ご教授いただけないでしょうか?
https://oshiete.goo.ne.jp/qa/12319888.html
0572デフォルトの名無しさん
垢版 |
2021/04/22(木) 20:28:48.34ID:weUUVdM3
>>571
実際に処理する実体はDLLというファイルに入っています
それを呼び出すためのサブルーチンがlibに入ってます
(DLLを呼び出さないサブルーチンもあります)

libはおおむね関数ごとのobjファイルを纏めたもので、ビルドの段階で自分のソースをコンパイルしたobjと、必要なobjをlibから取り出してリンクすることで実行ファイルを作ります

処理する実体をアプリに入れてしまうと実行ファイルは数MBに肥大したり、脆弱性が見つかる度にアプリをバージョンアップする必要があります
しかしDLLはWindowsUpdateでアップデートされるので、アプリ側では気にする必要がありません
同様の仕掛けはLinuxでも存在し、そちらはsoファイルと呼ばれます
0573デフォルトの名無しさん
垢版 |
2021/04/22(木) 20:45:39.32ID:114k4RtJ
ダイナミックリンクとスタティックリンクの話を
スタティックリンクの関数からダイナミックリンクの関数を呼び出す話で
説明してるからわかりにくい
0574デフォルトの名無しさん
垢版 |
2021/04/22(木) 23:41:16.34ID:j6FG0GAM
WindowsAPIを使う為の設定やらダイナミックリンクやら調べたら直ぐ分かりそうなのに
今時のプログラマはその辺理解出来ないのかw
VisualStudioで該当ヘッダ書いているのに未解決になるのは何故ですか?よりは
マシな質問なのかなw
0576デフォルトの名無しさん
垢版 |
2021/04/24(土) 00:45:39.02ID:3AAdU7vF
マルチポストイクナイ・・・はともかくとして
プログラマを名乗っている人でもリンカやローダーに理解がある人ってほとんどいなくね?
DLLの使い方は判っていても動作を説明せよと言われたらギブアップしてしまう人が大半に見える
その辺に限らず低レイヤーの解説記事はググってもほとんど出てこないし
0577デフォルトの名無しさん
垢版 |
2021/04/24(土) 19:39:30.97ID:7lpOLCJL
フォルダを参照して
処理用の関数に渡すための色々なデータを取得してひとつの変数に配列として格納した
この変数の名前はなんてつけるのが普通?
temp? database? container?
0581デフォルトの名無しさん
垢版 |
2021/04/25(日) 20:39:42.54ID:VnIulT8w
100秒かかる処理を90秒減らして10秒で終わるようにしたら、10倍に高速化されたことになるわけだけど
その10秒かかる処理をあとたった9秒減らすだけで、100倍に高速化されたことになるのが納得できない

100秒の処理が
100倍高速化したら、うわっ!速ぇ!!!ってなるけど
1000倍高速化しても、お、さっきより速いね。ぐらいにしかならないだろ?
10000倍高速化しても、速いかなー?ってなって
100000倍高速化しても、さっきと違いがわからんってなると思う

10倍ずつ高速化してるのに、どんどん価値が下がっていくwww
0582デフォルトの名無しさん
垢版 |
2021/04/25(日) 20:57:31.21ID:tX5v4AJc
>>581
対数定規。
ハイ論破。
0583デフォルトの名無しさん
垢版 |
2021/04/25(日) 23:07:05.65ID:VnIulT8w
>>582
対数定規はいいけどさ
みんな○倍高速化!っていうやろ?
あれ実質詐欺やろ?たいして速くなってないやん
0584デフォルトの名無しさん
垢版 |
2021/04/25(日) 23:11:13.74ID:VnIulT8w
思うにバージョンアップ毎に、前バージョンより10倍高速化!っていうより
初期バージョンを遅くして、初期バージョンより○倍高速化!って言ったほうが宣伝になるよね

v1より10倍高速化!、v2より10倍高速化!、v3より10倍高速化!、v4より10倍高速化!

v5はv1より10000倍高速化!1万倍高速化!
0585デフォルトの名無しさん
垢版 |
2021/04/26(月) 01:50:44.97ID:3hvqDDCn
そんな興奮するような話?
10000倍高速化すれば10000万倍のデータでも適度な処理時間で捌けるようになって価値がある
性能向上する必要のないところで頑張ってもメリットはない
それだけのことだよ
0586デフォルトの名無しさん
垢版 |
2021/04/26(月) 02:16:33.75ID:F4ZyRyR2
>>585
現実には1万倍高速化と100倍高速化が大差ないことが多いという話

嘘だと思うなら10秒かかる処理を1万倍と100倍高速化し比較してみよう
0587デフォルトの名無しさん
垢版 |
2021/04/26(月) 02:25:55.19ID:wMKnR+sa
嘘も何も当たり前の話だろ
100倍で十分に目標を達成できてるならそれ以上の性能向上は効用が一気に逓減するというだけの話
0588デフォルトの名無しさん
垢版 |
2021/04/26(月) 06:11:07.39ID:F4ZyRyR2
効用が逓減してるのに同じ100倍なんだよなw
0589デフォルトの名無しさん
垢版 |
2021/04/26(月) 15:31:34.10ID:ofH/VCky
1000日かかる計算が100日で済む
10日で済む、1日で済む
2時間で済む、20分で済む
2分で済む、2秒で済む

書いてみればいかに高速化できたか
実感できると思うんだが
0590デフォルトの名無しさん
垢版 |
2021/04/26(月) 16:39:06.17ID:wMKnR+sa
倍率と絶対数の関係はリニアじゃないから面白いよねっていうのはドラえもんの「バイバイン」で学んだよ
小学校低学年には割とトラウマ物なSFショートショートだった
製品の不良率や純度を90%から99%に改善することはできても、さらに99.9%まで改善するには別次元のコストが掛かるっていう話にも通じるかもね
0591デフォルトの名無しさん
垢版 |
2021/04/26(月) 18:52:03.72ID:ukdj+zo5
>製品の不良率や純度を90%から99%に改善することはできても、さらに99.9%まで改善するには別次元のコストが掛かるっていう話にも通じるかもね
不良ゼロなどと吠えて利益を減らす情弱経営者が日本にはいっぱいいるように見えるが
0592デフォルトの名無しさん
垢版 |
2021/04/26(月) 20:47:59.12ID:lWm2yHzp
そこは日本の消費者が完璧なサービスと安心安全が当たり前だと信じて疑わないから仕方ないかもね
0593デフォルトの名無しさん
垢版 |
2021/04/26(月) 23:07:40.63ID:34+rcCw8
入力、前処理系をまとめたInputクラス
それを受けてGUIを生成するAppクラス
GUIの操作を出力する系のOutputクラス

これってどう繋いだらいいのでしょうか?
dat = Input()
app = App(dat)
app(GUI)上でOutput呼びだし?

??
0594デフォルトの名無しさん
垢版 |
2021/04/26(月) 23:17:26.84ID:zGgkgXPQ
フロントエンドとバックエンドのことなら
3つのクラスは違う
自分で作るアプリなら好きにつないだらいいんじゃ
>GUIの操作を出力する系のOutputクラス
難解すぎてわからない
0598デフォルトの名無しさん
垢版 |
2021/04/28(水) 18:37:00.49ID:a9uMhLuq
このスレにいる人なら5chのスレを荒らすスクリプトって何分ぐらいで書ける?
0599デフォルトの名無しさん
垢版 |
2021/04/28(水) 20:22:08.25ID:l1/D6DLv
どなたかドットインストールをバレずにダウンロードできるスクリプトを作ってくれませんか?
個人使用のみの目的です。
0601デフォルトの名無しさん
垢版 |
2021/04/29(木) 18:36:59.42ID:/fNSw2zM
SPAの反対というか昔ながらのMVCとかJSFとかASP.NETとかRailsみたいなレガシーなウェブアプリって何て呼べばいいんだ?
0602デフォルトの名無しさん
垢版 |
2021/04/29(木) 18:47:35.78ID:aTZmoNVK
MPA
0604デフォルトの名無しさん
垢版 |
2021/04/30(金) 00:53:51.71ID:NBApg7VD
二十年ほどの経験から、ページ遷移ってバッドノウハウじゃね?と、かなりの技術者が思うようになったから

三行じゃ説明できない
0605デフォルトの名無しさん
垢版 |
2021/04/30(金) 04:54:18.26ID:OOQWIiqB
ぶっちゃけ始めるのにいい言語て何 part4
https://mevius.5ch.net/test/read.cgi/tech/1615612545/557-558

今までは、Ruby on Rails, Bootstrap, Docker Compose, Heroku あたりのポートフォリオで良かったのが、
未経験者の実力が上がりすぎて、AWS, Docker, Capistrano, CircleCI も必須になってきた。
AWS Fargate, Terraform なども必要

さらに、SPA対策で、TypeScript, React, Vue.js も

今や、Udemy, YouTube のKENTA・くろかわこうへいのサロンなどによって、
教育革命が起きて、未経験者が10年以上のプロ以上になってしまった!

今の未経験者の戦いは、ものすごいハイレベル!
0607デフォルトの名無しさん
垢版 |
2021/04/30(金) 09:12:38.23ID:NBApg7VD
>>606
は?
「シングル」ページ、つまりSPAでは「ページごと」にはならんのだから、何を言いたいのか分からない
リソースを特定する識別子がURIなんだから、ページごとにURLがあるのは説明以前の話なので、別の意味で言ってるんだろうが
0608デフォルトの名無しさん
垢版 |
2021/04/30(金) 10:35:55.20ID:7VhEvZ/Q
android の EditText 要素って、長押しすると「貼り付け、切り取り」などの
メニューが出てくるけど、Undo(取り消し) (Windows の Ctrl+Z みたいなやつ)
はどうやってやればいいの?
もしかしてAndroidでOSが用意している入力要素には、標準ではUndoの機能
が存在しない?
0609デフォルトの名無しさん
垢版 |
2021/04/30(金) 10:36:51.24ID:7VhEvZ/Q
>>608
iOSでは、本体のシェイクや3本指で Undo のメニューが出てくるらしいけども、
Androidでは無理なの?
もしかして、それが Androidが売れない原因?
0611デフォルトの名無しさん
垢版 |
2021/04/30(金) 22:27:57.35ID:NBApg7VD
>>610
いや「シングル」なんだからマルチページに見せかけるなんてしない
そちら?が、ページごとになんでURLがあるんですか?とか間の抜けたことを言うから日本語通じないのかなと
0613デフォルトの名無しさん
垢版 |
2021/04/30(金) 22:40:38.44ID:GH8o4V6X
>>610
履歴を戻ったり進んだり
ある状態のページを人にシェアしたりするため

SPAはページ全体のローディングを最小限にしてUXを向上させるためにやるもの
別にこだわる必要はない
Amazonだって一部はSPA的に処理してるけど大半はMPA
0614デフォルトの名無しさん
垢版 |
2021/05/02(日) 17:34:34.68ID:xmIaeX3S
いま実行中のJSのプログラムのグローバル変数の値をそのまま維持したまま
GETパラメータ(?)の部分が異なるURLに対して処理を続行することって
できたっけ?
0615デフォルトの名無しさん
垢版 |
2021/05/02(日) 17:39:56.07ID:xmIaeX3S
>>614
あ、GETパラメータに状態変数を渡して、そこから状態変数を復帰
させればいいからグローバル変数は維持する必要は無いね。
「REST API」というのか、URLの中に状態を含めてしまって、プログラムの中に
状態を持たないような流儀があるけれど、その流儀において、
基本的にJS自らが、URLアドレスを変えたアドレスにブラウザをナビゲート(?)
した場合、新しいURLに対してHTMLが再読み込みされてJSは最初から実行し
始めるが、キャッシュがあるからネットから再ダウンロードはされないって
感じなのかな?
0618デフォルトの名無しさん
垢版 |
2021/05/02(日) 17:49:50.42ID:xmIaeX3S
RESTful な流儀にする場合、サーバーでCGIを動かして、URLの中の
GET PARAMETERは、HTTPプロトコルでCGIで処理して、クライアント側
では、その辺の処理は余りクライアント側のJSでは行わないのが基本なのかな?
サーバーサイドのCGIで十分というか。
0621デフォルトの名無しさん
垢版 |
2021/05/02(日) 20:39:28.31ID:xUy+uSsS
angular8で自作のコンポーネントを外から.remove()で消してもngOnDestroyが実行されん
どうすりゃ良いの
0622デフォルトの名無しさん
垢版 |
2021/05/02(日) 20:40:18.58ID:JUq9yodc
usageの書き方を教えて
あるコマンドcmdがあったとして
・一番目の引数は必須
・二番目の引数は省略可能で、省略しない場合はfooまたはbar
・三番目以降の引数も省略可能、省略しない場合は二番目の引数は必要
っていう場合どう書いたらいいの?
0623デフォルトの名無しさん
垢版 |
2021/05/02(日) 22:47:25.27ID:0BS/cOos
>>622
決まりは聞いたことがないけど、manのガイドラインとかあったりするのかな?
よく見るのは正規表現っぽい奴

参考以下にしかならないけど、
$ cmd first [(foo|bar) [third ...]]
じゃダメだろうか?
0624デフォルトの名無しさん
垢版 |
2021/05/02(日) 23:34:53.19ID:hSgvj4Ff
書き方はココを見るといいと思う
http://docopt.org/

>>623のような書き方になるんだけど
わかりにくいので二番目の引数はポジショナル引数じゃなくオプション引数にしたほうがよさそう
0626デフォルトの名無しさん
垢版 |
2021/05/03(月) 11:41:33.14ID:6OKMVCkT
>>623
> $ cmd first [(foo|bar) [third ...]

(foo|bar)って書いてあるの見ます?
0628デフォルトの名無しさん
垢版 |
2021/05/03(月) 12:10:08.45ID:6OKMVCkT
>>624はusageからパーサーを生成するというツールなので
usage自体が独自定義のDSLになってます。
これ以外で見かけますか?
0629デフォルトの名無しさん
垢版 |
2021/05/03(月) 12:31:58.51ID:h5k5+/JO
gitのhelpでも見てみれば?

例えばgit help branchの [(--merged | --no-merged) [<commit>]]とか
(-m | -M) [<oldbranch>] <newbranch>とか
0630デフォルトの名無しさん
垢版 |
2021/05/03(月) 13:22:24.55ID:aV7aDLTY
そもそもボタンなどを押して状態が変化するたびにURLが変化する
ものをSPAというのは定義上有り?
それとも、そのようなものにはMPAと言うべき?
0631デフォルトの名無しさん
垢版 |
2021/05/03(月) 13:56:26.94ID:6OKMVCkT
>>629
へー、はじめてしったよ。ありがとう

[--contains [<commit]] [--no-contains [<commit>]]

>を省略する記法もあるんだな。
それともリダイレクトかな?
0633デフォルトの名無しさん
垢版 |
2021/05/03(月) 15:22:12.36ID:o1Kfwn88
BNFというと終端記号/非終端記号を使うと思うが、そんなusageは見たことがないな。
0634デフォルトの名無しさん
垢版 |
2021/05/03(月) 15:30:16.70ID:2YZ2w1Eu
>>632
お前、ばっかすなぁ
0635デフォルトの名無しさん
垢版 |
2021/05/03(月) 15:46:17.10ID:aV7aDLTY
バッカス記法は、アルファベットが斜体かどうかで term かどうかを区別する
流儀と、<term>のように書いて区別する流儀があるが、ASCII文字では
斜体をかけないので後者で書くことになり、そうすると、コマンドラインの
リダイレクトの記号と混乱し易くなることがある。
それと、ちょっと長くなって分かりにくくなったり、直感的でない場合が
あったりする。

任意個の項目を表す時、BNFだと
aaa_list = aaa <aaa_list>_opt
みたいに書く流儀が有る(というよりそれがBNFなのかも知れない)が、これは、
aaa_list = [aaa ...]
みたいに書いたり、正規表現みたいに
aaa_list = <aaa>+
みたいに書いたりとか、色々あると思う。
0636デフォルトの名無しさん
垢版 |
2021/05/03(月) 15:50:11.50ID:aV7aDLTY
>>635
バッカスナウア記法にもさまざまな亜種があるようで、同じような意味でも、
aaa_list ::= aaa <aaa_list>_opt
aaa_list ::= aaa | aaa <aaa_list>
の他、
- 省略可能なアイテムは角括弧で囲む。例えば、[<item-x>]
- 0回以上繰り返すアイテムは中括弧で囲む。例えば、<word> ::= <letter> { <letter> }
- 1回以上繰り返すアイテムには '+' を後置する。<word> ::= <letter>+

などがあると、Wikipediaには書いてあるようだ。
0639デフォルトの名無しさん
垢版 |
2021/05/03(月) 16:57:23.58ID:2YZ2w1Eu
>>624って前からそういうのがあるのは知ってたんだけど使いやすいのかな?
単純な例ではうまく行くと思うけど、普通オプションって指定したときに
関数呼び出したりバリデーションかけたりするじゃん?
そういう情報を埋めていったら結局ヘルプの内容とかけ離れちゃうと思うんだけど
そういう高度なことはできないってことなのかな?
0641デフォルトの名無しさん
垢版 |
2021/05/03(月) 17:15:17.79ID:aV7aDLTY
<term> の <や>はリダイレクト、「または」の意味の a | b はパイプと
混同してしまいそうなことがあり、余り厳密に書こうとしても無理かも知れない。
例えば、tee コマンドの説明は、
コマンド名 パラメータ | tee ファイル名
見たいに書かないと意味が分からないかも知れないが、その | は「または」の
意味ではないので BNF ではない。
0642デフォルトの名無しさん
垢版 |
2021/05/03(月) 17:38:08.03ID:APFHCyDf
現実問題としてリダイレクトやパイプと混同しそうだと思ったことはないなあ
文法表記の中にリダイレクトが現れることはないし、コマンド利用例の中ならリダイレクトしか現れない
文脈で普通にわかると思う
ついでに空白の有無でも区別されるし
0643デフォルトの名無しさん
垢版 |
2021/05/04(火) 12:03:19.59ID:+5RR6bsJ
ググっても古い記事しか見当たらなかったんだけどjsの厳格モードって一般的に使われてる?

使われてるとしたら新規で何か作るときにあえて厳格モード記述しない場合ってあるの?
0644デフォルトの名無しさん
垢版 |
2021/05/04(火) 12:06:31.45ID:W048Vkz1
普通に使うよ
あとGoogleは普通に検索対象期間を絞れるから活用するといいよ
0646デフォルトの名無しさん
垢版 |
2021/05/05(水) 10:54:08.80ID:JCnyTaBn
テックアカデミアと侍エンジニアを除外
0647646
垢版 |
2021/05/05(水) 10:55:49.83ID:JCnyTaBn
Googleの検索結果からテックアカデミアと侍エンジニアを除外 する方法って無いもんですか?
SEO対策しているのか常に上位に役に立たない情報を載せてるページが上がってきて鬱陶しいです
0651デフォルトの名無しさん
垢版 |
2021/05/06(木) 12:18:21.50ID:GHdSH9fo
sejuku も除外でいいよ
0652デフォルトの名無しさん
垢版 |
2021/05/06(木) 15:08:45.70ID:DK/TJHM3
リモートデスクトップって鍵ペア認証はできへんの?
今どきパスワード認証オンリーとか、ないわーって思うんやけど
0653デフォルトの名無しさん
垢版 |
2021/05/06(木) 15:51:38.81ID:Zxv0K5Ik
板違い
気持ちは判る
0655デフォルトの名無しさん
垢版 |
2021/05/07(金) 03:40:02.23ID:vAByX/Kb
なんで、5chの投稿欄のtextareaって、wrap=offになってるの?
それで改行無しの文が右端で折り返されないから自分でEnterキーで改行すると
馬鹿にされるし。
0656デフォルトの名無しさん
垢版 |
2021/05/07(金) 05:45:16.39ID:yTzFS6IQ
オンゲーでチート使うハッカーを見て憧れて取り敢えずC++のコンソール入門を覚えたのですが
次に何を勉強すればいいのか全く検討つきません。具体的なアドバイスをください
オンゲーはアウトでしたらオフゲーでチート使うには何を学べばいいか教えて欲しいです
0658デフォルトの名無しさん
垢版 |
2021/05/07(金) 07:54:07.17ID:uXbPiGGM
>>655
適当なテキストエディタで文章作ってからコピペしたらどうか
ブラウザのテキストボックスで長文こさえてたら操作ミスで失うこともある
0659デフォルトの名無しさん
垢版 |
2021/05/07(金) 08:02:17.91ID:qKdKJXyz
チートとか改造の方法教えるのって犯罪教唆に当たるんちゃう?
クラッキングでしょ?
0661デフォルトの名無しさん
垢版 |
2021/05/07(金) 10:12:51.90ID:ZRrNnGl7
改造チートするのにひとまずC++は使わん。
逆アセンブラとバイナリエディタ使え。
0662デフォルトの名無しさん
垢版 |
2021/05/07(金) 10:16:08.22ID:YbE8dk5k
ただMODを許可してないゲームのツールは、売ったり公開しちゃ同一性保持権の侵害で訴えられるから注意な
0663デフォルトの名無しさん
垢版 |
2021/05/07(金) 11:49:17.17ID:LLoVRXd1
REST APIの設計を初めて任されたんだけど
readはともかくcreate update deleteを外向けに公開したらドメインロジックめちゃくちゃならん?
httpの流儀に従う分セキュアなのはわかるけど
実態はぼぼDB丸出しに近い印象を受けたんだがこれでいいんだろうか…
0666デフォルトの名無しさん
垢版 |
2021/05/07(金) 12:38:27.81ID:2LmD+oJg
>>664
権限での制御は大雑把すぎない?

エンティティEの状態S1とS2があってS1もS2もその時点で見れば正しい状態である
しかしS1からS2に状態遷移させるには特定の業務プロセスXを通過させなくてはならない

みたいな要求はよくあるわけで
そうなると公開しなきゃいけないのはXであって不正なプロレスを防ぐためにEのcreate update deleteは公開してはならない
と俺は思うんだが

Xのようなプロセスがドメインに全く存在しない場合にはcreate update deleteも公開していいと思う
もちろん権限は管理するものとして
0668デフォルトの名無しさん
垢版 |
2021/05/07(金) 13:59:28.63ID:re5QpdZI
>>666
それはレコードを直接に書き換える概念に囚われているのではないか?
Eはユーザに直接には公開せず、仮想なエンティティS1を作成
その後にエンティティS2にアップデートさせれば良いと思うが
0669デフォルトの名無しさん
垢版 |
2021/05/07(金) 14:03:31.45ID:z1031SHW
ブログ、メモアプリのバックエンドみたいに、データ同士の関連が希薄、満たすべき業務条件もほとんど無い
といった場合はCRUD丸出しでいいと思う
0670デフォルトの名無しさん
垢版 |
2021/05/07(金) 14:05:19.14ID:re5QpdZI
>>666
例えばゲームのセーブデータ(E)
ニューゲーム(S1)を作ってゲームを進行させる(X)ことで途中データ(S2)にする
セーブデータを直接に操作はさせない
0671デフォルトの名無しさん
垢版 |
2021/05/07(金) 14:07:13.93ID:O1URPzeE
>>666
Eのupdateの中でプロセスXを通過させるだけでいいように見えるけど
そうすると何か不都合がある?
0673デフォルトの名無しさん
垢版 |
2021/05/07(金) 14:12:41.37ID:O1URPzeE
>>672
それ関係あるのか?

EやXみたいな記号で一般化するとコンテキストが共有できないから説明用の具体例に落としてくれ
0674デフォルトの名無しさん
垢版 |
2021/05/07(金) 14:27:52.27ID:O1URPzeE
顧客(E)の与信限度額を変更するには与信審査プロセス(X)を通過させなくてはならない
こういうやつなら顧客をupdateするより与信限度額の変更要求をcreateしたほうがいいかもしれない
0675デフォルトの名無しさん
垢版 |
2021/05/07(金) 14:40:44.13ID:z1031SHW
>>674
そう例えばそんな感じだ
直接エンティティをCUDしていい業務なんて、珍しいと思うんだよね(エンタープライズは特に)
だからRは公開してもいいけど、CUDはインターナルにしておくべきというのが俺の考え
0676デフォルトの名無しさん
垢版 |
2021/05/07(金) 14:46:06.24ID:z1031SHW
送金とかもそうだろ
口座残高を直接updateしたりしない
送金というタスクをリクエストすると思うんだ

直接CUDしちゃうと何故CUDしたのかという大事な情報が失われる
何故そうしたのかがわからないと適切なプロセスを通せない
0677デフォルトの名無しさん
垢版 |
2021/05/07(金) 15:06:06.09ID:O1URPzeE
>>675
与信限度額の変更要求をcreateしたほうがいいのは
認証/認可とは関係なくて変更要求自体を独立したエンティティとして管理した上で
要求を出した側もAPI経由で状態を確認できるようにするため

いずれにしろ変更要求が承認された後に顧客をupdateする処理は必要なので
それ用のREST APIを用意して一部の内部アプリで使うかもしれない
その辺は作り方次第
0680デフォルトの名無しさん
垢版 |
2021/05/07(金) 19:44:01.73ID:re5QpdZI
ROで会話ログを取るツールを作って使ってたけど、セキュリティ対応で読んだパケットを解析できなくなった
方式も鍵の在りかもわからんので諦めた
単にTLSならローカルにプロキシ作って抜けばいいと思うけど、そんな単純でもないだろうと
0682デフォルトの名無しさん
垢版 |
2021/05/09(日) 13:44:17.81ID:WMytKT+1
>>656
MITM
0683デフォルトの名無しさん
垢版 |
2021/05/09(日) 18:54:58.54ID:UzJfW4LG
Cookieに関する正しい解答を選ぶ問題で、正解はbとdになってるんですけど、合ってます?
dの状況設定がかなり微妙な気がするんですが

a Web ページなどに埋め込まれた小さな画像であり、利用者のアクセス動向な
どの情報を収集する仕組みである。
b いつ、どの Web サイトを見たかといった履歴や、パスワードなどのログイン
情報などを利用者の PC やスマートフォンで使うブラウザごとに保存する仕組み
である。
c いつ、どの Web サイトを見たかといった履歴や、パスワードなどのログイン
情報などをサーバ側に保存する仕組みである。
d 個人を特定する情報が Cookie に含まれなくても、使う側の企業が他の名簿
データなどと組み合わせれば、個人を特定できる可能性がある。
0684デフォルトの名無しさん
垢版 |
2021/05/09(日) 19:03:48.72ID:4LqFqyf/
可能性があるって凄えー曖昧な表現だからまあ○でいいんじゃね
可能性ゼロじゃなきゃ○だよこんなもん
0686デフォルトの名無しさん
垢版 |
2021/05/09(日) 20:44:01.13ID:QngfRO5p
どんな情報でも個人を特定する情報になるから
クッキーの中身が何もない状態で
名寄せできるのだろうか?
0687デフォルトの名無しさん
垢版 |
2021/05/09(日) 23:03:18.29ID:MVBjVGaC
dは全然微妙じゃないと思う
むしろbを正解に含めるほうが微妙

一般的には
パスワードなどのログイン情報をCookieに保存したりしないし
いつ、どのWebサイトを見たかといった履歴もCookieに保存したりしない
(3rd party cookieは識別IDを保存するだけ)
0688デフォルトの名無しさん
垢版 |
2021/05/10(月) 01:27:03.51ID:ZN2PoVCE
そういやインターネットに必要なものはなにか?という問題で
DNSという候補があったな

事実上必須だけど、なくてもできないことはない
お前らならどう答える?
0691デフォルトの名無しさん
垢版 |
2021/05/10(月) 03:35:39.00ID:VOP1Kg+H
必要と答える
.comや.co.jpなくして今のインターネット(WWW)はなかった
ただ設問が択一問題だったりすると答えが変わるかもしれない
0692デフォルトの名無しさん
垢版 |
2021/05/10(月) 06:25:33.50ID:hSqSKkF5
paiza.ioでサンプルコードを写経してるんですが、
PHPのバージョンを4とか5に変更することはできませんか?
0693デフォルトの名無しさん
垢版 |
2021/05/10(月) 11:00:00.36ID:ijuR9GM5
MVCでソフトウェアを書いてみたくて勉強中です

ボタン押したらデータベースからデータ持ってきて加工、表示に反映 をさせたい

V(ボタン押したらMにオーダー)→M(データ取得と成形して返す)→V(受け取って表示)

ですか? Cはなにをするの?
V→C→M→C→V が正解な気もするけど、その場合、Cがあいだに挟まる意味はなんですか?
0696デフォルトの名無しさん
垢版 |
2021/05/10(月) 12:31:36.10ID:XsYpa6BG
結局はビジネスロジックをどこに書くのか
コントローラに全部書くのは問題がある
でもコントローラを廃止して他に持っていくのは問題外
結局は銀の弾丸はないという古来言われている類いの話

しいて言うならコントローラは「主に」ビジネスロジックを実装する部分と考えるしかない
0697デフォルトの名無しさん
垢版 |
2021/05/10(月) 13:35:23.24ID:Qz+CRcrD
> でもコントローラを廃止して他に持っていくのは問題外
コントローラーを廃止しないで、他に持っていけばいいやん

なんで朝食は、ご飯じゃなければパンしかない
パンはありえないからご飯しかない
みたいな話してるの?
0698デフォルトの名無しさん
垢版 |
2021/05/10(月) 16:17:28.42ID:1dDQoHV+
今でもハンガリアン記法はチームの開発では一般的ですか?
変数名でグローバルのセットうにg_つけるとか
0699デフォルトの名無しさん
垢版 |
2021/05/10(月) 16:22:57.64ID:XsYpa6BG
そんなシステムハンガリアンっぽい命名を使う奴は情弱
二十年くらい前からすでにアプリケーションハンガリアン使えと言われてるから
0700デフォルトの名無しさん
垢版 |
2021/05/10(月) 17:12:25.15ID:PEznfPue
質問があれば自分もよく知らない事柄にも関わらず
とにかく上から目線で回答をしたがる人ってどういう精神構造なの?
0701デフォルトの名無しさん
垢版 |
2021/05/10(月) 17:17:37.02ID:XsYpa6BG
間違ってるなら指摘すりゃいいだけなのに、人格攻撃に走りたがる人ってどういう精神構造なの?
0702デフォルトの名無しさん
垢版 |
2021/05/10(月) 17:18:28.27ID:ro06Xyvc
>>698
一般的かどうかは分からないが、ハンガリアン記法を上手く使ったアプリのソースコードを始めてみた時、なんと分かり易いコードだろうと思った。
0703デフォルトの名無しさん
垢版 |
2021/05/10(月) 17:50:01.25ID:Z6bOR+7k
ハンガリアンはスコープを表すためにはまだ生き残ってるし言語によっては強制されるものさえあるよ。
さすがにかつてのMSがやってたような型まで厳密に表記するようなハンガリアンは見なくなったけど。
0704デフォルトの名無しさん
垢版 |
2021/05/10(月) 21:31:14.25ID:Xq63WIFj
長い変数名にするのがどうも好きになれないんですよね、個人的に
ノートも詰めて書くタイプ、狭い面積に集約された情報がひと目で見れるのが好きというか
スクロールバーをあまり動かしたくないというのもあって
0705デフォルトの名無しさん
垢版 |
2021/05/10(月) 23:01:25.41ID:NpiN7QoU
ローカル変数は名前を極力短くして
その代わりスコープを狭くして
見える範囲に定義を置く

それができない大域変数は
長めの名前をつけて
名前だけで意味がわかるようにする
0706デフォルトの名無しさん
垢版 |
2021/05/10(月) 23:21:59.49ID:ViCp850r
>>693
MVC なら皆、YouTube で有名な、雑食系エンジニア・KENTA のサロンで、
Ruby on Rails をやってる

M・Vは用途がはっきりしてるけど、C はそれら以外の何でも屋

V→C→M→C→V
この後ろのC は、条件でルーティングを変える

例えば、データベースへ問い合わせて、
管理者なら、管理者用のビューへ、
一般ユーザーなら、一般ユーザー用のビューへ、ルーティングを変える
0707デフォルトの名無しさん
垢版 |
2021/05/11(火) 02:14:22.86ID:1enRFFJU
> M・Vは用途がはっきりしてるけど、C はそれら以外の何でも屋
いや、Cはコントローラーという用途にはっきりとしてるが?
それがわからんとはその健太とかいうのも大したこと無いな
0708デフォルトの名無しさん
垢版 |
2021/05/11(火) 02:44:14.51ID:PqdJAW37
自分だけが読むノートをマイルールで短縮して書くのは賢いと思う
チームで協力して作り上げる緻密で壮大なドキュメントに本人しか分からないマイルールを持ち込まれると困る
常識的な範囲内ならその人の癖なんだなと思う程度

スコープの狭い変数には短い名前をつけてほしいけどついレビューで毎度スルーしてしまう
0709デフォルトの名無しさん
垢版 |
2021/05/11(火) 05:02:50.34ID:ntA9kUuo
目標に対してフワッとしたソースコードのイメージだけ脳内で作ってコーディング途中にどんどん変更するクセが付いてるんですが、これはどうすれば治りますか?
今の所、メソッドやクラス単位の実装が殆どなので仕事では困ってないですが、先々怖いです。
0710デフォルトの名無しさん
垢版 |
2021/05/11(火) 07:29:29.72ID:tw3oDY8j
メソッドやクラス単位での実装が無いってのはバグ修正とかやってんのかな?

仕事なら普通メソッドやクラス単位の実装の前段階として設計があってそこで頭の中のフワッとしたソースコードのイメージを具体的なロジックに落とし込むからまずは設計を意識してみたらいいんじゃない?

あとは単純にその言語の知識が浅くて考えてた実装じゃ動作しないところが出てきて当初の構想とのギャップが大きくなってることが考えられるけどそこは経験積むしかないと思う
0711デフォルトの名無しさん
垢版 |
2021/05/11(火) 08:34:06.31ID:hFxGyLe7
>>693
かつてはコントローラーも独立したモジュールだったけど、今でははとんどフレームワークがやってくれるのでデスクトップやスマホアプリではViewとControllerはごっちゃになることが多いよ。いわゆるDocumentViewやViewControllerみたいな。
どうしてもViewを分離したいならMVVMの勉強したほうが良いと思う。
0714デフォルトの名無しさん
垢版 |
2021/05/11(火) 11:23:13.32ID:FWZS8iTB
>>704
めっちゃ判る
++
0715デフォルトの名無しさん
垢版 |
2021/05/12(水) 15:30:41.45ID:BYsP6rEK
MSクラウドというかAzureって Visual Studioと共に扱う(プログラミングする)のが普通?
それともVSなしで使うことも多い?
0716デフォルトの名無しさん
垢版 |
2021/05/12(水) 17:42:05.41ID:heOXda5C
MSスタックで固めるのが普通だね
それ以外を使おうとするととんでもなく糞品質なので、AWSかGCPを選択すべき
0717デフォルトの名無しさん
垢版 |
2021/05/13(木) 03:08:18.57ID:WkGNAmpl
>>716
そういうことより、Azureを自らの手によるプログラミング無しで使うケースはあるのかどうかが知りたい。
0718デフォルトの名無しさん
垢版 |
2021/05/13(木) 09:21:46.61ID:jG3Ok9VP
そりゃストレージとして使うとかパッケージソフトを入れて使うだけというのはクラウドの使い方として普通にあるよ
特にAzureは業務系の客がほとんどだからAWSやGCPに比べてもそういう使い方は多いだろうね
0719デフォルトの名無しさん
垢版 |
2021/05/13(木) 09:28:55.99ID:jG3Ok9VP
あとAzureの場合はActive Directoryのためだけに使うというのもよくあるよ(これも業務系)
極一部の忠誠度の高いMSフォロワーを除いて、開発者にとってはあまり好まれないプラットフォームだね
0720デフォルトの名無しさん
垢版 |
2021/05/13(木) 09:47:04.91ID:i4261GGU
見え見えベンダーロックイン
まぁGCPでもGoは親和性やら優遇されてるから同じようなもんか?(Firebaseが強力だわ
0721デフォルトの名無しさん
垢版 |
2021/05/13(木) 10:28:06.61ID:pdmRhsyU
まあロックインされてしまえば余計な判断が減って楽という面もある
IBMやOracleやジャップSIerなんかに比べればMSはぼったくらないし品質も低くはないから、ロックインを受け容れるならMSは悪くない選択だ
俺はそういう思考停止が嫌で前職のC#erばかりの会社を辞めたけど、利点があるのはよく理解している
0722デフォルトの名無しさん
垢版 |
2021/05/13(木) 11:28:09.12ID:0pD51twu
この流れに乗って質問だが、
この比較↓によると、AWSがダントツトップってことでOK?

AWS/Azure/GCPサービス比較 2021.05
https://qiita.com/hayao_k/items/906ac1fba9e239e08ae8

この比較だとサービスの有無しか分からんよね・・・
○△×で示してほしいんだが・・・
肝心な価格の比較が無いし・・・

あー、AWSが一番サービス多いなー(棒・・・ぐらいの印象しか無い
こういう人はAWS、こういう人はGCP、こういう人はAzureみたいなのは無いの?
0723デフォルトの名無しさん
垢版 |
2021/05/13(木) 11:43:40.79ID:i4261GGU
GCPは有料で仮想マシンを借りないとAppEngineベースでスピンという機構を理解する必要があるから、止めとけとしか
でもGCPはサービス提供できるレベルでの無料枠が貧乏人としてはありがたい
(ほぼ無料(ドメイン関連以外)で2サービス運用してる
0724デフォルトの名無しさん
垢版 |
2021/05/13(木) 11:50:40.76ID:pdmRhsyU
>>722
自分でコード書いて動かすのに使う前提でいうと
開発や運用にWindowsと.NETを使用し、それ以外を未来永劫使うつもりがないならAzure
上に該当せず、エンタープライズ系のお硬い案件だったり、システム基盤として継続的に運用していく必要があるようなものの場合はAWS
TCP/IPなどインフラ周りの基本的なところに明るくないならGCP
スマホゲームなど、単独のアプリを手っ取り早く世に出したいならGCP
いずれにも当てはまらない場合はAWS
0725デフォルトの名無しさん
垢版 |
2021/05/13(木) 14:41:22.15ID:ItPDnKAp
>>718
「Microsoftが提供するクラウドサービス・Microsoft Azureの利用率が通常時と比べて775%も増加していることが明らかになりました。これは新型コロナウイルスの影響で急増中のリモートワーカーや、インターネット利用率の増加によるものです。」
とあったけど、これは、Azureを利用するプログラマが使った量というわけでなく、Azureを使ったサイトをプログラマではない人々(+プログラマ)が使った量のこと??
0728デフォルトの名無しさん
垢版 |
2021/05/13(木) 15:03:20.57ID:pdmRhsyU
>>727
というか意図的にミスリードしてるんだよ
MSはOffice365を含めることでAzureのシェアを水増ししてるの
0729722
垢版 |
2021/05/13(木) 19:13:51.51ID:0pD51twu
>>723
ありがd
基本、自分は無料枠しか使わないんだが、クラウドに関しては有料でもいいかなと思ってる
AWSだけは無料枠でプログラム組んでたんだけど足りなくなって毎月数十円だけ課金されるようになった
GCPはGoogle Laboratoryがあるから、そのうちGPU/TPU使うために毎月支払うことになるかも
0730722
垢版 |
2021/05/13(木) 19:37:01.24ID:0pD51twu
>>724
ありがd
個人的にはLinuxも使うし、Azureは無いかな
継続的に運用していくシステム基盤が必要かは場合による
TCP/IPとUDPは大学ん時にC言語でクラサバ予約システム作らされたんで暗くはない

その感じだと自分にはAWSかな

AWSのGPUの価格は↓これで分かった
https://qiita.com/m0ch1m0ch1/items/81b136b8eac1395c82ba
でも、これって自分ひとり占有って考えていいんだよね?
誰にも邪魔されないよね?

GCPのGPUは1,072円/月で比較的お得だけど、
他の人がたくさん使ってたら待つことになるから速さは保証できないって書かれてた
0731デフォルトの名無しさん
垢版 |
2021/05/13(木) 20:40:15.90ID:SdYNz8ux
8進数の代表的な用途って何がありますか?
16bitコンピューター以外で
0733デフォルトの名無しさん
垢版 |
2021/05/13(木) 21:53:55.12ID:NATYYilK
Amazon Linux で、MySQL, Postgresql が数倍速くなる

YouTube で、くろかわこうへいのサロンで勉強できる。
Amazonの講習では、3日で21万円

GCP は、Tensor Flow

Azure の利点はない
0734デフォルトの名無しさん
垢版 |
2021/05/13(木) 22:30:04.77ID:ybfO81Zh
Lets encrypt←ドメインジャックされたらなり済まされる
CV、EV証明書←ドメインジャックされてもなり済まされない(証明書の企業情報で偽物とわかる)

これであってる?
0735デフォルトの名無しさん
垢版 |
2021/05/14(金) 01:18:45.41ID:678S/iU6
>>728
一見、AzureがAWSに迫って来てるように見えても大部分が Office365 の貢献だったりしてな。
詐欺だな。
0736デフォルトの名無しさん
垢版 |
2021/05/14(金) 04:59:16.00ID:v82vkmQG
文とステートメントとキーワードって
呼び方が違うだけで、同じ意味ですか? それとも全然違う意味ですか?

例えば、ある本・サイトでは
var文

別の本・サイトでは
varステートメント

また別の本・サイトでは、
varキーワード

などと書かれており、よくわかりません

意味が違うのなら、どういう意図でつかいわけがされているのですか?
0737デフォルトの名無しさん
垢版 |
2021/05/14(金) 05:46:53.98ID:L5IZjefz
毎朝5:30になったらデータ更新する

というアルゴリズムが思ったよりシンプルに書けない
時刻と更新済みフラグで判定して実行するのはいいとして、
次の日にフラグをリセットする処理をどうしたもんか
0740デフォルトの名無しさん
垢版 |
2021/05/14(金) 07:20:06.50ID:L5IZjefz
質問者は式については書いてないけどな

varと書いてるから変数名のことなのだろう
そういう場所には識別子(identifier)と書くのが一般的

日本語の式は多義的すぎて、こういう場所に使うのは無理だと思う
expressionとequationの区別ができない時点で致命的
expressionはイコールを含まない式、equationはイコールを含む式
formulaは複数の変数を含むequation
0742デフォルトの名無しさん
垢版 |
2021/05/14(金) 07:53:37.05ID:b7pYGFY+
>>740
どのプログラミングか明確にしないで用語の議論しても仕方ないんじゃね。
少なくとも数学的な意味での用語の話ではない。
そこで言うイコールは代入の演算子か、等価の比較の演算子か。いずれにせよそれらも含めてすべてexpression(日本語訳は式)と呼ぶのは多くの言語で良くあることだろう。
0744デフォルトの名無しさん
垢版 |
2021/05/14(金) 09:16:15.31ID:wlHwvB3M
>>736
文とステートメントは同じもので、ここでは変数宣言のためのvarを含む行全体のこと。
キーワードは特別な意味をもつ単語、つまりvarという単語を指す。
0746デフォルトの名無しさん
垢版 |
2021/05/14(金) 10:54:06.08ID:0kdm8qdh
>>737
単に毎朝5:30に実行すればいいだけなら更新済みフラグを判定する必要はない
コードを書く以前に要求仕様を明確にできてないように見える
0747デフォルトの名無しさん
垢版 |
2021/05/14(金) 11:02:39.53ID:L5IZjefz
もう少し正確に言うと、毎朝5:30に*一度だけ*実行する
無限に実行していいなら簡単

何かの処理をすると記述する箇所全てに一度だけと書くのは面倒じゃないか?
0748デフォルトの名無しさん
垢版 |
2021/05/14(金) 11:06:35.79ID:pLRygybZ
>>747
>>741
0749デフォルトの名無しさん
垢版 |
2021/05/14(金) 11:24:37.13ID:qQzvrKNd
日次バッチで頻出するワークだからな
ちょっと高級になると日付と開始時刻、終了時刻を記録する
バッチが終了してないのにタスクが終了してたらロールバックして再開させなきゃならんことが多い(トランザクションとは別の話
0751デフォルトの名無しさん
垢版 |
2021/05/14(金) 11:49:30.93ID:L5IZjefz
フラグとして持たせるのではなくて、最終更新日時を持たせる場合
時刻 >= 更新時刻 and (時刻 - 最終更新日時) > 適当な時間
なら更新する

適当な時間というのがどうしても登場して、
これが結局、更新時刻から適当な時間が過ぎたらフラグをリセットするのと意味的には変わらない
0752デフォルトの名無しさん
垢版 |
2021/05/14(金) 11:56:52.48ID:0kdm8qdh
>>747
>毎朝5:30に*一度だけ*実行する

例えば常駐プログラムで1分おきに時刻をチェックして5:30ならデータ更新処理を実行すればいい
これで不都合があるならその状況と対応方法をまず仕様化すること
実装方法を考えたりコードを書くのはそれから
0753デフォルトの名無しさん
垢版 |
2021/05/14(金) 12:08:39.59ID:pLRygybZ
>>751
日付だけで時刻はいらないぞ
0755736
垢版 |
2021/05/14(金) 12:30:00.03ID:v82vkmQG
>>744
ありがとうございます。
744さんの回答が最もシンプルで、最も私が求めていた回答です。
ありがとうございました。
0756デフォルトの名無しさん
垢版 |
2021/05/14(金) 12:39:39.16ID:xhQE0k+a
>>737
スケジュール管理は自分でプログラミングせずにCRON、バックグラウンドジョブ管理サービスなどを利用するといい

フラグではなくイベントを記録することで実行を制御する
イベントは追加Onlyにし、更新も削除もしない
イベントは最低限、以下の3種類
・プログラムが開始された
・プログラムが成功で終了した
・プログラムが失敗で終了した
0757デフォルトの名無しさん
垢版 |
2021/05/14(金) 12:58:13.60ID:L5IZjefz
シンプルに書きたいのに大掛かりになっていく

問題のややこしい点はもう一つあって、更新タイミングが日付の変わる直前ということ
(5:30は30時間制ではまだ前日の29:30)
まだその日のうちに翌日のデータを取得する必要があり、記録される日付は前日のものになる

それだけなら、当日に更新が無いことを条件にできるけど、実際には日付変更時以外にも、
任意のタイミングで更新はしてよいので、日付は当日になってしまう
0758デフォルトの名無しさん
垢版 |
2021/05/14(金) 14:11:15.28ID:0kdm8qdh
>>757
>任意のタイミングで更新はしてよいので、日付は当日になってしまう

それで何が困るの?
0759デフォルトの名無しさん
垢版 |
2021/05/14(金) 17:37:59.47ID:hkg2iu74
やりたいことは実はドシンプルではなくもう少し複雑だったというなら相応に手を加えるだけよ
日を跨ぐ時刻の判定にオフセット掛けるのは足し算でできるでしょ
もっと条件があるなら経過時間なり時間帯なりに判定を増やせばいい
0760デフォルトの名無しさん
垢版 |
2021/05/14(金) 18:39:57.23ID:L5IZjefz
些末な部分はどうでもよくて
何かそれは思いつかなかった的なアイディアがありそうな気がするんだけどな

現状の実装では、更新時刻の1分前になったら更新済みフラグをクリアする
その状態で更新時刻になると更新される
1分間クリアし続けるというのがいかにも汚い
不等号一発ではなくて、時間の幅を持たせて、という処理がどうしても付きまとう
0761デフォルトの名無しさん
垢版 |
2021/05/14(金) 19:50:54.89ID:sCsXtIcF
>>758 に答えろよ
0762デフォルトの名無しさん
垢版 |
2021/05/14(金) 21:03:00.71ID:HZsGTEZ+
仕様を明確にしろと指摘されてるのに
ふわっとした要望だけ次々と追加

そりゃ書けないわな
0764デフォルトの名無しさん
垢版 |
2021/05/14(金) 22:11:00.85ID:SGxg0iSp
一日一回データ更新するプログラムで
何が問題になるのか
フラグをクリアしたのにフラグが立ってて
クリアし続けないといけない恐怖話
0765デフォルトの名無しさん
垢版 |
2021/05/15(土) 00:21:09.70ID:Eqqjc3fM
脱初心者を目指すならフラグ変数を使わずに書けないか意識した方がいい
人のソースを見ているときに boolean execFlag なんて現れるとがっかりする
0767デフォルトの名無しさん
垢版 |
2021/05/16(日) 12:24:08.32ID:i0aHhWnL
https://ezoeryou.github.io/cpp-intro/#%E3%82%A4%E3%83%86%E3%83%AC%E3%83%BC%E3%82%BF%E3%83%BC%E3%81%AE%E5%9F%BA%E7%A4%8E

「std::end(v)はvectorの変数vの最後の次の要素を指し示すイテレーターを取得する。
最後の次の要素を指し示すイテレーターに対して、*で要素にアクセスを試みるとエラーになる。
int main()
{
 std::vector<int> v = {1,2,3,4,5} ;
 auto i = std::end(v) ;
 *i ; // エラー
}

と書かれているのですが、そもそもコンパイル時エラー? ランタイムエラー?
C++はrange checkしないはずですが、本当にエラーになるとしたらどういう仕組みですか?
0768デフォルトの名無しさん
垢版 |
2021/05/16(日) 19:02:12.07ID:LkZOTUXR
アマグラマーです
プログラマーに聞きたいのですが、こんなコードはクソっていう書くときの指針(反面教師)があれば教えてください
アマなのでプロの経験談から学びたい
0770◆QZaw55cn4c
垢版 |
2021/05/16(日) 19:46:24.28ID:Hgwjinll
>>767
こちらで試した例
https://ideone.com/2WVu4k ……@

@の実行結果は ideone でも、私のローカル環境でも、いろいろ変わりますね

>C++はrange checkしない
これは正しいです。そしてコンパイル時エラーはおこりません。

>最後の次の要素を指し示すイテレーターに対して、*で要素にアクセスを試みるとエラーになる。
は、その文章でいう「エラー」という言葉が具体的に何を表現しているかが曖昧模糊と言う意味で正確ではありません

1)実行時エラー: *p でアクセスしようとすると「Segmentation Falut」等で、実行プロセスが OS により強制終了させられる
2)実行時エラーすら発生せず、シレっと値を読み込むが、その値は書き手のコントロールの外であるから適当かつ予測できない値だったりする
3) その他(どんなパターンがあるかは私にもわからない)

@ではイテレータ p が v.begin() を超えてもしばらくは上記 2) 、おもむろに 1) が発生して終了しました
いろいろ言いましたが、イテレータが意味のある領域を指していることを保証するのはプログラマの責任ということです、それができなかったときのエラーの様態は千差万別で一つに定めることは不可能でしょう
0771デフォルトの名無しさん
垢版 |
2021/05/16(日) 21:28:38.45ID:59l26Czq
イテレータのendは終端であって内部領域を指してないからアクセスすんなよ!とmanに書いてないか?
0772デフォルトの名無しさん
垢版 |
2021/05/17(月) 01:32:17.53ID:GHG/4QhJ
イテレータの話が出たのでちょっと聞きたいんだけど
いつも関数化するときどこまで書いたらいいのか迷います

例えばループ処理で配列xを得るとき
for i in source:
x += myfunc(i)

x = myfunc(source)

なんかコードはできるだけその場に書いてあるべきとも聞くので、あまり隠すのもよくないんでしょうか
0773デフォルトの名無しさん
垢版 |
2021/05/17(月) 20:10:51.62ID:st/b0vQm
Visual Studio 2019 & C# でWindousアプリを作ったんだが、
これにサブスクを実装したいんだけど検索しても方法がわからず困ってます

Stripeは過去のAPIを使えばサーバー側の実装をせずにexeスタンドアローンで
サブスク機能を実装できたっぽいんだが、現行のStripe.net APIでは不可能で、
どなたか実装方法を知っている方、教えて下さい
0774デフォルトの名無しさん
垢版 |
2021/05/17(月) 21:01:46.61ID:243nH9hZ
スタンドアローンのサブスクって…
性善説信じてるの?
0775デフォルトの名無しさん
垢版 |
2021/05/18(火) 04:03:58.05ID:+FyE0C2M
opamでocamlformatがインストール出来ないんだけどおま環かな?
Bad checksumとか出てきて、ファイルのダウンロードに失敗してるっぽいんだけど…
0778デフォルトの名無しさん
垢版 |
2021/05/21(金) 06:06:11.26ID:9A/Jin+2
デザインパターンは教養なので一通り目を通しとこうね
詳細まで覚える必要はないと思う
解決策があるパターンについての知識
0780デフォルトの名無しさん
垢版 |
2021/05/21(金) 14:37:35.10ID:VGYuthZE
MVVMとは?
0782デフォルトの名無しさん
垢版 |
2021/05/21(金) 15:06:40.89ID:9A/Jin+2
>>780
マイクロソフトが提唱してるビューモデルを組み込んだMVCの一種
一般にはmodelとviewを明示的に分離する機構の概念
個人的にはVMはGUIスレッドだけどディスパッチを工夫すると単体テストを容易に書けるんで便利
0783デフォルトの名無しさん
垢版 |
2021/05/22(土) 04:30:03.30ID:pp5tL189
PHPの開発環境(サーバーソフト、PHP、DB)をそろえようとしています。

ApacheのバイナリをDLするところなのですが、
Apache LoungeとApacheHausで配布されているものに
なにか違いはあるのでしょうか?
0787デフォルトの名無しさん
垢版 |
2021/05/22(土) 13:26:56.92ID:Kmk+JOPD
>>778
ありがとうございます。
詳細までは不要とのことですが、どの程度やればいいのでしょうか?
Javaでは結城浩さんの本で演習も含めて一通りやってみたんですけど、
実用するには至っていません。
0788デフォルトの名無しさん
垢版 |
2021/05/22(土) 13:35:02.58ID:DX4sJHIx
デザパタなんて1冊目を通せば十分だよ
演習とかで手を動かす必要もない
デザパタってかなり古い古典だからな
今あらためて見ると、こんなん逆にメンテ性下がるだろ、みたいなものも少なくない
0789デフォルトの名無しさん
垢版 |
2021/05/22(土) 14:10:44.57ID:yRhz4OAW
結城浩のデザパタ本はさっさとゴミ箱に捨てたほうがいい
デザインパターンは実装方法じゃなく背景にある考え方を学ぶのが重要だから
0790デフォルトの名無しさん
垢版 |
2021/05/22(土) 14:15:58.77ID:QJRx2RSn
デザパタ本はささっと目を通せば理解できる人が読むもの
読んでも理解できない人は、まだデザパタを使えるレベルにない
上級者レベルになってから、流し読みするのがデザパタ本
0791デフォルトの名無しさん
垢版 |
2021/05/22(土) 14:17:10.41ID:wMryifzt
デザインパターンなんて先に知ってから使うものでは無く
色々なものを作っていくうちにこんなのお前らが勝手に名前つけるなよw
ぐらいの感覚の方が本当は自然だよなぁ
0792デフォルトの名無しさん
垢版 |
2021/05/22(土) 14:18:29.67ID:wMryifzt
>>785
はぁ?分からん奴に説明なんてしてられんやろw
アホかよw
それならお前が一から十まで解説しろよカス
0794デフォルトの名無しさん
垢版 |
2021/05/22(土) 14:48:17.77ID:ddu3mui0
>>787
こんなかんじの問題は見たなぁ、と漠然に思い出せれば検索できる
どのみちサンプルを丸ごとコピーして解決できるほど甘くないから、その時になってから深く調べても問題ない
0795デフォルトの名無しさん
垢版 |
2021/05/22(土) 18:33:17.62ID:SsIEQKpS
>>770
試してくれて有難う。
なるほど、まとめると、実際には
・コンパイルエラーにはなら無い。
・実験して見ると、実行時エラーも範囲を少し超えたくらいではならなかった。
・範囲を物凄く超えたところでたまたまメモリアクセス保護例外が起きた。
ということですね。
0796デフォルトの名無しさん
垢版 |
2021/05/22(土) 18:38:59.22ID:5+25tO+n
プログラム知識ゼロスタートで他人のLua scriptプラグイン2シーズンくらい触って、自分好みに書き直し移植する遊びやってたんだけど
一つも用語分からないからWebサイトのLua用語調べたら専門用語の方が遥かに難しくてナニコレ分からん状態
専門用語という名の日本語の方が難しいわ
0797◆QZaw55cn4c
垢版 |
2021/05/22(土) 19:38:59.05ID:XT/wolzt
>>789
私は結城は気に入っていますが、何か他にいい本があるのでしょうか?
(結城本+自分で課題設定をして書く+Java のほかC++ でも書く、みたいな工夫はしました、サクッと読んでお仕舞いでは習得は無理かと)
0798デフォルトの名無しさん
垢版 |
2021/05/22(土) 23:54:19.73ID:aF1HHEjB
結城浩はウツ病らしいですよ。
1990年代に心の病系ホームページの掲示板に書き込みをよく見た。
0800デフォルトの名無しさん
垢版 |
2021/05/23(日) 07:34:45.90ID:zmSGPUw1
C++ でも、Scott Meyers のEffective 本があるけど、
デザインパターンを簡単に書けない、その言語特有のハック。
古臭い技術で、他の言語に転用できないのが欠点

一方、Ruby では、ほとんど実現されているから、背景にある考え方を学ぶ方が大事

例えば、MVC で、モデルに実装したら、モデルが肥大化した(Fat Model)ので、
サービスオブジェクトに分けましたとか

1つの関心事につき、1つのクラスとか
0803デフォルトの名無しさん
垢版 |
2021/05/23(日) 20:53:33.13ID:GSf5lhyc
Yep
0805デフォルトの名無しさん
垢版 |
2021/05/23(日) 21:39:22.51ID:Te3MIS70
PythonとかJavaとかCとか
なにが違うの?言語によって作れる作れないがあるの?
0806デフォルトの名無しさん
垢版 |
2021/05/23(日) 21:42:02.74ID:C7srCdl0
>>803-804
サンキュー
0807蟻人間 ◆T6xkBnTXz7B0
垢版 |
2021/05/23(日) 22:00:15.34ID:w+wJvB0G
>>805
Pythonはインタプリタ言語で、JavaとCはコンパイル言語。Javaは仮想マシンで動作し、C言語は機械語に翻訳されて実行される。
0808蟻人間 ◆T6xkBnTXz7B0
垢版 |
2021/05/23(日) 22:03:22.43ID:w+wJvB0G
簡単で柔軟な処理を書きたいならPython。機械やOSに近い処理をしたいならC言語。実行環境を自由にしたいならJava。
0810デフォルトの名無しさん
垢版 |
2021/05/23(日) 23:21:58.20ID:egmLXi/j
Kotlin もよろしく。
0811デフォルトの名無しさん
垢版 |
2021/05/24(月) 00:08:07.95ID:gquLa7i5
ttps://pubgmap.io/erangel.html?/v2/30/4ftla8/BLeG
こんな感じのローカルで使えるアプリを作りたいのですが開発も保守もなるべくお手軽に済ませたいです
良さそうなフレームワークとかあったら教えてください
現状ネイティブアプリにするかWebアプリにするかも決まっていません
0813デフォルトの名無しさん
垢版 |
2021/05/25(火) 12:50:06.92ID:eFv7Fs8Z
設計思想とかデザインパターンとかの技術書の種類が豊富な電子書籍サービスありますか?
本当は技術書は紙媒体の方がいいんだろうけど満員電車にスマホで読むつもりなんで電子書籍がいいです
0814デフォルトの名無しさん
垢版 |
2021/05/25(火) 13:00:39.43ID:wv0vSqE+
cygwinのsetupで、library パッケージをインストールする時、
括弧書きの中にdevelopmentやruntimeと書かれているものが有るけど、
違いは何?
0816デフォルトの名無しさん
垢版 |
2021/05/25(火) 18:03:25.58ID:kHXG2r5z
>>814
runtimeが実行用の本体
developmentは開発用でヘッダーファイル等
コンパイルするのに必要なファイル群
runtimeのファイルを含むかは知らない
0817デフォルトの名無しさん
垢版 |
2021/05/26(水) 03:13:01.88ID:d9C9piab
>>816
有難う。
ところで、clangがリンク段階でエラーになってしまうのが直らない。
cygwinは64BIT版のみになってしまったけど、clangは32BIT版のライブラリを
必要とするかららしい。
考えてみれば、64BIT版の実行ファイルを作成すればいいのかな。
0818デフォルトの名無しさん
垢版 |
2021/05/26(水) 03:24:50.15ID:d9C9piab
>>817
実際は、むしろ逆に64BITの実行ファイルを作成しようとしていて、
cygwin64 で、
$ clang -v t.c
とした時、
/usr/bin/ld: cannot find crtbegin.o: No such file or directory
/usr/bin/ld: cannot find -lgcc_s
/usr/bin/ld: cannot find -lgcc
/usr/bin/ld: cannot find crtend.o: No such file or directory
と出るので、-v で verbose してみたら、

Target: x86_64-unknown-windows-cygnus

"/usr/bin/ld" -m i386pep --wrap _Znwm --wrap _Znam --wrap _ZnwmRKSt9nothrow_t --wrap _ZnamRKSt9nothrow_t --wrap _ZdlPv --wrap _ZdaPv --wrap _ZdlPvRKSt9nothrow_t --wrap _ZdaPvKSt9nothrow_t -Bdynamic --tsaware -o a.exe /usr/lib/crt0.o crtbegin.o -L/usr/lib/gcc/x86_64-pc-cygwin/9.2.0 -L/usr/x86_64-pc-cygwin/lib -L/usr/lib -L/usr/lib/w32api /tmp/t-c40327.o -lgcc_s -lgcc -lcygwin -ladvapi32 -lshell32 -luser32 -lkernel32 /usr/lib/default-manifest.o crtend.o

と出た。crtbegin.o や、libgcc などがないということらしいけど、どうやったら直るんだろう。
0819デフォルトの名無しさん
垢版 |
2021/05/26(水) 05:04:07.54ID:d9C9piab
>>818
自己レスだが、その後、調査したら、

/lib/gcc/x86_64-pc-cygwin/10

に crtbegin.o や、libgcc.a があることが分かり、

$ clang -L /lib/gcc/x86_64-pc-cygwin/10 -B /lib/gcc/x86_64-pc-cygwin/10 t.c

とすると直ったわ。
0820デフォルトの名無しさん
垢版 |
2021/05/26(水) 06:55:25.77ID:XGTO2klA
Windows 10 Home, WSL2, Linux, Docker,
VSCode(拡張機能・Remote WSL, Remote Container)もある。

Windows Home版でも、Dockerを使えるようになった

WSL2 は、本物のLinux サーバーが動く。
ただし、CUI のみ。GUI は無い

メモリは、16GB は欲しい
0821デフォルトの名無しさん
垢版 |
2021/05/26(水) 12:49:08.85ID:Qr9i9spQ
>>820
サイズがでかすぎてインストールするのが辛い。
というか自分の環境では現実的に不可能。
0822820
垢版 |
2021/05/26(水) 21:05:36.83ID:XGTO2klA
YouTube で有名な、雑食系エンジニア・KENTA のサロンでも、
Ruby on Rails で、今の未経験者は、Linux, Docker, VSCode が必須

Docker Compose までが初心者用コース。
各学校のカリキュラムもそう

Dockerできないと採用されない。
それどころか、AWS Fargate, Terraform まで言われている

よって開発用PC のメモリが、
Windows 10 では16GB 以上、Mac で32GB以上になった。
Windowsでも、32GBが推奨

8GBじゃ、Docker Composeがキツイから
0823820
垢版 |
2021/05/26(水) 21:13:33.60ID:XGTO2klA
未経験者のRuby on Rails では、

YouTube で有名なKENTA のサロン、
AWS のくろかわこうへいのサロン、
Udemy などで教育革命が起きて、

今の未経験者は、Linux, Docker, VSCode が誰でもできる。
10年以上のプロよりも、技術力が上になってる!

さらに、AWS Fargate, Terraform まで言われている。
この辺が、未経験者の主戦場

米国年収でも、Railsは、1,300万円で、
AWS Solution Architect は、1,400万円でRailsを超えた!

Node.js は900万円だけど、Railsの2倍の求人がある
0825デフォルトの名無しさん
垢版 |
2021/05/27(木) 15:34:12.18ID:nhyDHcNr
Excelに日々追加されていく発注データをよその部署と共有したい。
データは極力いじってほしくなくて、複数箇所から同時に開くことができて、その部署の人間に有用なデータのみ加工して表示したい。

ということでエクセルデータを読み込んで表示できるhtmlファイルを用意して共有フォルダに入れとくのが良いかもしれんと思ったんですが、やはりhtmlだけじゃなくjavascriptを書く必要がありそうですかね?
0826デフォルトの名無しさん
垢版 |
2021/05/27(木) 15:41:44.56ID:PvZCRO+r
>>825
GoogleスプレッドシートとGoogleフォームでいいよ
Office365入れてるならそれでもいける
プログラミングなんぞ不要
0828デフォルトの名無しさん
垢版 |
2021/05/27(木) 16:20:25.70ID:6XTubEPX
その手のはGSuiteやOffice365の他にもSalesforceとかKintoneとか腐るほど選択肢がある
自分で作り込むのは論外として、会社で既に契約してるサービスを使えないかをまずは確認してみては
0829デフォルトの名無しさん
垢版 |
2021/05/27(木) 17:03:14.36ID:goD1Dj5M
>>825
用件定義が曖昧なので必要な処理が良く分からないけど、表示できるhtml
ファイルって言うのはエクセルファイルのリンクURLを書いたファイルを想定して
いるのかな?
だとしたら何か条件を満たすために書く必要があるのはjavascriptではなくて、
エクセルのマクロとかVBAスクリプトじゃないかな
共有フォルダに入れるならhtmlファイルを用意しなくても読み込み専用なら
エクセルファイル直でも良い気がする

データ極力いじらないっていうのは通達でルール化するとかなら分かるけど、
機械的にやるならいじれる人/いじれない人を明確に定義して、ファイルの
アクセス権設定するのかなって話でスクリプトの話じゃないかなとか、
エクセルファイル共有してみんなでいじると競合が発生しないようにする
必要があるとか

部署の人間に有用なデータのみ加工して表示したいは、それこそエクセルの
中身をいじる話なのでjavascriptではないかなとか

>>828のいうように社内で使っているソリューションとかにエクセルファイルを
読ませて要件に合った処理をしてくれるものを探すのが良いと思うけど、
まずはやりたいことを明確(極力とか有用なみたいはフワっとした感じじゃ
なく)にしないと何が必要か言えないかな
0830デフォルトの名無しさん
垢版 |
2021/05/27(木) 17:09:43.03ID:lb8CrCgA
GraphQLって関数のサポートってある?
例えば、あるプロパティに文字列が入ってるんだけど、これを大文字に変換して取得、みたいな感じ
もちろん、実際には大文字化どころでなく、もっと複雑な計算が必要になる
GQLで取得したのをJSかTSでまた変換して〜てな感じでやるしかないかな?
0831デフォルトの名無しさん
垢版 |
2021/05/27(木) 17:40:00.59ID:VvsV/KIv
>>825です。
元の表は外注先・商品名・社内担当者・納品日などなどのデータベースです。データ入力の担当者以外は直接参照しないように言われてます。
進行状況をグラフィカルに知りたい人たちがいたので、この表からガントチャートを作って表示できるVBAマクロを作りましたが、shapeを大量に表示するのでやや重くて不評でしたので簡便に表示できる方法を探していました。
老人たちが多すぎて「ここをダブルクリックすると見られます」以上に複雑な説明は不可能なので、今使ってないサービスを新規に利用するとか、元表の運用方法自体を変えるってのはナシの方向です。
状況が特殊なので、自分で調べてなんとかします。
すみませんでした。
0832デフォルトの名無しさん
垢版 |
2021/05/27(木) 18:06:17.50ID:oUYWih0l
だからexcel をhtmlとして保存するだけだろ
0834デフォルトの名無しさん
垢版 |
2021/05/28(金) 20:40:09.32ID:yAnFtbcz
SPAっていうのが流行ってるみたいだから
Vue.jsでやってみたんだけど、v-forでデータ取り出す部分だけ遅くなって不自然になった
これって改善できるの?

あといちいちJSONにしなきゃいけない理由もわからない。
Laravelでそのまま渡せた
0837デフォルトの名無しさん
垢版 |
2021/05/29(土) 11:59:05.69ID:T6353Tmf
それ自身がスクリプトを動かすCGIとして書かれてるだろPHPは
そりゃ他のCGIつかわんのは当然
0839デフォルトの名無しさん
垢版 |
2021/05/29(土) 12:07:50.02ID:T6353Tmf
PHPだけで済ませるから他のCGIプログラムをホストしてつかわんという意味だよ
0840デフォルトの名無しさん
垢版 |
2021/05/29(土) 13:01:47.18ID:nTYZXgcl
>>837
PHPが登場した当初にアピールしていたのは
CGIではなくApacheモジュールを使うから高速であるということ
CGIの仕組み自体を使っていない
0841デフォルトの名無しさん
垢版 |
2021/05/29(土) 13:15:02.83ID:HJC/ZOcF
CGIに毛の生えた化石という論評の是非はさておき、それに対して、元からCGIを使わないのが売りという反応は噛み合ってないな
0842デフォルトの名無しさん
垢版 |
2021/05/29(土) 14:27:55.78ID:ehKbAfuY
>>834
日本6位、YouTube で有名な雑食系エンジニア・KENTA のサロンでは、

Ruby on Rails, Linux, Docker, Node.js(Webpack, Babel), Bootstrap,
VSCode(拡張機能・Remote WSL, Remote Container)、データベース、
Heroku, CircleCI までが初級カリキュラム

さらに最近では、AWS Fargate, Terraform, SPA(React, Vue.js), TypeScript も入る

女性1人で、Rails, Heroku, Bootstrapで起業していたのが、
最近では、Fargate, Terraform, SPA も必須になってきた

どこかの学校が新技術を採用したら、転職の競争上、すべての学校も採用せざるを得ない。
今では、1年の未経験者が、10年以上のプロよりも、技術力が上になってる!
0843デフォルトの名無しさん
垢版 |
2021/05/29(土) 16:36:36.98ID:eCdX3xcf
cgi.rb : えっ君らこれ本気で使ってるの?
0844デフォルトの名無しさん
垢版 |
2021/05/29(土) 23:55:16.84ID:nTYZXgcl
>>841
登場時点でCGIを使わないという本質的に違うものに対して
CGIに毛が生えた程度というのはおかしいってことだよ
0846デフォルトの名無しさん
垢版 |
2021/05/30(日) 00:24:47.48ID:iekbxZ9w
>>844
CGIを使わない⇒本質的に異なるとな?
自分でも苦しいと思わないのだろうか
ありがちな例文「素人に毛が生えたような役者」の場合でいうと、素人≠役者(プロ)でも使えるのは自明じゃん
CGIとPHPの役割や立ち位置が同じだと元の発言者が思ったならこの表現は成立するし、反論するならそっちの妥当性だろ
0847デフォルトの名無しさん
垢版 |
2021/05/30(日) 12:47:19.86ID:DbVDrryp
>>846
本人がそう思ったからで成立するなら
CGIとGoogleのクラウドサービスも役割や立ち位置が同じだから
GoogleのクラウドサービスはCGIに毛が生えた程度のものっていう理屈も言えるんだが?

どちらにしろCGIに毛が〜って言ったやつが
技術を何も知らない素人だという証明にしかならん
技術を知っていればCGIとそうでないものを同一視したりしないんだよ
0849デフォルトの名無しさん
垢版 |
2021/05/30(日) 14:03:12.70ID:b5JrJ9vZ
>>847
「反論するならそっちの妥当性だろ」としたとおり
俺はPHP(の用途や役割)がCGIに毛が生えたものという主張が妥当かどうかには興味ないよ
これまでも論旨自体に賛否を一切示してないことをもう一度強調しておくわ
筋違いのズレた反論をしているからズレてると指摘しただけだ
命題が真が偽かということと、CGI≠PHPであるという前提の中で、語の用法が適切で文として成立しているかどうかは別のこと
プログラミングしたことあるなら流石にわかるよな?
いやときどきこういう区別が本当に理解できてるのかあやしいやつ結構いるよな…
0851デフォルトの名無しさん
垢版 |
2021/05/30(日) 14:36:11.80ID:DbVDrryp
> 俺はPHP(の用途や役割)がCGIに毛が生えたものという主張が妥当かどうかには興味ないよ
興味がないならお前には関係ないじゃん

PHPの役割がCGIに毛が生えたものじゃないって話をしてるんだから
PHPの役割例・・・wikipedia、wordpress
0852デフォルトの名無しさん
垢版 |
2021/05/30(日) 14:38:05.79ID:DbVDrryp
そもそもCGIというのがなにかわかってないんだろう
言語じゃないぞ。

ウェブページを表示する仕組みの中で、とても遅い仕組み
だから今では使われていない
0853デフォルトの名無しさん
垢版 |
2021/05/30(日) 14:49:12.26ID:x7z1bfzn
DI(dependency injection)について質問です
どうも存在価値がわからないのです
世間一般ではよく使われているので、自分の理解が足りていないのは自覚しています。
DIの何が便利なのかを教えてほしいです。

kotlinの以下の記事を使わせて頂きます。
https://qiita.com/klriutsa/items/3989b280ce659df18e2c
この記事には以下の3種類のコードが提示されています。
・1.依存性の注入が無いAndroidのコード例
・2.DIを使わずに書いた場合
・3.DIを使って書く

1番目を2番目にする事は理解出来ます
2番目から3番目にする事が「DI」と呼ぶらしいですが、メリットが分からないです

差分を取ってみました。
https://i.imgur.com/yDX4Pdh.jpg
「ArticleClient().create()」だった部分がDIを使ったコードだと「service」の変数一つになっているのは理解できますが
それ以外にinjectする処理が増えて、トータルではマイナスになっているように見えます。
DIのメリットで「テスト時に処理を差し替え出来る」とも聞きますが、この例ですとDI前も後もArticleServiceクラスに依存していて何も変わっていないように見えます。

インスタンスを呼び出すメソッドを作ってインスタンスを呼び出す事に比べて、DIというのは何が優れているのでしょうか
0854デフォルトの名無しさん
垢版 |
2021/05/30(日) 15:01:19.37ID:DbVDrryp
>>853
DIを文字通り依存関係を注入するものだと思っているからわからない
下手なやつが使うと日付オブジェクトまで外部から注入しようと考えるからアホらしいw
DIは基本的にビジネスロジックに使うもの

DIを理解する前に前に適切な設計というのを理解しないといけない
適切な設計というのはクラスごとの役割・責務がちゃんと分離されているということ

そういう場合にこのクラスのビジネスロジックは、別のクラスのビジネスロジックを"利用する"という時に、
別のクラスをテスト用のクラスに差し替えられるようにしておけば、別のクラスを使わずに単体テストが可能になる
テストというのはなるべく小さな状態で行うもの。そうしないとどこに原因があるのかわかりづらくなる

テストクラスへの差し替えが簡単にできる言語であればDIは必要ないが
そういう場合でもDIを使っていれば、ここで差し替えてテストすることを意図してるんだなとわかる
0855デフォルトの名無しさん
垢版 |
2021/05/30(日) 15:07:57.29ID:McAyMcZB
>>853
君の疑問はもっともで、この記事が悪い
ArticleServiceが具象クラスなら特にDIを使って注入する意味はない
DIする場合、普通ArticleServiceはinterfaceにしておいて、場合によってバックエンドAPIからArticleを取得する実装と、テスト用のモック実装とを差し替えたりする
0856デフォルトの名無しさん
垢版 |
2021/05/30(日) 15:21:52.08ID:x7z1bfzn
>>854-855
うーん、とりあえずわかりました。
テスト(等)時に実装の差し替えを、最低限のコストで行う手段 と、覚えておきます。

確かに現状はテストも何もなく 実装コードを書くだけで満足してますが
ちゃんとテストを書いて、最低限の変更で実装を切り替えするようになれば理解出来る・・かな
0857デフォルトの名無しさん
垢版 |
2021/05/30(日) 15:28:54.83ID:QVEYwMBG
DIは依存関係を減らすというものだが
実際それが必要なのはテストぐらいだよねってこと
0858デフォルトの名無しさん
垢版 |
2021/05/30(日) 15:38:52.15ID:XTsG4vqP
DIなんて普通の開発ではまず使わない
そもそもこれって簡単に機能を切り替えられる仕組みってだけだし
0859デフォルトの名無しさん
垢版 |
2021/05/30(日) 15:42:57.18ID:B0xK2QHY
>日本語訳では依存性の注入と呼ばれていますが、実際はオブジェクトの注入が正しいです。

この筆者はなんか誤解してる気がする。DIで言う依存性ってのはSOLID原則のDと基本的に同じだろ。
オブジェクト間の依存関係とかじゃなくて具象型への依存をコードの外に出す話。
0861デフォルトの名無しさん
垢版 |
2021/05/30(日) 15:56:27.36ID:McAyMcZB
>>859
インスタンスをシングルトンにするみたいなDIコンテナによるライフタイム制御のことを言ってるんじゃないの
DIとは無関係と言ってもいいオマケ機能なわけだけど、この筆者は使い方だけ教わって変な理解しちゃったんだろうな
0862デフォルトの名無しさん
垢版 |
2021/05/30(日) 15:59:39.65ID:mZRTgvtG
DIってのは単純な話で
今取り組んでるクラスにとって本質ではない処理を
都合のいいインターフェースで切り出して外部化へ追い出すことにより
そのクラスの本質だけを残すことによって
開発や保守をしやすくする
ということだよ

そのほうがテストしやすいとか
開発環境でダミーを使うときに便利とか
そんなのは二次的なメリットでしかない
0864デフォルトの名無しさん
垢版 |
2021/05/30(日) 17:18:26.56ID:EoN0M48D
Reactの環境を整えて最初は普通にbluid出来ていたのに、試しにmaterial-uiを導入してbuildしてみたら

(プロジェクト名)\node_modules\enhanced-resolve\lib\Resolver.js:14
Resolver.prototype = Object.create(Tapable.prototype);

TypeError: Object prototype may only be an Object or null: undefined
at Function.create (<anonymous>)
at Object.<anonymous> ((プロジェクト名)\node_modules\enhanced-resolve\lib\Resolver.js:14:29)
(グレーアウトされたエラーメッセージ)
at Object.<anonymous> ((プロジェクト名)\node_modules\enhanced-resolve\lib\node.js:5:16)

というエラーが出るようになってしまってmaterial-uiをremoveしても消えないのだけどこれはいったいどうしたらよいのでしょう?
0865デフォルトの名無しさん
垢版 |
2021/05/30(日) 18:24:28.22ID:r7/HTnYk
>>851
興味がないという単語に対して部分否定と全否定を区別できず、脊髄反射で反応
そういうところだぞ
0868デフォルトの名無しさん
垢版 |
2021/05/30(日) 23:47:19.92ID:Hj1QGeYh
>>864
エラー自体はTapable.prototypeがundefinedなのが原因

undefinedになるのはmaterial-uiのdependencyでtapableが新しくなって
古いバージョンのenhanced-resolveと合わなくなったからだと推測する
その14行目のコードが残ってるのは相当古いバージョンだったので
webpackのバージョンを見直したほうがいいと思う
0869デフォルトの名無しさん
垢版 |
2021/05/31(月) 08:58:39.96ID:sBIewd8V
たとえばwindows付属のメニューバーの色やメニューバーの文字の色、
書き込む部分の白い色、スクロールバーの色だけを狙って変更したい。
windowsのテーマを変更するとかという方法ではなく。
具体的にどのようにしたらいいか。
0870デフォルトの名無しさん
垢版 |
2021/05/31(月) 13:08:18.00ID:wgV7aZpD
アプリの製作元と交渉してソースファイルを入手し必要な箇所を書き換えて再構築する
0873デフォルトの名無しさん
垢版 |
2021/05/31(月) 13:29:19.34ID:R3lKsytn
>>872
スクロールバーについては、以下の様にすれば可能 :
case WM_CTLCOLORSCROLLBAR:
if(HIWORD(lParam)==CTLCOLOR_SCROLLBAR) {

SetBkColor(hdc,(LRESULT)CreateSolidBrush(RGB (color[0],color[1],color[2])));
return (LRESULT)CreateSolidBrush(RGB (color[0],color[1],color[2])) ;
}
return TRUE;

参考 :
https://docs.microsoft.com/en-us/windows/win32/controls/wm-ctlcolorscrollbar
https://social.msdn.microsoft.com/Forums/vstudio/en-US/486105a1-9e9c-4f8d-9978-5cf575126660/how-to-set-scrollbars-color?forum=vcgeneral
0875デフォルトの名無しさん
垢版 |
2021/05/31(月) 13:40:36.18ID:R3lKsytn
>>871
辞書自体は、imjp10u.dic にあるらしいので
0876デフォルトの名無しさん
垢版 |
2021/05/31(月) 13:41:10.64ID:sBIewd8V
>>869
補足
自分が作るアプリではなく、
すでに起動しているアプリ、例えば起動しているメモ帳のメニューバーやスクロールバーの色を変えたかった。
AutoHotKey等を使おうと思っているが、原理というかすでに起動しているソフトの色は変えることができるのか知りたかった。
なお、ウィンドウタイトルを名指ししてウィンドウを透明化することはできた。

>>872からの説明感謝
0877デフォルトの名無しさん
垢版 |
2021/05/31(月) 13:43:48.44ID:sBIewd8V
>>876
追加、なおWindowsのテーマを変更して(つまり全体的に色を変えることはしない)の色変更ではなく。
0878デフォルトの名無しさん
垢版 |
2021/05/31(月) 13:45:34.90ID:siYzGVpE
>>875
それは見つけ出したけど、その先がどうにもならんのですな
せめてユーザー辞書に変換できればいいんだけど、ままならにぃ…
0879デフォルトの名無しさん
垢版 |
2021/05/31(月) 13:47:13.65ID:R3lKsytn
>>876
それは、
SetWindowsHookEx() という Win32 API を使って、そのアプリの WindowProc
をフックして >>872 から書いた方法で処理すれば可能は可能。
0880デフォルトの名無しさん
垢版 |
2021/05/31(月) 13:49:03.09ID:sBIewd8V
>>877
重要なのか聞忘れてた、本来はスクロールバーを削除したかった。
(技術的に出来るかどうかはわからないけれど。なので色変更で見た目だけでも変えようと思っていた)

>>879
ありがとう。なんとかやってみる。
0881デフォルトの名無しさん
垢版 |
2021/05/31(月) 13:57:05.62ID:R3lKsytn
>>880
削除するのは、ScrollBarを持っている Window Handle(HWND) を見つけ出して、
その HWND の style の WS_VSCROLL BIT を OFF にすると良い。
それには、次の 2 つの関数を、nIndex = GWL_STYLE にして呼び出して、
C の BIT 演算子 & を使って、
SetWindowLong( hWnd, GWL_STYLE, GetWindowLong(hWnd, GWL_STYLE) & ~WS_VSCROLL );
のような感じにすると良い。

LONG GetWindowLong(
HWND hWnd, // handle to window
int nIndex // offset of value to retrieve
);

LONG SetWindowLongA(
HWND hWnd,
int nIndex,
LONG dwNewLong
);
0882デフォルトの名無しさん
垢版 |
2021/05/31(月) 14:07:44.18ID:siYzGVpE
>>871
申し訳ありません、取り下げます
著作権を考慮してなかった
0884デフォルトの名無しさん
垢版 |
2021/05/31(月) 16:03:21.67ID:RzB7O/B5
MVCでGUIアプリ作ってるとして
たとえばclickbuttonでupdateview()するとき

buttonはVに置いてあって
イベントハンドラとview作成・更新関数はどちらもCに置かれると思うんですが、
特にview作成・更新系はviewの側にある方がわかりやすくないですか? なぜCなのですか?
なんかctrl内で全部viewの操作だけしてる関数書いてると、これviewに置いて呼んだらいいんじゃ…ってなるんですが
0886デフォルトの名無しさん
垢版 |
2021/05/31(月) 16:52:44.20ID:yuRQ4tlS
>>884
viewの作成と更新は別
クライアントサイドのMVCの場合、viewの更新はview自身で行う

viewはmodelをobserveしておいて更新通知があれば
modelのデータを参照して自身の表示を更新する
0887デフォルトの名無しさん
垢版 |
2021/06/01(火) 18:07:08.61ID:TvRQnady
いまファイラーみたいなの作ってるんですが
もしかしてWindowsと macて並び順ルール違う…?
0888デフォルトの名無しさん
垢版 |
2021/06/01(火) 18:46:29.83ID:jlPUop4R
あれwindowsだけが特殊なんだっけ?
unixとlinuxとappleが同じ?
0889デフォルトの名無しさん
垢版 |
2021/06/02(水) 09:40:46.56ID:GaQmuxPP
Windowsでも違うよ
fatとntfs
win2000とwinXPのエクスプローラー
0890デフォルトの名無しさん
垢版 |
2021/06/02(水) 10:09:42.28ID:qtmfAhQ7
國際的な統一ルールって無いだろ
ある意味ソート順は文字コードより深刻
0892デフォルトの名無しさん
垢版 |
2021/06/02(水) 10:57:53.92ID:OB6uFVNq
>>884
V でプログラミングしては、いけない。
コード・ロジックを書いちゃいけない。
単純なものだけを書く

C でも同じ。
ビジネスロジックは、M に寄せる

そうすると、Skinny Controller, Fat Model になるので、
サービスオブジェクトなどに分ける

Ruby on Rails ではデザインパターンを、10年以上論争してる
0894デフォルトの名無しさん
垢版 |
2021/06/02(水) 12:46:41.93ID:sSbsV05j
俺はMにV渡さないで
パーツインスタンスをまとめたVC作って
VCでV系のコードを書くのが好き
そうするとVとMでいい感じのコードバランスになる
C自体はユーザーからのアクションの受けだけする
0895892
垢版 |
2021/06/02(水) 13:14:23.79ID:OB6uFVNq
Ruby on Rails では、

V は単純に、M はDB とのインターフェースだから、
C にビジネスロジックを書いていた。
そこで、Cが肥大化した

そこで、ビジネスロジックをモデルに移した。
それが、Skinny Controller, Fat Model。
そこで、Mが肥大化した

それで、サービスオブジェクトへ分離するようになった

フォームオブジェクト・サービスオブジェクトなどは、
Railsが作ったデザインパターン

Railsは議論・デザインパターンの宝庫だから、
初心者が最初に学ぶべきフレームワークとして推奨されている

プログラミングの筋が良くなるから。
全言語の底上げになる
0896デフォルトの名無しさん
垢版 |
2021/06/02(水) 13:37:04.27ID:TLQmjHpv
Rails案件も減ってRubyの人気も低迷してしまっているこのご時勢にあえてRailsから入る奴はいないよな
他の言語ではRails以降に作られた優秀なフレームワークがあるんだし
0897デフォルトの名無しさん
垢版 |
2021/06/02(水) 17:40:34.57ID:qtmfAhQ7
vue.js
0898デフォルトの名無しさん
垢版 |
2021/06/03(木) 00:45:27.16ID:KAyuKPOb
LLVM なんかの external hidden 属性の意味が分からん。
static int s_a;
と書いた場合、そもそも、s_a のシンボルは、そのファイルの *.o の外には
export されないので、他の object からは extern しても見ることが出来ない。
なら、external hidden とは何をやっているんだろう。
リンカに -shared を指定して、複数の *.so を 1 つのshared library libaaa.so
にまとめた場合の話なんだろうか?
libaaa.so の外には export されないが、libaaa.so の中に入っている *.o
同士では見えるというような?
0899デフォルトの名無しさん
垢版 |
2021/06/03(木) 12:04:35.12ID:QPjYtuh2
情報流出のニュースがよく流れてるが
ブラウザやフレームワークはかなり安全になってるし脆弱性を作り込むことあるかね?
0900デフォルトの名無しさん
垢版 |
2021/06/04(金) 02:46:12.39ID:T0+OILo8
JSで月を入力して日数を表示するようにしたいんだけど
nisssu = [0,31,28,31,30,31,30,31,31,30,31,30.31];
tuki = prompt("月を入力してください");
alert(nisssu[i]);
この構文だとエラーが出て正しくはalertt(nisssu[tuki]);になるらしいだけど、入力した値からnissuの配列に合わせたiを表示させたいって考え方って間違ってる?
正解の(nisssu[tuki]の流れが腑に落ちないんだけど
0901デフォルトの名無しさん
垢版 |
2021/06/04(金) 07:16:14.42ID:HA+SG9aG
iはどこから来たのか
tukiはどこへ行くのか
表示したいのは何者か

何ひとつ腑に落ちない
0903デフォルトの名無しさん
垢版 |
2021/06/04(金) 08:41:42.14ID:5QdjaX9T
iを配列の添字の変数だと思っているのかな
for文でみんな説明もなくiを使うから……
0904デフォルトの名無しさん
垢版 |
2021/06/04(金) 09:40:51.24ID:6dOQNCq3
データを置く階層は深いところよりも浅いところの方がプログラムの処理速度は速いですか?

例えば、C:\Users\xxxxx\Documents\Product_A\Lot_B\Each_C\の下の\Dataフォルダよりも
C直下に置いた\Dataフォルダの方がプログラムの処理速度は速いですか?
それとも処理速度は同じですか?

コンパイル後に
C:\Users\xxxxx\Documents\Product_A\Lot_B\Each_C\ が
直アドレスに変換されているなら速度は同じだと思うんですが・・・
0905デフォルトの名無しさん
垢版 |
2021/06/04(金) 09:53:20.89ID:BzCokzlM
>>904
理論的には、ファイルパスが長いとその分ファイルパス自体に対するメモリアクセスが僅かに遅くなったり、
ディスク上のインデックスを探索してファイルを探すのが経路が伸びて僅かに遅くなったりする可能性はある
しかし現実にはファイルの中身の読み書きの方が圧倒的に時間がかかるため、「全く」影響しない
0906デフォルトの名無しさん
垢版 |
2021/06/04(金) 15:52:56.72ID:T0+OILo8
>>901-903
別の問題の配列に5,3,7,8,9を入れて全ての数字を表示させなさいっていうのでは、numの{}内の数がiに置き換わってるんだけどこれはどういうこと?
num = [5,3,7,8,9];
for(i=0; i<5; i++) {
alert(num[i]);
}
これに倣って>>900のnissuの[]内もiに置き換えることが出来るんだと思ってしまったんだけど
0907デフォルトの名無しさん
垢版 |
2021/06/04(金) 15:55:44.80ID:T0+OILo8
すみません、タイプミスしてたんでもう一度投稿しました
>>901-903
別の問題の配列に5,3,7,8,9を入れて全ての数字を表示させなさいっていうのでは、numの[]内の数がiに置き換わってるんだけどこれはどういうこと?
num = [5,3,7,8,9];
for(i=0; i<5; i++) {
alert(num[i]);
}
これに倣って>>900のnissuの[]内もiに置き換えることが出来るんだと思ってしまったんだけど
0908デフォルトの名無しさん
垢版 |
2021/06/04(金) 17:15:35.77ID:T0+OILo8
すまん、理解した
for文だとカウンタ変数としてiが使われるけど[]内が全てiに置き換えられるわけじゃないってことか
流れで勉強してたからごちゃごちゃになってしまった
どうもありがとうございました、すっきりしました
0909デフォルトの名無しさん
垢版 |
2021/06/04(金) 18:48:06.96ID:0c0chM5J
やっぱり最初は変数宣言が必須の言語
がいいね
0910デフォルトの名無しさん
垢版 |
2021/06/04(金) 23:39:50.39ID:6dOQNCq3
>>905
何億回とアクセスするので、その僅かが気になるんですけどね。
パスの長さで差があるのであればやはり短くします。
ありがとうございました。
0911デフォルトの名無しさん
垢版 |
2021/06/05(土) 00:15:38.71ID:Bf3C1+0O
そんな質問してる程度のレベルならそんな無意味なオナニーよりももっと他にいくらでも遥かに速くできる余地があるはず
まあその辺の感覚はいずれわかってくる
0912デフォルトの名無しさん
垢版 |
2021/06/05(土) 00:27:10.73ID:f5S9H8yw
>>910
>>905に書いてるのはファイルアクセスのたびに差が出る項目じゃないでしょ
本当に気になるなら実測すればいい
0914デフォルトの名無しさん
垢版 |
2021/06/05(土) 01:27:20.96ID:wpsN2NXu
1
1,000 = K
1,000,000 = M
1,000,000,000 = G

1秒間に 1,000,000,000 回命令を実行できるんだYO!
1,000,000,000 っていうのは 10億回だYO!
0917デフォルトの名無しさん
垢版 |
2021/06/05(土) 10:38:59.26ID:5ExJ61TU
ほんとうの問題点は、プログラマたちが誤った場所と誤った時点での効率について苦労して、多くの時間を浪費してしまったということにあります。プログラミングでは、時を得ない最適化は諸悪の根源なのであります。(すべてではないにしても、少なくとも悪の大部分と言えるでしょう。)
─ドナルド・クヌース
0920デフォルトの名無しさん
垢版 |
2021/06/05(土) 11:17:55.32ID:5ExJ61TU
コンピュータサイエンスに限らず、実測してみる、定量的に判断する、そういう科学的なリテラシーが身に付かなかった人は伸び悩むと思う
0921デフォルトの名無しさん
垢版 |
2021/06/05(土) 11:35:19.11ID:wpsN2NXu
>>917
> プログラミングでは、時を得ない最適化は諸悪の根源なのであります。

可哀想なことを言うなよ・・・
Googleだって自分らがやってることに意味があるんだって
必死に最適化した理由をひねり出してるんやで

Google、「Chrome 91」は23%高速化 V8エンジン改善で
https://www.itmedia.co.jp/news/articles/2105/31/news070.html
>  Googleは「これらの新機能により、Chromeは最大23%高速になり、
> 毎日のCPU時間を17年間以上節約できることになる」としている。

ほらな、最適化することで毎日のCPU時間を
17年間以上も節約できるんや。17年間やで17年間。
凄いやろ?


Chromeユーザー33億人全員の累計時間だけどな
17年=536,112,000 秒 ÷ 30億人 = 一人あたり1日 0.18秒の節約
0923デフォルトの名無しさん
垢版 |
2021/06/05(土) 13:40:34.07ID:Fz1ER27V
>>921
ネタにマジレスですまんけど、それは時を得ないという前提条件を満たしてないな
性能とセキュリティ、プライバシーは現代のブラウザシェア争いの主戦場でもある
それとも>>904が作るプログラムがChrome並に世界中で稼働するという主張かな?
0925デフォルトの名無しさん
垢版 |
2021/06/05(土) 18:25:56.31ID:wpsN2NXu
>>923
ん?何の話をしてるのかわかってない?

1日でたったの0.18秒しかCPU時間が減ってないのに
それを大幅にCPU時間の削減したように見せかける
Googleの涙ぐましい努力(笑)って話をしてるんだけど
0926デフォルトの名無しさん
垢版 |
2021/06/05(土) 19:09:17.63ID:ZdF2Vraf
>>925
俺の引用に対して「可愛そうなこと言うなよ」という話の持って行き方は噛み合ってなくて無理があるってツッコミだよ
改善の結果が技術的には小さなものだっとしても顧客や市場が好意的に反応するならその戦略は正しくペイしている
もし市場が好意的な反応を示さなかったことが判明しているならGoogleがアワレな言い訳をしているという主張にも理解するよ
Chromeの話が個人的に面白いと感じて誰かに言いたかったんだろうなということはよく伝わった
0927デフォルトの名無しさん
垢版 |
2021/06/05(土) 20:04:48.90ID:wpsN2NXu
Googleが誤った場所と誤った時点での効率について苦労して、多くの時間を浪費してしまってるってことが
わかってないのか。

1日でたった0.18秒の節約。たった
0929デフォルトの名無しさん
垢版 |
2021/06/05(土) 21:07:38.83ID:wpsN2NXu
"毎日"17年間節約っていうのを疑問に思わなかったんだろうなw
原文見ればどういう計算なのか明らか
0930デフォルトの名無しさん
垢版 |
2021/06/06(日) 05:32:12.41ID:sH+YYhze
DBサーバーからデータ取得する際、多数の項目で絞り込みが必要になってます。
例えば、ユーザーマスターから、下記条件を満たすユーザーを検索する場合です。
※全部 AND です。

・登録日がA月B日〜C月D日の間
・パスワードの最終更新日時がA月B日〜C月D日の間
・都道府県IDが1〜10の間 (都道府県コードは1(北海道)〜47(沖縄県)みたいに割当)
・誕生日がA月B日〜C月D日の間
・結婚日がA月B日〜C月D日の間
等々・・
こういう場合、一番最初の WHERE の条件で、出来るだけ絞り込むのがいいと思うのですが、
どの条件で一番絞り込めるのか不明な場合、どうすればよいのでしょうか?
0931デフォルトの名無しさん
垢版 |
2021/06/06(日) 06:16:52.71ID:XtTAwPVN
順番は関係ないし、DBMSのオプティマイザがよしなにやってくれる。
選択性の良いインデックスが張られている列に条件をつけているかどうかは考慮した方がいいが。
0932デフォルトの名無しさん
垢版 |
2021/06/06(日) 11:21:12.75ID:9mmqAG88
>>910
ネタだろうけど
path長いのが嫌だからって
全部rootとか浅いところに持って来て
一つのディレクトリ内のエントリ数増え過ぎると
アホみたいにパフォーマンス落ち始めるときもある
0933デフォルトの名無しさん
垢版 |
2021/06/06(日) 11:23:17.64ID:9mmqAG88
>>920
++
0934デフォルトの名無しさん
垢版 |
2021/06/06(日) 22:11:28.49ID:dJTGKVPN
デザインパターンとか設計思想とか全く分からないんだけど入門?としてこれ見るといいよってサイトとか書籍あれば教えて
0935デフォルトの名無しさん
垢版 |
2021/06/07(月) 10:56:46.23ID:BLDePS2Q
>デザインパターンとか設計思想とか

普通の人は入門が済んでから手をつける
0936デフォルトの名無しさん
垢版 |
2021/06/07(月) 11:53:04.81ID:TrlL7E54
分かりづらくてすまん
デザインパターンの入門としておすすめの物が知りたい
プログラムはjava silverレベルで書ける
0937デフォルトの名無しさん
垢版 |
2021/06/07(月) 11:53:34.78ID:pl6618+T
デザインパターンの宝庫は、MVC(Model/View/Controller)のRuby on Rails。
15年ぐらい、ずっと議論してる

MVCの他に、Form オブジェクト・Page オブジェクト・Service オブジェクトとか、
MVCが肥大しないように、どんどん分離していってる

ただし、Railsはプロ用。
自社開発Web 系へ転職する人用

YouTube で有名な、雑食系エンジニア・KENTA のサロンが有名。
Rails, Linux, Docker Compose, Node.js(Webpack, Babel), Bootstrap
VSCode(Remote Container, WSL2 ならRemote WSL), Heroku, CircleCI、データベース

他にも、Udemy の山浦清透も、Railsを推奨している。
AWS Fargate を使うのなら、AWSのくろかわこうへいのサロン
0938デフォルトの名無しさん
垢版 |
2021/06/07(月) 13:32:28.41ID:7qZ7vyBh
disp1に入力があればstate=loadedなので
if displ1.get():
__loaded時の処理
みたいなコードがそこそこあるんですが

is_loaded():
return bool(disp1.get())
みたいな関数作るのってどうですか。ダメですか?読みやすくなるけど…
0939デフォルトの名無しさん
垢版 |
2021/06/07(月) 15:15:53.66ID:ZOzskMEE
AGPLライセンスのライブラリを使いたいのですがどこまでソースコードを公開すればよいのでしょうか?

1, moduleA.js - AGPLのライブラリを利用
2, moduleB.js - AGPLのライブラリは不使用
3, app.js - ルーティング処理
0941デフォルトの名無しさん
垢版 |
2021/06/07(月) 15:22:58.27ID:TK3hG12A
>>938
disp1.get()に副作用がないならそういうメソッド抽出はありだと思うが
def is_loaded(self):
__return self.state == ‘loaded’
みたいに書ける設計のほうがベターだと思う
0942デフォルトの名無しさん
垢版 |
2021/06/07(月) 16:49:27.94ID:ZOzskMEE
>>940
moduleBも公開しないとだめなんですね
ありがとうございます
0943デフォルトの名無しさん
垢版 |
2021/06/07(月) 22:40:04.08ID:qUd3zbRZ
ttps://twitter.com/ozuma5119/status/1401851808939606022
これはどういう意味なのでしょうか?
https://twitter.com/5chan_nel (5ch newer account)
0945デフォルトの名無しさん
垢版 |
2021/06/08(火) 00:53:14.54ID:u53qbkBm
ローカルネットワーク上のWindowsマシン同士でシンプルなTCP通信を行うプログラムを作成しているのですが、
ポート番号はどの範囲を使えばよいのでしょうか?

wikiによると、

0〜1023:一般的なポート番号
1024〜49151:登録済みポート番号
49152〜65535:自由に使用できるポート番号

となっており、49152〜65535を使えば良いかと思ったら
そこはWindowsが動的ポートとして使っているので使えないという情報があり、
それじゃあ全部使えないじゃないか、となっています・・・。
0947デフォルトの名無しさん
垢版 |
2021/06/08(火) 06:48:16.57ID:dOMi6vvz
環境変数・コマンドライン引数で渡すとか、YML などの設定ファイルに書いておけば良い

そうすれば、ユーザーが自由に変えられる
0948945
垢版 |
2021/06/08(火) 08:32:05.82ID:Ke53ZRWk
>>946-947
そういうことだったんですね!
ありがとうございました!
0949デフォルトの名無しさん
垢版 |
2021/06/08(火) 17:27:58.53ID:l2BAfpwt
>>945
基本的には>>946の言う通りなんだけど、サーバプログラム側の待ち受けポートに
0-1023は原則的に使ってはいけない
Wellknownポートといってシステムが使う範囲ということになっているので
0950945
垢版 |
2021/06/08(火) 21:05:01.68ID:Ke53ZRWk
>>949
ありがとうございます!
さすがにそこは避けようと思ってました^^
0951デフォルトの名無しさん
垢版 |
2021/06/08(火) 21:07:05.99ID:/pGHNa0l
既得権益を、、、ぶっ壊す!
0952デフォルトの名無しさん
垢版 |
2021/06/08(火) 21:14:25.34ID:TOKjPAZ1
そういや、ゾロ目の前後は競争率が高いとか散布図で図示した人って居なかったっけ?
別の話だったか?
0953デフォルトの名無しさん
垢版 |
2021/06/10(木) 01:48:32.39ID:WxJUiwPc
データベースの物理設計と論理設計ってどう違うんでしょうか?
どちらもテーブル間のリレーション設計するだけだと思うんですが
0954デフォルトの名無しさん
垢版 |
2021/06/10(木) 09:27:45.31ID:flmyYOFU
物理設計は具体的に何社のどれぐらいの容量のHDDをどこに置くか
もちろん電源容量とかコンセントの数が足りるかとかとか考える

論理設計は具体的にどういう論理的割り振りにするか考える
0955デフォルトの名無しさん
垢版 |
2021/06/10(木) 10:10:59.52ID:/rzZEgjK
実際明確な違いはないから気にしなくていいよ
基本的に、コピペで工数を水増しするための無意味な重複工程だと思っていい
>>954の言うようにハードウェア構成にまで踏み込むのが本来の物理設計なのだけど、
島猿SIではその辺はだいたいインフラの仕事なんでそこまで厳密にDBの設計との整合性は気にしないで適当に大きなハード買って適当にクォータ設定しちゃうケースが多い
0956955
垢版 |
2021/06/10(木) 10:30:46.41ID:/rzZEgjK
ちなみに>>954を読むと物理設計としてハードウェアの枠を予め設計した上でその中身を論理設計するように読めるけど、これがまさに実態を表している
本来は全く逆で、論理設計の結果に基づいて物理設計でそれをどうハードまで落とし込むか決めるんだよ
オラクルとかのベンダーはまず自社の高い製品を買ってそれを前提に考えてほしいから逆にしたがる
0957デフォルトの名無しさん
垢版 |
2021/06/10(木) 11:50:52.24ID:8j/+Fuuo
>>953
シンプルに言うとどのHDDにデータを置くかって話だ
自作PCでも起動ドライブはSSDでデータはHDDだったりするだろ?
DBだとどこにデータを置いたら高速になるかとか、インデックスがピンと張れる方法だとか
どのドライブに何月のデータを置けばいいのかとかだよ
OracleMasterSilverぐらいの知識があれば多少は何をするのかわかると思う
まずはデータベースのテーブルがどこのHDDにあるのか、テーブルごと、インデックスごとにどういう割り振りに出来るのか
そういうところからはじめてみてはどうか?
0959デフォルトの名無しさん
垢版 |
2021/06/10(木) 14:38:57.39ID:vnbWNdgf
>>953
一般的なプログラマーはDBの論理設計の経験がないから物理設計との違いをよく理解してない

DB板で聞くか自分でググれ
ついでにリレーションの意味もググれ
0960デフォルトの名無しさん
垢版 |
2021/06/10(木) 20:18:57.75ID:S0Lqp3Qd
>>955
でもお金で解決できるなら何も問題はないのでは?
下手にケチってピーキーに設計すると泣くぞ
0961デフォルトの名無しさん
垢版 |
2021/06/10(木) 20:21:09.20ID:S0Lqp3Qd
足りなきゃ買えばいいんだよ、それが今のクラウド
しっかりとした物理設計なんて、ほとんど意味のない害悪
0963デフォルトの名無しさん
垢版 |
2021/06/13(日) 17:05:30.29ID:Ldya/JSY
) and not
0964デフォルトの名無しさん
垢版 |
2021/06/13(日) 20:56:19.05ID:STYy7gJY
>>963
すまん、ありがとう。
いや、そもそも横からなんだけどって言いかたが間違ってた。
普通に質問でよかった。
880あたりの書き込みは俺なのだが(880で書いてる一連のIDも俺)、
いま全力でCUIアプリからCについて勉強してる。
というより、このあとC++に進んでWINAPIもやらないと881にして頂いた話は何も進めないので、
正直泣きながらだ。
というより挫けてる。
Autohotkeyを使ってもGUI作成や32apiを使う点でつまるところWINAPIとセットでCやC++学んだほうがよさそうということで
はじめてはいるが、試練だなこれは。
よくわからん謎の開発環境?(VSではない)で、ウィンドウだけ出して喜んでるだけで、
その後が進まない。いや進めることができていない。
0966デフォルトの名無しさん
垢版 |
2021/06/16(水) 21:37:33.32ID:AzDBz8je
>>965
そもそもアセンブラレベルでパッチあてたりするには相当な理解力が無いと無理だから諦めたほうがいい
0967デフォルトの名無しさん
垢版 |
2021/06/16(水) 22:17:06.52ID:181t9wct
>>966
オフラインのゲームなので
ollydbgやcheat engineの中身が読めるようになればいいです。
そこまで難しいレベルのことはやろうとしてないです
0968デフォルトの名無しさん
垢版 |
2021/06/16(水) 22:40:53.92ID:7CrzTbcp
>>965
いわゆるリバースエンジニアリングと呼ばれる分野だが質問内容を見る限り全然足りていないように見える
コンピューター内で計算はどのように行われるのか、データの移動はどうするのか、周辺デバイスやOSの利用は
どうするのかなど低レイヤーの理解が無いと全く歯が立たないと思う
ちなみにCPUだがPS2はMIPS系、PS3はPPC系だ
以前に見たPS3のゲームを解析レポートだと確かIDAにPPCのプラグインを組み合わせて静的解析していたかな
それでもそれでも結構な知識と経験がいると思うが
とりあえずOSやISAの違い無視してもOllyDbgでWinゲームの改造は朝飯前くらいじゃないと話にならないのでは
0969デフォルトの名無しさん
垢版 |
2021/06/17(木) 07:38:07.73ID:B6QT+gV0
x86アセンブラを覚えるには他のプログラミング言語同様
ハローワールドからやって覚えていくもの?
それともPCのオフラインゲー解析してたら覚えられるんでしょうか。
0970デフォルトの名無しさん
垢版 |
2021/06/17(木) 07:46:05.74ID:IuszbmHt
アセンブラはCPUごとのレジスタやらメモリマップやらアドレッシングやら命令ごとのフラグへの影響やら、基礎を固めないと何もできない
0971デフォルトの名無しさん
垢版 |
2021/06/17(木) 07:57:57.58ID:hZaFEnho
>>965
すでにそういうツールやノウハウがあるんだったら
そのツールの解析からはじめたほうがいいと思う
0973デフォルトの名無しさん
垢版 |
2021/06/17(木) 08:59:56.36ID:MdpjMllh
>>972
ググって答えが見つかることしか分かりませんて状態なら、無理だから諦めろと言いたい
基礎的な知識がまったくない状態だから、遠回りしてでも基礎から地道に積み重ねるしかない
0975デフォルトの名無しさん
垢版 |
2021/06/17(木) 10:55:12.84ID:B6QT+gV0
>>973
学ぶ意欲はあるので遠回りしてでも習得したいのですが
基礎的な必要知識がなんなのか分かってない状態です
0976デフォルトの名無しさん
垢版 |
2021/06/17(木) 11:04:32.10ID:MdpjMllh
>>975
必要なところだけピンポイントで足場を固めて積み上げるなんてできないから、広く浅くでコンピュータやプログラミングの全般的なことを学びながら、段々に自分に必要な物が見えて来るようになるからそちらを深掘りしていくようにしたら?
0977デフォルトの名無しさん
垢版 |
2021/06/17(木) 11:54:29.83ID:hZaFEnho
念のため補足しとくけどドキュメントの名称だからな
ここに全部書いてあるから
0978デフォルトの名無しさん
垢版 |
2021/06/17(木) 13:47:27.99ID:xNFu7F8M
wikipediaでx86を調べて
そこでわからない単語を片っ端から
wikipediaやググってみたら?
0980デフォルトの名無しさん
垢版 |
2021/06/17(木) 17:14:07.40ID:ooZzmu2N
>>972の内容は、まぁexeだしレジスタ名称とかニーモニックからX86だろうけど
アセンブラって基本的な部分はある程度同じなんで、いきなりX86とかMIPSとか
PPCとかフル機能のCPUのアセンブラから勉強しようとするとすぐに詰むよ

アセンブラを眺める程度ならHP拾い読みでも良いけど、開発とかを行うならば
もう少し簡単なPICとかのアセンブラをしっかり勉強してからの方が近道だと思うよ

そして根本的な話でPS2とかPS3とかの開発をしたいならば別にアセンブラを
使わなくてもC++のSDKとか開発されているので、よほど低レベルな部分の
開発を行うのでなければアセンブラ必要ないよ

ps2 sdkとかps3 sdkで検索してみて
0981デフォルトの名無しさん
垢版 |
2021/06/17(木) 19:05:41.15ID:JkvBpemd
>>980
コンパイラが吐いたフル機能使いまくりのコードを
逆アセして読み解こうとしている天才がいるんだよ
アセンブラの命令すらマニュアル無しで解読する能力の持ち主なんだ
すごいだろ?
0982デフォルトの名無しさん
垢版 |
2021/06/17(木) 19:46:46.81ID:mjY/8PfV
チートの程度にもよるけど、やねうらおの書籍「解析魔法少女 美咲ちゃん」は参考になったよ
0984デフォルトの名無しさん
垢版 |
2021/06/18(金) 11:44:25.11ID:DLEaHmmC
日本では、情報処理試験の仮想アセンブラ・CASL2 が基本。
世界では、LLVM のサイトで、仮想アセンブラを学ぶ

x86 なら、OllyDbg・やねうらお・うさぴょんが有名
0985デフォルトの名無しさん
垢版 |
2021/06/18(金) 12:03:44.02ID:7Huy+AZL
漏れもやねうらは好きな方だが
初心者ならやねうらより
ISBN 4839909865
0986デフォルトの名無しさん
垢版 |
2021/06/18(金) 12:32:20.21ID:194Cy0xO
CASLはどうみても68系ベースの簡略版で、68プログラマーでもあった俺はインストラクション眺めただけで楽勝だった
0988デフォルトの名無しさん
垢版 |
2021/06/18(金) 13:39:45.56ID:WThQkiL7
func(list):
_if list[0]=a:
__for i in list:
____conv_a(i)
____write(i)

_elif list[1]=b:
__for i in list:
____conv_b(i)
____write(i)

空撃ちしたときと本番で処理違うみたいなので
こう書きがちなんだけど、よくないなっていう自覚があります
配列→微妙に異なる処理→出力 のとき、どう書いたら上手いですか?
0989デフォルトの名無しさん
垢版 |
2021/06/18(金) 13:46:33.95ID:Jo75oGSb
>>988
仕様がクソならコードもクソにしかならん
そういう状況になるのはたいてい抽象化がヘタクソ
0990デフォルトの名無しさん
垢版 |
2021/06/18(金) 14:15:44.89ID:ru+U9KL5
python で代入文は if の条件に描けないぞ
0991デフォルトの名無しさん
垢版 |
2021/06/18(金) 14:18:50.64ID:H41XlXnl
>>988
Pythonぽいけどdefないし等号も違うから何の言語か分からなかった
Pythonみたいに関数を変数に入れられる言語なら最初に適用する関数を決めるとすっきりしそう

func(list):
 # 適用する処理(conv)を設定
 if list[0] == a:
  conv = conv_a
 elif list[1] == b:
  conv = conv_b

 # リストに処理を適用して出力
 for i in list:
  conv(i)
  write(i)

aとbでlistのインデクスが違うのが気になったけど無視する
0992デフォルトの名無しさん
垢版 |
2021/06/18(金) 14:22:04.15ID:EhVYURYt
変数名に list 使うな

func(l):
if l[0] != a && l[1] != b: return
f = (conv_a, conv_b)[l[0] != a]
for i in l:
f(i)
write(i)
0993デフォルトの名無しさん
垢版 |
2021/06/18(金) 14:27:15.83ID:rMpkljNE
>>990
正確には
Pythonでは代入は文なので、条件式には入れられない。
Cなどでは代入が式なので条件式にも入れられる。
0995デフォルトの名無しさん
垢版 |
2021/06/18(金) 15:01:02.87ID:WThQkiL7
すいませんpythonスレじゃないので曖昧な書き方のがいいのかなと思って…
def func(l):
_if l[0][0] == 0:
__for i in l:
___write(conv_a(i))

_elif[0][0] == 1:
__for i in l:
___write(conv_b(i))

です.ほんとは各処理もうちょっと関数続くんですけど
いずれにせよ途中だけが微妙に違うほぼ同じ処理をきれいに書きたい

>>991
おー.見やすいです
0996デフォルトの名無しさん
垢版 |
2021/06/18(金) 15:45:26.03ID:PuJK3NPt
>>991 は仕様(実装)にバグがある
0998デフォルトの名無しさん
垢版 |
2021/06/18(金) 18:04:22.88ID:tKtuqq6N
責務の分離が上手くできてない関数の中身だけいじくり回してもキレイにはならないよ
呼び出し側やデータ構造なんかも含めて考え直さないと
0999デフォルトの名無しさん
垢版 |
2021/06/18(金) 18:38:56.71ID:9pPslW7o
メインルーチンとサブルーチンを明確に意識して
メインルーチンは処理の流れがわかるように
サブルーチンはテストして結果が出ればよしと分ける
1000デフォルトの名無しさん
垢版 |
2021/06/18(金) 21:22:28.52ID:FdpzvR5V
>>998
もっと具体的に言わないと役に立たないと思うが
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 118日 4時間 4分 34秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

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