スレ立てるまでもない質問はここで 155匹目at TECH
スレ立てるまでもない質問はここで 155匹目 - 暇つぶし2ch736:デフォルトの名無しさん
21/02/05 07:59:02.92 9WD3kXNu.net
すまほを起動するとアンドロイドの画面がでてそこからうごかない
電源OFFにしてもすぐにまた勝手に立ち上がる
電源+音量ボタンを押すとアンドロイド設定画面?みたいなのがでる
そこから電源オフをするときることはできる。リカバリーとかも選択可能
すまほとPCはつないだことがなく許可のやつは押してない
ルート化するとできるとかなんとか
こういう状態の時はスマホからでーたはもうとれないですか?

737:デフォルトの名無しさん
21/02/05 08:03:48.18 8GKLmgiB.net
>>725
ハッシュ関数の危殆化はMD5の項目にあるように、衝突耐性に脆弱性が見つかること
原文が分からなくてもそのハッシュ値となるデータを逆に作れてしまうMD5はそのため廃れた

738:デフォルトの名無しさん
21/02/05 16:22:01.86 Jaou1sNo.net
全くの素人ですが独学でプログラミングの勉強しようと思ってるんですがmacのほうがいいんですか?
検索するとWindowsも使えるmacがいいという意見のほうが多いです
キーボードの配列以外で何かデメリットありますか?

739:デフォルトの名無しさん
21/02/05 16:32:17.75 yFP4HgSW.net
>>731
Macはハードウェア、パソコンです。
WindowsはOS、ソフトウェアです。
Windowsはどのパソコンでも使えます。
だからMacでも使えるということです。
「Windowsも」使えるmacというのは結局の所
Windowsも使うということです。
Windowsしか使えないのと、WindowsとmacOSの両方を使えるのであれば
両方使えるほうがいいのは当たり前です。
デメリットはWindowsを別途買わなくてはいけないので値段が高くなる所です。
つまり高くなったとしてもmacOSを使える方がいいかどうかで決めればよいでしょう。

740:デフォルトの名無しさん
21/02/05 17:28:17.53 7kBPI4G7.net
勝又健太の最新版、Web系エンジニアを目指す手順書
KENTA、2021/02/01
Web系エンジニアを目指す人のためのプログラミング学習ロードマップ
URLリンク(www.youtube.com)
Ruby on Rails, VSCode
初心者でRubyは、すべての学校で、Mac が絶対。
最近は、仮想マシン上のLinux で、Docker も使うから、
メモリは16~32GB とか最大まで拡張すること!

741:デフォルトの名無しさん
21/02/05 17:29:20.09 k9/SK0Or.net
>>731
勉強する目的が分からないのに何がいいって誰もわからない
iOSのアプリを開発するのならMacしか選択肢は無いし新しく出たARMのMacでWindowsは使えない
趣味でしかないのなら自分で調べられない程度だと止めた方がいいし就職が目的ならプログラマ板で聞くべき

742:デフォルトの名無しさん
21/02/05 17:31:10.92 74c1z4Av.net
Rubyガイジは採用しないから安心しろ

743:デフォルトの名無しさん
21/02/05 17:37:32.25 +3DA/7eT.net
Rubyガイジって無職ぽいな

744:デフォルトの名無しさん
21/02/05 17:51:00.15 JqQJ/dMo.net
こんなのが職場にいたら関わってるうちの何人かはストレスでメンタルやられるだろう
5chがクソレスで荒らされるだけですんでるのなら、まだ軽微な損害と言えるのかもしれない

745:デフォルトの名無しさん
21/02/05 18:07:54.98 kLBnptrq.net
>>732
嘘つけ

746:デフォルトの名無しさん
21/02/05 18:11:20.36 lfh7cUd2.net
ARM版Macでも一応Windows動くらしいな
まあそのWindowsもARM版だから動いたとしても特に意味は無いけど

747:デフォルトの名無しさん
21/02/05 18:24:51.61 yFP4HgSW.net
>>739
仮想マシン使えばいいよ。
性能は落ちるけど高い機種を買えば問題ない

748:デフォルトの名無しさん
21/02/05 20:04:46.32 xFGF0wOf.net
板違い

749:デフォルトの名無しさん
21/02/06 17:02:34.55 PxbGK26v.net
すみません、本来はjavascript関連のスレッドで質問すべきですが、あまりレスがないのでこちらで質問させていただきます。
*javascriptで配列500個の変数あり
*その配列はTrue,Falseの値を持つ
*処理は1秒ごとに発生し(SetTimer使ってます)、配列の値を読み書きする。
*配列はobject型でなくboolean型にした方が処理は早くなるか?
よろしくお願いいたします。

750:デフォルトの名無しさん
21/02/06 17:14:58.09 t1aa4BmW.net
>>742
人に聞くより自分で比較する方が早いんじゃね

751:デフォルトの名無しさん
21/02/06 17:16:07.65 6eQmSTNr.net
JavaScript の質問は、web制作管理板の方へ書き込んでください!
この板のスレは、web制作管理板が荒らされた時に、緊急避難用に立てただけだから

752:デフォルトの名無しさん
21/02/06 17:21:11.13 eJ93gyKU.net
自分はいつでもどこでもスレチなRubyの話をし出すくせに他人のJavaScriptの話には絶対イタチがどうとかレスするよねこの人

753:デフォルトの名無しさん
21/02/06 17:24:50.67 xuEfQm7n.net
真性のキチガイだから、知能で判断して行動してるのではなくボットみたいに定型的な行動を繰り返すだけの壊れた機械なんだろう

754:蟻人間
21/02/06 17:41:25.62 gG6zzvvp.net
>>742
(function(){
let ary = [];
ary.length = 10000000;
for (let i = 0; i < ary.length; ++i) {
ary[i] = false; // null or false
}
let count = 5, sum = 0;
for (let k = 0; k < count; ++k) {
let time0 = Date.now();
for (let i = 0; i < ary.length; ++i) {
ary[i] = (Math.random() > 0.5);
}
for (let i = 0; i < ary.length; ++i) {
ary[i] = (Math.random() > 0.5);
}
let time1 = Date.now();
sum += time1 - time0;
}
alert(sum * 1.0 / count);
})();
【結果】
null: 738.8
false: 594

755:蟻人間
21/02/06 18:24:05.39 gG6zzvvp.net
Microsoft Edgeで表示中のウェブページの画像全部ダウンロードできる、凶悪なJavaScriptプログラム配布中。。。
URLリンク(github.com)
試してみてね。

756:デフォルトの名無しさん
21/02/06 18:31:30.57 pJAT2BWO.net
またWindowsか・・

757:デフォルトの名無しさん
21/02/06 19:04:02.65 do+3t/u8.net
>>742
True/Falseの値を持つのにbool型じゃなくobject型にしたい理由って?
配列500個というのが1つの配列の要素数が500という意


758:味なら 1回の処理で何度も何度も回さない限り処理速度を気にするようなものじゃないと思うんだが



759:742
21/02/06 19:35:20.76 PxbGK26v.net
>>747
ありがとうございます!
>>750
間違ってたら、すみませんが、
var arr = new Array(1000);
の宣言だとobject型になりますよね。
これをboolean型で宣言する方法が難しかったので、聞いてみました。

760:デフォルトの名無しさん
21/02/06 20:05:40.24 gs+WDl+6.net
>>751
要素入ってないから型もなにもないでしょ
何をもってobject型だと判断したの?

761:デフォルトの名無しさん
21/02/06 22:30:40.68 IIwiGG/p.net
JavaScriptでは要素の型は宣言できないよ
入れた値によって動的に決まるので考えなくていい
型付き配列といって配列に似たInt8Arrayのようなオブジェクトもある
性能は実装に依るので速くなったり遅くなったりするらしい

762:742
21/02/07 02:10:03.75 Z3KLeyYV.net
レスありがとうございます。
そうだったんですね。

763:デフォルトの名無しさん
21/02/07 12:11:36.54 3yLZFTJu.net
Swiftですが、例えばアプリ画面に配列の要素数に対応した値を表示させるとした場合、それぞれの要素数ごとに条件分岐させないとダメなのでしょうか?

764:デフォルトの名無しさん
21/02/07 13:48:54.86 hwDwbBnD.net
> 要素数に対応した値
ここが要素数に依存する出力なら条件分岐しなくてもかける

765:デフォルトの名無しさん
21/02/07 15:30:25.27 AkpxQPsh.net
e.lastとか

766:デフォルトの名無しさん
21/02/08 03:39:57.39 eAvRwRpe.net
大学生です
遠隔授業のため現在授業の出席確認がGoogleFormで行われております。(urlから番号と名前を入力する形式)
来年以降もおそらくその流れが続きそうなのでそれを自動化したいなと考えています。
今考えているのは以下の流れです。
ラインなどでurl送信→それを感知してurl開き、番号と名前入力、出席送信 
どの言語を学べばよいでしょうか?
軽く調べたところソフトウェアとかになるのでpythonとかかなと思ったのですが、いかがでしょうか?

