スレ立てるまでもない質問はここで 149匹目
■ このスレッドは過去ログ倉庫に格納されています
質問する前にGoogleで検索しましょう。 http://www.google.com/
プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。
Javascript は Web 制作板、CGI は Web プログラミング板へ。
業界談義、愚痴はプログラマ板へどうぞ。
ゲーム関係の話題はゲーム製作板へどうぞ。
ネタ、板とは関係の無い話題はご遠慮ください。
ワッチョイは住人が離れスレが寂れます導入禁止。
前スレ
スレ立てるまでもない質問はここで 148匹目 [無断転載禁止]©2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1495618637/ スレ立てるまでもない質問はここで専用スレがある質問はそこで
マナーも守れないルール軽視の奴がライセンスを語るのは滑稽です ふとエロゲに使えるタスクトレイ常駐型の「CapsLockをマウスの左クリックに入れ替える」ソフトを作りたいと思いました。
知ってる言語がJavaだけだったのでなんとかEclipseで作れないもんかと調べて,学校の先生にも質問したのですが,どうもJavaでは難しいらしいです。
C言語は凄く難しいらしいので他に簡単に作れそうな,言語があれば教えていただきたいです。 デバッガーを自作してみたいのですが(チートエンジンみたいな)どんな言語やシステムを学べばいいでしょうか?
大まかでいいので教えて下さい >>205
アセンブラじゃないかな。
プロセスメモリ書き換えとかの有名どころ
・OllyDbg
http://www.ollydbg.de/ Fooクラスに座標を設定する SetPos(x,y) というメソッドがあるとする
引数を省略しfoo.SetPos(x)、ないしnull指定でfoo.SetPos(x,null)と記述できる場合
y座標はどうなるイメージある?
(1) 0
(2) クラス側に都合の良い値に設定される
(3) 現在のy値のまま変更しない
(4) y値は指定されずfooの座標データは未完成のまま
(5) xもろともfooの座標データを削除
(6) その他 予想するのは(1)(3)(4)
期待するのは(3)
(1)は気が利かない残念な設計
0に移動したいときは0を指定しますので(3)にしてくださいよ
(2)は利用者側にも都合の良い強い既定値がある要件下なら可
でもその特別な座標に移動する別メソッドを用意したほうがいい
(4)はJavaScriptあたりで何も考えていないとやりがちなぬるぽの元
座標未完成の状態に価値があるなら可
(5)のように設計すべき状況はほとんどない mavenのローカルリポジトリはgitのローカルリポジトリと同じですか? https://qiita.com/kyoyyy/items/161b6905f45bee2efe21
リモートリポジトリの更新はpushだと説明されています。
しかしgithubのリポジトリを見るとcommitsというタブがあります。
pushesではなく。なぜですか? >>208
ありがとう
(3)にしつつ別関数で(2)を実現できるようにするわ >>210
更新をするコマンドはgit pushだ。
しかし、更新をしたという事実はcommitであり、各コミットはハッシュタグという16進数の文字列で区別する。commitsは名詞commitの複数形。 pushというのは、ローカルリポジトリをリモートリポジトリに「押し出す」ことだと考えてもらいたい。
その反対はpullだ。 操作はpushでも登録されたのはcommitオブジェクトだ、みたいなニュアンスですか リモートでもローカルでもコミットという単位で変更が記録される。変更内容は、差分(diff)という形で記録される。 ローカルでコミットを作るのがgit commitというコマンドだ。
git commit -m "名前"で、コミットに名前が付けられる。
コミット単位でリモートにプッシュするのがgit pushというコマンドだ。 >>214
基本的にはそうだが、commitは動詞にも名詞にもなるから注意。 >>218
それはMavenというバージョン管理システムだ。Gitとは内部構造が異なる。 リポジトリ(repository)は、昔はお城の倉庫・弾薬庫という意味だったと思う。projectやsolutionみたいなバージョン管理の単位だろう pullはリモートリポジトリから作業ディレクトリに持ってくる事みたいですが、
pull requestを相手が受けた場合、
相手の作業ディレクトリにこちらのリモートリポジトリから
落とすという事になりますか?
それとも相手のリモートリポジトリに直接反映されますか?
pull requestを受けた側がどういう作業をするのか、が良く分かってません。 https://confluence.atlassian.com/bitbucketserver/basic-git-commands-776639767.html
> and also tell you what branch you're currently in:
”現在居るブランチ”とはどういう概念ですか?
“ブランチに居る”という事の意味が分かっていません。
何かブランチを操作する時、そのブランチ名を指定すれば良いのではないですか?
現在居るブランチという状態がどこかに存在する必要性がありますか? >>221
git pullはGitのコマンドだが、Pull Requestはどちらかというと、GitHubなどの機能じゃないかな。
他のユーザーにPRされるとGitHubにページが増えて、そこのページにボタンがあって、そのボタンを押すと変更点が適用されるという流れ。 >>222
branchを直訳すると枝分かれ。ソースコードの変更は、木構造のように枝分かれする。git branchで現在のブランチ名と、今あるブランチ名の一覧を表示できる。
ブランチに移動するときはgit checkout ブランチ名。
masterは特殊なブランチ名で、現在の主流の開発段階を意味する。 新しいブランチを作成するときはgit checkout -b ブランチ名。そこで変更してコミットすると、そのブランチでコミットが追加される。 >>207-211
SetPos なら、0 だろ
3. は、UpdatePos とか、別の名前で作るべき!
紛らわしくて仕方がない
Ruby on Rails でも、HTTP メソッドは、
put で置換、patch で一部更新とか、API を分けるのが普通 HTTPのputとpatchは
そもそもがそういう定義だからでは 全く無知な状態からprogateやってます。
とりあえずクラウドワークス等でお小遣い稼ぎから、
いずれはもっと高度な事をしたいですが今のところHTML,、CSSをやってます。
他にもやるべき科目、あとprogateを終わった後の勉強法など宜しければご教示ください。>< >>229
プログラマとして金稼ぎたいって話ならマ板
HTML,、CSSはどちらでも板違い マルチプロジェクトで全プロジェクトについて文字コードを設定したいんですが
どうすればいいですか?
全タスク、およびjavadocについて文字コードを設定したい。 >>229
HTML, CSS/SASS, JavaScript(JS), jQuery などは、web制作管理板へ
HTML, CSS の次は、SASS とか?
プログラミングなら、JS, jQuery とか 関数名で悩んでます良いの教えてください
bool 入力した文字を許容するか判定する関数(char input)
中の実装は様々で例えば数字のみを受け入れたりアルファベットのみ受け入れたりだったりです × bool 入力した文字を許容するか判定する関数(char input)
○ bool ○○か?(char input) 正確には関数ポインタで関数を持つ変数の名前なので数字やアルファベットなど何が入ってるかはわかりません SSLとかで共通鍵は比較的短期間で期限切れになると思うんですけど
新しい鍵に交換するタイミングで何か一連の通信が発生していたら
自分が鍵Aで送って、でも鍵A'に更新された後に相手が受け取る、
みたいな事が起きそうなんですが
その辺どう解決されてるか知ってる人居ますか? >>237
実装なんかどうでもいい。実装を名前にするな。
何をする関数なのか言え。 FA装置のソフト屋になりたいんだけど何勉強したらええ? >>241
物の調べ方から勉強したらどうかな
こんな掲示板でそんな質問するようじゃ何の見込みもない C#のbaseの使い方がよくわからないのですが
baseのカッコ内には基本コンストラクタと同じ引数を書けばいいのですか?
簡単な例を出して教えてほしいです switch文のサンプル見ると
最後にdefaultが書かれてることが多い(というか見た限りは全部そうだった)と思いますが
if (x)
x
elif (y)
y
else
x
って時は
switch
case x
default
x
break
case y
y
break
でいいんですよね?一応動きます
言語はJavaScriptです パンくずリスト(Breadcrumb navigation)ってもうちょっと技術的で固くて短い言い方ないの? サーバーと2,3回通信するスマホアプリを作ってて
スマホのような携帯端末はネットワークが細いから1回送ったデータは
セッション変数に保存して2回目以降はそこから取り出すようにした方がいいのか、
それともサーバーのメモリを食わないようにセッション変数はできるだけ使用せず
通信の度に送りなおしたほうがいいのかどっちだろ? 社内のPC関係管理してる部署に異動になって、プログラム作るときに
splitするだけの内容でも自作関数にして最小単位で作れ
と言われているんですが、これのメリットって何なんでしょうか
どうも1行でも自作関数制作という事に慣れず、気をぬくとそのまま記載してしまうのです はぁ?関数にするかどうかは行数じゃなくて
それで可読性をあげられるかどうかだろ
可読性を上げる = 読まなくていいようにするってことな
そのsplitするだけの内容が、関数にすることで、
関数の中を読まなくてすむような、適切な名前をつけられるのであれば
そうすべきだし、結局関数の中まで追わないと意味不明なら関数にする必要ないし main関数とか存在しないからclassで例えると
こんな感じのエラーにならないが問題だらけのコードを書かないようにじゃね
class Foo
let private;
function bar();
function baz();
document.write("Hello World!"); >>251
いやもう本当に「splitするだけ」なんですよね
呼び出し元では「AwoBdekugiru」のように自作関数名を書くか「split」と直接書くかの違いだけで
コード分からない人が読むなら前者の方が良いかもしれないんですが
コード読む人ってある程度はわかるはずですし、splitを書き換えるって事もないと思うので
メンテ性でも可読性でも後者の方が良いと思うんですよね 何でもワンクッション置く事、
自前の関数でラッピングすることの心地よさみたいなものは確かにあるw >>253
> いやもう本当に「splitするだけ」なんですよね
実装なんかどうでもいい。 好意的に解釈するなら移植性を重視していて
言語固有のライブラリとビジネスロジックとを分離することに重きをおいているとか 現実的に解釈するなら各社の情シスにまともなプログラマーがいるとは限らず
デメリットの方が多いことに誰かが気づいていたとしても
今からコーディングルールを崩してカオスになるよりは…と
消極的に現状維持を選んでいるだけということも >>245-247
JavaScript の質問は、web制作管理板の方へ書き込んでください!
>>249
頻繁に、サーバーと通信するのは、あまり良くない。
クライアント側のアプリ内で、データを持っていて、たまに通信する方がよい
ドラクエなどは、0.5秒毎に通信するけど、通信データは最小限に抑えている
>>250-257
色々な部署で、コードを再利用したいのだろう 独習C#のコードなんですが
https://ideone.com/ybzLth
21行目の=this と23行目のo.IsOddの前についてる!の意味が分かりません
インターフェイスの修飾子が付いてるから派生先のクラス型では呼べないのは理解出来てるのですが
上記二点は何なのでしょうか? >>259
thisはそのクラスのインスタンスそのもの。
!は論理否定。 恐らく常識だが、「整数が奇数でなければ偶数である」という事実を使っている。 独学用の教科書を謳っている本の解説をここでやってもらうって間違ってない?
C#の勉強より本の内容を把握する方が大変そう >>260
インスタンスは new ○○じゃないのでしょうか?
thisがこのような形で使われるのはこの本の中ではここが始めてでイマイチわかりません…
説明もないです
!が否定なのも何度か!=という表現が使われてるので分かるのですが
メソッドを呼び出す時に!を使うのは今回の章が初めてなので何がどう作用してるのかもわかりません…('A`)
すいません public bool IsEven(int x)
{
IEven o =this;
return !o.IsOdd(x);
}
これはoがthisの別名になるから
public bool IsEven(int x)
{
return !this.IsOdd(x);
} と同じ。さらに
public bool IsEven(int x)
{
return !IsOdd(x);
}
と同じ。 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b) メソッドを呼び出すときに!を使う特別ルールがあるわけではないよ
演算子の優先順位がわかってなくて混乱してるだけだと思う
1 + 2 * 3 の答えが 9 ではなく 7 であるという話に似ている
この式は分かりやすく書くと
1 + (2 * 3)
return !o.IsOdd(x);
を分かりやすく書くと
return !(o.IsOdd(x));
さらに次のようにも書ける
bool b = o.IsOdd(x);
return !b; PHPのクラスは、
宣言と実装を分ける事はできんのですかね ゲーム用のRTOS的なのってないんだろうか。コンシューマゲーム機はハードメーカーが用意してくれているけど
PC等で汎用的に使える奴 ゲームエンジンなら個人が無料で使えるUnityとかある 汎用OSじゃUnityを使おうがリアルタイム処理は実現できなくね? ゲーム機なんてバックグラウンドでいろんなサービスが動いてるし
フレームドロップし放題だからRTOSなんて必要とされてないだろう
RTOSの想定する用途とは真逆のものすごく高級で雑な世界 クリックするとイベントが発火するボタンがあるする
これに効果音を乗せる場合、押下時に紐付ける?
それとも発火と同じクリック時? >>272
GUIは自分で使ってみて使いやすい形にするのがセオリー >>273
いろいろ試してるうちに
どっちがいいのか分からなくなってきたんだ… スレチだったらすみませんが誘導をお願いします。
筋トレの回数を記録するスマホアプリの開発がしたいです。日付・種目・セット数を保存するだけの簡易なものを想定しています。
以下の条件を満たす開発環境を利用したいのですが、何がおすすめでしょうか。
・Windows10で利用可能(linuxの仮想環境は用意出来ますが、Xcodeが使えないと思っています)
・Android/iPhoneのどちらでも使える(クロスプラットフォームが理想ですが、別々に作ったほうが楽ならそれでも可)
・サーバ通信なし(アプリだけで処理が完結する)
ご意見頂けると幸いです。よろしくお願いします。 独習C#に
”tryブロックの中からメソッドを呼び出しそのメソッドの処理の中で例外が投げられたらcatchブロックで補足できる(ただし、そのメソッドの処理の中で例外が補足された場合には当然ながら呼び出し元では補足されません)”
というよく分かり辛い表現があるのですが
メソッド呼び出し中に発生した例外は補足されるのでしょうかされないのでしょうか…? >>278
private void methodA()
{
try { methodB(); }
catch {/*例外処理A*/}
}
このmethodAから呼び出すmethodBに関して
・呼出した先で例外が発生すると呼び出し元でcatchされる
private void methodB()
{
/*何らかの処理、例外は呼び出し元の例外処理Aで捕捉される*/
}
・別のパターン
「そのメソッドの処理の中で例外が補足された場合」呼び出し先で例外処理は完了するのでmethodAではcatchされない
private void methodB()
{
try {/*何らかの処理、例外は例外処理Bで捕捉される*/ }
catch {/*例外処理B*/}
}
メソッド分けたけどtry-catchを入れ子にしても同じこと
実際にこのパターンで書いてみて動かしてみればいい >>279
そういう意味でしたか…
分かりやすく噛み砕いていただきありがとうございます。 >>277
漏れは、Ruby, Nokogiri, Selenium WebDriver で、ブラウザを自動操作して、
ローカルPC 内の画像ファイルを、ブラウザで見たりしてる
ただ、ローカルPC内に保存できるかどうかは、知らない
HTML, CSS/SASS, JavaScript, jQuery, Node.js も使う
でも、Windows10 で、iPhone は作れるかな?
>>278-280
C# のスレで、聞いた方が良さそう Visual Studio(C#)のプログラミングに関する質問です。
インクルードする2ファイルが、双方のクラスを互いに必要とするケースにおいて、
コンパイルが通らなくて困っています。(当たり前なのですが…)
【Aファイル】
クラスAの定義{
クラスBの使用(インスタンス作成、メソッド利用)
}
【Bファイル】
クラスBの定義{
クラスAの使用(インスタンス作成、メソッド利用)
}
【全体インクルードファイル】
#include Aファイル
#include Bファイル
【コンパイル結果】
Bクラスが存在しません(Aファイルにて)
【質問】
お互いにクラス定義を必要とする場合、
★具体的に★どのような実装をすれば良いのでしょうか? > インクルードする2ファイルが、双方のクラスを互いに必要とするケースにおい
そういう設計になるのが間違い e-ラーニングの動画コンテンツみたいにさ、
Webページ上の動画をユーザが何分視聴したのかデータをDBに残したいんだけど、
どんな技術使えば実現可能なん? >>277
VSCode でも使っている、Electron もある。
これは、Chromium + Node.js
これも、Ruby, Nokogiri, Selenium WebDriver で、ブラウザを自動操作してるのと同じ。
実行環境がブラウザのChromiumで、ローカルPC へのアクセスに、Node.jsを使っている
これも、HTML, CSS/SASS, JavaScript, jQuery などを使う >>282-284
C# の質問は、C#のスレに書き込んでください!
それと、マルチポストは禁止です!
複数のスレや外部のサイトに、書き込まないでください!
他の場所・スレへ移動する場合は、元の場所の質問を締め切ってから、移動してください! 質問です。
qiitaのとある作者さんのWin32のウィンドウライブラリをパクったのですが、連絡を取るときはアカウントとるべきですか? 連絡取れれば何だって良いだろ。
ライブラリにライセンスがかいてあれば、連絡取る必要すらないし >>291
それもそうですなぁ。
qiitaのデフォルトライセンスの記述は見たことないなぁ。などと今思ったナリ。 高階関数だのラムダ式だの言ってるけど
関数ポインタを使ったコールバックと何が違うの? 擬似言語でかくとC言語では以下のような、foo関数の中に
bar関数を定義するというような書き方はできない
foo() {
bar() { }
var bar_prt = bar;
bar_prt();
}
このようにfoo関数の外に書く必要がある
bar() { }
foo() {
var bar_prt = bar;
bar_prt();
}
だから関数ポインタでは、以下のように、bar関数の中から
foo関数の中にある変数valueを参照するということができない
foo() {
var value = 123
bar() { console.log(value); }
var bar_prt = bar;
bar_prt();
}
別の場所にある関数だから、foo関数のローカル変数にアクセスできない
たとえ、foo関数の中にbar関数を定義できたとしても、関数ポインタと同じ仕組みであれば
bar関数の中からfoo関数の中にある変数valueを参照できない 例えばqsortの引数に直接swap&compareコードを書けるようになる
いちいち外部に関数つくって名前つける必要なくね?
という感じ
関数ポインタじゃ絶対に実現できないというのはない PHPのフレームワークLaravelを勉強している者なんですが、
Laravel EchoとPusherを使用してリアルタイムチャットを作ろうとしています。
色んなサイトを参考にして
Pusherの環境変数を.envに入力し、bootstrap.jsのコメントを解除したりして
色々設定し、通信状態もwebsocketになっていることが確認できました。
しかし、PusherのDebug Consoleに送信した内容が表示されません。
まだ何か設定が足りないとかありますでしょうか? PHP の質問は、web prog 板の方へ、書き込んでください! VisualStudioでDLLをデバッカしたいです。
ぐぐると、DLLを呼び出すexeを実行し、exeの対して「プロセスのアタッチ」を実行すればよいとありましたが、
DLLを呼び出すexeが一瞬で終わってしまうコマンドのため、アタッチできません。どうすればよいでしょうか。
試しに、exeを「ローカルWindowsデバッガー]で停止させ、別窓のVisualStudioコンソールでDLLのソリューションを開き
exeにアタッチしようとしましたが、「プロセスにアタッチできません。デバッガーは既にアタッチされています。」と表示され、アタッチできませんでした。 DLLのコードにブレークポイントを置いておいて、スタートアッププロジェクトのデバッグコマンドを
そのexeにしてデバッグ実行するだけでいいと思うけど。 >>299
すみません、Visul StudioでexeとDLLを同じソリューションで定義し直し(もともとは別ソリューション)
exeを「ローカルWindowsデバッガー」で動作させたところ、DLLのコードのブレークポイントで止まるようになりました。
追加の質問ですみませんが、「ローカルWindowsデバッガー」ではなくVisual Studioのリモートデバッカでデバックしたい場合ですが、
基本的にはデバックしたいexeのプロセスにアタッチする手番と思います。
アタッチする際に「使用可能なプロセス」の一覧からデバックするプロセスを選択すると思いますが、
非常駐プロセスの場合、この一覧からプロセスを選択できません。
デバックしたいexeが非常駐プロセスである場合、どうやってアタッチすればよいのでしょうか。 以下のようなWindowsプログラム(メインプログラム)のソースを書きました。
main.cpp
-------------------------------------------------
int main()
{
int *pNumber2 = NULL;
HMODULE hMod = LoadLibrary(DLLPATH);
PTESTMALLOC ptest2 = (PTESTMALLOC)GetProcAddress(hMod, "Test_malloc");
ptest2(&pNumber2);
_CrtDumpMemoryLeaks();
return 0;
}
-------------------------------------------------
この中で、外部DLL(DLLPATH)の関数「Test_malloc」のソースは以下です。
-------------------------------------------------
void Test_malloc(int **pNumber2)
{
int *pNumber = new int[3];
pNumber[0] = 4;
pNumber[1] = 5;
pNumber[2] = 6;
*pNumber2 = pNumber;
return;
}
-------------------------------------------------
DLLPATHがdebugモジュールの場合、CrtDumpMemoryLeaksでpNumber2の解放漏れが検出できました。
しかし、DLLPATHがReleaseモジュールの場合、解放漏れが検出できませんでした。
外部DLLには上記のようにDLLの中でメモリを獲得し、呼出側で解放用の関数を呼んでメモリを解放しなければいけないものがあります。
外部DLLのdebugモジュールは一般には入手できないため、このような解放関数の呼び出し漏れによるメモリリークを検出する方法はないでしょうか。 ■ このスレッドは過去ログ倉庫に格納されています