この板はプログラムを作る人のための板です。
あらゆる質問はまず
スレ立てるまでもない質問はここで
スレにしてください。
次スレは>>980が立てること
【前スレ】
スレ立てるまでもない質問はここで 160匹目
https://mevius.5ch.net/test/read.cgi/tech/1652160275/
探検
スレ立てるまでもない質問はここで 161匹目
■ このスレッドは過去ログ倉庫に格納されています
2022/08/27(土) 16:03:56.00ID:5336PvZW
106デフォルトの名無しさん
2022/09/16(金) 19:17:56.53ID:6w/ivPAn107デフォルトの名無しさん
2022/09/16(金) 19:37:13.05ID:oAyMZKxN 400番台: クライアントに原因のあるエラー (送ったデータに不備ありなど)
500番台: サーバーに原因のあるエラー (データ仕様は正しいがサーバ側の処理が失敗したなど)
不正IDを送られた時に存在しないという結果を返すのはサーバー側から見たらそれが正しい動作なんだから送信側のエラー
500番台: サーバーに原因のあるエラー (データ仕様は正しいがサーバ側の処理が失敗したなど)
不正IDを送られた時に存在しないという結果を返すのはサーバー側から見たらそれが正しい動作なんだから送信側のエラー
108デフォルトの名無しさん
2022/09/16(金) 19:42:58.69ID:oAyMZKxN てか500て実行時エラーとかDBが落ちてるとか要求の受付時間外とかそういうのじゃない
109デフォルトの名無しさん
2022/09/16(金) 21:34:41.48ID:Pdv1nxJ2 基本は>>107の書いてるようにクライアントとサーバーのどちらに原因があるか
指定したユーザーIDがDBにないのは400番台
指定したユーザーIDがDBに2件以上あるのがDB不整合の状態なら500番台
原因も対処方法が違うのに同じにしたいというのが間違い
指定したユーザーIDがDBにないのは400番台
指定したユーザーIDがDBに2件以上あるのがDB不整合の状態なら500番台
原因も対処方法が違うのに同じにしたいというのが間違い
110デフォルトの名無しさん
2022/09/16(金) 23:14:26.88ID:R7zfJ/61 そもそもバリデーションエラーやら処理している段階でエラーみたいな内部的なものは
成功時は例えばstatus: 0とか返して正常終了を示す
失敗時はstatus: 1とか内部で設定したエラーコードを返すのが一般的では?
HTTPのエラーコードはwebサーバーなどの都合で発生したエラー用だと思うが
成功時は例えばstatus: 0とか返して正常終了を示す
失敗時はstatus: 1とか内部で設定したエラーコードを返すのが一般的では?
HTTPのエラーコードはwebサーバーなどの都合で発生したエラー用だと思うが
111デフォルトの名無しさん
2022/09/16(金) 23:28:32.48ID:2cEUPRtN APIが0を返したら正常終了とか古き良き香りになりにけり
RESTful APIならある程度はスタンダードに沿いつつ
ユーザーの責務が何で自分の責務が何かは仕事では必ず決めないといけないんだからそのノリで個々に線引きしていけばいい
RESTful APIならある程度はスタンダードに沿いつつ
ユーザーの責務が何で自分の責務が何かは仕事では必ず決めないといけないんだからそのノリで個々に線引きしていけばいい
112105
2022/09/17(土) 14:24:23.70ID:iAB+KSrH113デフォルトの名無しさん
2022/09/17(土) 14:51:03.56ID:EEEbWrXO > とりあえず400を積極的に使う事にします。
ダミだこりゃ
ダミだこりゃ
114デフォルトの名無しさん
2022/09/17(土) 15:37:35.65ID:slnpqWSw >>112
指定したユーザーIDの情報がDBにないという例のほうが論理異常の例として不適切なんだが
指定したユーザーIDの情報がDBにないという例のほうが論理異常の例として不適切なんだが
115デフォルトの名無しさん
2022/09/18(日) 01:28:03.79ID:X0tGJ0Vt >>103
その[kAdapter]は単なるクラスフィールド宣言
this[kAdapter]はそのフィールドへのアクセス
this.hogeがthis["hoge"]と同じことを思い出そう
そして今回はそのkAdapterをシンボルで与えているだけ
const kAdapter = Symbol('adapter')
その[kAdapter]は単なるクラスフィールド宣言
this[kAdapter]はそのフィールドへのアクセス
this.hogeがthis["hoge"]と同じことを思い出そう
そして今回はそのkAdapterをシンボルで与えているだけ
const kAdapter = Symbol('adapter')
116デフォルトの名無しさん
2022/09/18(日) 19:43:36.43ID:fB0C0iJE117デフォルトの名無しさん
2022/09/18(日) 22:12:40.14ID:VjUDO6tf モバイルアプリで使うようなウェブサイトから画像持ってくるようなやつってURLとかのほうが表示速いのかね?
完全に趣味だけどウマ娘HPのHTMLに記されたsrcの文字を指定するだけですぐ反映されるんかな?
完全に趣味だけどウマ娘HPのHTMLに記されたsrcの文字を指定するだけですぐ反映されるんかな?
118デフォルトの名無しさん
2022/09/19(月) 08:55:48.01ID:E2P5O1UU119デフォルトの名無しさん
2022/09/19(月) 10:00:30.15ID:Guc0YHbo >>118
なるほどサンクス
なるほどサンクス
120デフォルトの名無しさん
2022/09/19(月) 10:19:16.65ID:pZPXfhQS 画像が通信経路で勝手に再圧縮されてハッシュが一致しないエラーなんてのがあったな
121デフォルトの名無しさん
2022/09/19(月) 10:48:36.99ID:9VJdPhWh プロパティにSymbolを使っている理由はプライベートっぽく保護したいからじゃないかな
this.adapterだと外部から自由に読み書きできるけどthis[adapter]だとadapterの値にアクセスできない限り読み書きの手段がかなり限定される
this.adapterだと外部から自由に読み書きできるけどthis[adapter]だとadapterの値にアクセスできない限り読み書きの手段がかなり限定される
122デフォルトの名無しさん
2022/09/19(月) 12:02:31.85ID:knJx8Iiy >>118
(あなたがadapter変数としているものは、今回の例では、kAdapter変数ということを
前提として)
kAdapter が変化するならわかるが、今回は
const kAdapter = Symbol('adapter')
と絶対に変化しない定数のようになっているので、結局、何がやりたいのだろうか?
俺はそもそも、Symbol オブジェクト(?)の役割が分かって無い。
(あなたがadapter変数としているものは、今回の例では、kAdapter変数ということを
前提として)
kAdapter が変化するならわかるが、今回は
const kAdapter = Symbol('adapter')
と絶対に変化しない定数のようになっているので、結局、何がやりたいのだろうか?
俺はそもそも、Symbol オブジェクト(?)の役割が分かって無い。
123デフォルトの名無しさん
2022/09/19(月) 12:04:04.35ID:knJx8Iiy124デフォルトの名無しさん
2022/09/19(月) 12:25:27.33ID:9VJdPhWh Symbolはユニークなオブジェクトを作る
Symbol('adapter') != Symbol('adapter')
コンストラクタに渡す文字列はただの説明文
Symbol('adapter') != Symbol('adapter')
コンストラクタに渡す文字列はただの説明文
125デフォルトの名無しさん
2022/09/19(月) 12:30:36.83ID:oXPlRBsf Symbolの説明はとほほが分かりやすかった
https://www.tohoho-web.com/js/symbol.htm
https://www.tohoho-web.com/js/symbol.htm
126デフォルトの名無しさん
2022/09/19(月) 13:30:34.01ID:knJx8Iiy127デフォルトの名無しさん
2022/09/19(月) 13:34:58.09ID:/08McGz8 new なしでクラスのインスタンス作れるというと Kotlin のようだな。
128デフォルトの名無しさん
2022/09/19(月) 22:29:50.30ID:s9D2fBDK new の有無が話題になるのは、JavaScript かな?
例えば、Number のnew の有無
Number() コンストラクターは、 Number オブジェクトを生成します。
new Number(value)
他の型の値は、Number() 関数を用いて数値に変換することができます。
Number('123') // 数値 123 を返す
つまり、newでインスタンスを作る。
new無しは変換関数
例えば、Number のnew の有無
Number() コンストラクターは、 Number オブジェクトを生成します。
new Number(value)
他の型の値は、Number() 関数を用いて数値に変換することができます。
Number('123') // 数値 123 を返す
つまり、newでインスタンスを作る。
new無しは変換関数
129128
2022/09/19(月) 22:36:56.77ID:s9D2fBDK >>128
みたいな、ちょっとした書き方の違いで、様々な機能を実現しているから、JavaScript は難しい。
他にも、==, === の違いとか、一々調べないといけないから、時間の無駄
だから、Ruby の方が圧倒的に分かりやすくて、バグらない。
短時間で済む
みたいな、ちょっとした書き方の違いで、様々な機能を実現しているから、JavaScript は難しい。
他にも、==, === の違いとか、一々調べないといけないから、時間の無駄
だから、Ruby の方が圧倒的に分かりやすくて、バグらない。
短時間で済む
130デフォルトの名無しさん
2022/09/19(月) 22:56:24.22ID:3GNptN3X >>129
ただ、Rubyは
・ちゃんとしたローカル変数が作れない。
・ブロックが中括弧ではなく end などで終わったりして面倒。
if 文の書き方が C言語と異なる。一方、JSは同じ。
・ブロックの書き方に統一感が無い。
・複数行コメントが簡単には書けない。
・Cの構造体の様なものが書きにくい。JSだと書ける。
JSはやりたい事が大体出来るようになっている。
ただし、Promiseなどがメンドクサイ。
ただ、Rubyは
・ちゃんとしたローカル変数が作れない。
・ブロックが中括弧ではなく end などで終わったりして面倒。
if 文の書き方が C言語と異なる。一方、JSは同じ。
・ブロックの書き方に統一感が無い。
・複数行コメントが簡単には書けない。
・Cの構造体の様なものが書きにくい。JSだと書ける。
JSはやりたい事が大体出来るようになっている。
ただし、Promiseなどがメンドクサイ。
131デフォルトの名無しさん
2022/09/20(火) 00:19:25.28ID:u2od2H+V132デフォルトの名無しさん
2022/09/20(火) 13:00:38.92ID:A6jC1TrN133デフォルトの名無しさん
2022/09/20(火) 13:50:20.93ID:Vc6tzv7n134デフォルトの名無しさん
2022/09/20(火) 16:42:07.32ID:pMOktr3q135デフォルトの名無しさん
2022/09/20(火) 16:47:31.05ID:D0AJnVXT136デフォルトの名無しさん
2022/09/20(火) 23:08:27.26ID:CPVobQYL >>135
ほんまかいな。
ほんまかいな。
137デフォルトの名無しさん
2022/09/20(火) 23:09:52.94ID:Iq00CdpM >>136
試せば秒でわかることやろ
試せば秒でわかることやろ
138デフォルトの名無しさん
2022/09/20(火) 23:09:56.53ID:/Bvo4oH4 Ruby のブロック変数・num, hash, abc にはスコープある。
ブロックには、do〜end と、{ } があって、前後の結合度の強弱が異なる。
each_with_object は蓄積変数・hash
ary = [ 1, 2 ]
num = "num"
hash = { a: 10 }
abc = "abc"
p res = ary.each_with_object( { } ) { |num, hash; abc|
num += 1
abc = num
hash[ abc ] = true
}
#=> {2=>true, 3=>true}
p num #=> "num"
p hash #=> {:a=>10}
p abc #=> "abc"
ブロックには、do〜end と、{ } があって、前後の結合度の強弱が異なる。
each_with_object は蓄積変数・hash
ary = [ 1, 2 ]
num = "num"
hash = { a: 10 }
abc = "abc"
p res = ary.each_with_object( { } ) { |num, hash; abc|
num += 1
abc = num
hash[ abc ] = true
}
#=> {2=>true, 3=>true}
p num #=> "num"
p hash #=> {:a=>10}
p abc #=> "abc"
139デフォルトの名無しさん
2022/09/21(水) 00:22:27.88ID:7Do5iWA5 正直Rubyの話題だとアイツかと思って身構えてしまってマトモに読む気にならん
140デフォルトの名無しさん
2022/09/21(水) 08:15:26.69ID:LDkUg06y テクスチャ圧縮フォーマットにはS3/BC系、ETC系、PVRTC系などいくつもあって
調べるとかつてはS3TCの特許で揉めたみたいな話も出てくるけど今の特許事情ってどうなっているの?
パテントフリーをうたっているASTCはともかく、他のも普通に使われているように見えるけど使用条件とかよく判らない
調べるとかつてはS3TCの特許で揉めたみたいな話も出てくるけど今の特許事情ってどうなっているの?
パテントフリーをうたっているASTCはともかく、他のも普通に使われているように見えるけど使用条件とかよく判らない
141デフォルトの名無しさん
2022/09/22(木) 06:49:00.65ID:56qGPhg8 GitHubとかスタックオーバーフローとかにあるコードを挿入できる入力フォームのコンポーネントの名前ってなんて言うんですか?
142デフォルトの名無しさん
2022/09/22(木) 07:23:09.30ID:w24JK7Wx 自己解決しました
リッチテキストエディタもしくはWYSIWYGエディタって言うんですね
リッチテキストエディタもしくはWYSIWYGエディタって言うんですね
143デフォルトの名無しさん
2022/09/22(木) 09:46:10.14ID:XoRPEjFK 例えば、Ruby on Rails の作者・DHH がCTO を務める、Basecamp 社製のTrix は、
WYSIWYGを実現するリッチテキストエディタ
WYSIWYGを実現するリッチテキストエディタ
144デフォルトの名無しさん
2022/09/22(木) 10:59:10.80ID:u9/ouAZs >>139
判ります
判ります
145デフォルトの名無しさん
2022/09/22(木) 13:20:33.56ID:Z2WQupk3 >>144
誰?
誰?
146デフォルトの名無しさん
2022/09/22(木) 13:24:08.08ID:Z2WQupk3 Rubyを推す人何人かいるけど
ほとんどの人がRubyしか知らない。
そんな人は何かを推す資格がないと思う。
普通はなにかを推すなら同類の複数のことを熟知していてそれを比べた中でこれがこういう理由でいいと推すものである。
ほとんどの人がRubyしか知らない。
そんな人は何かを推す資格がないと思う。
普通はなにかを推すなら同類の複数のことを熟知していてそれを比べた中でこれがこういう理由でいいと推すものである。
147デフォルトの名無しさん
2022/09/22(木) 13:27:18.05ID:Z2WQupk3 プログラミング言語の場合、
PHP, Python, Rubyのすべてに熟知しててそれでもRubyを推すならその人に対して聞く耳を持てるが
そうじゃないならその人は独断と偏見の強い人であり、物事を客観視できない人なんだなという印象しか持ち得ない。
PHP, Python, Rubyのすべてに熟知しててそれでもRubyを推すならその人に対して聞く耳を持てるが
そうじゃないならその人は独断と偏見の強い人であり、物事を客観視できない人なんだなという印象しか持ち得ない。
148デフォルトの名無しさん
2022/09/22(木) 13:28:22.37ID:Z2WQupk3149デフォルトの名無しさん
2022/09/22(木) 13:37:16.04ID:u9/ouAZs >>147
まさにこれ
まさにこれ
150デフォルトの名無しさん
2022/09/22(木) 13:48:15.74ID:z6cxsZX2 好きなの使えば良いとは思うけど現実的にRubyは使われなくなっているってだけの話なんだよなぁw
151デフォルトの名無しさん
2022/09/22(木) 14:12:44.24ID:UYzN1nQ5 別に推したい理由があるなら推せばいいんじゃね?
それで選択するのは質問者とかなんだし
それで選択するのは質問者とかなんだし
152デフォルトの名無しさん
2022/09/22(木) 14:13:47.01ID:UYzN1nQ5 俺も.NET MAUI押してるけどFlutterとか知らない
だってDartとかいうクソ言語勉強したくないから
だってDartとかいうクソ言語勉強したくないから
153デフォルトの名無しさん
2022/09/22(木) 16:11:26.10ID:mhKEBERb154デフォルトの名無しさん
2022/09/22(木) 16:18:20.49ID:WTeW/iJy 自分はJS, Python, Ruby, Java, C#, Swift, Go, Rustその他諸々使えるけど
初心者がプログラミングを学ぶのにRubyから始めるのは今でもそこそこおすすめ
ただ仕事でRubyだけを継続的にやっていく状況ではなくなってるのは確かだから
最初に学ぶ1つの言語だけで長く仕事をやりたいみたいな考え方の人にはお勧めしない
初心者がプログラミングを学ぶのにRubyから始めるのは今でもそこそこおすすめ
ただ仕事でRubyだけを継続的にやっていく状況ではなくなってるのは確かだから
最初に学ぶ1つの言語だけで長く仕事をやりたいみたいな考え方の人にはお勧めしない
155デフォルトの名無しさん
2022/09/22(木) 17:49:15.42ID:iVXru5E7 最近ファイアベースが持ち上げられてる感覚あるけどあれって無料なの?
無料じゃなければAWSやAzureの方がいいと思うんだがどうだろう?
無料じゃなければAWSやAzureの方がいいと思うんだがどうだろう?
156デフォルトの名無しさん
2022/09/22(木) 18:14:58.97ID:EgZWqwyS157デフォルトの名無しさん
2022/09/22(木) 18:39:10.97ID:81hSOYnq Firebase使うとクライアント側の開発だけで済ませられる
そのかわり安くはない
そのかわり安くはない
158デフォルトの名無しさん
2022/09/22(木) 19:01:48.49ID:Fa2Vuxr9 iPhoneしか使ったことないのに
「AndroidとiPhoneどっがいいの?」の質問に
iPhoneと力説するハゲがいた。
わたしはAndroidしか使ったことはないが上記のような質問にどっちがいいと即答することはない。
「AndroidとiPhoneどっがいいの?」の質問に
iPhoneと力説するハゲがいた。
わたしはAndroidしか使ったことはないが上記のような質問にどっちがいいと即答することはない。
159デフォルトの名無しさん
2022/09/22(木) 19:39:27.32ID:qLW9OXP3 >>158
iphoneが良いから使ってる人に聞いて、iphoneという答えが返ってくるのは、当たり前では?
iphoneが良いから使ってる人に聞いて、iphoneという答えが返ってくるのは、当たり前では?
160デフォルトの名無しさん
2022/09/22(木) 19:58:04.67ID:EqL6Qqki マックしか食ったことの無い奴が世界で一番うまいのはマックだ~
って言ってるような滑稽さ
って言ってるような滑稽さ
161デフォルトの名無しさん
2022/09/22(木) 20:00:31.61ID:qLW9OXP3 マクドより旨いハンバーガ屋なんてロッテリアしかないだろ。
そしてロッテリアは宗教上の理由で食えないので、マクド一択。
そしてロッテリアは宗教上の理由で食えないので、マクド一択。
162デフォルトの名無しさん
2022/09/22(木) 20:03:14.78ID:z6cxsZX2 宗教上の理由ワロタw
俺もチョンテリアは同じ理由で無理だけどw
勿論ギャラクチョンも宗教上の理由で絶対に使わない
俺もチョンテリアは同じ理由で無理だけどw
勿論ギャラクチョンも宗教上の理由で絶対に使わない
163デフォルトの名無しさん
2022/09/22(木) 21:28:18.77ID:H/Y5WlVU164デフォルトの名無しさん
2022/09/22(木) 21:31:01.05ID:H/Y5WlVU わたしはモスバーガー(そのメニューでは特にテリヤキバーガー)が最高にものすごくうまいと思ってるが
どのバーガーが一番ですか?の問いには素直に分からないと言う。
だってドムドムバーガーなるものは食べたことがないから。
どのバーガーが一番ですか?の問いには素直に分からないと言う。
だってドムドムバーガーなるものは食べたことがないから。
165デフォルトの名無しさん
2022/09/22(木) 21:38:07.61ID:jZZ4CDei 「iPhoneしか使ったことない」人を勝手に「iphoneが良いから使ってる人」にすり替えてるのもよろしくないな
166デフォルトの名無しさん
2022/09/22(木) 21:41:27.75ID:qLW9OXP3 ははーん、あんたモテないだろ?
167デフォルトの名無しさん
2022/09/22(木) 22:38:21.06ID:b4qmPWCO ちょっとしたツールやロジックの検証はRuby。実用はCかRust
Web系はあんま好きじゃないがJavaScriptを使わざるを得ない
Web系はあんま好きじゃないがJavaScriptを使わざるを得ない
168デフォルトの名無しさん
2022/09/22(木) 22:47:41.25ID:Wl/eGnn7 >>166
反論できないから茶化して誤魔化そうってのは見苦しいね
反論できないから茶化して誤魔化そうってのは見苦しいね
169デフォルトの名無しさん
2022/09/22(木) 23:53:39.87ID:XoRPEjFK 漏れは、10言語ぐらい使えるけど、Ruby on Rails がベスト
学習環境が良い。
高品質な教科書・ノウハウが多い。
ウェブ開発の技術を学べるので、他言語にも応用できる。
Rails, Bootstrap, jQuery だけで、原始的なレスポンシブのサイトを作れる
Elixir も書きやすいが、ノウハウが少ないため、高品質なライブラリが探せなくて、
皆で同じような低品質なモジュールを自作をするようになる
C/C++ はポインターがあるので、膨大な時間の無駄。
Java 土方は労働環境が悪い。客先・SES で中抜きされる。インターネット禁止。
JavaScript はクラスが出来るまでの、20年以上の言語の変遷を追っていくのが大変
学習環境が良い。
高品質な教科書・ノウハウが多い。
ウェブ開発の技術を学べるので、他言語にも応用できる。
Rails, Bootstrap, jQuery だけで、原始的なレスポンシブのサイトを作れる
Elixir も書きやすいが、ノウハウが少ないため、高品質なライブラリが探せなくて、
皆で同じような低品質なモジュールを自作をするようになる
C/C++ はポインターがあるので、膨大な時間の無駄。
Java 土方は労働環境が悪い。客先・SES で中抜きされる。インターネット禁止。
JavaScript はクラスが出来るまでの、20年以上の言語の変遷を追っていくのが大変
170デフォルトの名無しさん
2022/09/23(金) 00:12:12.31ID:LkhTrk/Q こいつほど宗教臭さを感じさせるヤツもそうそういないな
171デフォルトの名無しさん
2022/09/23(金) 00:35:12.38ID:974bIUrR Rubyガイジ丸わかりだからなぁw
172デフォルトの名無しさん
2022/09/23(金) 01:15:22.17ID:gGLSN0ir ウマ娘の公式サイトをHttpリクエストしたんだけどエラーが出る
何かそういう対策してんのかな?
何かそういう対策してんのかな?
173デフォルトの名無しさん
2022/09/23(金) 05:34:15.07ID:exFn1ITS174デフォルトの名無しさん
2022/09/23(金) 11:03:51.05ID:I7ewjGHp175デフォルトの名無しさん
2022/09/24(土) 12:59:46.39ID:/lLAu03F 文字列を定数化する意味ってあるんですか?
そのページでしか使わないんだから、そのまま書いた方が可読性いいと思うんですが
謎に定数ファイルを作って、そこに文字列を定義して、それを使う文化があります。
複数ページに同じ文面を使う場合もあるけど、それを変更される可能性があって
そのたびに定数ファイルに使いされてしまう。
俺は完全に無駄だと思ってるんだけど、
何か良いことがあったりするのだろうか?
そのページでしか使わないんだから、そのまま書いた方が可読性いいと思うんですが
謎に定数ファイルを作って、そこに文字列を定義して、それを使う文化があります。
複数ページに同じ文面を使う場合もあるけど、それを変更される可能性があって
そのたびに定数ファイルに使いされてしまう。
俺は完全に無駄だと思ってるんだけど、
何か良いことがあったりするのだろうか?
176デフォルトの名無しさん
2022/09/24(土) 13:28:22.71ID:h9hnlpzz 定数ファイルってのが外部化されたリソースファイルを指している前提で話すと
まず国際化がしやすい
さらにメッセージは変更のユーザー要求が発生しやすいことから以降のことが言える
文言しか変わってないことを担保しやすいのでテストのコストが抑えられる
場合によっては再ビルドを必要としないので機敏
コミットログ等も分離できるので変更の趣旨を追いやすい
国際化の目処が全くないなど、規模が小さいアプリほどメリットは小さくなると思う
まず国際化がしやすい
さらにメッセージは変更のユーザー要求が発生しやすいことから以降のことが言える
文言しか変わってないことを担保しやすいのでテストのコストが抑えられる
場合によっては再ビルドを必要としないので機敏
コミットログ等も分離できるので変更の趣旨を追いやすい
国際化の目処が全くないなど、規模が小さいアプリほどメリットは小さくなると思う
177デフォルトの名無しさん
2022/09/24(土) 15:06:55.96ID:wgmwIRyk >>175
まともなプログラミング言語ならば
文字列は定数ならばtext segmentすなわちプログラミングコードと同じ読み取り専用エリアに配置されて有利です
一方で可変な文字列かつサイズ固定ならばdata segmentすなわに読み書き可能なエリアに配置されます
さらにサイズ可変な文字列はheap segmentつまり実行中に動的に確保するエリアに配置されて最もコストが高くなります
このような違いがあるため文字列は定数かどうか、可変の場合はサイズが固定なのかサイズまで可変なのかどうかが、非常に重要になってきます
まともなプログラミング言語ならば
文字列は定数ならばtext segmentすなわちプログラミングコードと同じ読み取り専用エリアに配置されて有利です
一方で可変な文字列かつサイズ固定ならばdata segmentすなわに読み書き可能なエリアに配置されます
さらにサイズ可変な文字列はheap segmentつまり実行中に動的に確保するエリアに配置されて最もコストが高くなります
このような違いがあるため文字列は定数かどうか、可変の場合はサイズが固定なのかサイズまで可変なのかどうかが、非常に重要になってきます
178デフォルトの名無しさん
2022/09/24(土) 15:22:26.07ID:/lLAu03F179デフォルトの名無しさん
2022/09/24(土) 15:34:17.24ID:TmEhV7P0 >>178
文字列を直接書くとか定数ファイルを使うとかいう話は、
その変な仕様の言語もしくは変なローカル規約のせいであって一般的な話じゃない。
そういう不便な状況になっているのがローカルな規約のせいなら規約を変えるべきであるし、
変な言語の仕様のせいならばその言語を変えるか、我慢して使い続けるしかない。
文字列を直接書くとか定数ファイルを使うとかいう話は、
その変な仕様の言語もしくは変なローカル規約のせいであって一般的な話じゃない。
そういう不便な状況になっているのがローカルな規約のせいなら規約を変えるべきであるし、
変な言語の仕様のせいならばその言語を変えるか、我慢して使い続けるしかない。
180デフォルトの名無しさん
2022/09/24(土) 17:40:06.74ID:rKhoIQX5 >>138
Rubyで、{・・・} の方のブロックって、普通の場所にいきなり書けたっけ?
Rubyで、{・・・} の方のブロックって、普通の場所にいきなり書けたっけ?
181138
2022/09/24(土) 22:26:05.79ID:L5pk3riv Ruby でファイルのトップレベルでも、do〜end, { } を使える。
以下は両方とも、[2, 3] と出力される
VSCode の拡張機能・Code Runner で、
選択したコード片を右クリックメニューから実行する
ary = [ 1, 2 ]
p res_1 = ary.map { |num| num + 1 }
res_2 = ary.map do |num| num + 1; end
p res_2
以下は両方とも、[2, 3] と出力される
VSCode の拡張機能・Code Runner で、
選択したコード片を右クリックメニューから実行する
ary = [ 1, 2 ]
p res_1 = ary.map { |num| num + 1 }
res_2 = ary.map do |num| num + 1; end
p res_2
182デフォルトの名無しさん
2022/09/25(日) 01:00:22.88ID:7iyOFwBx >>181
Rubyだけ特異な表記
ラムダ式(やクロージャや無名関数など)に対して多くの言語はその引数は中括弧ブロックの外に来る
例えばJavaScriptだと
let arr = [1, 2];
let res1 = arr.map(num => num + 1);
let res2 = arr.map(num => {
return num + 1;
});
例えばRustだと
let arr = [1, 2];
let res1 = arr.map(|num| num + 1);
let res2 = arr.map(|num| {
num + 1
});
このように全く異なるプログラミング言語でもほぼ同じ表記になる
mapはあくまでも関数だから丸括弧を取る
そしてmap関数の引数としてラムダ式(やクロージャや無名関数など)が来る
そして波括弧はそのラムダ式(やクロージャや無名関数など)の中身が複数行(今回の例のように1行でも可)の時にブロックとして用いる
特異な表記をしたり特異な解釈をするRubyは学習しない方がよいかもしれない
Rubyだけ特異な表記
ラムダ式(やクロージャや無名関数など)に対して多くの言語はその引数は中括弧ブロックの外に来る
例えばJavaScriptだと
let arr = [1, 2];
let res1 = arr.map(num => num + 1);
let res2 = arr.map(num => {
return num + 1;
});
例えばRustだと
let arr = [1, 2];
let res1 = arr.map(|num| num + 1);
let res2 = arr.map(|num| {
num + 1
});
このように全く異なるプログラミング言語でもほぼ同じ表記になる
mapはあくまでも関数だから丸括弧を取る
そしてmap関数の引数としてラムダ式(やクロージャや無名関数など)が来る
そして波括弧はそのラムダ式(やクロージャや無名関数など)の中身が複数行(今回の例のように1行でも可)の時にブロックとして用いる
特異な表記をしたり特異な解釈をするRubyは学習しない方がよいかもしれない
183デフォルトの名無しさん
2022/09/25(日) 01:10:48.09ID:xiicOjyE >>182
恥の上塗りやめて~~w
恥の上塗りやめて~~w
184デフォルトの名無しさん
2022/09/25(日) 01:33:47.94ID:hevh/BVA185デフォルトの名無しさん
2022/09/25(日) 02:20:38.19ID:gTVpeMPe タイプ数を減らそうとする方針のプログラミング言語は消えていく
かつて一世を風靡したPerlは没落して消えた
Rubyも没落が激しく消えていく運命
かつて一世を風靡したPerlは没落して消えた
Rubyも没落が激しく消えていく運命
186デフォルトの名無しさん
2022/09/25(日) 02:22:17.85ID:kQGcz7Hc Matzは尊敬してるけどRubyは好きではない
187デフォルトの名無しさん
2022/09/25(日) 05:35:52.96ID:PDKGWlWe おれは逆、Ruby自体はそこそこよく考えられた言語だと思うけどMatzは嫌い
188デフォルトの名無しさん
2022/09/25(日) 07:03:41.72ID:eaSb619B help コマンドを打つと
GNU bash, version 5.0.11(1)-release (x86_64-pc-linux-gnu)
These shell commands are defined internally. Type `help' to see this list.
...
と出てきますがhelpを囲むものが左側はバッククォートで右側はアポストロフィなんですが何か理由がありますか?
GNU bash, version 5.0.11(1)-release (x86_64-pc-linux-gnu)
These shell commands are defined internally. Type `help' to see this list.
...
と出てきますがhelpを囲むものが左側はバッククォートで右側はアポストロフィなんですが何か理由がありますか?
189デフォルトの名無しさん
2022/09/25(日) 07:35:27.62ID:fXZ+ASwp 日本語のカギカッコと同じで、右と左で違う記号で囲んでるだけ
プログラム的な話じゃなくて英語の話
プログラム的な話じゃなくて英語の話
190デフォルトの名無しさん
2022/09/25(日) 09:56:39.66ID:gPkb1GyX 本当は‘で開いて’で閉じる(“で開いて”で閉じる)ものなんだけど
ASCIIの時は文字数をゴリゴリに節約したかったんでそれぞれを'と"に纏めちゃった
ASCIIの時は文字数をゴリゴリに節約したかったんでそれぞれを'と"に纏めちゃった
191デフォルトの名無しさん
2022/09/25(日) 10:06:25.13ID:ggzfW2zp ‘ と ’なんだよな フォントの形が違って見えるだけ
192デフォルトの名無しさん
2022/09/25(日) 15:40:07.14ID:biezUmQw 厳密には ` はグレーヴアクセントだし ' はアポストロフィなので
引用符として使っているのはどちらも代用
バックスラッシュやシングルクォートのほうが馴染みがあるけど実は通称だったりする
引用符として使っているのはどちらも代用
バックスラッシュやシングルクォートのほうが馴染みがあるけど実は通称だったりする
193デフォルトの名無しさん
2022/09/25(日) 16:09:12.01ID:utXfanRE UTF8に無事に統一された現代は本物も使い分けできるから困らん
5chのように古いまま取り残されたシステムもあるけど文字参照が通るから使い分けられるんじゃないかテスト
‘ ' ’
“ " ”
5chのように古いまま取り残されたシステムもあるけど文字参照が通るから使い分けられるんじゃないかテスト
‘ ' ’
“ " ”
194デフォルトの名無しさん
2022/09/25(日) 20:06:46.10ID:v2Pj0t10 ""でいいです。。
195138
2022/09/25(日) 23:24:21.98ID:EaCGv7B5 >>181
Ruby では、Enumerable モジュールの戻り値は、
ブロックの有無によって、2種類ある
map { |item| ... } -> [object]
map -> Enumerator
ブロックを渡さない場合は、Enumerator を返して、
外部イタレータとして扱える
Ruby では、Enumerable モジュールの戻り値は、
ブロックの有無によって、2種類ある
map { |item| ... } -> [object]
map -> Enumerator
ブロックを渡さない場合は、Enumerator を返して、
外部イタレータとして扱える
196デフォルトの名無しさん
2022/09/26(月) 02:33:00.34ID:aC/L4xEl FigmaがAdobeに行ったってニュース取り上げられてたけどFigmaってそこでUI作ったらHTMLかなんかに変換する機能とかあるのかな?
197デフォルトの名無しさん
2022/09/26(月) 04:40:48.96ID:tIU7Oyti >>175
例えば、Ruby on Rails ではエラーメッセージなども国際化されていて、
日本語用のYAML ファイルに、単語などを登録する
accepted: を受諾してください
blank: を入力してください
他にも、モデル名を
member: 会員情報
その属性を
name: ユーザー名
もし、こういうように1つのファイルにまとめず、個別のファイルに書いていくと、
重複して、全てを修正しないといけなくなる
その時に修正漏れを起こさないように、かなりの時間を掛けて、
すべてのファイル・修正箇所を見ていく必要があるので、不可能
例えば、Ruby on Rails ではエラーメッセージなども国際化されていて、
日本語用のYAML ファイルに、単語などを登録する
accepted: を受諾してください
blank: を入力してください
他にも、モデル名を
member: 会員情報
その属性を
name: ユーザー名
もし、こういうように1つのファイルにまとめず、個別のファイルに書いていくと、
重複して、全てを修正しないといけなくなる
その時に修正漏れを起こさないように、かなりの時間を掛けて、
すべてのファイル・修正箇所を見ていく必要があるので、不可能
198デフォルトの名無しさん
2022/09/26(月) 09:03:11.80ID:aC/L4xEl MySQLとかってFireBaseとかの代わりになりますかね?
199デフォルトの名無しさん
2022/09/26(月) 10:54:05.21ID:NmZ8KQlQ200デフォルトの名無しさん
2022/09/26(月) 13:56:41.47ID:87YoNLu+ $ cp a a1
$ cp a a2
$ cp a a3
をまとめてやりたいときってブレース展開とかで上手く書けますかね?
for を使う方法ならわかりますが
$ cp a a2
$ cp a a3
をまとめてやりたいときってブレース展開とかで上手く書けますかね?
for を使う方法ならわかりますが
201デフォルトの名無しさん
2022/09/26(月) 14:50:27.77ID:d5GlFcgh 展開にそういう機能はないからムリじゃないかな seqとxargs使えば出来るけどだったらforでもいいような
202デフォルトの名無しさん
2022/09/26(月) 16:47:05.39ID:EGAvXCTL 横なんですけど、例えばパラメータがファイル名に埋め込まれてる実験ファイルが大量にあるような状況で、各パラメータについての多重for文を回してデータを抽出、加工することがあるんですが、cut 辺りが非常に遅いです
こういうの早くするコツありますかね?
それこそ展開が使えると速いんですが、ファイル名が統一されてないときなんかは for 文式に走査せざるを得なくて困っています
こういうの早くするコツありますかね?
それこそ展開が使えると速いんですが、ファイル名が統一されてないときなんかは for 文式に走査せざるを得なくて困っています
203デフォルトの名無しさん
2022/09/26(月) 17:13:30.83ID:KGSSSIHZ シェルスクリプトのループはスクリプト言語のループに比べても桁違いに遅いし
ループ内で外部コマンド呼び出してたら更に遅くなる
速度が必要なら外部コマンド側でループ相当の処理をさせる
ループ内で外部コマンド呼び出してたら更に遅くなる
速度が必要なら外部コマンド側でループ相当の処理をさせる
204デフォルトの名無しさん
2022/09/26(月) 17:51:11.30ID:6tM7XGma シェルスクリプトで遅いならスクリプト言語
それでも遅いなら事前コンパイルするGC言語
さらなる高速と省メモリを求めるなら非GC言語(C/C++/Rustなど)
それでも遅いなら事前コンパイルするGC言語
さらなる高速と省メモリを求めるなら非GC言語(C/C++/Rustなど)
205デフォルトの名無しさん
2022/09/26(月) 17:57:44.25ID:rB0VxLwq 書き直したところで速くならない場合もあるから
何が遅いのかと他の言語なら速くなるのかを把握してないと無駄な努力をすることになる
何が遅いのかと他の言語なら速くなるのかを把握してないと無駄な努力をすることになる
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【前橋市】小川晶前市長とラブホテルで打ち合わせをした54歳男性職員を停職処分 今月末で依願退職するという [シャチ★]
- 【サッカー】元日本代表DF冨安がオランダ1部アヤックスと大筋合意か 現地メディア報じる [久太郎★]
- 【埼玉】「無免許で高速道路で事故」トラックの追突事故で10代男性死亡 無免許過失運転致死の疑いでトルコ国籍の男(22)逮捕 戸田市 [ぐれ★]
- 【未成年NISA】つみたて枠、18歳未満は600万円上限 12歳で引き出し可能 [蚤の市★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★]
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★7 [七波羅探題★]
- 高市早苗「竹島は日本領土」 [834922174]
- お前らを怖がらせるのなんて簡単なんだが
- サムスン「うちのメモリ買い占めるの?」Hynix「まあ他社もあるし」Micron「たいした値上げにはならないだろ」ChatGPTが世界のメモリを枯渇 [347751896]
- 暖房やめて湯たぼんにしようと思ってる
- 🏡
- 【速報】1ポンド210円で日英GDP逆転(残り1.5円)...世界6位の経済規模に転落 [237216734]