767:(u_・y)
21/02/08 03:59:21.30 tUszODGz.net
(u_・y)文系乙

768:デフォルトの名無しさん
21/02/08 05:07:19.48 S+J/M93m.net
質問に答えられない土方コーダー「文系乙」

769:デフォルトの名無しさん
21/02/08 06:33:50.01 4iOoIICx.net
>>758
んだね
python フォーム 自動入力
で検索

770:デフォルトの名無しさん
21/02/08 07:32:33.23 VfivF5wM.net
>>758
素直に単位落として留年しとけ

771:デフォルトの名無しさん
21/02/08 15:22:53.20 TxCBSk9L.net
>>758
>ラインなどでurl送信
これは誰がどこにURLを送信する話?

772:デフォルトの名無しさん
21/02/08 15:25:22.40 XA5gECfn.net
url送信を感知…センサーでもつける気か

773:デフォルトの名無しさん
21/02/08 16:04:37.88 mAwBmzXL.net
IntelliJ で go で開発してるんですが、デバッグ実行しようとすると
コンパイルエラーがあっても以前の成功ビルドが勝手に起動するようになってしまいました。
プロジェクトをリポジトリから clone しなおしてみたり、個人設定(%APPDATA%\JetBrains\IntelliJIdea2020.3)を消して
やり直してみたりしましたが変わりません。
どこかに設定があるのでしょうか?ご存じの方いらっしゃいましたら宜しくお願い致します。
バージョンは IntelliJ IDEA 2020.3.1 Build #IU-203.6682.168, built on December 29, 2020 です。

774:デフォルトの名無しさん
21/02/08 18:21:00.01 lF6Wq/Jt.net
>>761
ありがとうございます!出てきたやつをアレンジしていけば比較的楽に作れそうですね
>>763
>>764
学年のラインにurl共有されるのでそこでの新規メッセージの通知が来るのをトリガーとかにできないかなぁと考えてました 

775:デフォルトの名無しさん
21/02/08 18:23:46.69 0fSH6U0R.net
NHK Eテレに出てる、Ruby の女神・池澤あやかは、
慶応大学生時代に、そういうツールを作って自動化していた
例えば、Ruby, selenium-webdriver で、yahoo へ自動ログインする。
ひょっとしたら、wget, curl コマンドでも、フォーム送信できるかも
require "selenium-webdriver"
options = Selenium::WebDriver::Chrome::Options.new
options.add_option( :detach, true ) # ブラウザを切り離す
options.add_argument( '--start-maximized' ) # 画面最大
driver = Selenium::WebDriver.for :chrome, options: options
driver.manage.timeouts.implicit_wait = 10 # default timeout
driver.navigate.to "URLリンク(login.yahoo.co.jp)
element = driver.find_element(:id => "username")
element.send_key "ユーザー名"
driver.find_element(:id => "btnNext").click # ボタンをクリック
element = driver.find_element(:id => "passwd")
element.send_key "パスワード"
driver.find_element(:id => "btnSubmit").click # ボタンをクリック

776:765
21/02/08 18:36:03.43 mAwBmzXL.net
自己解決しました。勘違いでした。
ウェブのロジックを書いてたんですが、対象のファイルを router に書いてなかったから
プロジェクトの依存関係に含まれてなかったみたい。
go のプロジェクトの概念だと、追って行って繋がらない物はそもそも依存関係に含まれないんですね。

777:デフォルトの名無しさん
21/02/08 18:45:39.37 L1DIPYtE.net
IEの時代はRubyも何も入れないでWSHで無双できた
戻りたいか?と言われたら否と答えるが

778:デフォルトの名無しさん
21/02/08 19:51:53.33 kDZG9/tB.net
今はWSLがあるからシェルスクリプトで無双できるしね
Windowsはすごく良くなったよ

779:デフォルトの名無しさん
21/02/08 21:19:17.75 TxCBSk9L.net
>>766
LINEでメッセージを受信したのを自動で検知するということだと
LINE Botを作って運用するかIFTTTみたいツールで連携する話になるので若干ハードル高め
手動でリンクを開いたり自作のアプリに渡したりするのでよければハードル低いけど
スマホ前提ならPCみたいに自由にはできないので要注意
手動でリンクを開いてブックマークレット(JavaScript)をワンタップして処理するか
iOSならpythonistaにURLスキームで渡すか
素直にOSのAutofill機能を使って手動で数タップするか

780:デフォルトの名無しさん
21/02/09 00:37:24.87 n4fLaJzx.net
LINE Botを作るのが最強っぽいけど、ここは健全に、自前アプリを作ってリンクを踏んだときに開くように紐付けようぜ
ブラウザでは開かず、フォームが毎回同じなら回答先アドレスにHTTP POSTかGETでいきなり回答を送る
違うならHTMLを裏でパースしてから同じように送る
gasが便利に使えそうなら使う
そしてほどほど便利な健全アプリができたら100円くらいでみんなに売ろう
広告アプリでもいい
AndroidならKotlin、iPhoneならSwiftで

781:デフォルトの名無しさん
21/02/09 01:53:52.16 n9olesbz.net
そのうち講義を受けてないと答えられない質問が
ランダムに5問くらいずつ出されるようになる

782:デフォルトの名無しさん
21/02/09 23:46:10.21 jGeSSrjn.net
>>767
ありがとうございます まだ勉強が浅いため学んだ後に参考にさせていただきます
>>771,772
PCでの動作を考えていました linebot ちょっと勉強してみます
今のところまだ全然用語についていけていないので春休み中に頑張って作ってみたいと思います

783:デフォルトの名無しさん
21/02/10 16:48:55.15 ljUb2Upc.net
=や式を詰めて書いてましたけど左右に空白を入れた方がいいんですかね?
あと , の後ろの空白一文字も必要ですか?
var=5+ary[3,4]
↓変更
var = 5 + ary[3, 4]

784:デフォルトの名無しさん
21/02/10 17:00:28.53 DKgAl10f.net
好み

785:デフォルトの名無しさん
21/02/10 18:51:12.65 WeU5fM2j.net
良くあるルールは演算子の間にスペース入れる
カンマの後にスペース入れる(前には入れない)

786:デフォルトの名無しさん
21/02/10 18:59:13.40 ApG6WxXu.net
もう全部linterに任せてる

787:デフォルトの名無しさん
21/02/10 21:56:59.24 kDXEbzyj.net
どっちでもいい(どうでもいい)ことはlinterに任せるのが正解
趣味ならともかくそんな所に時間を費やする意味はない
どっちでもいいものは、どうせ意見が分かれる
マジどうでもいい

788:デフォルトの名無しさん
21/02/10 22:10:17.86 UvJeGuAM.net
イベントソーシングがわからん
メリットで任意の時点のエンティティを復元可能と言ってる奴が多いんだが…
任意の時点に戻すためにはエンティティのクラス定義も過去の全バージョン残さないと出来ないよね?

789:デフォルトの名無しさん
21/02/11 00:23:33.91 MYnJXR31.net
>>780
データベースの更新データみたいなものだよ
スナップショットを溜め込むのではなく、更新操作を蓄積する
排他処理によって更新操作の時系列を保証するのは容易
そして必要に応じてロールフォワードすれば任意の時刻の状態を復元できる
整合性を高めたい場合に使う

790:デフォルトの名無しさん
21/02/11 00:23:51.33 lj0aoxL+.net
>>775
スペースがほどよく入ったフォーマットの方がいいだろうね
仕様変更やバグ修正を積み重ねるような機会があると、ソースは書きやすいことよりも読みやすいことの方が重要だと痛感する
hoge_piyo-foo_bar(4,300) よりは
hoge_piyo - foo_bar(4, 3000) のほうが視覚→脳がミスなく高速処理しやすい
細則に拘らずオートフォーマッターに任せるべきというのは同感

791:デフォルトの名無しさん
21/02/11 00:31:47.91 MYnJXR31.net
>>780
現実生活じゃ普通に行ってるやり方でもある
例えば帳簿ね
入金とか出金といった項目を時系列に付けることで、最終的に資産を矛盾なく把握できるように管理している

792:デフォルトの名無しさん
21/02/11 00:55:49.99 S0hZMzMn.net
イベントソーシングは概念はわかるけど実装方法がわからん
時刻=t、ID=idのHogeのエンティティを取得するメソッドのシグネチャはどうなる?
Hoge getHoge(id, t)
Hogeはシステムの保守拡張で型定義が変わっていく
けどこの定義じゃ最新版のHogeしか取れない
任意のtに対してこれを実装したかったら過去のバージョンのHogeもコードに残さないといけない
Object getHoge(id, t)
var h = getHoge(id, t)
if (h is Hoge_V1) ...
if (h is Hoge_V2) ...
...

793:デフォルトの名無しさん
21/02/11 01:05:43.36 MYnJXR31.net
>>780
また、デザインパターンでのコマンドパターンにも近しい
コマンドパターンは例えばテキストエディタでのアンドゥリドゥの実現に使われる
記録してある操作を逆再生することで、任意の時点のテキストを復元する機能にお世話にならない人は少なかろう
これなんかは経験からイメージしやすいのではないか?

