■掲示板に戻る■
全部
レス数が1000を超えています。残念ながら全部は表示しません。
■TYPEプログラミング部
- 1 : :2021/08/16(月) 04:11:37.51 ID:nd334xje
- 42 TokyoのPiscine受ける😢
だる😢
- 138 :名無しさんは作業中:2022/03/30(水) 17:47:20.73 ID:AqM6OO67
- どうせ作るんなら売れるもの作りたい
- 139 :狐を狩ろうぜ名無しさん:2022/03/30(水) 21:13:24.74 ID:OPQHjVtX
- ストリームを開いたら最終的に絶対closeしないとメモリリークするっていうのはわかったんすけど
それなら徹底的にfinallyの中でcloseしないとダメですよね?
try{
ストリーム開く
処理
ストリーム閉じる
} catch(Exception e){}
上記だと"処理"のとこで何かしらの例外が出たらクローズしないですもんね?
ブログを参考にしてたらそういう書き方してるのがあって混乱してるんですけど
これあってます?
ttps://i.imgur.com/J7lb2TS.jpg
- 140 :名無しさん@(笑):2022/03/30(水) 21:18:34.29 ID:OPQHjVtX
- >>139
画像は俺の理解で書いてみたtry-with-resourceです
- 141 :名無しさん@〜AfterStory〜:2022/03/30(水) 21:51:11.97 ID:lYsHAVUP
- ガアベジコレクタが開放してくれるんじゃね?
Javaやったことないからググった知識ね
ttps://style.potepan.com/articles/35124.html
- 142 :やったね名無しちゃん!:2022/03/30(水) 22:31:26.51 ID:CCA3/Sie
- Pythonの読み方がわからん
線形代数の行列計算に適していてコードも少ないから機械学習に向いているってマジ?
- 143 :名無しとかなんなん?:2022/03/31(木) 00:02:11.97 ID:Oq1KAF/9
- ナウでヤングなPythonはいつかやりたいけど
就職先の業務内容にないわ
悲しみの夕焼けじゃん
- 144 :タイピングには自信があります:2022/03/31(木) 00:14:25.56 ID:42hkSNhU
- いつかなんて言ってたらいつまでもやらないままになるぞ
処理系なんて無料なんだから仕事じゃなくても
やりたいと思うならいつでもできるぞ
- 145 :たおやかな名無し:2022/03/31(木) 10:48:29.36 ID:nRFsxXEH
- 確かに
- 146 :名無しは名無し:2022/03/31(木) 16:17:54.13 ID:3aOdKnAz
- 大容量のデータを整形したいけど
メモリの中でやると容量が不足する
こういう時にストレージに一時ファイル作るのか、でも整形の選択肢の中から乱数で一つ選んで実行したいから選択肢のリストはメモリに保持しなあかん
って思ったけどそれも一時ファイルに作ればいいんか
思考を言語化すると整理が付くな
うまく言語化できているかは置いといて
- 147 :名無し:2022/03/31(木) 16:19:47.35 ID:3aOdKnAz
- なんでファイル読み込む時って1文字ずつだったり1行ずつだったりするねんって思ってたけど
すごく納得した
メモリリソースは貴重だからか
- 148 :名無しさん@怖くて昼も眠れません:2022/03/31(木) 16:23:11.68 ID:3aOdKnAz
- 一時ファイルを作成し
アルゴリズムに沿った新たな整形の選択肢を見つけるたびに追記、追記、追記
実行する時は乱数で何行目か選んで選択的に読み込んでみる
これでいける気がするけど、俺の理解が間違ってるかもしらん
方向性は合ってる気がする
- 149 :名無しの拳:2022/03/31(木) 16:24:37.17 ID:3aOdKnAz
- もしかすると選択肢ごとに一時ファイルを作らないといけないような気も、、、する?
わからんまあやってみるべ
- 150 :以下、名無しに変わりましてTYPEがお送りします:2022/04/02(土) 14:57:02.00 ID:xiAD6x2d
- SQL勉強するわよ
データベースなんか使う機会なくて蔑ろになっていたわよ
一億年前にゲームサーバー建ててた頃はなんかデータベース扱ってたけど全然なんもわかってなかったよ
自分のインベントリに貴重なアイテム詰め込んで住民を狩ってた記憶しかないよ
- 151 :怪しい名無しさん:2022/04/02(土) 21:00:44.20 ID:xiAD6x2d
- ひとまず基本操作覚えたからラズパイにデータベース入れようと思います
MySQLでいいかな?シェア多いらしいし、Oracle製だし
Javaいっぱい使うらしいから親和性高いのかなと
- 152 :名無しの拳:2022/04/02(土) 23:47:54.47 ID:oxWSN5Je
- ラズパイで何するの?
- 153 :名無しさん@マミってます:2022/04/03(日) 06:35:13.34 ID:QHhUZDli
- 今はもっぱら勉強用に使ってるけど
とりあえず定刻にパフォーマンスのログをテキストファイルに取らせてるのを
SQLを用いてデータベースに保存しようかと
- 154 :名無し@恐縮です:2022/04/03(日) 06:46:28.76 ID:QHhUZDli
- Microsoft社のSQL Serverと
Oracle社のMySQLがポピュラーみたいだけど
基礎的なSQLの勉強がしたくて拡張機能までやろうとは思ってないからどっちでもいいか
- 155 :名無し探してます:2022/04/03(日) 09:44:45.28 ID:QHhUZDli
- SELECT 年齢, COUNT(*)
FROM TYPER
GROUP BY 年齢;
- 156 :名無しさん@お腹いっぱい:2022/04/03(日) 14:18:04.65 ID:QHhUZDli
- 今年の高校生からPythonプログラミングが必修科目になるそうですね。
終わった。3年後に俺は急に上がった倍率に埋もれて死ぬ。
そうかしかしPythonか、C言語じゃないんですね。
仕事でPythonやらんねんけど将来性が急に不安になってきたわ。マジで終わる。
- 157 :以下、やらない夫に変わってハンサムがお送りするだろjk:2022/04/03(日) 14:20:41.37 ID:QHhUZDli
- プログラミング塾みたいな市場が拡大してそういう意味では働き口が増えそうだけど
そんなのかき消されるくらい倍率上がりそう
- 158 :名無しさん@FXには興味ありませんか?:2022/04/03(日) 14:45:52.77 ID:BJTuBRV/
- 何が不安なのかわからんが
人手不足は簡単には改善されないと思う
今はスキルと経験が足りない人はいっぱいいるけど
経験者が全然足りてない
- 159 :番組の途中ですがアフィサイt(ry:2022/04/03(日) 21:18:29.85 ID:QHhUZDli
- 3年後にITマンがゾロゾロ湧いてくるまでにがむしゃらに経験積もうと思います
- 160 :ウホッ!いいサラダ…:2022/04/06(水) 00:21:00.05 ID:2CPOQXRv
- やってみたいけど何からやればいいのか分からん
- 161 :名無しさん@TYPER:2022/04/07(木) 12:31:01.70 ID:xiYKVoea
- 基本情報技術者の過去問初めて見たけど舐めてた
6か月もあるから行けるとは思うけど思ったより勉強しなあかんな
- 162 :もうゴールしてもいいよね名無しさん:2022/04/07(木) 12:37:05.67 ID:ilFj7n05
- 俺も今年受けるんだった
あれマネジメント関係と午後がしんどいわ
- 163 :名無しの攻撃!:2022/04/07(木) 13:00:27.96 ID:RAT0PPg7
- 暇だし俺も受けようかな
- 164 :名無しって知ってますか?:2022/04/09(土) 11:14:37.77 ID:LkadEe16
- 環境:oracle db
テーブルのカラム:"POSITION" varchar型 と "NAME" varchar型 と "HEIGHT" number型
"MEIBO"テーブルから"POSITION"でグループ化し、"HEIGHT"の最大値と当該選手の"NAME"を抽出せよ(ただしselect句の中でサブクエリを用いよ)
って問題で、まあ肝は"NAME"のところのサブクエリだと思うんですけど
俺はもう一度MEIBOテーブルからPOSITIONでWHEREかけれHEIGHTの降順でソートした後に最初の1行を抜き出したんだけど、もっとスマートな解き方あるのかな
SELECT
POSITION
, MAX(HEIGHT)
, (
SELECT *
FROM (
SELECT NAME
FROM MEIBO SM
WHERE MM.POSITION = SM.POSITION
ORDER BY HEIGHT DESC
)
WHERE ROWNUM < 2
)
FROM
MEIBO MM
GROUP BY
POSITION;
- 165 :受験番号167:2022/04/09(土) 11:22:25.83 ID:LkadEe16
- サブクエリ最下層: MEIBOから名前の一覧を取得(当該ポジションに絞り、身長で降順に並び替えた)
↓
サブクエリ表層: 上記から1行目を取得
って感じにしたんだよ
っていうのが最下層でソートと1行目のみを取得両方やろうとしたら、行を抜き出した後にソートするから最高身長を抜け出せなくて
動くのは動くんだけど「マジでわからんからお前の答案見せてくれ」って言われて見せたら、そいつの頭に?がいっぱい出てて、我ながら恥ずかしかった
もっとスマートに書き直したい
- 166 :14歳の名無し:2022/04/09(土) 15:58:39.32 ID:hZJxy+hw
- 買ったまま放置してるラズパイで熱帯魚の餌やり機つくるか
- 167 :名無しとかなんなん?:2022/04/09(土) 15:59:28.53 ID:gPiyymbI
- 熱帯魚何飼ってるの?
- 168 :ラジオネーム 名無しさん:2022/04/10(日) 20:46:40.03 ID:SRntEY/C
- 俺もアクアリウムやろうかと先週末考えてた
でもいきなり魚類は管理が複雑かなあと思って
まずは植物あたりから自動で育ててみようかと
あいつらも案外手間がかかるじゃん
室内で育ててたらたまに向き替えてあげたりとか
日光が不足してるなら特殊ライトで照らしたりとか
- 169 :ピザとコーラとときどき名無し:2022/04/10(日) 20:48:53.59 ID:SRntEY/C
- でも鉢植えで育ててると雨で洗えないから
葉っぱに埃が溜まって光合成の効率落ちるんだよな
鉢植えの観葉植物に盛大に水シャワーしても腐らないのかってところでわかんなくなって保留してた
送風機って手はあるか?雨には劣るけど
- 170 :もうゴールしてもいいよね名無しさん:2022/04/12(火) 21:34:34.41 ID:ZoYs7amv
- シュリンプ水槽なんだけどLEDテープライトをブレッドボードに繋いで使ってるから時間で点消灯管理はすぐできると思う
餌やり機はモーター使えばできそう
あとは水質管理だけど硝酸塩感知するセンサーないかな
- 171 :名無しんぼ:2022/04/13(水) 18:40:42.66 ID:3kwYRDx3
- 研修暇すぎて
ソケット通信でチャットするCUIJavaアプリケーション作って同期に配った
タイムスタンプとか通信の暗号化とか必要最低限の機能はつけたけど
退室ログだけは実装しようとすると定期的に死活確認を飛ばさないといけないからどうしようかなって感じ
自分のネットワークなら気にせず実装するんだが
- 172 :名無しの悪巧み:2022/04/13(水) 18:43:06.09 ID:3kwYRDx3
- あとホストネーム宛に名指しで送ってるから新しいユーザー追加するごとに何かしら書き換えないといけない
これを自動化しようとするとやっぱり定期的にネットワークスキャンしないといけないからあんまやりたくない
P2Pネットワークの誰か一人が定期的にネットワークスキャンかけて、ネットワークの全員と情報を共有するようにすれば負荷は下がるのかな
- 173 :Nanashi days:2022/04/13(水) 19:09:52.02 ID:3kwYRDx3
- あ、網の目みたいなネットワークじゃなくて
紐みたいな感じで一本にしてやれば
どこかが接続切れ次第そいつの次のやつと接続する感じ
比較的ネットワーク負荷を抑えて死活確認できるのか
悪意あるプログラムが間に挟まると弱るけど
ローカルネットワークで身内でダベるには十分かも
- 174 :名無しは激怒した:2022/04/13(水) 19:11:40.71 ID:6A1+02yG
- 異世界転生俺無双じゃん
- 175 :ピザとコーラとときどき名無し:2022/04/13(水) 19:15:37.00 ID:3kwYRDx3
- 紐っていうか円にすればいいのか
>>174
同期が追いつくまでマジで暇なんだよ
完了報告は上げてるんだけど次の課題が降りてこない
- 176 :Anonymous:2022/04/13(水) 19:27:10.64 ID:3kwYRDx3
- ネットワークドライブの俺のフォルダにテキストファイル置いて
新規ユーザーは自分でそこにホスト名を追加する様にしてやればネットワークスキャンも要らねえな
んでそいつに繋がるやつがアクセス失敗したら全員に通知しつつ名簿から削除
- 177 :名前を出せずすみません:2022/04/13(水) 20:11:54.81 ID:WEYtkIqB
- 詳細まで考えたけど、円にすると遺物が介入したときに手の打ちようがないからやっぱやめる
身内だからそんなことする奴いねえけど弱点があるのは気に食わない
送信失敗したら、名簿から削除して、こいつ居ねえわって全員に通知する方式でいこう
語りかけるまでいるか居ないか分からないけど
トラフィックと利便性がいい塩梅
後は強制終了じゃなくて正規の手順で終了してくれれば退席ログは送信できるし
- 178 :名無しさんは作業中:2022/04/13(水) 20:17:17.73 ID:WEYtkIqB
- あとはたまに暗号化のキーを更新するギミックつけたい
ネットワークの誰かキーを決めるかって言うのをどうしようかって感じ
なんせ現状サーバーがないから
メモがてら投稿してたけどいい加減うざいからこのレスで終わりにします
すいませんでした
- 179 :魔法少女名無しさん:2022/04/15(金) 01:31:13.43 ID:upOGrVAw
- いいんじゃないの
- 180 :名前を出せずすみません:2022/04/15(金) 01:53:03.23 ID:oN13xu61
- いいんじゃか?
- 181 :出生番号774号さん:2022/04/16(土) 16:54:43.47 ID:5fxWQLFl
- 俺は細分化がなってないと思って
意識的にすごい細かく分割したり継承したりしてみたけど
なんかこうじゃない感ある
GitHubでROMるか
- 182 :Nanashi days:2022/04/19(火) 18:48:43.87 ID:9HXYbYj1
- 初めて詳細設計書なるものをもらって
研修してるけど
これって辻褄合うように誰かが考えてくれてるから、俺はなんも考えず部分ごとに言われた通り作ればいいんですよね?
それなりに後々の事も自分で考える努力しないとやばいかな?
- 183 :名前を出せずすみません:2022/04/19(火) 19:04:32.95 ID:COFcH238
- 何の研修か知らんが下請けやsesでもない限り
その内その詳細設計書をお前が作ることになるから
その自覚と作り方の確認はしといた方がいい
- 184 :狐を狩ろうぜ名無しさん:2022/04/19(火) 19:07:30.14 ID:COFcH238
- まあでも研修なら別にそこまで考えなくてもいいかもな
知らんけど
- 185 :名無し・・・だと・・・?:2022/04/19(火) 19:08:12.33 ID:9HXYbYj1
- Webアプリケーションの設計書だけもらってそこから全部自分で組み立てる奴やねんけど
最初に全部熟読して理解してから始めるか、とりあえず最初のとこから読んでは組んでを繰り返すかを迷ってるねん
>>183でもまあどっちにするにせよ意識しとくわ
ありがとう
- 186 :Nanasin.....:2022/04/19(火) 19:10:19.16 ID:9HXYbYj1
- 同期よりちょっとだけ研修が進んでるから、行き詰まったなら行き詰まったでそのまま詰まっとけ、そこで待ってろって空気で、ここくらいしか聞くとこない
頼りにしてるで
- 187 :名無し特急:2022/04/19(火) 19:15:55.97 ID:+M7gDtjn
- 詳細設計はコーディングの時に読めばいいからまずはアーキテクチャみたいな上の層を読んでアプリの構成を把握した方がいいよ
俺もそういう充実した研修受けてー
- 188 :名無しくんオッスオッス!:2022/04/19(火) 19:32:55.08 ID:WWxfzRkB
- >>187
全体像か
わかった
- 189 :狐を狩ろうぜ名無しさん:2022/04/19(火) 19:33:26.70 ID:9HXYbYj1
- おうち着いたからIDがかわつたわ
ありがとう
- 190 :名無しより悪意をこめて:2022/04/20(水) 19:52:40.22 ID:qAsADWFU
- 設計書に「propertiesファイルを●●パッケージ化に置くように」とある!
srcフォルダ下のファイルを読み込むには
this.getClass().getResourceAsStream("/●●パッケージ/ファイル名")
これで取得できるって調べてわかった
でもあちこちで呼び出す予定のあるファイル(メッセージを出力するときに使う)だからできればstaticにしようかと思うんだけど、
そうするとthisが使えなくなるからって、適当なクラスをインスタンス化してそこからgetClass()をして一応同じことができた。
でも不必要なクラスをインスタンス化することに抵抗がある。なんかもっとスマートなやり方ご存知ないですか?
以下今のコードを再現したやつです
ttps://imgur.com/HUTnh1b.jpg
こんなに野暮な感じだったらシングルトンなクラスにでもしていちいちインスタンスを呼び出そうかなあと思ってたりします
その場合多分こんな感じのコードになるのかな
String value = MessageUtil.getInstance().getValue("キー");
- 191 :コードネーム:NANASI:2022/04/20(水) 20:02:45.43 ID:qAsADWFU
- >>190
こう?
ttps://imgur.com/tIBBdyF.jpg
- 192 :オレオレ!オレだよ、オレだって!!:2022/04/20(水) 20:04:58.27 ID:qAsADWFU
- そういえばTypeにはjava使いがいないってことを思い出した
スレ汚しゴメソ
- 193 :名無しさん@怖くて昼も眠れません:2022/04/20(水) 22:01:09.20 ID:jf9DQ3iC
- >>191
あんま知らんけど、staticにするんなら多分それでいいと思う
少なくとも動作するし、もしもっと簡潔な方法があるかもしれないと思うなら上司に確認取りな
そこまで自分で考えた上での質問なら気持ちよく答えてくれると思う
- 194 :名無しとかなんなん?:2022/04/21(木) 00:57:26.27 ID:ZxP62/Rz
- >>190
staticにしたいならClass.getResourceAsStreamではなく
Files.newBufferedReaderを使えばいいですわ
- 195 :名無し様:2022/04/21(木) 07:01:53.88 ID:0Da3Cxn8
- >>194
ほんまや!これでいけた!
ありがと!
ttps://imgur.com/N0m7xtz.jpg
- 196 :他力本願名無しさん:2022/04/21(木) 07:24:32.71 ID:0Da3Cxn8
- nioパッケージの使い方あんま知らんかった
Oracle社の資格ではioパッケージしか出てこなかった
目から鱗でした
- 197 :名無しさん@TYPER:2022/04/21(木) 07:29:51.78 ID:3AhgHIr6
- いやでもjava.io.FileからBufferedReader作っても同じことできそうやな
言い訳になってねえ
- 198 :名無しに迎撃の用意あり:2022/04/21(木) 23:07:59.56 ID:ewJSkARJ
- ITtyper多いのか?
- 199 :邪智暴虐の魔王名無し:2022/04/22(金) 12:39:47.83 ID:e2XvTS4+
- 二人も三人もいることに驚いている
- 200 :Anonymous:2022/04/22(金) 12:41:09.60 ID:e2XvTS4+
- >>195
そういえばこれ本番環境で実行するとダメだった
多分実行者が代わってカレントディレクトリに変化があるんだと思うけど僕はペーペーなのでよくわからない
色々試してやってみる
- 201 :名無しは激怒した:2022/04/23(土) 12:34:57.51 ID:0QpBp+yX
- 結局今こう
ttps://imgur.com/a/5WvQany.jpg
- 202 :名前なんて無い:2022/04/26(火) 08:49:41.97 ID:3kheBKI6
- MVCモデル
- 203 :コードネーム:NANASI:2022/04/26(火) 08:54:40.40 ID:3kheBKI6
- >>202
その気になれば全部同じメソッドでいけるけど読みずらい書きずらいだから分けるってのは大前提で理解してる
MVC
VCはともかくどこからをMとしてファイル分けるべきなのか、この研修期間中ではなかなか掴み取れない
サーブレットやJSP以外にクラス作るってなったら脳死でModelとしたらいいんか、、、?
別枠でポニョだかホモだかってやつあるらしいじゃん
ピンとこないなあ
- 204 :Anonymous:2022/04/26(火) 08:55:33.76 ID:3kheBKI6
- なんかこう参考にするやつとか欲しい
線引きをしっかりしたい
- 205 :名無しさん@〜AfterStory〜:2022/04/26(火) 08:56:20.18 ID:3kheBKI6
- POJO
ポジョか
やっと思い出した
- 206 :名無しは滅びぬ:2022/04/26(火) 10:04:56.56 ID:Vq6fEpac
- データの構造を入れるのがモデルやぞ
したがってモデルは基本的にはフィールドとgetter/setterしか持たない
MVCに対応しない処理が必要ならユーティリティクラスを作ってもいい
- 207 :出生番号774号さん:2022/04/26(火) 12:05:33.57 ID:3kheBKI6
- >>206
すごくわかった気がします
なるほどゲッターとセッターと、あとなんかインスタンスフィールドとかいくつか持ってる例のやつ
あれをモデルと呼ぶんですね
- 208 :名無しのごとく:2022/04/26(火) 12:15:31.68 ID:3kheBKI6
- ログイン後のページ遷移にforward使ってるけど
<a>タグと違ってURL変わらないのが何か気持ちが悪い
ヘッダタグから書き変わるからページタイトルは変えられるけど…
普段使うサイトではURLから変わるから何かを間違えている気がします
<a>タグで飛ぶとまともにデータを渡せないのでどうしたものか、、、パスワードとかはリクエスト内に埋め込みたいのでGETがやばいってのはわかります
ショルダーハッキングダメ、絶対
- 209 :名無しさん@お腹いっぱい:2022/04/26(火) 18:36:25.21 ID:3kheBKI6
- Javaの話で申し訳ないが
サーブレットのdoPostメソッドをオーバーライドして、requestとresponse以外にsessionを引数で渡せるようにし、そのsessionでログイン情報やりとりすればいいのか
Http requestのパラメータにIDとか入れても一応フォワード先に渡せるけど、それはクライアント側で自由に設定できるからたとえば人のID名乗るだけでハッキングできちゃったりする…と
- 210 :名無しの花嫁:2022/04/26(火) 18:40:26.91 ID:3kheBKI6
- >>209
リクエストにユーザー情報いれるとハッキングできちゃうなあってことには気がついたんだけど
じゃあもう一個引数渡す発想まで至らんかった
IDとPASS渡してページ開くたびにデータベースと照合してたわ
間抜けすぎ
- 211 :もうゴールしてもいいよね名無しさん:2022/04/27(水) 18:24:42.28 ID:IX3Gp83s
- Getでもsession使えばデータ渡せるんかい
いや、厳密にはsessionはサーバー側でデータを保持するやつか渡せるとは違うか
でもとりあえずページ間でのデータのやりとりができると
完全に理解した
- 212 :危険ですので名前をあたえないでください:2022/04/27(水) 18:57:08.95 ID:IX3Gp83s
- セキュリティ面がわからん
一度発行したSessionをサーバーはいつまで保持してるのかとか
IDの生成規則とか
俺が使ってるやつでも16の32乗通りあるとはいえ、ここ次第でハッキングできそう
- 213 :名無しさん:2022/04/27(水) 19:02:07.55 ID:IX3Gp83s
- javax.servlet.ttp.HttpSession次第ってことやな
気に食わなければ改造しな!って感じ
多分今回の研修じゃここまで求められてないけどどうしようかな
まあGWあるし勉強してみるか
- 214 :名無しとかなんなん?:2022/04/27(水) 21:37:09.54 ID:J7BfrChv
- 16の32乗分の1
と
16の32乗分の5
1個ずつ総当たりで試して超絶運悪く当たりを引かれる確率ってこの場合単純に5倍、、、ではなくそれ以上の確率だったよな
たしか1回目が16の32乗分の1で
その次が(16の32乗-1)分の1になるはず
それらを掛け合わせたら確率がでるからえーと、、、
まあ分母が大きすぎて結局なんでも良くねみたいな気がしてきちゃうな
- 215 :オレオレ!オレだよ、オレだって!!:2022/04/27(水) 21:42:33.60 ID:J7BfrChv
- そう単純な話じゃ無いか
もっと真面目に授業受けたらよかった
- 216 :名無し:2022/04/29(金) 14:27:31.53 ID:TM4phPhJ
- 全部サーブレットのスーパークラスを作って活用せよって命を受けてて
まあログイン済みかどうかってのをセッション使って判定する部分かなあ、ログイン前ならログインページに飛ばしたりとかかなあって思ったんだけど
一見いいんだけどこれだと唯一、ログインページではこの部分全部オーバーライドするから「活用せよ」を満たしてないような気がする
まあ一応他の例えばインスタンスフィールドとかは有効活用できてるから、、、こんなもんかな?
それとももっと原始的な部分に留めておくべき?
- 217 :出生番号774号さん:2022/04/29(金) 14:30:51.84 ID:TM4phPhJ
- BaseServlet
・LoginServlet
・OtherServlet
・・HogeHogeServlet
・・FooBarServlet
こんな感じの階層で継承しよかな?
ここでいうOtherServletに前述のログインチェックの処理を定義するのが普通かな?
- 218 :名無しさん@ひまだお!:2022/04/29(金) 14:35:18.14 ID:TM4phPhJ
- コントローラーと連携するJSPのパスを受け取ったりとか
なんつーかすごい原始的な部分だけをBaseServletに定義するのが普通かな?
- 219 :名無しさんは作業中:2022/04/30(土) 11:22:06.21 ID:5mDMdidy
- >>217
これ辞めて、
全員スーパークラスを直接継承するスタイルにして
doGetメソッドはこんな風に書いてみた
ログインチェックを行い、成功時と失敗時にそれぞれ特定のメソッドが呼び出される
そっちはfinalじゃないからオーバーライドできる感じ
例えばログインページではオーバーライドしてログイン後のページとは処理を変えようかなと思ってる
どうかな
ttps://i.imgur.com/tygW4kN.jpg
- 220 :名無しの保護者です:2022/04/30(土) 17:19:38.22 ID:5mDMdidy
- あんま期待せず図書館眺めてたけど良い本に巡り会えて運がいい
タダでこれは良いですなあ
税金払ってる甲斐がある
- 221 :名無し?誰だよそれ:2022/04/30(土) 17:30:55.31 ID:5mDMdidy
- おれログインフォームに打ち込まれた情報そのまま文字列に連結してSQL文にしてたわ
これSQLインジェクションされかねないのか
聞いたことはあるけど、まさかその時が今だと思ってなかった
- 222 :UTF-8:2022/05/01(日) 13:55:14.28 ID:cYV674Ah
- ttps://imgur.com/MhEIayF.jpg
これのModelの部分どうしろって言ってるんだ?
common.constants.Constants.Modelクラスを作るのは分かったけど
そこの説明がないぞぉ
プレースホルダ方式でSQLを使うときのあの、何ていうのか、型?テンプレート?あれを保持するのかなあとか思った、にしてはちょっと周りくどいのでは・・・?
それならStringの変数一個でいいもんね。クラスじゃなくていい
なんだこのモードっていうのは
- 223 :UTF-8:2022/05/01(日) 14:00:05.29 ID:cYV674Ah
- 詳細設計書ってこんなもんなのか?
俺が慣れてないから疑問に思うだけだろうか
あまりにエンジニア任せじゃないか
ログインチェックすらしろって指示ないんだけど、これは勝手に作らないほうがいいのか?
そうするとURL直飛びでログイン回避できちゃうけど
- 224 :UTF-8:2022/05/01(日) 14:04:47.69 ID:cYV674Ah
- >>222
クラスである意義を保つために
パラメーターを当てはめて実行するメソッドまでModeクラスに組み込むか?
回りくどい気がするけどなあ。なんか設計した人の意図と違う気がする
- 225 :UTF-8:2022/05/01(日) 14:30:51.16 ID:cYV674Ah
- ttps://imgur.com/kZDACGI.jpg
こんな感じかなあって書いてみたけど、やっぱりそんなわけなくね!?
ややこしすぎるだろ
戻り値がMapなのも気に食わない
こういう意味なら戻り値はListとMapのネストが適切じゃないか?だってsqlの結果だろ?
絶対何か解釈を間違えてるって 何なんだ一体
- 226 :名前を要求するニダ:2022/05/06(金) 08:47:17.30 ID:n+mSRQ5Q
- コメントで2行以内で表現できる粒度か
フルスクリーン1画面に収まる程度の粒度か
どっちを上限に細分化していくか迷ってる
- 227 :危険ですので名前をあたえないでください:2022/05/06(金) 08:49:51.95 ID:n+mSRQ5Q
- 後者が理にかなってそうかな?
上限という意味では
でも場合によってはもっと細分化したほうがいいシーンありそう
- 228 :ラジオネーム 名無しさん:2022/05/06(金) 08:50:23.96 ID:n+mSRQ5Q
- 両方意識していくか
- 229 :名無しの奇妙な冒険:2022/05/06(金) 09:06:26.04 ID:be+0pdLr
- スクリーン1画面の方が嬉しいな
バグがあったらコメントは信用できないし保守も面倒くさい
- 230 :ウホッ!いいサラダ…:2022/05/06(金) 12:01:56.18 ID:n+mSRQ5Q
- オッケー
- 231 :名無しさん@〜AfterStory〜:2022/05/06(金) 12:06:25.13 ID:n+mSRQ5Q
- どのリソースを解放したらどのリソースが一緒に解放されるのかとかわかんなくて
void close()なメソッドを持ってるクラスにであったら親の仇のように呼び出して例外は無視してるけどこれでいいのか不安になってきた
少なくともカッコ良くはない
- 232 :名無しって知ってますか?:2022/05/06(金) 12:15:14.77 ID:n+mSRQ5Q
- SQLステートメントのBoolean isClosed()メソッドがthrows SQLExceptionなのちょっと何言ってるのかわからない
データベース接続エラーの時にスローするってかいてあるけど、嫌だからそういう時はreturn falseしてくれればいいのでは?
接続エラーとclose済みの違いが分からん
- 233 :たおやかな名無し:2022/05/06(金) 12:31:13.14 ID:n+mSRQ5Q
- 試しに無限ループでisClosedメソッド呼び出して
途中で物理的にデータベースと切断してみたけど例外出てこなくてワロタ
ますますわからん
- 234 :オレオレ!オレだよ、オレだって!!:2022/05/06(金) 12:34:25.07 ID:n+mSRQ5Q
- 大元のConnectionにはなんかisValidメソッドがあってこれはDBと切断するとfalse返してくれる
これ、Connectionを解放したら派生して生まれたなんやかんやも全部close扱いになるのかな
試してみよう
- 235 :勇者名無し:2022/05/09(月) 19:17:42.96 ID:rzDKAYdW
- オブジェクト一個欲しいだけなのに
一度コレクションに入れてから取り出して使えって書いてあって
そんなわけなくね?俺が何か間違えてるはずと思って課長に確認とったらそのまんまだった
この会社やばいかもしれん
そんでわかった!コレクションにセットでなんか他にも入れるんやろ!って思って聞いたら何も入れるなって言われた
- 236 :名無しの花嫁:2022/05/09(月) 19:19:02.22 ID:rzDKAYdW
- ガアw
- 237 :名無しさん@〜AfterStory〜:2022/05/09(月) 19:22:06.24 ID:rzDKAYdW
- 具体的にはMap<String, Object>にBean1個入れて扱えだそうで
メリットがなんもわからん
コメントもかけって言われたから書くけさど//設計書で指定のあるクラスです指示されたクラスです
ってめっちゃアピった
俺は悪くないぞ
俺は悪くない
- 238 :動け動けウゴウゴ名無し仮面:2022/05/09(月) 19:23:32.36 ID:rzDKAYdW
- 100歩譲ってkeyはStringじゃなくて定数でいいでしょ
Enum使え
186KB