この板はプログラムを作る人のための板です。
あらゆる質問はまず
スレ立てるまでもない質問はここで
スレにしてください。
【前スレ】
スレ立てるまでもない質問はここで 158匹目
https://mevius.5ch.net/test/read.cgi/tech/1635193843/
次スレは>>980が立てること
スレ立てるまでもない質問はここで 159匹目
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2022/02/12(土) 22:44:40.76ID:AqYcq6TN135デフォルトの名無しさん
2022/02/22(火) 00:55:09.10ID:gr38xJ4b 作るのが目的なら本は検索のためのキーワード抜き出しに使う程度でいい。読む必要なし。ぐぐりながら作れ
136デフォルトの名無しさん
2022/02/22(火) 02:13:21.92ID:1HzLyYNk 何が難しかったのかわからんと答えようがないな
いきなり本買うんじゃなくて立ち読みで狙いに合ってそうか確認しなよ
いきなり本買うんじゃなくて立ち読みで狙いに合ってそうか確認しなよ
137デフォルトの名無しさん
2022/02/22(火) 06:38:44.59ID:am1CpfzL >>134
その本は捨てるか売っていい
どうせ読まないだろ
全て読めば動的サイトが作れるようになるわけではない
やりたいことをググりながら似たことを説明しているサイトを参考にして実現していく
それを繰り返していくこと
その本は捨てるか売っていい
どうせ読まないだろ
全て読めば動的サイトが作れるようになるわけではない
やりたいことをググりながら似たことを説明しているサイトを参考にして実現していく
それを繰り返していくこと
138デフォルトの名無しさん
2022/02/22(火) 08:57:53.94ID:3U05PTVk プログラマーが読むべき本ってリーダブルコード以外にありますか?
技術的な本は専門的なことじゃない限り公式リファレンスとかで十分な気がしてあまり読む気がおきません
技術的な本は専門的なことじゃない限り公式リファレンスとかで十分な気がしてあまり読む気がおきません
139デフォルトの名無しさん
2022/02/22(火) 09:47:20.11ID:AiPUeoxY 読む気が起きないなら読まなきゃいい
140デフォルトの名無しさん
2022/02/22(火) 12:05:41.84ID:PJNd20tl Code Complete
141デフォルトの名無しさん
2022/02/22(火) 12:34:42.18ID:ysWljmej >>134
ブラウザを作っているプロなどは、2冊のサイの表紙のサイ本を読む。
プロ用の本だから、Ruby の数倍も難しい。
10年ぐらいの歴史の変遷を追っかけるのが大変
初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、オライリー、2017
ES3 とか、古い規格には皆、苦しめられてきた。
JavaScript 第6版、2012、David Flanagan
だから、jQuery, Type Script, Coffee Script など、無数のAlt JS が作られた。
JavaScript でプログラミングするのが非常に難しいから
可読性が悪くて、バグが多いから
ブラウザを作っているプロなどは、2冊のサイの表紙のサイ本を読む。
プロ用の本だから、Ruby の数倍も難しい。
10年ぐらいの歴史の変遷を追っかけるのが大変
初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、オライリー、2017
ES3 とか、古い規格には皆、苦しめられてきた。
JavaScript 第6版、2012、David Flanagan
だから、jQuery, Type Script, Coffee Script など、無数のAlt JS が作られた。
JavaScript でプログラミングするのが非常に難しいから
可読性が悪くて、バグが多いから
142デフォルトの名無しさん
2022/02/22(火) 12:51:31.55ID:hpMnYFXb サイ本は7版が最近出たぞ
143デフォルトの名無しさん
2022/02/22(火) 15:11:04.16ID:wBV0PE3F 継承が良くないとよく聞くが何が良くないんだ?
継承をやめた結果がtypeプロパティによる条件分岐ではむしろ悪化してない?
継承をやめた結果がtypeプロパティによる条件分岐ではむしろ悪化してない?
144デフォルトの名無しさん
2022/02/22(火) 15:16:17.31ID:UezYZR62 >>143
継承は難しいから
階層が深くなるとまた苦しい
最初のクラス設計時に将来の拡張まで考えたカプセル化等のデザインを考えるのも難しい
型で分岐はアホの極み、悪化してる
そうじゃなくてhas-aの委譲や関数型プログラミングで対処する
継承は難しいから
階層が深くなるとまた苦しい
最初のクラス設計時に将来の拡張まで考えたカプセル化等のデザインを考えるのも難しい
型で分岐はアホの極み、悪化してる
そうじゃなくてhas-aの委譲や関数型プログラミングで対処する
145デフォルトの名無しさん
2022/02/22(火) 15:26:36.59ID:wBV0PE3F >>144
継承をhas-aで解決できるとは思えないんだが…
解決できるとしたらそれはモデル設計が最初から間違えていただけでは?
関数型でやろうとするとtypeでの分岐にならん?
似たようなのでパターンマッチというのも最近は目立つようなってきたけどこれもtype分岐が複雑化しただけ
継承をhas-aで解決できるとは思えないんだが…
解決できるとしたらそれはモデル設計が最初から間違えていただけでは?
関数型でやろうとするとtypeでの分岐にならん?
似たようなのでパターンマッチというのも最近は目立つようなってきたけどこれもtype分岐が複雑化しただけ
146デフォルトの名無しさん
2022/02/22(火) 16:14:07.81ID:8ePuCs7J 愚痴ってるヒマがあるなら言った仕事をちゃんとやれ
147デフォルトの名無しさん
2022/02/22(火) 16:57:29.98ID:mb+8cMlg148デフォルトの名無しさん
2022/02/22(火) 17:19:43.47ID:wBV0PE3F >>147
それは仮想関数テーブルを自前実装するようなものでは?
それは仮想関数テーブルを自前実装するようなものでは?
149デフォルトの名無しさん
2022/02/22(火) 18:57:12.23ID:VUFBPNtu >>148
大仰な仕組みのいらないごくありふれたデザインパターンだよ
大仰な仕組みのいらないごくありふれたデザインパターンだよ
150デフォルトの名無しさん
2022/02/22(火) 19:00:06.74ID:VUFBPNtu 書き込むたびにID変わるのなんでだよ楽天さんよぉ
151デフォルトの名無しさん
2022/02/22(火) 19:00:27.47ID:VUFBPNtu お、変わんなかった
152デフォルトの名無しさん
2022/02/22(火) 19:41:34.73ID:fgsAKQYY >>149
ストラテジは動的にストラテジを切り替える場合(例 :設定値による切り替え)や
アルゴリズムの枠だけ用意してストラテジを利用者に選ばせる(例:map, filter)場合
に使うパターンであって継承とはまた違うものですね
継承の場合は業務をモデル化したときに静的に関係が決まるのでここにデリゲートをかまして動的にする意味はないです
普通に仮想メソッドでいいでしょう
ストラテジは動的にストラテジを切り替える場合(例 :設定値による切り替え)や
アルゴリズムの枠だけ用意してストラテジを利用者に選ばせる(例:map, filter)場合
に使うパターンであって継承とはまた違うものですね
継承の場合は業務をモデル化したときに静的に関係が決まるのでここにデリゲートをかまして動的にする意味はないです
普通に仮想メソッドでいいでしょう
153デフォルトの名無しさん
2022/02/22(火) 19:43:13.61ID:qcDIuRpU 継承が良くないとよく・・・聞かないぞw
ケースバイケースだろ。なんでそこで使うんだよって良くないのはあるけど
ケースバイケースだろ。なんでそこで使うんだよって良くないのはあるけど
154デフォルトの名無しさん
2022/02/22(火) 19:47:41.41ID:fgsAKQYY >>153
TypeScriptに関わると継承憎し、クラス憎しな人が結構な率で現れますよ
TypeScriptに関わると継承憎し、クラス憎しな人が結構な率で現れますよ
155デフォルトの名無しさん
2022/02/23(水) 02:58:54.87ID:2ldPnMFv すいません。初心者です。超初歩的な質問で恐縮です。例えば↓
void draw() {
if(cam.available() == false) {
return;
}
cam.read();
image(cam, 0, 0);
} というプログラムがあるとします。
この{}の次に「改行して書くやり方」が「生理的に受け付けないくらい気持ちが悪い」のです。これを↓
void draw() {if(cam.available() == false)
{return;}
cam.read();
image(cam, 0, 0);}
のように「ギッシリ詰めて書く」という事は可能でしょうか?
詰めて書いても実行に何の問題も無いですか?
生理的な問題で「ギュッ」と纏まってないと落ち着かないのです。
「人に見せる時に読みにくくなる」等の問題もあるでしょうが、動作に支障ないなら独自路線で頑張りたいのですが。
void draw() {
if(cam.available() == false) {
return;
}
cam.read();
image(cam, 0, 0);
} というプログラムがあるとします。
この{}の次に「改行して書くやり方」が「生理的に受け付けないくらい気持ちが悪い」のです。これを↓
void draw() {if(cam.available() == false)
{return;}
cam.read();
image(cam, 0, 0);}
のように「ギッシリ詰めて書く」という事は可能でしょうか?
詰めて書いても実行に何の問題も無いですか?
生理的な問題で「ギュッ」と纏まってないと落ち着かないのです。
「人に見せる時に読みにくくなる」等の問題もあるでしょうが、動作に支障ないなら独自路線で頑張りたいのですが。
156デフォルトの名無しさん
2022/02/23(水) 03:44:54.50ID:obqtoF8C 言語によるけどその言語(c#?)ならたぶん問題ないよ。改行なんて全部消して一行で書け
157デフォルトの名無しさん
2022/02/23(水) 05:32:59.83ID:QMvGYxPa 良いんじゃね。
Pythonはインデントでたまにがっかりするが。
Pythonはインデントでたまにがっかりするが。
158デフォルトの名無しさん
2022/02/23(水) 06:01:46.48ID:KFI2d+fo 人に見せる機会があるなら普通の書き方した方がよくね
まぁ仕事じゃなくて趣味の範囲ならどうでもいいけど
まぁ仕事じゃなくて趣味の範囲ならどうでもいいけど
159デフォルトの名無しさん
2022/02/23(水) 06:03:32.11ID:8XUT1BDs 趣味の個人開発ならアリだけど業務開発とかideの手助けを受けるなら苦労しそう
160デフォルトの名無しさん
2022/02/23(水) 06:32:30.27ID:2ldPnMFv >>156
ありがとうございます。丁度C#をやろうと思っていました。
本音を言えば「一行で書きたい」と思っていたので正に思っていたことをおっしゃっていただきありがとうございます。
個人的にゲームを開発し、人に見せる気は無かったのでこれでいこうと思います。
皆さん、ありがとうございました。
ありがとうございます。丁度C#をやろうと思っていました。
本音を言えば「一行で書きたい」と思っていたので正に思っていたことをおっしゃっていただきありがとうございます。
個人的にゲームを開発し、人に見せる気は無かったのでこれでいこうと思います。
皆さん、ありがとうございました。
161デフォルトの名無しさん
2022/02/23(水) 11:59:23.57ID:FxZT1eeT 8ビットPC時代の一画面プログラムかよw
162デフォルトの名無しさん
2022/02/23(水) 12:23:25.05ID:PDfOakC2 無駄な空白も消してみんなぎゅっとしよう
void draw(){if(!cam.available()){return;}cam.read();image(cam,0,0);}
密だっていいじゃない
文字だもの
void draw(){if(!cam.available()){return;}cam.read();image(cam,0,0);}
密だっていいじゃない
文字だもの
163デフォルトの名無しさん
2022/02/23(水) 12:40:34.18ID:PssNo99E 1文で書けるなら改行なしでも違和感ないけどifとかwhileの制御構文が入ってくると可読性がヤバくなるからおすすめしない
どこまでのコード量なら1行に詰めるか自分用のルールは決めといた方がいい
どこまでのコード量なら1行に詰めるか自分用のルールは決めといた方がいい
164デフォルトの名無しさん
2022/02/23(水) 13:58:35.34ID:wKfqGXJ0 Ruby on Rails の単一テーブル継承・STI(Single Table Inheritance)は有名。
主に、検索の利便性
例えば、会社・家表に、同じ住所項目がある場合、
住所表を作って、住所表から会社住所表・家住所表を継承させる
HomeAddress < Address
WorkAddress < Address
Railsが裏側で、住所表のtype 列が0 なら家・1なら会社と切り替える。
会社住所表・家住所表という実体はなく、住所表しか存在しない
会社住所または家住所が東京にある、顧客を検索する場合、
住所表1つだけの方が、検索性能が良い
主に、検索の利便性
例えば、会社・家表に、同じ住所項目がある場合、
住所表を作って、住所表から会社住所表・家住所表を継承させる
HomeAddress < Address
WorkAddress < Address
Railsが裏側で、住所表のtype 列が0 なら家・1なら会社と切り替える。
会社住所表・家住所表という実体はなく、住所表しか存在しない
会社住所または家住所が東京にある、顧客を検索する場合、
住所表1つだけの方が、検索性能が良い
165デフォルトの名無しさん
2022/02/23(水) 15:24:31.88ID:byGXC1Fx なんかWEBサイトのjsみたい
166デフォルトの名無しさん
2022/02/23(水) 15:33:38.24ID:wNcLFBxP 人に見せるときはフォーマッターを使って
人が見やすいように整形すればいいだけじゃないの
人が見やすいように整形すればいいだけじゃないの
167デフォルトの名無しさん
2022/02/23(水) 15:40:53.71ID:n4QLtIZ7 整形するなら高須クリニックみたいな所に通わないと
168デフォルトの名無しさん
2022/02/24(木) 05:18:58.15ID:jcAfJg3X 新卒2年目のプログラマです
ループ処理を行う場合、基本的にforeachを使っているのですが、カウントが必要な単純なループでforを使った所
先輩からカウント用の変数を用意するかselectメソッド(c#です)を使って全部foreachで統一してと言われました
(コーディング規約にあるわけではないです)
わざわざカウント用の変数を用意するのも、速度的にfor使用時より遅くなるselectメソッドを使用するのもなんだかスッキリしないなあと思っています
他の現場を知らないのですが、これは開発の現場では当たり前の事なのでしょうか?
ちなみに皆さんはどうされていますか?
ループ処理を行う場合、基本的にforeachを使っているのですが、カウントが必要な単純なループでforを使った所
先輩からカウント用の変数を用意するかselectメソッド(c#です)を使って全部foreachで統一してと言われました
(コーディング規約にあるわけではないです)
わざわざカウント用の変数を用意するのも、速度的にfor使用時より遅くなるselectメソッドを使用するのもなんだかスッキリしないなあと思っています
他の現場を知らないのですが、これは開発の現場では当たり前の事なのでしょうか?
ちなみに皆さんはどうされていますか?
169デフォルトの名無しさん
2022/02/24(木) 09:31:43.11ID:ycqMJ20y 理不尽なことを押し付けられるのは当たり前によくあること
いちいちなぜなのかとか逆らったりするのは労力の無駄
いちいちなぜなのかとか逆らったりするのは労力の無駄
170デフォルトの名無しさん
2022/02/24(木) 09:43:15.52ID:pVKiKajR ケチ付けられたらコードを晒してくれなくちゃパイセンの擁護は出来ないな
171デフォルトの名無しさん
2022/02/24(木) 09:57:04.10ID:5EPKB3Xk 思ったならその場で言えば良かったじゃん
何も言えず掲示板で愚痴った時点でこの勝負はお前の負けや
何も言えず掲示板で愚痴った時点でこの勝負はお前の負けや
172デフォルトの名無しさん
2022/02/24(木) 12:04:16.87ID:82W7j8jp Ruby では、繰り返しにindex や、蓄積変数を付けたものがある。
または、each に付ける事もできる
つまり、書き方が決まっている
ary = [ "a", "b" ]
ary.each_with_index do |element, index|
p "#{ index }:#{ element }"
end
出力
"0:a"
"1:b"
ary = [ "a", "b" ]
# 初期値は1
ary.each.with_index( 1 ) do |element, index|
p "#{ index }:#{ element }"
end
出力
"1:a"
"2:b"
同様に、蓄積変数を付けたものもある。
each_with_object( obj ), with_object( obj )
または、each に付ける事もできる
つまり、書き方が決まっている
ary = [ "a", "b" ]
ary.each_with_index do |element, index|
p "#{ index }:#{ element }"
end
出力
"0:a"
"1:b"
ary = [ "a", "b" ]
# 初期値は1
ary.each.with_index( 1 ) do |element, index|
p "#{ index }:#{ element }"
end
出力
"1:a"
"2:b"
同様に、蓄積変数を付けたものもある。
each_with_object( obj ), with_object( obj )
173デフォルトの名無しさん
2022/02/24(木) 12:31:55.94ID:D9/QhxEj >>168
ここは技術板だから「先輩にどう対応したらいいか。プログラマ業界の他の職場ではどうなのか」って話は板違い。プログラマ板へどうぞ
ここは技術板だから「先輩にどう対応したらいいか。プログラマ業界の他の職場ではどうなのか」って話は板違い。プログラマ板へどうぞ
174デフォルトの名無しさん
2022/02/24(木) 12:33:04.26ID:2qhRGcQ8 >>168
頻出パターンだから拡張メソッドで一般化しておくのがいいと思う
foreachでカウント用の変数を都度用意してたらcontinueとかでバグる可能性もある
forの場合は将来的に要素へのindexアクセスが変な形で拡張されたりリファクタリングの妨げになる可能性がある
(メンテする技術者のレベル次第)
public static IEnumerable<KeyValuePair<int, T>> Enumerate<T>(this IEnumerable<T> collection){
int index=0;
foreach (var item in collection) {
yield return new KeyValuePair<int, T>(index++, item);
}
}
foreach (var (i, v) in foo.Enumerate()){
…
}
↑この拡張メソッドの場合はTがintの場合に(i, v)を(v, i)と勘違いしてバグる可能性はある
頻出パターンだから拡張メソッドで一般化しておくのがいいと思う
foreachでカウント用の変数を都度用意してたらcontinueとかでバグる可能性もある
forの場合は将来的に要素へのindexアクセスが変な形で拡張されたりリファクタリングの妨げになる可能性がある
(メンテする技術者のレベル次第)
public static IEnumerable<KeyValuePair<int, T>> Enumerate<T>(this IEnumerable<T> collection){
int index=0;
foreach (var item in collection) {
yield return new KeyValuePair<int, T>(index++, item);
}
}
foreach (var (i, v) in foo.Enumerate()){
…
}
↑この拡張メソッドの場合はTがintの場合に(i, v)を(v, i)と勘違いしてバグる可能性はある
175デフォルトの名無しさん
2022/02/24(木) 12:35:41.36ID:6X2WQPLr SQLに文字列投げる前のバリデーションに使う正規表現で鉄板なの教えてください
英数字記号で、クォーテーションとかSQLだと危ないやつは弾く感じの
英数字記号で、クォーテーションとかSQLだと危ないやつは弾く感じの
176デフォルトの名無しさん
2022/02/24(木) 12:43:46.72ID:ycqMJ20y sql命令を文字列として作らずパラーメーターとして渡す
177デフォルトの名無しさん
2022/02/24(木) 12:48:01.07ID:jcAfJg3X178デフォルトの名無しさん
2022/02/24(木) 13:03:32.01ID:5we6KcaS プログラミングは全てケースバイケース
そんな細かい所を統一する意味は全くないからその時に書きやすい方を使うのが正解だよ
そんな細かい所を統一する意味は全くないからその時に書きやすい方を使うのが正解だよ
179デフォルトの名無しさん
2022/02/24(木) 13:47:22.35ID:7WoYZRJz 自分はforeachではないforが出てくるのは最終手段だと思ってるのでSelectさせる
インデックスを得る手段がもう少しマシな方法ほしいのだが
インデックスを得る手段がもう少しマシな方法ほしいのだが
180デフォルトの名無しさん
2022/02/24(木) 15:38:45.00ID:1DMGsg19 転職の言語要件に
@vb.netとc#ならわかるんですが
Ac#とjavaって書いてある所があり
括りとしてはどっちが正解なんですかね?
個人的には@かと思うんですが
Aの所は避けた方が良いですね?
@vb.netとc#ならわかるんですが
Ac#とjavaって書いてある所があり
括りとしてはどっちが正解なんですかね?
個人的には@かと思うんですが
Aの所は避けた方が良いですね?
181デフォルトの名無しさん
2022/02/24(木) 15:46:25.40ID:5we6KcaS せっかくだから俺はAを選ぶぜ
182デフォルトの名無しさん
2022/02/24(木) 15:51:20.71ID:ycqMJ20y javaはスマホ開発もするってのが多い
vb.net入ってる方が地雷だと思うぞ
vb.net入ってる方が地雷だと思うぞ
183デフォルトの名無しさん
2022/02/24(木) 17:03:20.09ID:+aDYy71x foreachの中心的価値の一つはコレクションの最初から最後までもれなく処理対象としていることをアッピルする効果だと思う
forでは先頭の要素や末尾の要素だけ処理していないとき、バグなのか意図的なのか即座に判断できないことがある
foreachで統一的に書く方針には一定の合理性があると思う
俺はIDEの支援込みでfor文使ってた
カウンタの初期化とインクリメント文を書くのだるいなと思ったけど、for文でもカッコ内に同じことが書いてあるのでまあいい気もする
でもブロック末尾のインクリメントは書き忘れるんだよな
-1で始めてすぐインクリメントしてもいいけど微妙
forでは先頭の要素や末尾の要素だけ処理していないとき、バグなのか意図的なのか即座に判断できないことがある
foreachで統一的に書く方針には一定の合理性があると思う
俺はIDEの支援込みでfor文使ってた
カウンタの初期化とインクリメント文を書くのだるいなと思ったけど、for文でもカッコ内に同じことが書いてあるのでまあいい気もする
でもブロック末尾のインクリメントは書き忘れるんだよな
-1で始めてすぐインクリメントしてもいいけど微妙
184デフォルトの名無しさん
2022/02/24(木) 17:10:25.79ID:ycqMJ20y そんなあなたにfinally
185デフォルトの名無しさん
2022/02/24(木) 18:33:43.52ID:+aDYy71x really?
186デフォルトの名無しさん
2022/02/24(木) 20:18:19.15ID:MZJU+q2v ジョブ運用管理のOSSって何が有名?
cronが多いのかな
cronが多いのかな
187デフォルトの名無しさん
2022/02/24(木) 20:27:03.32ID:5we6KcaS sidekiqとか?
188デフォルトの名無しさん
2022/02/24(木) 20:51:05.92ID:NBv0zeLR 命名スレないっぽいのでここで聞きたいんだけど
デスクトップアプリケーション作ってて、ボタンは一箇所にまとめてある
入出力、テストや表示、操作など
app.___.load_btnとかapp.___.test_btnとかいう構造のとき、ボタンウィジェットの親の名前ってなんてつけるのです?
app.console.load_btn? cmdpanel? btns?
デスクトップアプリケーション作ってて、ボタンは一箇所にまとめてある
入出力、テストや表示、操作など
app.___.load_btnとかapp.___.test_btnとかいう構造のとき、ボタンウィジェットの親の名前ってなんてつけるのです?
app.console.load_btn? cmdpanel? btns?
189デフォルトの名無しさん
2022/02/24(木) 20:52:39.24ID:NBv0zeLR あ、ボタンは複数個あって親フレームにひとまとめに配置してある
この親フレーム名 は? という質問です
この親フレーム名 は? という質問です
190デフォルトの名無しさん
2022/02/24(木) 21:02:40.71ID:iDpw9I/7 >>188
> 命名スレないっぽいのでここで聞きたいんだけど
検索能力なさすぎだろ…
クラス名・変数名に迷ったら書き込むスレ。Part29
https://mevius.5ch.net/test/read.cgi/tech/1619427133/
> 命名スレないっぽいのでここで聞きたいんだけど
検索能力なさすぎだろ…
クラス名・変数名に迷ったら書き込むスレ。Part29
https://mevius.5ch.net/test/read.cgi/tech/1619427133/
191デフォルトの名無しさん
2022/02/24(木) 21:16:15.58ID:NBv0zeLR192デフォルトの名無しさん
2022/02/24(木) 21:36:16.86ID:sqPOmgLf >>134です。
皆さん、回答ありがとうございます。
動的なサイトというのは、具体的に言うと、巨大画像掲示板群サイトを作ろうとしているのですが、
それを作るために必要な言語などは以下のものだけで良いでしょうか?
HTML、CSS、PHP、JavaScript、MySQL、データベースについて
これ以外にも必要な言語などがあれば教えてください。
あと、やっぱり巨大画像掲示板群サイトを作るとなると、
JavaScriptは避けては通れないですよね?
JavaScript無しで作る事は不可能ですか?
そもそもプログラミングを始める順番は、HTML→CSS・・・の順で良かったのでしょうか?
自分は元々あまりコンピュータとかソフトウェアとかネットワークなどというものに対して
あまり詳しくないので、プログラミングをしたかったらもっと根源的なところから始めるべきなのでしょうか?
そこらへんについてもいろいろ教えてほしいです。
回答よろしくお願いします。
皆さん、回答ありがとうございます。
動的なサイトというのは、具体的に言うと、巨大画像掲示板群サイトを作ろうとしているのですが、
それを作るために必要な言語などは以下のものだけで良いでしょうか?
HTML、CSS、PHP、JavaScript、MySQL、データベースについて
これ以外にも必要な言語などがあれば教えてください。
あと、やっぱり巨大画像掲示板群サイトを作るとなると、
JavaScriptは避けては通れないですよね?
JavaScript無しで作る事は不可能ですか?
そもそもプログラミングを始める順番は、HTML→CSS・・・の順で良かったのでしょうか?
自分は元々あまりコンピュータとかソフトウェアとかネットワークなどというものに対して
あまり詳しくないので、プログラミングをしたかったらもっと根源的なところから始めるべきなのでしょうか?
そこらへんについてもいろいろ教えてほしいです。
回答よろしくお願いします。
193デフォルトの名無しさん
2022/02/24(木) 21:48:59.13ID:ydRUnLFS html、PHP
(phpじゃなくてほかのでもいいけど)この二つがあれば作れる。その他は必須じゃない
「php 掲示板 作り方」なんかでぐぐって意味わからなくていいからコピペでまずは文字の掲示板を適当に作るところからかな
(phpじゃなくてほかのでもいいけど)この二つがあれば作れる。その他は必須じゃない
「php 掲示板 作り方」なんかでぐぐって意味わからなくていいからコピペでまずは文字の掲示板を適当に作るところからかな
194デフォルトの名無しさん
2022/02/24(木) 21:49:45.68ID:JxtsCxtE 巨大画像掲示板は転送量代で月に何十万、何百万もかかるからそのつもりで
195デフォルトの名無しさん
2022/02/24(木) 21:55:35.90ID:82W7j8jp 前スレの、>928
Ruby で作ってみた。
Rubyスクリプト内で、7-zip を実行すると、
7-zipでは解凍する際、同名のフォルダが存在すると、
上書きするかどうかを聞いてくるので、そこで実行が止まる
それを避けるため一旦、現在日時から、
新しいフォルダ・dest_dir を作って、その中に解凍する
7-zipでは、同名のフォルダが存在しても、エラーにすることも出来ない。
そのフォルダ内に解凍しようとするから。
また事前に、アーカイブ内のフォルダ名を取得することも出来ない
dest_dir は、現在日時から作った、新しいフォルダ。
dest_dir内には、アーカイブを解凍した、decomp_root_dir と、
decomp_root_dirの末尾に、_out を加えた、out_dir の2つを作る。
out_dir内には、フォルダ階層を作りながら、処理した画像ファイルを入れていく
デスクトップには、ショートカットを作る。
リンク先には、Rubyの実行パスと、Rubyスクリプトファイルのパスを書く
リンク先
C:\Ruby25-x64\bin\ruby.exe C:/Users/Owner/Documents/Ruby/script.rb
作業フォルダ
C:\Users\Owner\Desktop
そのショートカットに、解凍したいアーカイブ、
C:/Users/Owner/Documents/data/z.zip を、Drag & Drop する
次へ続く
Ruby で作ってみた。
Rubyスクリプト内で、7-zip を実行すると、
7-zipでは解凍する際、同名のフォルダが存在すると、
上書きするかどうかを聞いてくるので、そこで実行が止まる
それを避けるため一旦、現在日時から、
新しいフォルダ・dest_dir を作って、その中に解凍する
7-zipでは、同名のフォルダが存在しても、エラーにすることも出来ない。
そのフォルダ内に解凍しようとするから。
また事前に、アーカイブ内のフォルダ名を取得することも出来ない
dest_dir は、現在日時から作った、新しいフォルダ。
dest_dir内には、アーカイブを解凍した、decomp_root_dir と、
decomp_root_dirの末尾に、_out を加えた、out_dir の2つを作る。
out_dir内には、フォルダ階層を作りながら、処理した画像ファイルを入れていく
デスクトップには、ショートカットを作る。
リンク先には、Rubyの実行パスと、Rubyスクリプトファイルのパスを書く
リンク先
C:\Ruby25-x64\bin\ruby.exe C:/Users/Owner/Documents/Ruby/script.rb
作業フォルダ
C:\Users\Owner\Desktop
そのショートカットに、解凍したいアーカイブ、
C:/Users/Owner/Documents/data/z.zip を、Drag & Drop する
次へ続く
196195
2022/02/24(木) 21:56:18.77ID:82W7j8jp require 'pathname'
# 7-Zipの実行パス。Program Files には半角空白があるので、要注意!
ZIP7_EXE_PATH = "C:/Program Files/7-Zip/7z.exe"
# expand_path で、Windows のパス区切り \ を、/ に変換する
src_arch_path = Pathname( ARGV[ 0 ] ).expand_path
#=> C:/Users/Owner/Documents/data/z.zip
# 現在時刻からディレクトリ名を作る際、名前が衝突しないように、念のため、1秒進める
sleep 1
# DateTime は非推奨なので、Time を使う
dest_dir = src_arch_path.parent + Time.now.strftime( "%Y%m%d_%H%M%S" )
#=> <Pathname: C:/Users/Owner/Documents/data/20220224_211030>
dest_dir.mkdir( ) # ディレクトリを作る
print "#{ dest_dir.to_s } フォルダを作りました\n\n"
# 7z x -o(解凍先パス) (アーカイブパス)
# 解凍する。Program Files には半角空白があるので、"〜" で囲む
puts %x("#{ ZIP7_EXE_PATH }" x -o#{ dest_dir } #{ src_arch_path })
次へ続く
# 7-Zipの実行パス。Program Files には半角空白があるので、要注意!
ZIP7_EXE_PATH = "C:/Program Files/7-Zip/7z.exe"
# expand_path で、Windows のパス区切り \ を、/ に変換する
src_arch_path = Pathname( ARGV[ 0 ] ).expand_path
#=> C:/Users/Owner/Documents/data/z.zip
# 現在時刻からディレクトリ名を作る際、名前が衝突しないように、念のため、1秒進める
sleep 1
# DateTime は非推奨なので、Time を使う
dest_dir = src_arch_path.parent + Time.now.strftime( "%Y%m%d_%H%M%S" )
#=> <Pathname: C:/Users/Owner/Documents/data/20220224_211030>
dest_dir.mkdir( ) # ディレクトリを作る
print "#{ dest_dir.to_s } フォルダを作りました\n\n"
# 7z x -o(解凍先パス) (アーカイブパス)
# 解凍する。Program Files には半角空白があるので、"〜" で囲む
puts %x("#{ ZIP7_EXE_PATH }" x -o#{ dest_dir } #{ src_arch_path })
次へ続く
197195
2022/02/24(木) 21:57:06.88ID:82W7j8jp # dest_dir の直下には、1つだけ解凍されたディレクトリがあると想定する
decomp_root_path = dest_dir.children[0]
#=> <Pathname: C:/Users/Owner/Documents/data/20220224_211030/z>
decomp_root_dir = decomp_root_path.basename.to_s # ディレクトリ名。z
# 末尾に、_out を加えた、ディレクトリ名。z_out
out_dir = decomp_root_dir + "_out"
# decomp_root_path の末尾に、_out を加えたパス
out_root_path = dest_dir + out_dir
#=> <Pathname: C:/Users/Owner/Documents/data/20220224_211030/z_out>
out_root_path.mkdir( ) # ディレクトリを作る
print "\n#{ out_root_path.to_s } フォルダを作りました\n\n"
# 絶対パスのディレクトリ名の後ろに、* を付けること!
# . で始まる、隠し directory, file を除く
decomp_root_path.glob( "**/*.{png,jpg,jpeg,gif,bmp,webp}" ) do |full_path|
# decomp_root_dirの部分だけを、_out を加えて、out_dir に変えたもの
out_full_path = out_root_path + full_path.relative_path_from( decomp_root_path )
dir = out_full_path.parent # ディレクトリ
# ディレクトリが存在しなければ、親ディレクトリも含めて作る。mkdir_p
dir.mkpath unless dir.directory?
# ここに、各画像ファイルの変換処理を書く!
end
次へ続く
decomp_root_path = dest_dir.children[0]
#=> <Pathname: C:/Users/Owner/Documents/data/20220224_211030/z>
decomp_root_dir = decomp_root_path.basename.to_s # ディレクトリ名。z
# 末尾に、_out を加えた、ディレクトリ名。z_out
out_dir = decomp_root_dir + "_out"
# decomp_root_path の末尾に、_out を加えたパス
out_root_path = dest_dir + out_dir
#=> <Pathname: C:/Users/Owner/Documents/data/20220224_211030/z_out>
out_root_path.mkdir( ) # ディレクトリを作る
print "\n#{ out_root_path.to_s } フォルダを作りました\n\n"
# 絶対パスのディレクトリ名の後ろに、* を付けること!
# . で始まる、隠し directory, file を除く
decomp_root_path.glob( "**/*.{png,jpg,jpeg,gif,bmp,webp}" ) do |full_path|
# decomp_root_dirの部分だけを、_out を加えて、out_dir に変えたもの
out_full_path = out_root_path + full_path.relative_path_from( decomp_root_path )
dir = out_full_path.parent # ディレクトリ
# ディレクトリが存在しなければ、親ディレクトリも含めて作る。mkdir_p
dir.mkpath unless dir.directory?
# ここに、各画像ファイルの変換処理を書く!
end
次へ続く
198195
2022/02/24(木) 21:58:12.15ID:82W7j8jp # つまり、z フォルダの部分だけを、z_out に変えたものになる
#<Pathname:C:/Users/Owner/Documents/data/20220224_211030/z/zz/a.jpg>
#<Pathname:C:/Users/Owner/Documents/data/20220224_211030/z_out/zz/a.jpg>
# ZIP 形式のアーカイブを作る。-tzip
# 7z a -tzip (アーカイブパス).zip (アーカイブしたいフォルダ)
# 圧縮する。Program Files には半角空白があるので、"〜" で囲む
puts %x("#{ ZIP7_EXE_PATH }" a -tzip #{ out_root_path } #{ out_root_path })
puts "\n#{ out_root_path.to_s }.zip アーカイブを作りました。\n" +
"処理が終了したので、この画面を閉じて下さい"
sleep # 出力したコマンドプロンプト画面を閉じないようにする
以上です!
#<Pathname:C:/Users/Owner/Documents/data/20220224_211030/z/zz/a.jpg>
#<Pathname:C:/Users/Owner/Documents/data/20220224_211030/z_out/zz/a.jpg>
# ZIP 形式のアーカイブを作る。-tzip
# 7z a -tzip (アーカイブパス).zip (アーカイブしたいフォルダ)
# 圧縮する。Program Files には半角空白があるので、"〜" で囲む
puts %x("#{ ZIP7_EXE_PATH }" a -tzip #{ out_root_path } #{ out_root_path })
puts "\n#{ out_root_path.to_s }.zip アーカイブを作りました。\n" +
"処理が終了したので、この画面を閉じて下さい"
sleep # 出力したコマンドプロンプト画面を閉じないようにする
以上です!
199デフォルトの名無しさん
2022/02/24(木) 22:03:05.14ID:82W7j8jp >>175
文字列を連結して、SQL 文を作ると、SQL injection される
だから、Ruby on Rails では、O/R マッパーを使う。
place holder を使って、? の所に、変数を埋め込む
文字列を連結して、SQL 文を作ると、SQL injection される
だから、Ruby on Rails では、O/R マッパーを使う。
place holder を使って、? の所に、変数を埋め込む
200デフォルトの名無しさん
2022/02/24(木) 22:05:37.73ID:WpNQdEVr これって触っちゃいけないやつ?
201デフォルトの名無しさん
2022/02/24(木) 22:36:56.77ID:iDpw9I/7 >>200
Ruby を NG
Ruby を NG
202デフォルトの名無しさん
2022/02/25(金) 01:02:54.98ID:Eg3DloqN >>192
YouTube で有名な、雑食系エンジニア・KENTA のサロンのRuby on Rails 初心者用コースでは、
基本情報技術者資格、Rails, Linux, Docker, Node.js, Bootstrap,
VSCode, Heroku, CircleCI, Github Actions、データベース
今までは、Dockerまでが初心者用コースだったが、
最近は誰でも、Docker出来るから、
AWS Fargate, Terraform, React, Vue.js, TypeScript も
だから、AWSのくろかわこうへいのサロンにも、入る必要がある。
今では、1年の未経験者が、10年以上のプロよりも技術力が上になってる!
KENTA、2021/4
2021年のWeb系エンジニア転職を成功させる3つの技術要素
https://www.youtube.com/watch?v=70VrB7LTe9g
2021/2
Web系エンジニアを目指す人のためのプログラミング学習ロードマップ
https://www.youtube.com/watch?v=0TABrlhci5M
YouTube で有名な、雑食系エンジニア・KENTA のサロンのRuby on Rails 初心者用コースでは、
基本情報技術者資格、Rails, Linux, Docker, Node.js, Bootstrap,
VSCode, Heroku, CircleCI, Github Actions、データベース
今までは、Dockerまでが初心者用コースだったが、
最近は誰でも、Docker出来るから、
AWS Fargate, Terraform, React, Vue.js, TypeScript も
だから、AWSのくろかわこうへいのサロンにも、入る必要がある。
今では、1年の未経験者が、10年以上のプロよりも技術力が上になってる!
KENTA、2021/4
2021年のWeb系エンジニア転職を成功させる3つの技術要素
https://www.youtube.com/watch?v=70VrB7LTe9g
2021/2
Web系エンジニアを目指す人のためのプログラミング学習ロードマップ
https://www.youtube.com/watch?v=0TABrlhci5M
203デフォルトの名無しさん
2022/02/25(金) 01:13:59.96ID:kML1EznR 句読点の付け方が全く同じだ
204デフォルトの名無しさん
2022/02/25(金) 07:45:38.34ID:nHsHzaxy >>202
これだけ一生懸命宣伝して見返りはないって笑うなw
これだけ一生懸命宣伝して見返りはないって笑うなw
205デフォルトの名無しさん
2022/02/25(金) 08:37:45.79ID:nHsHzaxy206175
2022/02/25(金) 10:56:25.38ID:cHKC+7di >>175
ワイ175やけど結局みんな手探りなのね
プレースホルダは当然やるけど、予約語のバリデーションは独自でやってるんやね
(出来ればDBにアクセスする前、バインド(prepare)する前に、アプリで弾きたい)
ワイ175やけど結局みんな手探りなのね
プレースホルダは当然やるけど、予約語のバリデーションは独自でやってるんやね
(出来ればDBにアクセスする前、バインド(prepare)する前に、アプリで弾きたい)
207デフォルトの名無しさん
2022/02/25(金) 11:08:11.28ID:gEwvZxtg SQLに投げる前にバリデーションなんてしない
バリデーションはプレゼンテーション層〜ドメイン層のどこかでやること
バリデーションはプレゼンテーション層〜ドメイン層のどこかでやること
208デフォルトの名無しさん
2022/02/25(金) 11:43:57.59ID:SuduBg90 >>206
どんなGUIか知らないけどフリーキーワードをちまちま入れないといけない時点でもう使いづらい。
動的にチェックボックスや候補ワードが先回りして出るくらいでないと。
キーワードを投げたはいいがヒット0とか、今どきはダサいよ。
どんなGUIか知らないけどフリーキーワードをちまちま入れないといけない時点でもう使いづらい。
動的にチェックボックスや候補ワードが先回りして出るくらいでないと。
キーワードを投げたはいいがヒット0とか、今どきはダサいよ。
209デフォルトの名無しさん
2022/02/25(金) 11:44:18.05ID:Ttq2k6xT210175
2022/02/25(金) 11:59:13.95ID:cHKC+7di211デフォルトの名無しさん
2022/02/25(金) 12:08:01.02ID:GobJHqAk インジェクションできるかチェックされてるか、どこか文字列で直にやってる
212デフォルトの名無しさん
2022/02/25(金) 12:51:38.11ID:0LOdeZPu 問い合わせの内容としてSQL文が必要ならサニタイズして入れとけばいいよね?
prepared statement使ってるのにユーザー入力を保存するカラム以外に
ユーザー入力が保存されてたんならなんか使い方間違ってると思う
prepared statement使ってるのにユーザー入力を保存するカラム以外に
ユーザー入力が保存されてたんならなんか使い方間違ってると思う
213デフォルトの名無しさん
2022/02/25(金) 12:53:33.76ID:gEwvZxtg >>210
そういうのはWAFの仕事
そういうのはWAFの仕事
214202
2022/02/25(金) 12:58:38.12ID:Eg3DloqN MVC のRuby on Rails では、
Controller のstrong parameter で、更新される列・必須列をチェックする
モデルでも、バリデする。
valid_email2 で、正しい形式のメールアドレスかどうかとか
日本6位の初心者が3千人入っている、KENTA のサロンとか行かないと、ウェブ開発を学べない
Rails以外のフレームワークを選ぶと、勉強の教材がないから、
プロになるのは、まず無理
Controller のstrong parameter で、更新される列・必須列をチェックする
モデルでも、バリデする。
valid_email2 で、正しい形式のメールアドレスかどうかとか
日本6位の初心者が3千人入っている、KENTA のサロンとか行かないと、ウェブ開発を学べない
Rails以外のフレームワークを選ぶと、勉強の教材がないから、
プロになるのは、まず無理
215デフォルトの名無しさん
2022/02/25(金) 13:59:36.28ID:isep1BZs >>213
WAF使ったことないでしょw
WAF使ったことないでしょw
216デフォルトの名無しさん
2022/02/25(金) 14:21:18.61ID:gEwvZxtg >>215
あるよ
あるよ
217デフォルトの名無しさん
2022/02/25(金) 16:15:30.34ID:xc5sID1o SQSやKinesisはどういう場合に使うのでしょうか?
あと、これを使う場合って送信用サーバと受信用サーバの2つが必要になりますよね?
あと、これを使う場合って送信用サーバと受信用サーバの2つが必要になりますよね?
218デフォルトの名無しさん
2022/02/25(金) 16:30:52.94ID:VyHl6qUM >>210
これってSQLに値を渡したい場合、文字列結合ではなくプレースホルダだけ書いておいてパラメータとして与えましょうという初歩の話じゃないの?
これってSQLに値を渡したい場合、文字列結合ではなくプレースホルダだけ書いておいてパラメータとして与えましょうという初歩の話じゃないの?
219175
2022/02/25(金) 16:50:08.00ID:ilyzPMTz >>218
いやその後のハナシで
バリデーションとかエスケープとかサニタイズしても、
結局文字列としてInsertされるから、それを防ぎたいってハナシ
氏名:selectさんとかそういうデータが出来るのを防ぐのどうしてるのかなて
まあDBに限るハナシでもないけど
いやその後のハナシで
バリデーションとかエスケープとかサニタイズしても、
結局文字列としてInsertされるから、それを防ぎたいってハナシ
氏名:selectさんとかそういうデータが出来るのを防ぐのどうしてるのかなて
まあDBに限るハナシでもないけど
220デフォルトの名無しさん
2022/02/25(金) 17:25:32.08ID:GobJHqAk 175が言う通りの実装してるなら、必要なのは「SQLインジェクション対策」じゃなくて
「不正な名前入力対策」=氏名チェック用の正規表現
日本人限定で組むなら常用漢字な人名用漢字、ひらがな、カタカナだけだから
単純に半角英数字記号が含まれてたら弾くようにすればいい。外国人含むならシラン
「不正な名前入力対策」=氏名チェック用の正規表現
日本人限定で組むなら常用漢字な人名用漢字、ひらがな、カタカナだけだから
単純に半角英数字記号が含まれてたら弾くようにすればいい。外国人含むならシラン
221デフォルトの名無しさん
2022/02/25(金) 17:42:11.20ID:qQXuMGT2 selectさんとかを防ぐことで得たいと思っているビジネス的な価値が何なのか知りたい
クオーテーションとか危ない感じのを弾きたいと言うからSQLインジェクション対策かと思ったけど、そういうわけでもないってこと?
でもそれならクオーテーションを弾くのはデメリットしかないし、何か混同しているんだろうか
クオーテーションとか危ない感じのを弾きたいと言うからSQLインジェクション対策かと思ったけど、そういうわけでもないってこと?
でもそれならクオーテーションを弾くのはデメリットしかないし、何か混同しているんだろうか
222デフォルトの名無しさん
2022/02/25(金) 17:44:59.19ID:qQXuMGT2 認証不要のフォームでアタックの痕跡によってゴミが大量に溜まるのが迷惑だから事前にフィルタリングしておきたいってことかな
223デフォルトの名無しさん
2022/02/25(金) 17:54:52.96ID:+PfgW030224デフォルトの名無しさん
2022/02/25(金) 18:17:54.50ID:qbQTiRzp GoogleスプレッドシートやGoogleMeetの検索ってあの膨大なデータからどうやって検索してるんだ?
とくにMeetのほうは曖昧検索っぽい
GCPでビッグデータの検索関連サービスってあるの?
とくにMeetのほうは曖昧検索っぽい
GCPでビッグデータの検索関連サービスってあるの?
225デフォルトの名無しさん
2022/02/25(金) 18:26:10.37ID:Eg3DloqN Ruby on Rails の文字列検索は、Elasticsearch
226デフォルトの名無しさん
2022/02/25(金) 18:33:34.96ID:Eg3DloqN >>217
Queue は一番昔からある、基本的なサービス
その時に同期処理をすると時間が掛かるので、
一旦、キューに入れて、後から処理する。非同期処理
月3千円ぐらいのくろかわこへいのAWS サロンへ入れば?
Amazon なら、3日で21万円とか高い
Queue は一番昔からある、基本的なサービス
その時に同期処理をすると時間が掛かるので、
一旦、キューに入れて、後から処理する。非同期処理
月3千円ぐらいのくろかわこへいのAWS サロンへ入れば?
Amazon なら、3日で21万円とか高い
227デフォルトの名無しさん
2022/02/25(金) 21:21:26.02ID:CV/dWopv >>224
inverted index
inverted index
228デフォルトの名無しさん
2022/02/26(土) 08:12:42.19ID:vbSsEIAE >>227
それだとものすごい数のレコードを作成してるんだね
例えば、GoogleMeetの1メッセージが300文字あったとして、形態素解析しつつ名詞を分割してそれぞれを行として格納
しかし部分一致とあいまい検索は完璧ではない
と思ったらスプレッドシートはCloud Search使ってると書いてあった
膨大なデータを分解して格納ってすごい技術だ
それだとものすごい数のレコードを作成してるんだね
例えば、GoogleMeetの1メッセージが300文字あったとして、形態素解析しつつ名詞を分割してそれぞれを行として格納
しかし部分一致とあいまい検索は完璧ではない
と思ったらスプレッドシートはCloud Search使ってると書いてあった
膨大なデータを分解して格納ってすごい技術だ
229デフォルトの名無しさん
2022/02/26(土) 08:23:05.81ID:wWFTGeHR kakasiの頃よくインデクサを使っていたけど、しょせんテキスト情報なんで大したことないよ
230デフォルトの名無しさん
2022/02/26(土) 08:45:38.69ID:R1ubXlLS プログラムが何故動くのか?についてわかりやすく解説しているサイトってないですか?
ググっても「プログラムを機械語に翻訳して、機械がわかるように翻訳しているから動く」
的な説明ばかりなんですが、知りたいのはそういうことではなくて、
じゃあ最初から機械語で完璧に書いたとして、なぜそれで動くのかがわからないんです。
別の表現すると、異世界転生で電卓のない世界に行ったとして、
そこで電卓を開発して一儲けしようとしたときに、
どうやって電卓内部で「1+1」の処理をさせるかのイメージがつかないんです。
結局「プログラム」と言う概念が先にないと無理なんじゃないのか?みたいな・・・
鶏と卵の話みたいに感じてしまいます
ググっても「プログラムを機械語に翻訳して、機械がわかるように翻訳しているから動く」
的な説明ばかりなんですが、知りたいのはそういうことではなくて、
じゃあ最初から機械語で完璧に書いたとして、なぜそれで動くのかがわからないんです。
別の表現すると、異世界転生で電卓のない世界に行ったとして、
そこで電卓を開発して一儲けしようとしたときに、
どうやって電卓内部で「1+1」の処理をさせるかのイメージがつかないんです。
結局「プログラム」と言う概念が先にないと無理なんじゃないのか?みたいな・・・
鶏と卵の話みたいに感じてしまいます
231デフォルトの名無しさん
2022/02/26(土) 09:09:24.95ID:e5W/1zqv サイトじゃなくてCPUについて技術解説してる書籍でも漁っとけ
232デフォルトの名無しさん
2022/02/26(土) 09:10:39.17ID:wWFTGeHR233デフォルトの名無しさん
2022/02/26(土) 09:12:33.77ID:sjesp9D9 >>230
コンピュータはなぜ動くのか、読めば?
コンピュータはなぜ動くのか、読めば?
234デフォルトの名無しさん
2022/02/26(土) 09:33:18.46ID:GBHX3kX2 「1+1」だけなら半加算器あたりが分かればなんとか
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★5 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」★2 [ぐれ★]
- 【速報】 日経平均の下落率3%超す、財政懸念で長期金利上昇 [お断り★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- 【こんなの初めて…】民泊には既にキャンセルも 中国の渡航自粛で ★2 [ぐれ★]
- 台湾声明 「台湾は独立した主権国家、中国は台湾を統治したことがなく、中国は口出しする権利ない」 中国が高市首相に抗議で ★7 [お断り★]
- 【悲報】中国を煽り運転に例えたネトウヨさん、完全に論破されてしまう [268718286]
- 山上母、安倍晋三と統一教会の関わりを知っていた。「私が加害者」と発言するも、脱会については「できれば今の形で」 [545512288]
- 日経平均、49000円割れ 国賊高市を許すな [402859164]
- 高市「金正恩総書記と会談したい」 国交ある国ですらまともに外交出来ないのに北朝鮮相手に何が出来るのこいつ [878970802]
- 中国「高市が謝罪撤回しないとこれ全部なくなるけどどうする?」 [931948549]
- 【正論】有識者「高市早苗に合理的配慮をしなかった野党が悪い」 [175344491]