794:デフォルトの名無しさん
21/02/11 01:11:01.49 MYnJXR31.net
>>784
それは無茶苦茶
それはイベントソーシングでない場合なら可能か?
テーブル定義が変わっても、その前後で一貫性のあるシステムにしたい
そんなのと同じ夢を見ている

795:デフォルトの名無しさん
21/02/11 01:19:29.62 MYnJXR31.net
>>784
むしろイベントソーシングならばこそ可能になりそうな気もする
オブジェクトのメタ情報に対する更新にアクセスする方法もイベントとして記録出来ればいい
データベースならばDDLの実行もイベントとして記録して、テーブルの構成が変わった時点よりも巻き戻す場合にはDDLも巻き戻す
そんな阿呆なシステムを考えるやつは居ないが

796:デフォルトの名無しさん
21/02/11 01:24:17.17 PvN170ep.net
>>784
データベースにカラムを追加する時どうするのか考えればわかるやろ
既存のアプリと互換性のある方法で拡張するか
既存のアプリとは互換性のない方法で拡張するか
後者を選んだら互換性のない過去データはそのまま読めないので
過去データ専用のロジックを残すか過去データを新しい形式に変換するか

797:デフォルトの名無しさん
21/02/11 12:59:51.92 b5KexMPk.net
ようするにシステムを任意の時点に戻せるって嘘だったのか?

798:デフォルトの名無しさん
21/02/11 14:06:06.77 MYnJXR31.net
>>789
それを嘘と言うのは、鉱石まで戻せないから嘘だと言うのと、程度の差以外どう違うのか分からないな
そういう意味で言うならば、嘘だよ

799:デフォルトの名無しさん
21/02/11 14:54:07.70 5Dfgfpv3.net
過去のプログラムがコンテナイメージとかで完全に保全されている前提で
↓みたいにひたすらシステムバージョンアップとイベント再生を繰り返す
foreach e in getAllEvents()
 updateSystem(e.SystemVersion)
 waitSystemReady()
 sendEvent(e)
これで任意の時点にもどせるってことなのかな?
イベントソーシングだけじゃなく完全なIasC化、インフラ構成ファイルの全バージョンの保全まで考えないと任意の時点に復旧はできなそうだね

800:デフォルトの名無しさん
21/02/11 15:00:43.14 5Dfgfpv3.net
ここまで頑張ってようやっと過去にもどせたとしても
過去に戻せるメリットが正直、微妙だ
デバッグの再現性?
過去のイベントを分析してマーケティングに活かせる、だとか
そういったメリットなら価値がありそうだけど
、戻せたからっていったい何になるんだろ?
イベントソーシングってほんとに現場で役に立ってるのか?
足かせになってない?

801:デフォルトの名無しさん
21/02/11 17:01:22.40 PvN170ep.net
>>789
イベントソーシングを採用してるシステムは
そのシステムを任意の時点に戻せると聞いたならそれが間違ってる
対象はあくまでアプリケーションが管理してる状態(≒データ)で
任意の時点の状態を再現可能というだけ
DBのトランザクションログと同じ
システム構成やコードをデータとして管理して
任意の時点の状態を再現可能するのはバージョン管理システムの役割
Gitみたいなバージョン管理システムもイベントソーシングと共通した考え方

802:デフォルトの名無しさん
21/02/11 17:04:31.69 MYnJXR31.net
お前、ちょっと会社の経理部に行って
「帳簿付けなんて無意味じゃないの?役に立ってるの?」
とか言ってこい

803:デフォルトの名無しさん
21/02/11 17:15:58.93 kEYHl+PL.net
>>793
その任意の時点の状態の再現ってのが、言われてるよりずっと難しいんじゃないのか?
難しい割にメリットが少ないんじゃないか?
というのが俺の疑問ね
イベントストリームだけ残ってても、イベントを再生するプログラムがなければ、状態を再現なんてできない
過去の全てのプログラムやインフラ構成までバージョン管理しないと、タイムマシンにならない

804:デフォルトの名無しさん
21/02/11 17:19:58.14 kEYHl+PL.net
>>794
それは詭弁
データにビジネス上の価値があるのは当たり前
問題にしてるのは、イベントソーシングによるタイムマシン機能が実現の困難さ以上の価値を開発にもたらすかどうか

805:デフォルトの名無しさん
21/02/11 17:27:20.06 MYnJXR31.net
>>796
タイムマシン機能なんて副次的な特殊効果に過ぎない
本来の目的は整合性の確保
最初に >>781 で言ってるだろが

806:デフォルトの名無しさん
21/02/11 17:40:01.39 MYnJXR31.net
現実でも(帳簿などで)実績のあるやり方を、俺の目的には合わないから無意味な方法じゃないかとか何様よ

807:デフォルトの名無しさん
21/02/11 17:56:17.77 kEYHl+PL.net
>>797
ではなぜイベントソーシングを紹介する人は任意の時点に戻せることを決り文句のように言うのだろう?
>>798
さっきも言ったとおり
会計やその他のビジネスで役に立つからと言って開発でも必ず役に立つとは限らない
何事も実装コストと得られるメリット次第だろ?

808:デフォルトの名無しさん
21/02/11 18:06:26.39 lj0aoxL+.net
メリットデメリットがあるのは当然
フィットするユースケースもあればそうでない場合もある
今回は中途半端な理解に基づいて
おかしなユースケースと紐付けて的外れな分析をした上で
イベントソーシングはきっとデメリットのほうが多いので微妙と思い込んでるのだから独り善がりが過ぎる
これもう先入観によって導かれた結論ありきの思考回路だから、掲示板で皆が説明しても到底伝わらないやつ

809:デフォルトの名無しさん
21/02/11 18:19:22.98 UlgLgEFI.net
そもそもの発端は>>780あたりでメリットデメリット以前の問題としてエンティティを任意の時点に巻き戻す処理の実装が難しすぎるという事だった
これに対する実現性と保守性の高い実装方法に関する回答は今のところ1つも無い
実装できないもののメリットを語っても虚しいだけだ

810:デフォルトの名無しさん
21/02/11 18:26:01.93 MYnJXR31.net
>>801
>>785 ………

811:デフォルトの名無しさん
21/02/11 18:33:45.62 UlgLgEFI.net
>>802
>>780で言ってるのは
システムのバージョンアップによる型定義の変更等々を超えて任意の時点のエンティティを再現するにはどうすればいいのかという意味合い
同じプロセス内の文字列という安定的な型に対する履歴管理とは別次元の問題だがわからん?

812:デフォルトの名無しさん
21/02/11 18:41:56.01 MYnJXR31.net
>>803
>>786 ……

813:デフォルトの名無しさん
21/02/11 18:46:31.54 lj0aoxL+.net
エンティティの型定義が変わるようなケースではイベントソーシングは汎用的な処方箋じゃない
それはそれで問題ない
実際に仕様変更があったとしても個別対応はどうとでもなる
アプリ側はいつだってジャーナルを元に再計算できるんだから、バージョンアップ時に普通に新規フィールドを追加するなりすればいい
古い形式のイベントデータを受け取ったら追加フィールドにはデフォルト値をセットするだけ
クラウドとの親和性と更新トランザクションの高スループットといったスケーラビリティを確保しつつ履歴方向への機能性を高くできるのが売り
RDBMSを使った既存のオンプレミスな開発等が楽になることは主眼としてないし、変なところに無理矢理当てはめて開発者たちが苦労を強いられてるなんてのは妄想

814:デフォルトの名無しさん
21/02/11 19:03:07.50 UlgLgEFI.net
>>804
つまりできないと?

815:デフォルトの名無しさん
21/02/11 19:08:07.56 00tB7xH9.net
できるって書いてるのにできないことにしたいらしいw

816:デフォルトの名無しさん
21/02/11 19:10:01.59 UlgLgEFI.net
>>805
定義(プログラム)を変えて再計算では、任意の時点を再現しているとは言えないかな
それは似て非なるものでしょう
更新のスループットとかなら、わかりやすいメリットなんだけどね
任意の時点を再現可能ってのはイベントソーシングを説明するとき、言わないほうがいいんじゃないかと思う

817:デフォルトの名無しさん
21/02/11 19:10:32.49 UlgLgEFI.net
>>807
サンプル実装書いてみて、どうぞ

818:デフォルトの名無しさん
21/02/11 19:21:36.47 MYnJXR31.net
>>806
>>787 ……
あほらしい
もう相手するのはやめるわ

819:デフォルトの名無しさん
21/02/11 19:28:00.09 UlgLgEFI.net
>>810
これがメンテナンスしやすいとは全く思えないんだけど
実装するコストとメリットって見合う?

820:デフォルトの名無しさん
21/02/11 19:41:44.39 lj0aoxL+.net
>>808
任意の時点を再現って誰がどういう文脈で言ったんだろう
少なくとも俺はそういうこと言ってないよ
任意の時点の預金残高を再現するといったことは可能だと思う
たとえば操作や出来事を全部イベントで記録したレースゲームを作ったら、自由に停止やシークができるリプレイ機能を用意できる
バージョンアップでブースト操作や亀の甲らを投げる機能が増えたとしても、前バージョンのリプレイが再生できなくなるとは限らない
そういうのを見て「任意の時点を再現する機能がある」という人がいても不思議だとは思わないな

821:デフォルトの名無しさん
21/02/11 19:50:48.91 UlgLgEFI.net
>>812
ググって見つけたイベントソーシングについて説明してる記事ではタイムマシン機能をメリットの1つとして挙げてることが少なくない
どの記事もこの点はサラッと流してあまり深く掘り下げてないけど「なのでデバッグも簡単」まで言っちゃってるサイトがたまにある
当たり前だけどプログラムの内部的な構造までその当時まで巻き戻せないとデバッグはできない
なので自分はそういうのを実現するためのフレームワークやデザインパターンでもあるのかなと思って質問に来た

822:デフォルトの名無しさん
21/02/11 21:27:20.82 0qiJ42Ry.net
>>813
イベントソーシングはあくまでデータモデリングのパターンなんで、現在の状態は過去の全イベントデータから導出される単純なビューであることが大前提
プログラムのロジックは無関係

823:デフォルトの名無しさん
21/02/11 21:29:49.04 kEYHl+PL.net
>>814
でもデバッグって言ってるから
そこ解決したら終わりでいいんだけど

824:デフォルトの名無しさん
21/02/11 21:33:43.91 PvN170ep.net
>>814
イベントデータから導出するロジックが
プログラムのロジックだから関係あるよ

825:デフォルトの名無しさん
21/02/11 21:36:56.57 0qiJ42Ry.net
>>815
デバッグにも色々あるでしょ
何もプログラムを動かしながら観察することだけがデバッグじゃない
>>816 違う、イベントを発行するのがプログラムのロジックだ
だからイベントの時系列を追っていけば、どこで誤りがあったかはわかる

826:デフォルトの名無しさん
21/02/11 21:38:32.93 kEYHl+PL.net
ようするにそのビュー(=プログラ厶)ってやつを過去の全バージョン保持し続ければ、過去の任意の時点に戻ってのデバッグはできるだろう
でも明らかにコードがカオスになるんだよね、これ
保守性を犠牲にしないでこれを実装する方法は?というところを知りたいの

827:デフォルトの名無しさん
21/02/11 21:45:25.04 PvN170ep.net
>>817
それはイベントを発行するプログラムのロジックには関係ないというだけ
発行されたイベントを利用する側のプログラムには大いに関係ある
current_state = events.reduce(reducer, initial_state)
どういう風に畳み込むかはイベントの種類や表現する状態による
つまりreducerにそのロジックが入るということ
口座なら足し算引き算したり、5chのスレならレスを追記したりするロジックが入る

828:デフォルトの名無しさん
21/02/11 23:48:31.78 lj0aoxL+.net
過去の全バージョンのプログラムを持つような手法がイベントソーシングであるという勘違いを捨てない限りはモヤモヤは解決しないだろうな
デバッグでググってみた限りでは、大したことを言っている人は見つからなかったよ
データを再現可能なフルセットで持ってるので◯月×日△時に発生した不具合をデバッグ時にすぐ再現できるのが強みですねという程度
そのときだけ


829:表示が不正だったとか性能低下があったとかシステム間連携でエラーログを吐いてたとか ここでの調査では別にイベントソーシングが全ソース履歴を司っている必要はなくて、Gitでその時点のソースにswitchした上でジャーナルをその時点までたどれば状況が再現すればいい



830:デフォルトの名無しさん
21/02/12 02:08:50.31 9DTGTrCk.net
この手の話なんて現実的でない理想論ばかりだよなぁw
何とかアーキテクチャやらなんとかパターンとかはっきり言ってそんなの習っても
仕事で役に立つことは殆ど無い
というか当たり前の事を言っている事が多すぎなんだよねw

831:デフォルトの名無しさん
21/02/12 02:27:35.06 IU5AN8go.net
当たり前の事も知らん奴が、スレ立てるまでもない質問をするスレなんだから、何を今さら
そして当たり前の事をないがしろにする奴が設計を語るなよ
当たり前の事を知るのは複数の視点を引き出しとして持つこと
役に立たないのは、視点を活用してないだけ
引き出しが無くて、適している適していないをどう評価すんの?
おおむね設計なんて取捨選択だぞ

832:デフォルトの名無しさん
21/02/12 05:04:54.79 tz+82o+A.net
>>821
> 何とかアーキテクチャやらなんとかパターンとかはっきり言ってそんなの習っても
> 仕事で役に立つことは殆ど無い
でもそれは言語自体やライブラリやフレームワークで使われてるよ
つまりCPUの仕組みとかと同じように
お前は使わんけど、お前が使ってるソレを実現するために必要なものということ
まああれだ、作る側ではなく使う側の人間には必要ないということ

833:デフォルトの名無しさん
21/02/12 22:31:17.29 NzpT2ZQ6.net
昔、夢幻っていうCGIとかPHPとかのサンプルコードが
たくさん置いてあったサイトがあったと思うのですが、
いま、ああいうサイトってどこかありませんかね?
他人の書いたソースコードを読んで勉強したいのです

834:デフォルトの名無しさん
21/02/12 22:50:05.21 82D6PoJM.net
ギフハブ

835:デフォルトの名無しさん
21/02/12 22:53:57.11 0z7QwFq3.net
CGIなんて死滅してるからなぁ

836:デフォルトの名無しさん
21/02/12 23:32:19.90 YzZUcsVq.net
基本的な質問ですみません。
webで画像を読み込んだときに非表示の場合でもキャッシュに残るでしょうか?

837:デフォルトの名無しさん
21/02/12 23:44:31.36 0z7QwFq3.net
ブラウザとその設定次第

838:827
21/02/12 23:51:43.69 YzZUcsVq.net
追記
すみません。
専門的にいうと画像をdisplay:noneで隠した場合でもキャッシュに残るでしょうか?

839:デフォルトの名無しさん
21/02/12 23:53:13.27 0z7QwFq3.net
だからブラウザと設定次第
理解したくなさそうだから具体的に言えば
ブラウザや設定によって
キャッシュに残る場合もあるし残らない場合もある
どちらもあり得る

840:827
21/02/13 00:27:01.04 H27pyQq6.net
>>830
ありがとうございます。
そうなんですね。
やりたい事はwebの監視モニター(1秒更新)でセンサーの情報を取得して該当する100個の画像のいずれかを表示するのですが、そこでできる限りサーバーからでなくキャッシュで読みたい。
そこに行く前のはじめのページで画像100個を表示してキャッシュさせるのは格好が悪い。
それで非表示でキャッシュできないかを考えたのです。

841:デフォルトの名無しさん
21/02/13 16:05:31.51 w4B5IcG+.net
HTML のメタタグのキャッシュ関係のタグとかかな?
それと、各ブラウザの対応状況
HTML・ブラウザの機能は、
この板よりも、web制作管理板で聞いた方が良いかも

842:デフォルトの名無しさん
21/02/13 17:23:54.81 OgPA4E5h.net
技術評論社の本には同じプログラミング言語でも、
パーフェクト〇〇シリーズと本格入門〇〇シリーズがありますが、
これは本のレベルが違うんですか?
初心者はまず本格入門から入って、その後でパーフェクト〇○シリーズを読む、
という順序でしょうか?
それともそんなこと気にしないで、どっちから始めても全然問題ないんでしょうか?

843:デフォルトの名無しさん
21/02/13 17:38:04.12 j0JOetNb.net
>>833
・言共通語の文法を覚える 変数とかif文とか
・ローカルのやつを覚える 
とは別に
・設計的な意味でのプログラミングを覚える
だよ
上は必須下は適時

844:デフォルトの名無しさん
21/02/14 01:28:01.16 pECDa47U.net
ホスト、サイト、ドメイン、オリジン、エンドポイント
意味合いは微妙に異なるんだけど、結構重なる場面も多くて悩む
他の人はどんな場面で使い分けてるかアンケートしたい

845:デフォルトの名無しさん
21/02/14 01:53:55.59 pIQ+ADDG.net
意味はぜんぜん違うだろ

846:デフォルトの名無しさん
21/02/14 02:03:31.78 53rIPsFH.net
アプリの通知が来たらその内容を自動ツイートしたいんですけどなにか良い方法ありますか?
例えばスポーツのスコア通知が来たらその内容をツイートするとかです。

847:デフォルトの名無しさん
21/02/14 02:15:59.33 pIQ+ADDG.net
自分で作ればいいだろ

848:デフォルトの名無しさん
21/02/14 02:23:42.90 ouLbdUdH.net
>>837
TaskerやIFTTTのような自動化ツールで通知でトリガーする

849:デフォルトの名無しさん
21/02/14 02:43:19.39 ouLbdUdH.net
>>835
全部サーバーの類じゃねーか!って混乱してる?
ホスト、店員、PTA、発言者、どれも人だけど混乱しないでしょ?
何にせよ過度に一般化して捉えたら違いは分からなくなる
基本、英単語のニュアンス通りに理解すればいい

850:デフォルトの名無しさん
21/02/14 03:51:48.13 K2VDjDyL.net
>>833
改訂2版 パーフェクトRuby、2017
パーフェクト Ruby on Rails 【増補改訂版】、2020/7
こういう、パーフェクトは入門用じゃない。
環境構築・ライブラリ・フレームワーク・テストなど、開発の全工程を含んでいる
他言語での全工程を知っているなら、読める

851:デフォルトの名無しさん
21/02/15 18:00:05.55 KpgzCTw5.net
外部ファイル群を隠蔽したいのだけど
もう既に色々な形式のファイル作っちゃってて
特殊なアーカイブにするとアクセスが面倒なので
フォルダ構造上手く残したままどうにかフォルダだけ
外部から簡単に見えないように隠蔽出来ないかな?

852:デフォルトの名無しさん
21/02/15 18:06:24.80 KpEjrxqs.net
Linuxならドットファイル
Windowsなら隠しファイル属性
でええんじゃないの

853:デフォルトの名無しさん
21/02/15 18:08:22.75 jcJa8JQ7.net
www.example.comがFQDNでwwwがホスト、example.comがドメイン
ITパスポートレベルですな

854:デフォルトの名無しさん
21/02/15 18:14:46.50 Y9YOwFs/.net
勉強したことないんだろう?使い分けるじゃなくて用語の定義が違ってる
人から聞いた用語を使ってるだけで勉強してない

855:デフォルトの名無しさん
21/02/15 18:17:51.88 KpgzCTw5.net
>>843
Windowsだけど隠しファイル表示する設定にしてたら見られるのがねえ…
どうにか上手い方法はないものかな?

856:デフォルトの名無しさん
21/02/15 20:05:15.27 YmSVN6ap.net
>>842
それやるとEPPからマルウェア判定喰らうから気を付けてな

857:デフォルトの名無しさん
21/02/15 20:55:32.30 KpgzCTw5.net
>>847
見えてもいいけど、エクスプローラーからはアクセス出来ないとかも無理かな?
プログラムからだけ少し手続き踏んだらアクセスできるみたいな。
やっぱちょっと方向性自体が不正っぽいかな。

858:デフォルトの名無しさん
21/02/15 22:12:24.40 aLBeV9m+.net
動画・画像・音声とか、リソースを盗まれたくない人が、よく言ってる

859:デフォルトの名無しさん
21/02/15 23:34:13.40 Yv9X0Du7.net
>>848
AppDataとかデフォルトでhiddenのところを使えば?
もう少し手間を書けたければxlsxみたいに独自の拡張子でzip
ファイルをファイラーから見えなくするのは無理

860:デフォルトの名無しさん
21/02/15 23:36:47.75 XKgsUmmn.net
つーか隠しファイルは隠せよ
どうせユーザーファイルで隠しファイルなん作らねーだろ?
Linuxだったら.で始まるファイルは隠しファイル扱いで表示しないと困ることが多いが
Windowsだったら.で始まっても表示されるだろ?
Windowsでは、隠しファイル=システムファイル+隠しファイルなので
見えている必要がない

861:デフォルトの名無しさん
21/02/16 01:53:10.36 oqDsb3O7.net
本買わないでYouTubeで見ながらHTML学んでいるのだが
<h1>あああああ</h1>の場合って<p></p>による段落がどうして不要なの?

862:デフォルトの名無しさん
21/02/16 02:28:44.75 KZAm4Q8q.net
そもそもh¥dはセクションの見出しであり段落の要素ではない
そんな動画見て勉強するよりmdnのweb入門読め

863:デフォルトの名無しさん
21/02/16 08:19:17.23 RYUhgVUG.net
>>852
<h1>~<h6>と<p>は段落要素なうえ、その中に更に段落要素が含まれる事がないから
後で学習するであろう<div>も同様
段落要素の逆の概念としてインライン要素ってのがあって、
それらは段落の中に入れ子される

864:デフォルトの名無しさん
21/02/16 09:22:49.02 ZcpmZlC/.net
> <h1>~<h6>と<p>は段落要素なうえ
間違い。段落は<p>だけ
> その中に更に段落要素が含まれる事がないから
<h1>~<h6>に<p>が含まれることがある=<h1>~<h6>は段落でない証拠
> 後で学習するであろう<div>も同様
<div>は段落ではない
> 段落要素の逆の概念としてインライン要素ってのがあって、
インライン要素はブロック要素の逆の概念
段落ではない
> それらは段落の中に入れ子される
入れ子の関係はブロック要素とインライン要素とは無関係
HTML5ではブロック要素とインライン要素は定義されてない
なんつーか、典型的な素人フロントエンドエンジニアの知識だよなw
お前JavaScriptばっかりやってHTMLとCSSの知識ないだろ

865:デフォルトの名無しさん
21/02/16 09:27:49.18 ZcpmZlC/.net
>>852
> <h1>あああああ</h1>の場合って<p></p>による段落がどうして不要なの?
HTML5の仕様で省略可能と決まってるから
何が必要で何が必要でないかはタグによって決まる
タグ毎にルールを覚える必要がある
HTML5の正しい最小HTMLはこれだけ。bodyすら省略できる
<!DOCTYPE html>
<title></title>
ここでチェックしながら試してみるといい
URLリンク(html5.validator.nu)
bodyなしでh1を書いてもOKだし、その下にpを書かなくて直接文章を書いてもOK

866:デフォルトの名無しさん
21/02/16 09:31:33.19 ZcpmZlC/.net
> <h1>~<h6>に<p>が含まれることがある=<h1>~<h6>は段落でない証拠
これは<h1>~<h6>のセクションという意味ね
<h1>~<h6>のタグの中に<p>は入れられない

867:デフォルトの名無しさん
21/02/16 10:08:30.89 Vp//DFzA.net
>>850-851
ありがとう。言われたこと参考にしてもう少し考えてみる。

868:デフォルトの名無しさん
21/02/16 11:02:05.00 RYUhgVUG.net
>>855
段落要素ってのはブロック要素の誤訳。申し訳ない。
HTML4までしか触ってこなかったからDTDの内容もそれまでしか知らなくてな。

869:デフォルトの名無しさん
21/02/16 13:53:14.98 oqDsb3O7.net
>>852だけどありがとう
要するに<h>が一つの固まりとして認識されているのか
重複するから要らないのね
やっぱり本は買った方がいいね

870:デフォルトの名無しさん
21/02/16 17:28:54.19 dL3SZJko.net
<p>タグも,<div>タグもタグの中をまとめて装飾とかに使いたいとき以外は
必要ないんじゃないの?

871:デフォルトの名無しさん
21/02/16 20:37:56.31 F9q4wvox.net
Ruby on Rails で、React, Bootstrap を使っている香具師は、
HTML, CSS, JavaScript を知らない
知らなくても、Bootstrapのやり方だけで出来るから

872:デフォルトの名無しさん
21/02/16 21:26:25.46 uyTn3PpP.net
RoRはapi専用なの?

873:デフォルトの名無しさん
21/02/16 23:41:57.42 U2lp31ep.net
一般的に言って
エラー処理 Error Handling と
例外処理 Exception Handling
って異なる意味を指していますか?
言語ごとに異なりますか?

874:
21/02/16 23:49:12.91 I98rHtI/.net
>>864
exception handling は特に try-catch-throw がある言語について言われているような気がします。
この場合、各々の「エラー状態」をクラスで定義しエラークラスの継承関係によりエラーをカテゴリー化できるようにもなっていますね

875:デフォルトの名無しさん
21/02/17 00:10:42.44 skr3LLvs.net
api専用のドメイン記述言語と言ってもいいのはGo
特殊な用途のapiでなければ、メモリ管理機構的に他の言語の数倍のリクエストを捌ける

876:デフォルトの名無しさん
21/02/17 00:55:46.56 otLF+Kgt.net
Java飽きたし新しい言語覚えようかと思うんだけど今のトレンド何?
まだPython?

877:デフォルトの名無しさん
21/02/17 00:58:56.79 skr3LLvs.net
今スクリプトをやろうと思ったらPythonだろね
大嫌いだけど

878:デフォルトの名無しさん
21/02/17 01:05:41.89 +hZ99Vn7.net
C#面白い

879:デフォルトの名無しさん
21/02/17 01:36:25.63 DF6kbHU+.net
今のトレンドはRust

880:デフォルトの名無しさん
21/02/17 06:17:26.97 skr3LLvs.net
Rust は開発中と言っていい
あと五年くらいはあーだこーだ仕様変更されそう

881:デフォルトの名無しさん
21/02/17 08:50:11.53 AyvAiGnr.net
覚えるの面倒くさい

882:デフォルトの名無しさん
21/02/17 09:37:55.41 WUlLGQfv.net
>>868
横レスですがPython嫌いな理由ってなんですか?

883:デフォルトの名無しさん
21/02/17 12:21:46.51 wc0lgfjQ.net
PythonはAPI設計が総じてクソ
プログラミングスタイルもJavaより古い
使いたいライブラリが決まってる場合を除けば他の言語を学んだ方が役に立つ
といっても標準的な部分は2週間もあれば使えるようになるので短期間でJava以外の言語を体験したいだけなら有り

884:デフォルトの名無しさん
21/02/17 14:10:46.13 786FrY0P.net
URLリンク(imgur.com)
Visual Studio Community 2017で、多分何かのホットキー触ったんだと思うけどこんな表示になって戻せない・・・
戻し方教えてくださいお願いします

885:デフォルトの名無しさん
21/02/17 14:15:13.50 rtlKbr4u.net
func(p1, p2, ...)
class P
p1,
p2,
,...
p = new P
p.p1 = ...
func(p)
どっちがいいの?

886:デフォルトの名無しさん
21/02/17 14:35:20.45 pQCCeGnk.net
p.func()

887:デフォルトの名無しさん
21/02/17 14:37:40.77 +hZ99Vn7.net
funcはDIするのでそれはできません

888:デフォルトの名無しさん
21/02/17 15:08:25.19 786FrY0P.net
自己解決

889:デフォルトの名無しさん
21/02/17 16:28:48.03 B3zvyj2Z.net
>>874
Javaなんて古さの塊だし今後使われる動機もないしでゆっくりとした死しかない言語じゃないか

890:デフォルトの名無しさん
21/02/17 16:42:15.23 Q08cm/bk.net
>>876
引数をまとめたいケースを言ってるんだと思うがそういう場合は
p = new P(p1, p2)
どっちがいいかは引数のまとまりや数による

891:デフォルトの名無しさん
21/02/17 17:55:54.41 1LzcEpRH.net
>>881
なぜでしょうか?

892:873
21/02/17 18:22:16.03 WUlLGQfv.net
>>874
ありがとうございます

893:デフォルトの名無しさん
21/02/17 18:38:41.85 M+przTyu.net
>>873
Pythonは、一つの事を色々な方法で書けるように、__xxxx__関数やら抜け道だらけの言語仕様になってる
そのため、コーディングする人間は好き勝手に書ける
その猛威は、C++の演算子オーバーライドを軽く越える
ここで人のソースを読む段になると、自分が知らない書き方も含めてPythonの総てを理解しなければ、レビューすら出来ない

894:デフォルトの名無しさん
21/02/17 20:18:26.38 L78BN9q1.net
蛇の道はPython

895:デフォルトの名無しさん
21/02/17 20:56:58.14 cf1ev55U.net
スクリプト言語とプログラミング言語比べてどうするんだよ

896:862
21/02/17 22:35:12.96 gjncEnw2.net
>>863
Ruby on Rails は基本、サーバー側でHTML を組み立てる。
GUI にビジネスロジックを持たせない
React を使っても、単に1つのコンポーネントとして使うだけ
一方、API モードを使うと、サーバーからJSON を返して、GUIでHTMLを組み立てる。
この場合は、GraphQL なども使う

897:デフォルトの名無しさん
21/02/18 05:24:09.87 DG2z6Rxx.net
JavaScriptで挫折した人がPythonに逃げる

898:デフォルトの名無しさん
21/02/18 20:17:51.30 Z6wWBMAs.net
URLリンク(capacitor.nativescript.org)
これはどういったものなんでしょうか?

899:デフォルトの名無しさん
21/02/18 20:18:50.25 qR1rH4Mn.net
しりません。ごみでしょう。

900:デフォルトの名無しさん
21/02/18 22:33:34.00 YxM2AOI8.net
求人見てるとGO多いんだな
触っておいた方がいいか?

901:デフォルトの名無しさん
21/02/19 01:28:50.05 FlctPZ3K.net
Goなんか言語自体は誰でもできる
入ってから始めても全く問題ない
Goの仕事したいならAWSやコンテナの知識の方が求められる

902:デフォルトの名無しさん
21/02/19 05:03:23.08 wkMP/SLe.net
Go求人=モダンな技術を積極的に吸収してる人募集だからな
慣れれば何とかなるけど最初の方は辛いかも

903:デフォルトの名無しさん
21/02/19 05:17:34.82 lLyiEvh3.net
別にGoはモダンな技術じゃないよ
よくある言語の一つ

904:デフォルトの名無しさん
21/02/19 07:09:37.14 zXEzSALW.net
>>894
アスペ

905:デフォルトの名無しさん
21/02/19 07:39:00.41 IIFo83yT.net
serverless案件ばかりだから、もうAWSなんかの知識はほとんど要らない
GOみたいなバックエンド言語なんか勉強してどうすんだ

906:デフォルトの名無しさん
21/02/19 07:50:32.51 jGQKjt8W.net
逆に飛び抜けて新しい物は無いよな
C系からの影響が強いからC+++++って感じ
C を習熟していた人間だと、goroutine と チャネル、インターフェースの概念を押さえるだけ
半日でガシガシとコーディングできるようになった

907:デフォルトの名無しさん
21/02/19 07:57:18.47 IIFo83yT.net
WEBもflutterで書いてるが、全く問題なし

908:デフォルトの名無しさん
21/02/19 08:03:00.75 jGQKjt8W.net
>>896
土方じゃなく自前でサービス開始する時に、サクッと実物を作れる
WebAPI実装してJavaScriptでアクセスして表示させるSPAが、こんなに楽だとは思わなかった
ページ遷移するwebなんて、もう書きたくない

909:デフォルトの名無しさん
21/02/19 08:11:26.85 IIFo83yT.net
>>899
そこは認める

910:デフォルトの名無しさん
21/02/19 08:14:12.64 IIFo83yT.net
ま、PHPとかあり得ない、なんであんなものが流行ったんだろ・・Laravelか・・

911:デフォルトの名無しさん
21/02/19 08:17:45.82 IIFo83yT.net
もうserverless案件ばかりになってインドとかベトナムのオフショア開発をやめた会社が多いな

912:デフォルトの名無しさん
21/02/19 08:27:10.56 lKN3rSiF.net
サーバーレスになるとDBがNoSqlじゃないと厳しいようだけどRDBMS使いたい場合どうすんの?

913:デフォルトの名無しさん
21/02/19 08:35:23.31 IIFo83yT.net
つ Spanner

914:デフォルトの名無しさん
21/02/19 08:45:13.10 lKN3rSiF.net
>>904
使ったこと無いけど良さげ?

915:デフォルトの名無しさん
21/02/19 09:04:57.00 YkVGv+Id.net
>>901
こういう奴がpythonとか言ってそうw
PHPの方が遥かに需要あるけどw

916:デフォルトの名無しさん
21/02/19 09:06:28.90 sSevv4R2.net
>>899
読む側からしたら戻る使えなくて不便なんだけどね

917:デフォルトの名無しさん
21/02/19 09:11:33.54 zjkCsPpq.net
serverless案件ばかりだからとか言いつつ
severlessを理解してないやつが約1名いるな

918:デフォルトの名無しさん
21/02/19 09:13:31.86 zjkCsPpq.net
>>907
それは作り方が悪いだけ
まぁ大半のSPAは履歴周りの作りが悪いんだけど

919:デフォルトの名無しさん
21/02/19 09:19:14.07 IIFo83yT.net
>>908
severless は知らない

920:デフォルトの名無しさん
21/02/19 09:22:03.56 IIFo83yT.net
>>905
インデックス貼るときに少し癖があるけどPK複数フィールドとか普通のRDBと変わらない
少し高いけど

921:デフォルトの名無しさん
21/02/19 09:27:56.53 IIFo83yT.net
>>906
PHP、Swift、Python←3大クソ言語
だと思ってるが何か?

922:デフォルトの名無しさん
21/02/19 09:32:39.07 DrRoIVI2.net
SPAは複数タブで開けないサイト多すぎて見る側からしたら不便だわ
開発者のオナニーの極み

923:デフォルトの名無しさん
21/02/19 09:47:03.93 IIFo83yT.net
firebase consoleとかtopからURLコピペしないと複数タブ表示出来ないな、firestoreとかクソ重いし、いちいちリストとか展開して表示すんなよ

924:デフォルトの名無しさん
21/02/19 10:10:37.83 lKN3rSiF.net
>>911
気にはなる
ただ最初はよくてもお値段高くなっていってほんとにこれでよかったのか悩んでやっぱ昔のやり方で問題ないってなって移行するのに余計な工数かかるんだよな
まあ新しいことをやるのは大事なんだけどクラウドって金かかるよなあ

925:デフォルトの名無しさん
21/02/19 10:15:03.78 IIFo83yT.net
>>915
AWSとかセキュリティとかSLAとか、コンサル会社入れてると思えばかなり安くね?データ欠損ゼロ保証だし。

926:デフォルトの名無しさん
21/02/19 10:16:53.65 gbmlgVrR.net
これなに言語?
URLリンク(i.imgur.com)

927:デフォルトの名無しさん
21/02/19 10:21:27.18 IIFo83yT.net
>>917
ruby マクロ多用

928:デフォルトの名無しさん
21/02/19 10:22:44.66 lKN3rSiF.net
>>916
なるほど
総合して考えるとたしかに

929:デフォルトの名無しさん
21/02/19 10:27:42.10 IIFo83yT.net
>>919
あと、飲食店のオーダー管理レベルならfirestoreで十分いける。実はRDB無しの設計でいける案件だらけ。

930:デフォルトの名無しさん
21/02/19 11:04:12.53 YkVGv+Id.net
このガイジRubyぽいな(笑)

931:デフォルトの名無しさん
21/02/19 11:05:10.80 eehUI7ay.net
今夜もDjangoで踊りまくるぜ

932:デフォルトの名無しさん
21/02/19 11:31:52.65 RipgTCDE.net
>>895
またお前は言い返せないのかw

933:デフォルトの名無しさん
21/02/19 11:58:56.25 VGvFnf+A.net
>>913
そんなんある?

934:デフォルトの名無しさん
21/02/19 12:01:50.17 VGvFnf+A.net
firestoreってフロントエンドからDBに直接アクセスするんでしょ
すぐにカオス化しそう

935:デフォルトの名無しさん
21/02/19 12:24:30.36 yv2d5Olu.net
>>917
HLSL

936:デフォルトの名無しさん
21/02/19 13:23:12.69 IIFo83yT.net
>>925
もうそれが当たり前なんだが・・

937:デフォルトの名無しさん
21/02/19 13:28:21.62 L+ophXdU.net
>>925
IDとかパスワードはどうするの?
フロントから直だと隠せないじゃん

938:デフォルトの名無しさん
21/02/19 13:29:33.51 lKN3rSiF.net
バックエンドエンジニアは仕事少なくて毎日楽々バカンス
フロントエンジニアはこれまでバックエンドでやっていた仕事分も増えてサービス残業がさらに増える

939:デフォルトの名無しさん
21/02/19 13:39:50.84 FlctPZ3K.net
なにもフロントの裏側のCRUDのAPI作るだけがバックエンドじゃないだろ
そういうのはフロントの担当が兼業してる場合も多い
専業のバックエンドエンジニアってもっと後方にある内部的なコアな部分とか、社内の業務プロセスと絡む部分であったりとか、バッチ処理などのデータフローを面倒見たりする

940:デフォルトの名無しさん
21/02/19 13:46:06.90 VGvFnf+A.net
>>927
まじで?どうやって管理してんだろ…
悪い奴がブラウザの開発者ツールでDBにアクセスしようとしてきたら、どうやって対応するのか
前から気にはなってたんだ

941:デフォルトの名無しさん
21/02/19 13:50:58.88 lKN3rSiF.net
>>930
実際にバックエンドはめちゃくちゃ仕事減ったしコード量が圧倒的に少なくなった
なぜなら業務ロジックがほぼすべてjsになったからバックエンドは大部分はDBから出し入れするだけ
もちろん全てではないけど97%くらい減った印象

942:デフォルトの名無しさん
21/02/19 14:04:36.78 IIFo83yT.net
>>928
>>931
firebase auth

943:デフォルトの名無しさん
21/02/19 14:04:48.81 RipgTCDE.net
フロントとバックエンドをあわせた全体のコードは
逆に膨れ上がってるけどなw

944:デフォルトの名無しさん
21/02/19 14:08:03.18 VGvFnf+A.net
>>933
認証じゃなくて、読み書き命令のこと
例えばゲームデータをfirestoreで管理してて、
ユーザーが開発者ツールでfirestoreにアクセスし、チートデータを書き込むのを防ぐにはどうする?

945:デフォルトの名無しさん
21/02/19 14:09:31.00 ls1Kk0Go.net
それも含めてでしょ

946:デフォルトの名無しさん
21/02/19 14:10:29.02 IIFo83yT.net
>>935
firebase authパスしないアプリはアクセスできない
firebase console入られたら終わるけど

947:デフォルトの名無しさん
21/02/19 14:13:09.65 VGvFnf+A.net
ユーザーはJavaScriptすら書き換えられる
DB丸出しで不正処理を防げるとはとうてい思えないんだが、不思議だ

948:デフォルトの名無しさん
21/02/19 14:16:03.48 IIFo83yT.net
>>938
丸出しなわけないじゃんwクライアントライブラリがワンタイムトークンとかでやりとりしてるんだよ

949:デフォルトの名無しさん
21/02/19 14:22:18.99 IIFo83yT.net
ガラパゴスかココはw

950:デフォルトの名無しさん
21/02/19 14:28:16.97 DA4o8x5V.net
XML関連の質問ってここでしていい?

951:デフォルトの名無しさん
21/02/19 14:40:22.23 VGvFnf+A.net
>>939
いやユーザーはそのトークンにアクセスできるだろ

952:デフォルトの名無しさん
21/02/19 14:40:52.75 IIFo83yT.net
>>941
いいよ、JSON使ってほしいけど

953:デフォルトの名無しさん
21/02/19 14:41:16.18 IIFo83yT.net
>>942
出来ない

954:デフォルトの名無しさん
21/02/19 14:43:38.10 nzMk3skW.net
XMLは昭和の人間しか使ってないから質問しちゃダメだよ

955:デフォルトの名無しさん
21/02/19 14:44:26.62 VGvFnf+A.net
>>944
なんで?
クライアントはユーザーの手の内だから、解析されるんじゃないか?

956:デフォルトの名無しさん
21/02/19 14:44:55.42 DA4o8x5V.net
URLリンク(i.imgur.com)
XML Schemaで分からないことがあるので教えてください。
この画像の赤く囲った部分を1つにまとめて書く方法ってある?
想定しているXML(で記述されたファイル)はこんな感じ
URLリンク(i.imgur.com)

957:デフォルトの名無しさん
21/02/19 14:45:45.75 IIFo83yT.net
>>945
んなことはないw 肺が痛いから少し寝るかな

958:デフォルトの名無しさん
21/02/19 14:50:16.91 IIFo83yT.net
>>947
親タグ作って並べれば?
配列にMappingするなら1個時に注意しないとだけど。
あと、実名には注意したほうがいいよw

959:デフォルトの名無しさん
21/02/19 14:51:50.31 IIFo83yT.net
>>946
解析してる間に使用期限が切れるので

960:デフォルトの名無しさん
21/02/19 15:00:25.79 VGvFnf+A.net
つか、そうじゃなくて
authは本物に乗っかるんだよ
で、更新処理のとこだけ改ざんする
これどうやって対策してんの?

961:デフォルトの名無しさん
21/02/19 15:08:46.20 IIFo83yT.net
>>951
乗っかれないから、更新処理って何?

962:デフォルトの名無しさん
21/02/19 15:12:32.72 7+SCZqmi.net
金額を1円に変更してお買い物できますか?

963:デフォルトの名無しさん
21/02/19 15:23:48.69 VGvFnf+A.net
>>952
アプリ改ざんできても乗っかれない?
どうやってんだろ、不思議だ
例えばさ
クリックカウントゲームを考えてみて
データベースには現在のカウントが保存されてる
沢山カウントを増やした人が勝ち
クライアントがこんな処理をするとする
 DB接続
 認証
 カウント読み取り→x
 カウント書き込み←x+1
 DB切断
もしクライアントが解析されてx+1の部分をx+100に改ざんされたら、どうなる?
そんな感じ
これをどうやって防いでるのか?
不思議でならない
本当に防げるなら、仕組みを知りたい

964:デフォルトの名無しさん
21/02/19 15:48:15.69 lKN3rSiF.net
>>954
http通信の暗号化前に改ざんできるツールあるからそれでいくらでも変更できる
js関係なく

965:デフォルトの名無しさん
21/02/19 17:53:03.84 yv2d5Olu.net
>>954
そういうのは書き込みはCloud Function経由にするんじゃないかな

966:デフォルトの名無しさん
21/02/19 18:14:01.23 sFHVuj7V.net
>>956
それもうバックエンドだよね

967:デフォルトの名無しさん
21/02/19 18:59:36.62 IIFo83yT.net
>>954
単純に、
認証
 暗号化通信開始
 カウント読み取り→x
 カウント書き込み←x+1
 暗号化通信終了
だから出来ない
出来たら銀行アプリが作れない

968:デフォルトの名無しさん
21/02/19 19:02:22.22 VGvFnf+A.net
>>958
でもそのx+1って式はクライアントに定義されてるんでしょ?
なら改ざんの可能性はあるのでは?

969:デフォルトの名無しさん
21/02/19 19:03:51.90 f4jLKR0B.net
>>958
メモリの値じゃなくて、コードを改竄する話な
銀行アプリは例外なく、仮にアプリを全部完全に解析されて改竄されたものが使用されたとしても不正はできないように、重要な操作はバックエンドで実装されている

970:デフォルトの名無しさん
21/02/19 19:08:24.26 IIFo83yT.net
>>960
コードの改竄なんかOSの信頼性で話が全く違うじゃん
コード改竄されたら銀行アプリもIBMのモバイルプラットフォーム使っても無理だよ、アプリから口座番号渡してるし

971:デフォルトの名無しさん
21/02/19 19:11:02.76 jlh3YQJK.net
>>961
んなわけないやろ
改竄したバージョンのコードを他人に配ることができるなら別だが、それは手元にあるものを改竄して手元で使うよりも遥かに難しい
改竄したアプリを自分で使ったところで他人のパスワードを知らなきゃ不正はできない

972:デフォルトの名無しさん
21/02/19 19:12:48.88 fFbWPHDZ.net
チートがあるのだから防げてないのも
あるが重要なのは段階踏むよね
条件を満たしたらレベル上げる仕組みとか

973:デフォルトの名無しさん
21/02/19 19:22:10.00 jlh3YQJK.net
>>961
ついでに教えといてやろう
DBをフロントから直接弄らせる場合のセキュリティの考え方として、ユーザーは自分のデータしか触れないように認証サービスと連携してアクセス範囲を制限するのが一般的だ
例えばクラウド版Excelなんかはこれでも十分なわけだが、銀行アプリやゲームのチートなんかを考えれば容易にわかるように、自分のデータを触れるだけでも不正ができてしまうケースはとても多い
その対策としては、一般的にはバックエンドのAPIを作るしかない

974:デフォルトの名無しさん
21/02/19 19:27:17.97 VGvFnf+A.net
>>960
そうそう
こういう構造なら安心なんだよね

975:デフォルトの名無しさん
21/02/19 19:30:27.17 VGvFnf+A.net
>>964
なるほど
完全に個人が専有する類のデータならDB直接アクセスでもいいのかもね

976:デフォルトの名無しさん
21/02/19 20:06:49.73 FlctPZ3K.net
ID:IIFo83yTにとっては良い勉強になったな
本職ではなくイキった学生であることを切に祈る

977:デフォルトの名無しさん
21/02/19 20:24:08.56 IIFo83yT.net
キャッシュカード券面撮影、文字認識とかして送ってたけど、改竄したアプリなんか実行できないから無問題なんだよね。

978:デフォルトの名無しさん
21/02/19 21:05:27.98 B4GlCKY0.net
>>917
const float, return, // とか、これは、mruby か?
mruby の本も出た。
mruby は、Ubuntu, C99/Ruby 併用
人工衛星イザナギ・イザナミなど、宇宙開発などで使っている

979:デフォルトの名無しさん
21/02/19 21:10:27.43 FlctPZ3K.net
>>968
怖すぎる
別にこのスレで間違いを認める必要はないが、改竄されることを前提に一度自分のコードを見直すことを強く勧める

980:デフォルトの名無しさん
21/02/19 21:22:33.74 yv2d5Olu.net
三井住友銀行系かな?

981:デフォルトの名無しさん
21/02/19 22:18:34.17 IIFo83yT.net
>>970
アプリ改竄なんかされてたらアプリなんかねーよwww

982:デフォルトの名無しさん
21/02/19 23:19:31.86 IIFo83yT.net
AWSのコンサルとかで食いたいダニが・・

983:デフォルトの名無しさん
21/02/19 23:21:23.65 IIFo83yT.net
>>970
キチガイなの?

984:デフォルトの名無しさん
21/02/20 02:31:29.14 RpIwp9UD.net
ファビョんなって

985:デフォルトの名無しさん
21/02/20 06:11:55.57 Mzr1Xumx.net
もうserverlessに決まってんじゃんハゲ

986:デフォルトの名無しさん
21/02/20 07:27:54.09 b7O3Qybq.net
やったこと無いんで聞くけどサーバレスってストアドプロシージャみたいな仕掛けって無くて直接にnosql叩かせるの?

987:デフォルトの名無しさん
21/02/20 09:14:22.46 shY7JXBG.net
んなわけない

988:デフォルトの名無しさん
21/02/20 09:41:56.67 b7O3Qybq.net
ストアドプロシージャあるのに何でサーバレスなの?

989:デフォルトの名無しさん
21/02/20 09:55:22.23 xSEyIqRP.net
サーバーレスっていうのは自前サーバーレスといいう意味で
代わりにベンダーが作ったサービスを使うという意味です。
ベンダーは結局のところサービスをサーバーで動かしてるので
自前サーバーではなく他社サーバーを使うというのが
サーバーレスという言葉の本当の意味です

990:デフォルトの名無しさん
21/02/20 10:15:32.96 XAo6Ndyt.net
サーバはクラウドにあるけど管理や意識する必要が無い → サーバが無い

991:デフォルトの名無しさん
21/02/20 10:43:39.10 BLU+mGu4.net
サーバーレスの流派って大きく分けて二種類あって
1. サーバーの管理やキャパシティを意識することなくサーバーでアプリケーションを実行する。
2. サーバーサイドのプログラミングをせずフロントだけ。バックエンドは出来合いのサービスを利用する。
1は例えばAWSならFargateやLambdaをバリバリ使った開発のような、サーバーサイドのプログラミングは普通にやるけど動かすサーバーを意識しないだけのも含む。
2は上で恥かいた子が言うようにフロントからFirestoreを直接触るようなスタイルだな。
サーバーレスというと一般的には1を指すことが多い。2は上でも批判されてる通り制限が強いため、ごく単純なシステムを除けば完全な実現は難しい。
NoSQLのストアドのような仕組みを使う方法もあるが、大抵はそれでも要件をカバーしきれなくて1の方法を併用することになる。

992:デフォルトの名無しさん
21/02/20 12:26:58.10 oLEPAiI3.net
まあFirebaseのWebアプリだと部分的にCloud Functions (982でいう1の意味のサーバーレス) を使ってたりするから、
彼は職場の先輩のコードを見て区別がつかなくて全部フロントだと勘違いしたのかもね
そうであってくれ

993:デフォルトの名無しさん
21/02/20 13:43:16.80 shY7JXBG.net
サーバーレスってマネージドっていうけどレンタルサーバーみたいにルート権限なくて最初からnodeやらgoやらが複数バージョン入ってるってこと?

994:デフォルトの名無しさん
21/02/20 13:53:49.38 euKvqbFp.net
サーバーレズ

995:デフォルトの名無しさん
21/02/20 15:06:38.93 H6qVz7iC.net
今の編成ってレヴ・オクタンだけは必須だよな
クリプト必須はにわか

996:デフォルトの名無しさん
21/02/20 15:11:20.96 mf6pc6HB.net
>>984
基本はそう
最近はコンテナで自由にできるのも多い

997:デフォルトの名無しさん
21/02/20 15:26:53.47 6OuG14ix.net
「クラウド」みたいなコマーシャル用語なんだな

998:デフォルトの名無しさん
21/02/20 15:38:16.31 shY7JXBG.net
マネージド!ダサッ初心者かよ!
って時代だったのに

999:デフォルトの名無しさん
21/02/20 16:03:04.48 Mzr1Xumx.net
firestoreだとサーバーコード一切書く必要がないから、単純データ保存はめちゃ楽。
複雑なクエリは1000件とか引っ張ってから高階関数でやったほうが速い。

1000:デフォルトの名無しさん
21/02/20 16:08:06.24 jU5EkUEs.net
>>977
データベースにはストアド的な機能がなくて読み書きのAPIしかないのも普通にあるよ
そもそもデータベース自体がサーバーで稼働してるんだからサーバーを使ってないシステムではない

1001:デフォルトの名無しさん
21/02/20 16:13:16.30 jU5EkUEs.net
>>990
1000件引っ張ってくる通信が無駄だからまともなシステムならサーバー側で集計する

1002:デフォルトの名無しさん
21/02/20 16:26:22.59 Mzr1Xumx.net
>>992
gzipされてるからそんなのゴミ

1003:デフォルトの名無しさん
21/02/20 16:28:45.30 8VUpuPZc.net
基本的にはもうサーバサイドであれこれやる時代じゃ無いよな。

1004:デフォルトの名無しさん
21/02/20 16:29:59.18 BaJj3rnh.net
>>994



1005:いやサーバーを用意しなくていいだけでサーバーサイドの開発は必要



1006:デフォルトの名無しさん
21/02/20 17:06:42.99 NfC5X95o.net
>>993
数行の関数をサーバーに置くだけで
ユーザーの通信量もインフラの通信料も節約できるからやらないのはイキりさんだけだぞ

1007:デフォルトの名無しさん
21/02/20 17:07:04.86 vzghRPpi.net
サーバサイドはもう不要!
そして大容量を扱う際にエラーが起きまくるシステムが残りましたとさ……

1008:デフォルトの名無しさん
21/02/20 17:18:38.61 56yjs2OO.net
次スレ
スレリンク(tech板)

1009:デフォルトの名無しさん
21/02/20 20:34:38.50 Mzr1Xumx.net
>>996
通信量なんか気にする時代は終わったよ

1010:デフォルトの名無しさん
21/02/20 20:39:18.76 bCRO9pKe.net
イキりじゃなく単なるエアプだったか

1011:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 85日 10時間 32分 1秒

1012:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch