5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

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

スレ立てるまでもない質問はここで 131匹目

1 :デフォルトの名無しさん:2013/11/25(月) 03:48:07.46
質問する前にGoogleで検索しましょう。http://www.google.co.jp
プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。
Javascript は Web 制作板、CGI は Web プログラミング板へ。
業界談義、愚痴はプログラマ板へどうぞ。
ゲーム関係の話題はゲーム製作板へどうぞ。
ネタ、板とは関係の無い話題はご遠慮ください。

前スレ
スレ立てるまでもない質問はここで 130匹目
http://toro.2ch.net/test/read.cgi/tech/1383105985/

2 :デフォルトの名無しさん:2013/11/25(月) 03:48:40.61
【重要】
hogeは禁止します、使用しないでください。
万が一hogeが書き込まれても、スルーしてください。
相手にするとあなたも荒らしと同じ扱いになります。
なお、スルー出来ない人はhogeはNGワードに追加しておくことが強く推奨されています。

【重要】
hogeが禁止されていないと発狂する人がいます。
万が一hogeを使うなと書き込まれても、スルーしてください。
相手にするとあなたも荒らしと同じ扱いになります。
なお、スルー出来ない人はhogeはNGワードに追加しておくことが強く推奨されています。

3 :デフォルトの名無しさん:2013/11/25(月) 10:26:18.25
3 hoge

4 :デフォルトの名無しさん:2013/11/25(月) 10:59:23.15
4hoget

5 :デフォルトの名無しさん:2013/11/25(月) 11:02:12.18
5homot

6 :デフォルトの名無しさん:2013/11/25(月) 12:58:18.01
        _,rr-―''''¨゙゙゙ ̄ ̄ ̄ ̄ ̄`゙゙゙゙゙゙゙゙''ヘi、、   ,,,,-―---、
      ,r‐'″    ._,,,,             `'lri,!'''″     ゙l
     .,,,″    ,,r'"`  ゙゙l,               ゙ヘ,     |
     !アr,   .l°.ェ'ニ,コ .|                ゚ヘ、    |
       `'i、  .く_,、vr''″ .,                  ゙'i、 .,,/
         ゙X、        ト                   ゙!,゛    .,,r‐--、
   ,、_,、 .,,,,r‐'″        |                    } .,,r‐'^’   .|゜
   め゙゚“゙゙~゛           |                     ̄`     .,l゙
   |                ,i´                       ,l゙
   ゙!、                ,i´                       ,ノ
   .'┐              ,,-°  '=,,                   /`
    .゚!,          ,,,,r'″     ゙┐                 ,l゙
      ゚'r,    .''''"`         │    .,,-''i、          /
       `''x,      .|        |  .,,r'"  .゙┐           ,i´
         ~'ヘi,,,   |           |_,r・″    'ヘ,、         l゙
           `¬--|i,,,,,,,,,,,,,,,,v、r',广        ゙ヘ=@   ,l゙
                `゙'ーぃ--r'″           `'―、,,,,/

7 :デフォルトの名無しさん:2013/11/25(月) 15:14:35.49
泥スレでスルーされたので

Eclipse4.3 JRE7 最新のAndroidSDKで設定を
終わらせて、Androidテストプロジェクトを選んで
4.1にチェックいれて次へでThis Projectにして
次へで完了させると

ビルド中にエラーが発生しました。
プロジェクト 'テスト' でビルダー 'Android リソース・マネージャー' の実行中にエラーが発生しました。
java.lang.NullPointerException

とでてエミュレータを起動させることも出来ません
何がおかしいのか皆目検討が付きません
情報が足りてなかったらすみませんが
何方か解決策をご教示下さい

8 :デフォルトの名無しさん:2013/11/25(月) 16:00:57.37
ADTとSDK入れなおす
SDKのパスをもういちど指定しなおす
プロジェクトを再作成する

9 :デフォルトの名無しさん:2013/11/25(月) 17:51:05.48
windowsで任意のウィンドウでマウスかキーボードイベントが発生したことを
受け取れるウィンドウメッセージかコールバックのようなものはありませんか?
GetLastInutInfoというのは見つけたのですが、
ポーリングではないものを探しています。
キーやマウスボタンの内容は取得しません。

10 :デフォルトの名無しさん:2013/11/25(月) 18:29:25.80
>>9
グローバルフック

11 :デフォルトの名無しさん:2013/11/25(月) 23:56:34.73
縦スクロールバーと横スクロールバーがぶつかっている
ウインドウの右下の四角い部分の名前は何ですか?

12 :デフォルトの名無しさん:2013/11/26(火) 01:04:09.18
重箱の隅

13 :デフォルトの名無しさん:2013/11/26(火) 04:06:36.50
窓際

14 :デフォルトの名無しさん:2013/11/26(火) 06:57:56.30
太郎

15 :デフォルトの名無しさん:2013/11/26(火) 10:36:35.19
VS2012が出たばっかでなんでVS2013が出たん?
今までは2005→2008→2010みたく2、3年間隔

・大幅な仕様変更(大幅な機能追加)
・VS2012のできがあまりにもひどすぎた
・それ以外(                                )

16 :デフォルトの名無しさん:2013/11/26(火) 12:47:29.22
>>10 ありがとうございます。
探してみます。

17 :デフォルトの名無しさん:2013/11/26(火) 12:58:54.65
>>15
win8対応じゃないの?

18 :デフォルトの名無しさん:2013/11/26(火) 13:02:43.31
※中身は 2012.1 です※

19 :デフォルトの名無しさん:2013/11/26(火) 13:10:51.05
数年前にCOBOLを勉強しました(全商検定1級)
ちょっとした趣味程度で新しい言語を勉強しようと思っています
ネットで見ていると汎用性の高いJavaやC言語が主流のようなので
私もその辺を勉強したいと思うのですが、
やはり全商程度で手を出すのは身の程知らずでしょうか?
Pythonなどの初心者向けと紹介してある言語をまず学ぶ方がいいのでしょうか
どなたかお暇な方、ご指導の方お願い致します

20 :デフォルトの名無しさん:2013/11/26(火) 13:15:53.42
>>19
webアプリをやりたいなら、PHP, Ruby, Pythonあたり。(個人的にRubyがおすすめ)
WindowsアプリならC#
iPhoneかMacアプリならObjective-c
androidアプリならJava

21 :デフォルトの名無しさん:2013/11/26(火) 13:25:17.82
>>17
VS2012出すころにはWin8出ること確定してんだから、2012がWin8にネイティブ対応してないわけがない。
ということで真の理由は何かな。

22 :デフォルトの名無しさん:2013/11/26(火) 13:27:02.26
「全商程度で」って、がっつり大学とかで勉強しないといけないってイメージなのかね。
独学でもまったく大丈夫。

23 :デフォルトの名無しさん:2013/11/26(火) 13:30:06.44
>>19
何を作りたいの当面?
ウェブアプリ?(サーバはUnix系or Windows?)
デスクトップ[Windows]アプリ?
スマホアプリ?

言語先にありきなんて学校じゃないんだから・・・
まあでもあえてそういうならキミが自分で挙げてるその「高汎用性」言語のどちらか

24 :デフォルトの名無しさん:2013/11/26(火) 13:36:14.00

同じようなこと書いてしまった
意味ない・・・

25 :デフォルトの名無しさん:2013/11/26(火) 15:00:46.96
>>20
分かりやすい説明ありがとうございます!
かなりぼんやりとですがスマホアプリ開発に進みたいと
考えていたのでJavaから手を出してみることにします

>>22
簿記が日商と全商で格が違うように、
プログラミングも全商を取った程度で…というイメージがありました
いろいろなプログラミング入門サイトを見たら「Cは上級者、初心者はpython」的な
事も書いてあったので敷居が高く感じていました
独学でもまったく大丈夫とのお言葉で少し安心しました、ありがとうございます

>>23
正直言って「学校で勉強したし、せっかくだからもうちょっと深い所まで
行ってみようかな、後々何かに使えるだろうし」ぐらいの
考えで上記のような書き込みをしたので何を作りたいのか、までは
ハッキリと決めていませんでした
不愉快にさせてしまったのであれば、ごめんなさい
何となくですがこれから発展していきそうなスマホアプリが気になっています

26 :デフォルトの名無しさん:2013/11/26(火) 16:22:03.80
不愉快ではないけど、プログラミング言語って道具だから、
何を作るか決まってないとどの道具が良いかというアドバイスは難しい。

きかれてる側としては
「スコップがいいでしょうか、ハンマーがいいでしょうか、ノコギリがいいでしょうか?」
って漠然ときかれてる感覚。

27 :デフォルトの名無しさん:2013/11/26(火) 16:35:46.85
今はスマホファーストらしいから、初心者はスマホアプリ作った方が実践的で楽しいと思う。

28 :デフォルトの名無しさん:2013/11/26(火) 16:43:17.35
女子高生でも作るからね

29 :デフォルトの名無しさん:2013/11/26(火) 17:16:31.91
学校でマイクロマウスのプログラムを書かないといけなくなったのですが
マイコンで最短経路探索をするのに再帰をしない方が良いでしょうか

30 :デフォルトの名無しさん:2013/11/26(火) 17:33:16.55
>>29
スタックの管理ができないならやめたほうがいい。

31 :デフォルトの名無しさん:2013/11/26(火) 18:31:51.37
>>30
自己参照構造体でなら作ったことあります
頻繁に確保と開放を繰り返すのですがマイコンでも大丈夫ですか?

32 :デフォルトの名無しさん:2013/11/26(火) 21:09:28.05
>>19
言語を学ぶなら、シェルのあるpython、rubyがオススメ。
開発を学ぶなら、Java。javadocが読みやすいので、言語も学びやすい。
実用ならJavascriptでBookmarkletとか、シェルスクリプトって手もある。使わないと覚えない人もいるから。

33 :デフォルトの名無しさん:2013/11/26(火) 21:38:04.57
プログラマの人はやりたい事に対応するアルゴリズムが既にあるかどうか、いつも調べて組んでるの?
アルゴリズム辞典とか手元に置いてるの?

34 :デフォルトの名無しさん:2013/11/26(火) 21:45:00.54
>>33
一般的なのは頭の中にある。
専門的なのは探してなければ作る。

たいていは知っているアルゴリズムを組み合わせて、やりたいことを成す。

35 :デフォルトの名無しさん:2013/11/26(火) 22:01:24.05
>>34
ありがとう。
仕事で組んでる人はいろいろ知ってるんだね
マクロ組んで遊ぶ程度なんだけど、トランプをシャッフルさせたくなってググったら
アルゴリズム出てきたんで、いろいろあるんだな、と。

36 :デフォルトの名無しさん:2013/11/26(火) 23:27:25.07
>>35
仕事ってか経験だけどね。
でも自分がよく使ってるのより良いアルゴリズムを利用してる人もいたりする。だから、その手の質問がある、こういうスレを見て勉強してる。
より良い手段を選ぶのは、楽をするためで、必須ではないと思うよ。

37 :デフォルトの名無しさん:2013/11/27(水) 01:11:59.38
プログラミング・コンテスト・チャレンジブック、という有名な本がある

TopCoder
ttp://toro.2ch.net/test/read.cgi/tech/1333159918/l50

38 :デフォルトの名無しさん:2013/11/27(水) 14:36:40.95
>>21
http://itpro.nikkeibp.co.jp/article/Watcher/20131123/520202/?ST=win-server&P=6
8.1対応みたいなことがチラっと書いてあるな

39 :デフォルトの名無しさん:2013/11/28(木) 14:05:57.23
最近macやiosにスクロールバーが消えるものがありますが
スクロールバーには、「全体の中のどの位置にあるかを示す」という機能もありますよね?
その機能はあまり重要ではないと考えられるようになったということでしょうか?

40 :デフォルトの名無しさん:2013/11/28(木) 14:23:40.85
エッジUIはすべて悪だから

41 :デフォルトの名無しさん:2013/11/28(木) 19:39:13.10
普通のDBMSでロールバックはどういう仕組みで行われるのでしょうか?
トランザクション開始時にDB関係のデータ全て複製を取り、ロールバックしたいときは複製から書き戻すと想像していますがもっと効率のいい方法が有りそうな気がします

42 :デフォルトの名無しさん:2013/11/28(木) 20:38:44.89
>>41
なんでググらないの?
ググれないの?

データの変更履歴を保持する仕組み
http://www.atmarkit.co.jp/ait/articles/0602/21/news087_2.html

43 :デフォルトの名無しさん:2013/11/29(金) 20:01:18.22
VMWARE使ってテスト環境を用意しようと思うんだけど

ホストPC:Win7(64bit)+Offce2010+VS2008Pro
で、以下のテスト環境を用意する場合
テスト環境に必要な各種ライセンスは
OSライセンスは2つ、Officeライセンスは2003、2007それぞれ1つずつであってる?

テスト環境1:Win7(32bit)+Offce2003
テスト環境2:Win7(32bit)+Offce2007

44 :デフォルトの名無しさん:2013/11/29(金) 20:11:13.15
板違い

45 :デフォルトの名無しさん:2013/11/29(金) 20:16:45.82
まじで?板違うの?どこの板がいいの?

46 :デフォルトの名無しさん:2013/11/29(金) 22:29:56.72
どこがプログラミングなんだよボンクラ
ライセンスがプログラムに見えるとかパーかおめ

47 :デフォルトの名無しさん:2013/11/29(金) 22:34:20.02
>>45
MSに聞くのが確実

48 :デフォルトの名無しさん:2013/11/29(金) 23:13:37.12
>>45
強いて2chにこだわるなら、Windows板とビジネスsoft板かな

49 :デフォルトの名無しさん:2013/12/01(日) 05:12:03.27
何か一つの言語を学ぶと、他の言語もぐっと習得しやすくなるといいますが、
Java学んだあとにScalaとか、全く毛色の違う言語でも学びやすくなるのでしょうか?

50 :デフォルトの名無しさん:2013/12/01(日) 05:52:45.74
>>49
似ているどころか、ライブラリそのまま使えたりするでしょう。
学び方によるんじゃないかな。根本まで理解できていれば、lispの文法だって理解する助けになるはず。

51 :デフォルトの名無しさん:2013/12/01(日) 06:41:45.35
>>49
基本的には根本の種類が違うと覚え直し
最終的にScalaやるぐらいなら最初からScalaやった方がいいよ

他分野の解法や共通する考えで多少は楽になるけどね

52 :デフォルトの名無しさん:2013/12/01(日) 08:26:10.24
>>49
手続き型言語を1つマスターすれば他の手続き型言語は楽勝だろ。
関数型言語を1つマスターすれば他の関数型言語は楽勝だろ。
でも手続き型マスターしても関数型は楽勝ではないし、
関数型をマスターしても手続き型は楽勝ではない。

53 :デフォルトの名無しさん:2013/12/01(日) 09:04:07.77
関数型なんて覚える必要がない

54 :デフォルトの名無しさん:2013/12/01(日) 10:03:05.33
GPLのライブラリを使用する場合に、ライブラリのDLLをユーザーがDLL配布元から自分でダウンロードし、
それを特定のディレクトリに設置させる方式にすれば、DLLを呼び出す側のアプリケーション自体にはGPLは適用されないという理解で合っていますでしょうか?

教えてgooの質問では「日本と米国では違う」という回答でした
http://okwave.jp/qa/q5927604.html

55 :デフォルトの名無しさん:2013/12/01(日) 10:47:53.62
>>49
Scala は Java の膨大な資産を有向活用できることを
主目的に設計された関数型言語であり、
Scala を解説した文書の多くではJava との対比で Scala を解説している
たとえば「Java ではこう書くけど、Scala なら....」という風に書かれている

だから、>>49が Java プログラマであるなら、
初めて学ぶ関数型言語としては Scala を強く勧める
同じ理由で C# プログラマには、F# を勧める

56 :デフォルトの名無しさん:2013/12/01(日) 12:05:50.64
>>54
実際問題として貴方の配布するバイナリにGPLのライブラリについてるヘッダが含まれてるわけで、
貴方のプログラムがGPLと関係ないと主張するのは無理。

57 :デフォルトの名無しさん:2013/12/01(日) 12:10:54.47
>>56
LoadLibraryとGetProcAddressならヘッダはいらんし
GPLか否かは設置したユーザーしか知らんことだし

58 :デフォルトの名無しさん:2013/12/01(日) 12:12:59.83
普通はライブラリにはLGPLか、例外規定のついたGPLが適用されてるはずなんだがな。

59 :デフォルトの名無しさん:2013/12/01(日) 12:21:28.84
>>54
GNUライセンスに関してよく聞かれる質問 - GNUプロジェクト - フリーソフトウェアファウンデーション
http://www.gnu.org/licenses/gpl-faq.ja.html#NFUseGPLPlugins
>GPLの及ぶプラグインをロードするように設計された不自由なプログラムをリリースすることはできるでしょうか?

>GPLの及ぶプラグインを使うためには、メインプログラムはGPLかGPLと両立する自由ソフトウェア・ライセンスのもとで
>リリースされなければならず、メインプログラムがそれらのプラグインの使用のために配布される時には、
>GPLの条項に従わなければならないということです。

60 :デフォルトの名無しさん:2013/12/01(日) 12:36:33.46
>>54 みたいなことをやりたいときは LGPLだけに絞るほうが無難

61 :54:2013/12/01(日) 13:00:28.48
■V2Cという専ブラは、WebP形式の画像を表示するためのGPLのライブラリを
「ユーザーが手動でダウンロードしてライブラリフォルダに設置」させ、それを読み込んで使用しています。
http://v2c.s50.xrea.com/manual/imagesetting.html
> sourceforgeのjavavp8decoderから WebPImageDecoderPlugin-0_2.jar をダウンロードし、前項で作成したフォルダに置く。

■当該ライブラリのライセンスは以下ソースコードの冒頭に書いてあります
http://sourceforge.net/p/javavp8decoder/code/ci/master/tree/src/net/sf/javavp8decoder/imageio/WebPImageReader.java
■当該ライブラリはV2Cでの使用を前提としたものではないため、V2Cは当該ライブラリに対応するために個別のコードを記述して使用しています。
■現状でV2Cはソースコードを公開していません

以上4つが全ての情報です。

62 :デフォルトの名無しさん:2013/12/01(日) 13:00:57.72
JAVAが使えると世界が広がりますか?
HTML→JavaScript→Perl→C→C++とやって世界は広がりました。
望んだWebページを作るのにHTMLしか選択肢がなく、それで世界が広がり、
さらにそのページを細部に至るまでダイナミックにするという意味でJavaScriptも世界を広げてくれました。
Perlを覚えるとサーバサイドの処理ができるようになって世界が広がりました。
C/C++ではクライアント向けアプリケーションを開発できるようになって世界が広がりました。

しかしJavaは難解で何度か挑戦したのですが世界が広がるところまでいきません。
かなり気合いを入れてやればできるとは思いますが、学習コストと同等かそれ以上の世界の広がりはありますでしょうか?

63 :デフォルトの名無しさん:2013/12/01(日) 13:15:42.88
日本語でおっけー

64 :デフォルトの名無しさん:2013/12/01(日) 13:15:54.66
>>62
javaを習得すればandroidアプリ作れるよ

65 :デフォルトの名無しさん:2013/12/01(日) 13:20:55.83
C++できんのにjavaが難解なのか…(困惑)

66 :デフォルトの名無しさん:2013/12/01(日) 13:28:38.20
>>61
>>59の答えと変わらない
しかしただのデコーダがGPLって随分強気なライブラリだな

67 :デフォルトの名無しさん:2013/12/01(日) 13:29:55.10
>>54
GPL のライブラリーを使うことを意図してるならダメでしょ。

68 :デフォルトの名無しさん:2013/12/01(日) 13:31:38.33
>>59の答えってこれ?

> GPLの及ぶプラグインをロードするように設計された不自由なプログラムをリリースすることはできるでしょうか? (#NFUseGPLPlugins)

> それはプログラムがどのようにプラグインを呼び出すかによります。
> たとえば、プログラムが単純なforkとexecでプラグインを起動し、通信するだけならば、
> > プラグインは別のプログラムであり、プラグインのライセンスはメインプログラムになんの要求もしません。
>
> もしプログラムがプラグインと動的にリンクされており、お互いにファンクションコールを
> 使ってデータ構造を共有している場合、それらは単一のプログラムを形成しているとみなされますので、
> その単一プログラムは、メインプログラムとプラグインの両方の拡張部分として扱われなければなりません。
>
> プログラムがプラグインと動的にリンクされているが、それらの間のコミュニケーションは
> いくつかのオプションとともにプラグインの「main」関数を呼び出して返値を待つだけ
> という場合は、境界線上で微妙なケースとなります。
>
> 共有メモリを使い、複雑なデータ構造で通信することは、動的なリンクとほとんど同等です。

69 :デフォルトの名無しさん:2013/12/01(日) 13:34:13.05
Aという人がプラグインの仕組みを備えたアプリを作った
そのアプリはGPLではない。

Bという人がプラグインを作った。そのプラグインはGPLである。


この場合に、AとBのプログラムは関係がないどころか、
お互いに相手のことを知らないこともありえるので
どちらもGPLに反しない。

70 :デフォルトの名無しさん:2013/12/01(日) 13:37:07.59
>>61
Eclipseのプラグインの例が一番わかりやすい
http://nippondanji.blogspot.jp/2010/05/eclipsegpl.html

>>69
汎用的なプラグインのインターフェースにGPLプラグインを突っ込んだ場合はユーザーの自己責任だろうけど、
>>61読む限りではモロに特定のライブラリを指定してるからアウトじゃない?

71 :69:2013/12/01(日) 13:37:28.18
69の例はWINEにも当てはまる。
WINEのライセンスはGPLである。
WINEはWindowsのDLLを読み込むことが出来る。
このDLLはGPLではない。

つまり、プログラムがGPLでプラグインが非GPL、
またはその逆であっても、問題ない。

もしアプリがプラグイン必須じゃないと動かないものであれば
GPLに反するだろう。そうでないのであれば問題はない。

72 :デフォルトの名無しさん:2013/12/01(日) 13:38:23.60
>>70
> >>61読む限りではモロに特定のライブラリを指定してるからアウトじゃない?

そのライブラリがアプリの動作に必須でないのなら問題ない。

73 :デフォルトの名無しさん:2013/12/01(日) 13:39:33.73
>>72
その理論だとEclipseのプラグインにGPLを適用できない理由が説明できなくなってしまうよ。

74 :デフォルトの名無しさん:2013/12/01(日) 13:40:52.31
>>70
Java的な知識で答えるとjavavp8decoderはおそらく”汎用的な”インターフェースをimplementsして実装されてるはず
だからV2Cがjavavp8decoder「特有の」コードを書いている保証はない

75 :デフォルトの名無しさん:2013/12/01(日) 13:42:36.70
>>69
> お互いに相手のことを知らないこともありえるので

あり得ないだろ。
インターフェースは誰が決めてるんだよ (w

76 :デフォルトの名無しさん:2013/12/01(日) 13:44:53.18
> Java的な知識で答えるとjavavp8decoderはおそらく”汎用的な”インターフェースをimplementsして実装されてるはず

>>61で示されたソースコードを見ればわかる。

> import javax.imageio.ImageReader;

> public class WebPImageReader extends ImageReader implements

WebPImageReaderは、汎用的なImageReaderインターフェースを実装している。

つまりV2Cは、汎用的なImageReaderインターフェースを使ってるに過ぎない。

77 :デフォルトの名無しさん:2013/12/01(日) 13:47:59.50
>>75

> あり得ないだろ。
> インターフェースは誰が決めてるんだよ (w

そのお前がありえないと言っていることが
ありえたならば、お前の主張は完全に崩れる。

> javax.imageio.ImageReader

このインターフェースを決めたのは
Javaの開発元である。

78 :デフォルトの名無しさん:2013/12/01(日) 13:49:07.94
>>62
今までどんな作り方してたかによるけど、設計の世界が開けそう。ちなみに俺は、10以上の言語を使ったが、Javaで一番変わった。1.2の頃の話だけど。
CとC++をまとめてる時点で、Javaも一緒かも知れないけど。

79 :デフォルトの名無しさん:2013/12/01(日) 13:52:08.12
Oracleが公開したインターフェースに基づいてプラグインの読み込み機能を作った。
そのプラグインとしてGPLプラグインを食わせたとしてもそれはユーザーの責任である。

80 :デフォルトの名無しさん:2013/12/01(日) 13:56:42.96
C/C++のライブラリだと「公開されたインターフェースに基づいて実装」ってのはあまりないから、
どうしてもライブラリ固有の呼び出しをせざるを得ないけど。

オブジェクト指向言語だと既に存在するインターフェースに合わせてクラス実装することが多いから
自然と汎用的なインターフェースを使用しがち。そこらへんでライセンスに関する認識が食い違うのかもね。

81 :デフォルトの名無しさん:2013/12/01(日) 14:00:43.53
別の角度からこの話を見ると
GPLのライブラリをうっかり共通のインターフェースに準拠させちゃうと
「俺は公開されたインターフェース使ってるだけだから無問題。お前のライブラリとリンクしてもそりゃユーザーの責任だ」で通っちゃうわけね

82 :デフォルトの名無しさん:2013/12/01(日) 14:06:27.88
>>61 のサイト見たけど
具体的な設定方法まで書いた上で
最後に赤字で「〜の利用を推奨しているわけではありません」とか
見苦しい言い逃れを並べているわけだが

ほんとに心配なら第三者のふりをして別サイトでやれっちゅうねんw

83 :デフォルトの名無しさん:2013/12/01(日) 14:13:26.11
>>81
GPLアプリをWindowsで動かしたら、
GPLでないWindowsのDLLを動的リンクするのは
避けられないわけで、お互い様だな。

動的リンクに関してはGPLは適用できない考えて良いレベルだよ。

そもそもGPLってのは作者が書いたコードが
GPLのまま発展されていくことを願ったもので
作者が書いたコード以外に影響するものではない。

他人をGPLにするのが目的ではなく自分がGPLでいられるのが目的だからね。
まあ自分でGPLのアプリやライブラリを作ったことがない人(使うだけの人)は
作者の気持ちなんてわからないだろうけど。

84 :デフォルトの名無しさん:2013/12/01(日) 14:14:22.66
>>82
書かないとGPLに関して無知な奴が
難癖つけてくるからだろ。

85 :デフォルトの名無しさん:2013/12/01(日) 14:33:06.14
GPLアプリがDirectXを使うことってどうなるんだろうね。

86 :デフォルトの名無しさん:2013/12/01(日) 14:36:59.31
主旨を尊重しようぜ
変な抜け道探しをしていると
GPL4「対Japan条項追加」なんて恥ずかしいことになりかねんw

87 :デフォルトの名無しさん:2013/12/01(日) 14:37:18.58
>>82
そりゃ自分が作ったものじゃないんだから
責任は取れんだろ

88 :デフォルトの名無しさん:2013/12/01(日) 14:41:51.18
>>86
そんなことにならねーから安心しな
馬鹿なことを言ってないで、
これがGPLに使い方の一つなんだから
素直に受け入れな。

89 :デフォルトの名無しさん:2013/12/01(日) 14:52:15.10
>>86
その条項の内容が見てみたいな。

だって「GPLは汎用ライブラリのインターフェースを
実装してはならない」って条項だろう?

1. Oracleがインターフェースを作り巻いた。
2. あるアプリがそのインターフェースを利用するアプリを作りしました。
3. そのインターフェースを実行したGPLプラグインを作りました。

時間的にこの順番で事が進んだ場合。3で生まれるGPLライセンスは
当然過去に起こった1、2を止めることは出来ないからな。

ていうことは、GPLライセンスのライブラリは、汎用ライブラリの
インターフェースを実装してはならないという、GPLに制限を与える
条項になるわけだwww

90 :デフォルトの名無しさん:2013/12/01(日) 14:57:33.51
>>89
そんな条項が付いたとして、
作者が嫌だと思えば、現在のGPLライセンスを使えばいいし、
そっちがいいと思えば、その条項付きGPLライセンスを使えばいい。


ということであれば、現在でもGPLの大部分をコピった
ライセンスを自分で作ればいいのだよ。

あるアプリの作者が作ったライセンス
「私は汎用ライブラリのインターフェースを実装してはならない」

91 :デフォルトの名無しさん:2013/12/01(日) 15:14:56.60
そもそもの発端を考えようよ。

>>54 は、自分?のソフトから GPL に抵触しないように、GPL のライブラリを使う方法を考えてるんだよね。
だったら、GPL のもともとの精神からしたらやってはいけないこと、でいいんじゃない?
で、それでも抜け道を探せば色々手はあるだろうけど、
そんなのは自分の責任でやってみればいいじゃんってことでしかないんじゃねーの。

そんなことばっか考える輩が多いから GPL はあんな風になっちゃったんじゃ。

92 :デフォルトの名無しさん:2013/12/01(日) 15:23:32.36
GPLはソフト作者が意図的にGPLへとリンクする行為については対応できるけど、
エンドユーザが勝手にGPLへとリンクする行為については対応できてない

そこを悪用して「エンドユーザーが勝手にGPLライブラリをリンクする行為」をソフト作者がが促せば
GPL違反にならずにGPLライブラリを使うことが可能になっている

93 :デフォルトの名無しさん:2013/12/01(日) 15:26:10.70
動的ならどちらにしろ問題ない

94 :デフォルトの名無しさん:2013/12/01(日) 15:36:36.75
このスレがGPLに汚染される

95 :デフォルトの名無しさん:2013/12/01(日) 15:38:30.83
俺の書いたレスはGPLだからこのスレは全部GPLな

96 :デフォルトの名無しさん:2013/12/01(日) 16:01:53.46
>>95
書き込みに使ったツールの不具合のためライセンス情報の喪失が確認されました

97 :デフォルトの名無しさん:2013/12/01(日) 16:30:51.20
>>58
GPLは頭オカシイからな。

GPLなら>>59にあるように問答無用で汚染する気満々だし
(第三者がGPL使ってプラグイン書いたらどうする気だよ…)、
LGPLなライブラリならリンクしても汚染を回避できるものの、
LGPLは汚染できないから非推奨(意訳)って公式に宣言してる始末。

汚染が目的ですって言ってる文面見てFSFは駄目だと確信した。

つかそれが無くてもあの牛の顔がウザくて使いたくない。

98 :デフォルトの名無しさん:2013/12/01(日) 16:54:28.47
あの牛も嫌いだけどgnomeの足も嫌いだわ

99 :デフォルトの名無しさん:2013/12/01(日) 17:17:08.17
>>97
単にプラグインwwwとか言って迂回されるのを防ぐ意図のように感じられるけど実際にトラブったらどうなるかわからんな

例に挙がってるV2C なんか直撃してると思うw

100 :デフォルトの名無しさん:2013/12/01(日) 17:17:42.74
インターフェースの表現にはGPLが及ぶが、インターフェース自身は著作権の保護対象ではない

101 :デフォルトの名無しさん:2013/12/01(日) 17:48:11.59
>>91
> >>54 は、自分?のソフトから GPL に抵触しないように、GPL のライブラリを使う方法を考えてるんだよね。
> だったら、GPL のもともとの精神からしたらやってはいけないこと、でいいんじゃない?
GPLの精神に反してないだろ。

GPLの精神はソースコードを保護すること。
ライブラリのバイナリを使用していだけであればなんの問題もない。

実際にGPLのソフト側が、GPLではないライブラリ(WindowsのDLL)に
動的リンクしている現状をどう思うよ?

もし自分以外が作ったものも全てGPLでなければらない、というのなら
GPLソフトが非GPLのDLLに動的リンクすることだって拒否するはずだろ。

そうしてないということは「自分が作った物」さえGPLのままであれば
なにが動的リンクしても関係ないと考えているから。

102 :デフォルトの名無しさん:2013/12/01(日) 17:48:38.07
>>97
静的リンクならLGPLも汚染対象だぞ

103 :デフォルトの名無しさん:2013/12/01(日) 18:20:54.22
>>101
つまり GPLの理念を追求するならば Linux以外では一切つかわせてはならないという主張だな!
明快だ!

104 :デフォルトの名無しさん:2013/12/01(日) 18:22:30.06
>>103
そして、Linux以外では使ってはいけないということだよ。

WINEとかありゃだめだね。

105 :デフォルトの名無しさん:2013/12/01(日) 18:23:36.59
>>101
>GPLの精神はソースコードを保護すること。
それは建前で、本音はGPL汚染する事じゃないの?

>GPLではないライブラリ(WindowsのDLL)に動的リンクしている
OS側とのリンクは例外規定がある。

>GPLソフトが非GPLのDLLに動的リンクすることだって拒否するはずだろ。
依存するライブラリをGPLないしオープンソースのライブラリに置換する活動は方々で行われてる。
それにGPL汚染を拡大する為の物量作戦としては、理念より稼動物の生産が優先じゃないかな。

>>102
そだな。隙あらば汚染を狙ってる。
無理筋の汚染経路でもGPL乞食が汚染宣言するしな…どこのプロ市民だよ…

106 :デフォルトの名無しさん:2013/12/01(日) 18:26:16.23
>>105
本音は隠されているのだから勝手に想像してはダメ。

たてまえだろうが、そう言っている以上
それを扱うしかない。

107 :デフォルトの名無しさん:2013/12/01(日) 18:28:17.51
>>105
> OS側とのリンクは例外規定がある。

無いよ。

108 :デフォルトの名無しさん:2013/12/01(日) 18:29:49.54
>>106
建前だけでも十分きっついわ
LGPLのリバースエンジニアリング許可条項とか意味不明

109 :デフォルトの名無しさん:2013/12/01(日) 18:31:55.30
>>107
あるよ。

beroの日記: LinuxからコードをパクったOSはGPLにならない
http://slashdot.jp/journal/483811/Linux%E3%81%8B%E3%82%89%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E3%83%91%E3%82%AF%E3%81%A3%E3%81%9FOS%E3%81%AFGPL%E3%81%AB%E3%81%AA%E3%82%89%E3%81%AA%E3%81%84


> このGNU General Public License, version 2 [gnu.org]の一節にあるように、実行環境はGPLを適用されません。
> ですから実行環境であるvmkernelにはGPLライセンスを適用する必要もないことになります。
> プロプライエタリなPOSIX環境用にbashをビルドして配布する場合、例外条項がなければその
> 環境のCコンパイラやらカーネルやらも配布対象になりそうですが、それはOSに付随していてbashには
> 通常付随しないのでこの例外条項の対象になりませんから、配布しなくてよいわけです。
> あなたの言う独自OSがGPLでライセンスされたコードを組み込んで動く前提で設計されている、
> つまりGPLでライセンスされたコードが成果物に付随しているならば、そのOSはGPLの影響を受けます。

> このOS例外を使ったものでなく、プロプライエタリなソフトウェアのパッケージにオープンソースのライブラリが
> 付いてくることはよくありますよ。Battlefield 2(明らかにOSではない。し、OSSでもない)にもOpenALが
> 付いてきたことがありました。彼らは「混ぜて」はないんです。あるいは「交ぜて」いるのかもしれませんが。
> GPL2はGPL2なライブラリを利用すること自体は禁じていません。それを密に結合して盗用してはいけないよ、ってだけです。
> 一体不可分で独立してコンパイル・動作不能なソースのGPL部分だけを公開するってことはできませんけど、
> たとえばMicrosoftがWindowsにGPLでライセンスされたお絵かきソフトとMSVCでビルドできるソースを同梱して販売することは可能です。

110 :デフォルトの名無しさん:2013/12/01(日) 18:37:08.19
これ読む限り、プラグイン=システムライブラリじゃん?
だからOKじゃん。

http://www.gnu.org/licenses/gpl-faq.ja.html#WindowsRuntimeAndGPL
> Microsoft Visual C++ (もしくはVisual Basic)を使ったWindowsアプリケーションを書いているのですが、
> これをGPLのもとでリリースする予定です。GPLは、わたしのプログラムがVisual C++
> (もしくはVisual Basic)のランタイムライブラリとダイナミックリンクするのを許可していますか? (#WindowsRuntimeAndGPL)
>
> このようなライブラリとあなたのプログラムをリンクしコンパイルしたプログラムを他人に配布することは可能です。
> このとき、ランタイムライブラリはGPLv3が定義する、「システム・ライブラリ」です。これは、
> そのプログラムの「対応するソース」としてその(ライブラリの)ソースコードを含めることについて
> 気にしなくてよいことを意味します。GPLv2は同様の例外を第3節で提供しています。
>
> このようなライブラリをコンパイルされたDLLの形態でそのプログラムとともに配布することはできません。
> 良心的でないディストリビュータが「システムライブラリ例外」を抜け穴として使おうとすることを禁止するため
> GPLは、プログラムそれ自身とともに配布されないときに限り、そのライブラリがシステムライブラリとしての
> 資格があると述べています。DLLをプログラムと配布する場合、この例外にはもはやあたりませんので、
> GPLに適合する唯一の方法は、そのソースコードを提供することですが、これはあなたにできないことです。

111 :デフォルトの名無しさん:2013/12/01(日) 18:56:13.03
>>106
LGPLは非推奨(意訳)の文書で本音ダダ洩れなんで…

>>110
GPL乞食に理屈が通用するとでも?

112 :デフォルトの名無しさん:2013/12/01(日) 19:13:15.26
GPLが共産主義的であるというのは事実だが
乞食というのは誤り

むしろGPLに反発するふりをして果実をタダ取りしようとするのが乞食

113 :デフォルトの名無しさん:2013/12/01(日) 19:27:43.56
ファイアウォールって自作できる?
Linuxでiptables使ってチョンアクセスを弾いてるんだけど、ここにチュンアクセスも弾くルールを追加するとルールが5000越えるんだ。
iptablesは5000越えた辺りから急に重くなるってきいてるから自作できたらしようかと思ってるんだが。

114 :デフォルトの名無しさん:2013/12/01(日) 19:28:41.14
ルーター側でやれ

115 :デフォルトの名無しさん:2013/12/01(日) 20:50:53.35
http://www.42ch.net/~shutoff/
KR CN KPで4700くらいで済んでるな

116 :デフォルトの名無しさん:2013/12/01(日) 21:31:19.58
>>112
>乞食というのは誤り
GPL信者の一派閥がGPL乞食。
(L)GPLが絡んでるならGPL違反だろうがそうでなかろうが、
ひたすらソース公開しろって叫び続ける輩の事ですよ。
それを諌めるGPL信者がまず居ない辺り同類な気もするけど、それはそれ。

>むしろGPLに反発するふりをして果実をタダ取りしようとするのが乞食
自分がタダ乗りだと思う使い方を許すライセンス選ぶほうが間違い。

117 :デフォルトの名無しさん:2013/12/01(日) 21:38:43.73
うるせえゴミ

118 :デフォルトの名無しさん:2013/12/01(日) 21:46:31.96
そんなに GPL を憎めるほどのなにがあったというのだろう。

119 :デフォルトの名無しさん:2013/12/01(日) 22:25:02.35
GPLはともかく、GPL乞食は結構ウザいよ。

120 :デフォルトの名無しさん:2013/12/01(日) 22:43:57.53
ああ、いや。
GPL ウザイって思うような体験した上で言ってるのかな〜とか。
経験済みなら、そのときの経験を聞いてみたいけど、スレチだな。

121 :デフォルトの名無しさん:2013/12/01(日) 22:48:40.84
GPL乞食がウザいって思ったことならあるな。

ライセンスに上も下もない、
つまりGPLはその他のライセンスより優先されるものじゃないのに、
GPLを混ぜてしまったものを見つけたら、
その他のライセンスは無視してGPLに従えってうるさいやつ。

本来なら、ライセンスに抵触しないようにGPL部分を
取り除けばいいだけなのに、それを許さない奴。

それでいながら、GPLに非GPLのコードが混ざったら
それを取り除けばいいんでしょ?って言う。

122 :デフォルトの名無しさん:2013/12/01(日) 22:55:53.42
藁人形乙

123 :デフォルトの名無しさん:2013/12/01(日) 22:56:26.69
非GPLのアプリケーションにおいてGPLのプラグインを使用することは
「プラグインを使用したエンドユーザーがGPL違反」ということになるのかな?

124 :デフォルトの名無しさん:2013/12/01(日) 23:03:01.81
>>123
ならない。

なぜなら、GPLはバイナリを手に入れられる人は
そのソースコードを手に入れられることという決まりがあるだけだから。

つまり、ソースコードを修正したとしても
そのコードを公開する義務はない。
こっそり自分用に修正したものを、
自分だけで使って問題ないんだよ。

その一番の利用例がウェブサービス。
あれは内部で何を使っていたとしても結果を返しているだけで
プログラムをユーザーが手に入れてるわけじゃないから、
どんなに改造して使ってもOK

125 :デフォルトの名無しさん:2013/12/01(日) 23:58:08.43
>>113
Linuxのパケット・フィルタリング、netfilter(iptables)では、
適用ルールを線形探索するので、ルール数が5千以上あると、
性能が極端に低下する
32ビット・カーネルでは、25,000で、カーネルメモリが不足する

次に、IP rangeは、IPアドレスが連続している場合にのみ、
使えるが、アドレスがうまくまとめられないこともある

3つ目は、IP setで、不連続なIPアドレス
(+ネットワーク・アドレス、MACアドレス、ポート)を、
1つのルールにまとめる
ただし、カーネル2.6.39以降で使える

線形探索は、データ数nに比例する、O(n)ので、
2分探索、O(log n)のアルゴリズムが選択できれば、速い

126 :デフォルトの名無しさん:2013/12/02(月) 00:14:53.54
DNSの逆引き遅いんだけどどうにかならないの?

127 :デフォルトの名無しさん:2013/12/02(月) 08:27:34.83
>>124
5000の閾値は何が原因で発生するの?

128 :片山博文MZコスモ ◆T6xkBnTXz7B0 :2013/12/02(月) 14:34:46.91
重なってる2つのポリゴンを併合して1つのポリゴンを作る方法がわからない。
誰か教えて下さい。

129 :デフォルトの名無しさん:2013/12/02(月) 14:58:25.31
スクロールバーを含めた表示領域、
スクロールバーを除いた表示領域
をそれぞれ何と言いますか?

130 :デフォルトの名無しさん:2013/12/02(月) 15:46:09.91
>>126
ならない

131 :デフォルトの名無しさん:2013/12/02(月) 16:23:14.88
>>128
設問があいまい過ぎる。

132 :デフォルトの名無しさん:2013/12/02(月) 18:46:45.42
C++ってなんて読むの?

シープラスプラス
シープラプラ
ラージシープラスプラス
ラージプラプラ
ミギプラスプラス
ミギプラプラ

133 :デフォルトの名無しさん:2013/12/02(月) 18:49:30.56
>>132
シープラスプラス

134 :片山博文MZコスモ ◆T6xkBnTXz7B0 :2013/12/02(月) 19:37:28.36
>>131
2つのポリゴン領域にOR演算を施した後の領域の境界となるポリゴンの求め方がわかりません。

135 :デフォルトの名無しさん:2013/12/02(月) 20:05:46.08
Win32のregion function使えばいいやん

136 :片山博文MZコスモ ◆T6xkBnTXz7B0 :2013/12/02(月) 20:13:01.00
>>135
いいえ、ダメです。ポリゴンのままでなければいけません。

137 :デフォルトの名無しさん:2013/12/02(月) 20:29:14.02
とりあえず交点求めて図形の内外の判定ができればできるな

138 :デフォルトの名無しさん:2013/12/02(月) 20:38:05.73
こんな場末でする話題じゃない こんな感じだ
http://www7b.biglobe.ne.jp/~garaku/Boolean.html

139 :片山博文MZコスモ ◆T6xkBnTXz7B0 :2013/12/02(月) 20:53:07.37
>>138
ありがとうございます。

140 :デフォルトの名無しさん:2013/12/02(月) 22:24:13.77
どういたしまして

141 :デフォルトの名無しさん:2013/12/02(月) 23:29:18.49
class Person
{
private:
 string fullname;
 string nickname;

public:
 Person(String fullname, String nickname);
 Person(String fullname);
 Person(String nickname);
}

「フルネーム」と「ニックネーム」を保持する人間クラスを作りたいです。
フルネームとニックネームは相互変換可能で、
フルネームのみを渡された場合はコンストラクタでニックネームを推測してセットし、
ニックネームのみを渡された場合はコンストラクタでフルネームを推測してセットします。

しかしニックネームとフルネームは同じ型なので上に書いたようなコンストラクタのオーバーロードはできません。

以上の問題について二つの解決法を考えました。
1:
 Person(String name, Flag flag);
のようにコンストラクタにフラグを渡し、引数のnameがfullnameなのかnicknameなのかをコンストラクタに判断させる。

2:
Fullname fullname;
Nichname nickname;
のようにフルネームとニックネームを別の型に分けてオーバーロード可能にする

以上どちらの解決法がよいでしょうか?
また、他に解決法がありましたら教えていただきたいです

142 :デフォルトの名無しさん:2013/12/02(月) 23:32:55.48
アドレスを渡して、使わない引数にNULLを設定

143 :デフォルトの名無しさん:2013/12/02(月) 23:34:21.53
Person();
void SetFullName(String fullName);
void SetNickName(String nickName);

144 :デフォルトの名無しさん:2013/12/03(火) 00:00:47.39
>>141
class Person
{
private:
 string fullname;
 string nickname;

public:
 Person(String fullname, String nickname);
 static Person* createFromFullname(string fullName); // ←フルネームだけでオブジェクトを生成
 static Person* createFromNickname(string nickName); //←ニックネームだけでオブジェクトを生成
}

145 :デフォルトの名無しさん:2013/12/03(火) 00:09:52.60
せめてユニポ返せよ

146 :141:2013/12/03(火) 00:10:53.95
おお〜色々方法があって感心しました

147 :デフォルトの名無しさん:2013/12/03(火) 00:33:56.64
>>141
推測するのやめて単純にコピーだけにすればコンストラクタ2つで済むな

148 :デフォルトの名無しさん:2013/12/03(火) 01:33:45.13
>>132
しーぴーぴー

149 :デフォルトの名無しさん:2013/12/03(火) 06:27:43.86
fullname,nicknameいずれかの情報が欠落してる場合はnullでコンストラクタに渡す

150 :デフォルトの名無しさん:2013/12/03(火) 06:30:05.62
コンストラクタで設定せず、
setFullName,setNickNameのセッタを用意する。

151 :デフォルトの名無しさん:2013/12/03(火) 09:32:52.46
現在Win7 64Bit使用中です
製作したソフトの実行テスト用としてWin8を仮想環境にインストールするのですが、
Win8 64bitのほうで正常動作するなら、Win8 32bitでもまず問題なく動作すると考えていいのでしょうか?

152 :デフォルトの名無しさん:2013/12/03(火) 09:44:12.95
32bitでの動作保証がほしけりゃ32bitで動かせよ

153 :デフォルトの名無しさん:2013/12/03(火) 10:16:27.00
バイナリが64bit環境向けにコンパイルしたものなら動かないぞ

154 :デフォルトの名無しさん:2013/12/03(火) 10:31:03.00
ド素人が操作ミスで言いがかりをつけてきたときに
そんな装備で戦えると思っているのか

155 :デフォルトの名無しさん:2013/12/03(火) 11:08:05.62
充分だ ばあk

156 :デフォルトの名無しさん:2013/12/03(火) 14:31:41.03
引数に値を与えたらセッター、引数なしならゲッターになるメソッドがありますが
こういうメソッドに固有の名称はありますか?

157 :デフォルトの名無しさん:2013/12/03(火) 14:37:33.77
ありません。プロパティが近いかもしれませんがそのものではないです。

158 :デフォルトの名無しさん:2013/12/03(火) 15:01:49.36
>>156
Rubyだとアトリビュート(attribute)と呼んでいるね
そして、セッター/ゲッターメソッドという分類の代わりに
アトリビュートの性質として以下の名称がある:

・リーダ(reader):ゲッターメソッドに相当
・ライタ(writer):セッターメソッドに相当
・アクセサ(accessor):ゲッターメソッドかつセッターメソッドに相当

参考まで

159 :デフォルトの名無しさん:2013/12/03(火) 23:13:37.88
>>149
nullより空文字の方がいい。
因みにsmalltalk系統の言語ならClass method内でInstanceにmessage送って初期化すんのが慣習。
Smalltalk系統の言語だとself newで派生ClassのObjectがかえって来るから、
基底ClassのClass methodで派生型も初期化できちゃう。

!Person class methodFor: 'instance creation'!
pesonFromFullName: aString
 ^self
  new
  fullName: aString.
!
personFromNickName: aString
 ^self
  new
  nickName: aString.
!!

Person personFromFullName: '名前'.
Person personFromNickName: 'あだ名'.

160 :デフォルトの名無しさん:2013/12/03(火) 23:22:47.13
nullの方がいいな

161 :デフォルトの名無しさん:2013/12/03(火) 23:36:28.10
nullだとnull確認が増えて手間。

aString ifNotNil:[ aString ifEmpty:[...] ].
とか毎回null確認なんてやっとられん

尤もaccessing methodをnilのために有効に使う手もあるにはあるが。

162 :デフォルトの名無しさん:2013/12/03(火) 23:54:20.65
nullだろう。

163 :デフォルトの名無しさん:2013/12/03(火) 23:59:15.69
空文字の名前が認められるか仕様にない。
どちらにしても、nullチェックがあった方が、強いプログラムになる。
>>161のようなのは、1人でプログラム書くような場合にしか言えない。

164 :デフォルトの名無しさん:2013/12/04(水) 00:12:20.26
nullチェックが面倒なのはわかるが空文字とnullは意味が違うんだから代替は無理じゃね

165 :デフォルトの名無しさん:2013/12/04(水) 00:24:19.24
>>163
空文字の名前を認めるか認めないかで何が困るんだ?

166 :デフォルトの名無しさん:2013/12/04(水) 00:34:04.07
>>164
nullだったらまだ文字が入力されてませんとか、
DBに突っ込むときnullだったらnullをinsertするとかする気?
Cの時代ならまだしも今のご時世、設計上病んでるでそれ。

167 :名無し:2013/12/04(水) 00:35:23.67
コマンドライン引数から4つの整数を入力して1234と比べて全て異なれば「アウト」
一つ正しければ「ヒット」二つ正しければ「ツーベース」三つ正しければ「スリーベース」
全て正しければ「ホームラン」と出力するようなプログラムを作成するにはどうしたらいいですか?

168 :デフォルトの名無しさん:2013/12/04(水) 00:38:50.20
お前が>>167に書いた通りのプログラムを書けばいいよ

169 :デフォルトの名無しさん:2013/12/04(水) 00:47:37.79
>>166
それと >>164 が言ってることとはまったく別の問題だと思う。

170 :デフォルトの名無しさん:2013/12/04(水) 00:48:33.74
>>167
マウスとキーボードを操作すればいいよ

171 :デフォルトの名無しさん:2013/12/04(水) 00:51:55.51
>>169
じゃ何が問題よ?
リソースの消費量?

172 :デフォルトの名無しさん:2013/12/04(水) 00:55:44.91
お前の頭が問題

173 :デフォルトの名無しさん:2013/12/04(水) 00:56:34.08
おまえ的にはこれが同じことなワケか。なるほど。
・null と空文字は別の物
・null は時代遅れ

174 :デフォルトの名無しさん:2013/12/04(水) 00:59:03.48
>>172-173
中傷はどうでもいいからどういう問題が有るのか答えてくれないか。
単に謗りたいだけでなんの問題もないの?

175 :デフォルトの名無しさん:2013/12/04(水) 01:03:24.20
自分の意に沿わないレスは全部中傷なのか?

176 :デフォルトの名無しさん:2013/12/04(水) 01:06:27.88
>>173
nullが時代遅れってまさか本当にFlag代わりにnullを使う気だったのか?
nullはC++なら無効領域、それの以外の言語なら未初期化を表すためのもんだろ。

177 :デフォルトの名無しさん:2013/12/04(水) 01:09:27.21
空の名前かニックネーム渡したいときどうするんだよ

178 :デフォルトの名無しさん:2013/12/04(水) 01:12:00.75
空文字

179 :デフォルトの名無しさん:2013/12/04(水) 01:12:49.91
いや逆の話
類推させずに空を入れたい場合に問題があるっれレス

180 :デフォルトの名無しさん:2013/12/04(水) 01:14:40.40
類推?

181 :デフォルトの名無しさん:2013/12/04(水) 01:15:43.85
うん、類推。

182 :デフォルトの名無しさん:2013/12/04(水) 01:16:38.72
>>179
2行目以降の意味がさっぱりわからん

183 :デフォルトの名無しさん:2013/12/04(水) 01:21:01.27
そっか。

184 :デフォルトの名無しさん:2013/12/04(水) 01:21:30.77
>>179
誰が何を類推させないの?

185 :デフォルトの名無しさん:2013/12/04(水) 01:25:59.18
>>182
レスツリー間違えたのかと思ったぞ

空文字を渡すときに勝手に名前を類推してしまうのであれば、
空文字そのものを設定する事ができない

186 :デフォルトの名無しさん:2013/12/04(水) 01:34:41.88
>>185
それで有ればClass methodなりstatic関数なりで初期化する際、
空文字の代わりに、類推した文字を渡すべきだよね。
nullをFlag替わりにする必要はない。

187 :デフォルトの名無しさん:2013/12/04(水) 01:40:38.27
>>186
だからインターフェースがコンストラクタだけの場合はどう区別するんだ?
勝手に作って想定してるけど
これこそ空文字だけで対処できない場合だぞ

188 :デフォルトの名無しさん:2013/12/04(水) 01:40:59.77
え?なんで?

189 :デフォルトの名無しさん:2013/12/04(水) 01:41:09.23
どう使おうがお前の御託に付き合う筋合い花井

190 :188:2013/12/04(水) 01:41:42.83
すまん誤爆

191 :デフォルトの名無しさん:2013/12/04(水) 01:45:57.12
nullと空文字を混同しない方が解りやすくていいな

192 :デフォルトの名無しさん:2013/12/04(水) 01:46:24.67
つか他の言語でもemptyとかリストのnilとかMaybeとかOptionとかあるわけだが
これらは思いっきり処理の分岐で使うし

193 :デフォルトの名無しさん:2013/12/04(水) 01:48:10.14
>>185
基本的に引数にnullを受け付ける関数を作る位なら、
nullを指定する仮引数を取り除いた引数リストを持つ関数を
新たに用意すべき。
WindowsAPIで得た教訓でしょ。

194 :デフォルトの名無しさん:2013/12/04(水) 01:50:13.87
>>187
インターフェイスがコンストラクターしか無いってどういう制限なんだ?
そのクラスを編集しちゃいけないの?

195 :デフォルトの名無しさん:2013/12/04(水) 01:51:11.23
そんな教訓有りません

196 :デフォルトの名無しさん:2013/12/04(水) 01:54:43.96
>>194
クラスのインターフェースが固定の場合はって意味

197 :デフォルトの名無しさん:2013/12/04(水) 01:56:45.64
>>196
どういう状況だそれ?
会社の上司に言われたとかか?

198 :デフォルトの名無しさん:2013/12/04(水) 01:58:59.20
>>197
リフレクションでnewInstanseする場合とかな
nullも設計パターンに入れないと解決できないだろ
なんか思ってたより要領得ない感じの反応でめんどくさくなってきたわ

199 :デフォルトの名無しさん:2013/12/04(水) 02:12:34.74
わろた

200 :デフォルトの名無しさん:2013/12/04(水) 02:15:16.18
>>198
おバカさんはもう来ないでねw

201 :デフォルトの名無しさん:2013/12/04(水) 02:15:50.06
>>195
見た目でNULLを許容できる引き数かどうか解りづらいんで、
オーバーロードやデフォルト引き数が使える環境じゃ
それらで代用されてるよん。

202 :デフォルトの名無しさん:2013/12/04(水) 02:19:24.63
>>201
.Netの話?普通にnull使われてるが・・

203 :デフォルトの名無しさん:2013/12/04(水) 02:20:01.02
>>201
おバカさんはもう来ないでねw

204 :デフォルトの名無しさん:2013/12/04(水) 02:23:12.86
>>198
おかしな事言ってんの解ってる?
→ReflectionでConstructorを使うことになっている。
じゃnull渡されるのもそこの仕様じゃん。そこの仕様の作り方がダメだって話だろ。
それに既に糞仕様になってるつうんなら議論のしようもねぇじゃん。
逆にReflectionでConstractorからnull渡されない仕様なら意味ないしstatic関数使う方法で問題ないぞ。

それに
→Reflectionで特定のstatic関数が呼ばれる
ってな仕様になってたらどうすんだ。こっちも議論のしようもないだろ。
そこの仕様に合わせるしか無いんだからどのやり方が良いも悪いも無い。

205 :デフォルトの名無しさん:2013/12/04(水) 02:31:24.70
>>204
で、nullが空の文字の代替でないことは理解したのか?

206 :デフォルトの名無しさん:2013/12/04(水) 02:37:15.30
>>165
名前に空文字が認められているのに、名前が指定されないことを空文字で現したら、二つの状態の区別がつかないから。

207 :デフォルトの名無しさん:2013/12/04(水) 03:04:52.67
>>206
これ

208 :デフォルトの名無しさん:2013/12/04(水) 03:19:32.21
>>205
ていうか、nullはflagの使い方もできるがflagではないぞ

209 :デフォルトの名無しさん:2013/12/04(水) 03:29:07.86
>>208
だからどうした
値に付随するものだからflagじゃないわな
でもnullを元に処理を分岐することは良くある

それでnullが空の文字列の代替でないことは理解したのか?

210 :デフォルトの名無しさん:2013/12/04(水) 03:41:02.23
馬鹿一人以外理解してるだろうからもういいんじゃね

211 :デフォルトの名無しさん:2013/12/04(水) 03:49:50.36
バカにはムリw

212 :デフォルトの名無しさん:2013/12/04(水) 07:05:31.33
>>209
できるからすべきという問題じゃない。
WinAPIの話しも上がってたが今のご時世、
nullを引数が無い事のFlag替わりに使うべきじゃない。
オーバーロードなり関数を別にするなりでわけないと読む側が
分かりづらい。

213 :デフォルトの名無しさん:2013/12/04(水) 07:11:46.14
>>202
使われてる事自体は否定しないが
具体手にどういう用途で?
Equalsなんか当然nullを受け付けるべきだが今回はそれとは話は違うぞ。

214 :デフォルトの名無しさん:2013/12/04(水) 07:18:27.45
>>212
GDI+なんかは大量のオーバーロードのパターンがあるせいで、
逆に分かりづらい状況になっているぞ。

215 :横レス:2013/12/04(水) 07:21:09.68
>>212
・コンストラクタのみで(コンストラクタに限らず、ファクトリ等でメソッド名が固定されてる場合も同じ)
・空文字列を与えたい
場合に「値が無いことを(nullではなく)空文字列で示す方法」は使えないって話だろ。

null使うべきじゃないとして、じゃあどうすんの?

引数増やして値の有無をそっちで表現するのも冗長だし、
型を変えておいて型で判別するとか一々型増やすのが冗長だし、
null使ったほうが素直に表現できるケースも有ると思うんだけどなぁ…

216 :デフォルトの名無しさん:2013/12/04(水) 07:28:15.42
>>212
ねーよゴミ

217 :デフォルトの名無しさん:2013/12/04(水) 07:33:21.00
>>214
なんでも乱用は問題だがnullの代わりに使われてるオーバーロードは分かりやすいよ

218 :デフォルトの名無しさん:2013/12/04(水) 07:33:55.67
>>217
いやわかりにくいよ

219 :デフォルトの名無しさん:2013/12/04(水) 07:41:46.49
jsならundefinedとかnullとは別のがあるけど、普通はnullでいいよ。

220 :デフォルトの名無しさん:2013/12/04(水) 07:43:49.10
>>215
一個目はそもそもnullが渡される事が前提になってるから、
その時点で間違ってるでもう終わっただろ。
二個目は話がふりだしに戻るだろ。それがどういう時に問題になるんだ?

221 :デフォルトの名無しさん:2013/12/04(水) 07:47:38.86
空文字列を与えたい時

222 :デフォルトの名無しさん:2013/12/04(水) 07:48:23.41
>>220
わざとなのか
池沼だろ

223 :デフォルトの名無しさん:2013/12/04(水) 07:55:12.51
>>222
じゃ何が困るんだ?
結局1個目の例が問題になるばかり言い続けるだけだろ。
もしそれが問題だと思うんならお前の中ではそうなんだろ。
別にそれ以外の問題が出てこないならこっちも聞く事は無い。
現実にそんなあほな事にならないから困らないしな。

224 :デフォルトの名無しさん:2013/12/04(水) 07:57:14.53
言い続けてるのはお前
やっぱ池沼だな

225 :デフォルトの名無しさん:2013/12/04(水) 08:01:36.78
バカにはムリw

226 :デフォルトの名無しさん:2013/12/04(水) 08:02:00.31
>>224
じゃ何が問題になるんだい?

227 :デフォルトの名無しさん:2013/12/04(水) 08:05:15.02
>>226
お前の頭

228 :デフォルトの名無しさん:2013/12/04(水) 08:10:14.47
じゃ問題はないんだね。
ありがとう。

229 :デフォルトの名無しさん:2013/12/04(水) 08:14:56.94
ほらね

230 :デフォルトの名無しさん:2013/12/04(水) 08:25:24.78
一言nullが空文字列の代わりにならないと認めれば終わる話をぐだぐだと・・

231 :デフォルトの名無しさん:2013/12/04(水) 08:26:13.15
もう逃げたみたいだよ

232 :デフォルトの名無しさん:2013/12/04(水) 08:26:25.95
逆だった
空文字列がnullの代わりにならない

233 :デフォルトの名無しさん:2013/12/04(水) 08:31:13.96
nullが空文字列の代わりと認めないなら国家機密取締法で逮捕だ
なんでnullが空文字列の代わりにならないかは国家機密だから言えん

234 :デフォルトの名無しさん:2013/12/04(水) 08:31:44.60
終わってみれば結局他人に意見押し付けてるだけだったんだなこいつ

235 :デフォルトの名無しさん:2013/12/04(水) 08:33:51.33
区別を理解した上で言ってるのでなく、
本当に理解さえできない頭だったのか
実に無駄な時間だったな

236 :デフォルトの名無しさん:2013/12/04(水) 08:35:35.10
Oracleだとvarcharが空文字を入れると強制的にnullになるせいで、
無駄に判定を入れないといけない状況になっていたりする。

237 :デフォルトの名無しさん:2013/12/04(水) 08:41:56.04
どんなに否定しようとnull渡される可能性があるんだから、有効活用した方がいい。

238 :デフォルトの名無しさん:2013/12/04(水) 08:46:59.21
>>233
煽るな煽るな。nullを空文字列で代用したら何が問題か答えられず、
煽りに転じた奴と同じに見えるだろ。

239 :デフォルトの名無しさん:2013/12/04(水) 08:48:30.25
GDI+の場合、nullを受け取りたくない引数は参照渡し、
受け取りたいときはポインタを使うようになっている。

240 :デフォルトの名無しさん:2013/12/04(水) 08:53:05.67
>>238
なんとなく流行りに乗ってみた
ごめん

241 :デフォルトの名無しさん:2013/12/04(水) 09:19:14.91
nullがよくない理由が判定しなきゃいけない(面倒だから)
ってのがなあ…

242 :デフォルトの名無しさん:2013/12/04(水) 13:55:15.09
>>238
>nullを空文字列で代用したら何が問題か答えられず、
有効値として空文字列が使えなくなるのが問題なのは自明なんだけど、そんな奴いたの?

243 :デフォルトの名無しさん:2013/12/04(水) 14:03:38.56
にほんごでおか

244 :デフォルトの名無しさん:2013/12/04(水) 14:13:56.68
Oracleの文字列型のように、未入力のフィールドなのか、
文字数0が入力されているのか区別がつかなくなる。
そして集合関数を使うときなどに無駄に長いSQL文を追加する羽目になる。
ほかのDBMSはみんな区別があるのに不便きわまりない。

245 :デフォルトの名無しさん:2013/12/04(水) 14:16:24.83
SQLはbool型にまでnullがあるから面倒なことになってるけどな

246 :デフォルトの名無しさん:2013/12/04(水) 14:41:14.30
SQLでnullがあってもデフォルト値を設定しておけばいいだけの話。

247 :デフォルトの名無しさん:2013/12/04(水) 14:55:15.05
>>241
値が無いっていう例外を扱いたいときにnullっていう例外を判定したくないとかイミフすぎるわな
挙句に有効値でありうる空文字列を潰して例外用の値として使うとか本末転倒にも程がある

248 :デフォルトの名無しさん:2013/12/04(水) 15:07:47.39
>>220>>223
>一個目
ファクトリ/コンストラクタでの初期化が強制された環境を使う事になったら、
「現実にそんなあほな事にならないから困らない」と言って環境捨てるのか?
もしそれで問題ないと思うんならお前の中ではそうなんだろ。お前の中ではな。
つかこの制限だけだったらどの引数が有効値か示す引数追加すりゃいいだけだろ。
>二個目
>>221

249 :デフォルトの名無しさん:2013/12/04(水) 15:21:11.01
馬鹿には無理

250 :デフォルトの名無しさん:2013/12/04(水) 21:13:37.72
>>176
そんなこと言ってないよ?
挙げた二つは別物でしょって言ってるだけ。国語からやり直したらいかが?

251 :デフォルトの名無しさん:2013/12/04(水) 21:30:57.93
↑失せろゴミ

252 :デフォルトの名無しさん:2013/12/04(水) 21:34:28.82
蒸し返しに現れたのか
よっぽど悔しかったんだな

253 :デフォルトの名無しさん:2013/12/05(木) 03:14:50.27
javaでもCでもネットワーク機能を持ったプログラム作ろうと思ったら
セキュリティとかどう考えれば、勉強すればいいんですかね?
たとえばWebアプリケーションとして掲示板(本当に簡易な)つくりたかったら
SQLインジェクションなりXSSの対策のコード書きますよね

254 :デフォルトの名無しさん:2013/12/05(木) 03:23:11.86
実際に攻撃を受けてから考える

255 :デフォルトの名無しさん:2013/12/05(木) 04:04:57.47
エラーとか環境構築なら失敗しながら覚えれますが攻撃はちょっと……

256 :デフォルトの名無しさん:2013/12/05(木) 04:54:37.59
>>253
入ってくるもののチェックと、入れたものが危険だという前提。データとして扱うこと。

257 :デフォルトの名無しさん:2013/12/05(木) 10:33:07.20
>>242
無効値を何に使うの?

258 :デフォルトの名無しさん:2013/12/05(木) 13:39:47.64
>>254
攻撃を受けていることにすぐに気づくという大前提が欠けている

259 :デフォルトの名無しさん:2013/12/05(木) 18:31:54.83
>>248
type.newInstance( null, null );
とかしてくるライブラリーとかホントクソだな

260 :デフォルトの名無しさん:2013/12/05(木) 18:57:54.83
>>215
ファクトリーで名前が固定ってのが意味分からん。
名前なんてファクトリー内でどうにでもできるじゃん。

struct SomeFactory: public SymbolBuilder
{
 virtual std::shared_ptr<Symbol > NewFromFullName( const std::string &name )
 {
  return std::shared_ptr( new Person( Person::FromFullName( name ) ) );
 }
 virtual
std::shared_ptr<Symbol> NewFromNickName( const std::string &name )
 {
  return std::shared_ptr<Symbol>( new Person( Person::FromNickName( name ) ) );
 }
};

261 :デフォルトの名無しさん:2013/12/05(木) 19:06:14.46
>>253
一番多い問題がエスケープ漏れで、これはセキュリティホール以前にメタ文字が使えないっていうバグ。
各部分ではデータをどう変換して渡すべきかを正しく意識すればよい。
HTMLをHTMLに書き出すなら変換は要らないし、テキストをHTMLに書き出すなら文字参照への変換が要る。

データとしての有効性とかも同じで、
「投稿の本文が空文字列なら削除済みの投稿とする」のような
「0文字の空文字列は無効値」って特殊なルールを設定した場合は
通常の投稿の段階で本文0文字の投稿を拒否しないと勝手に削除済みになるバグとかが起きる。
この場合「空文字列は無効値」なんてオレオレルールを設定した奴がちゃんとそれを周知しないから起きるバグだな。
お前の事だぞ>>257。パスワード0文字とパスワード未設定は同値じゃねぇよ馬鹿。


次点はセッション管理。
別サイトから投稿動作のページだけ呼ばれても問題ないようにセッション情報やワンタイムキーできっちり状態遷移を管理する事。

262 :デフォルトの名無しさん:2013/12/05(木) 19:10:00.55
>>259
んで、「現実にそんなあほな事にならないから困らない」
と言ってればそのライブラリが消えるのか?

263 :デフォルトの名無しさん:2013/12/05(木) 19:12:07.21
>>261
んなもんnullじゃなくてnullオブジェクトパターンで良いじゃん

264 :デフォルトの名無しさん:2013/12/05(木) 19:13:41.12
>>262
んじゃnullを渡さないライブラリーがあったらどうすんだ?
同じ話じゃねぇか。

265 :デフォルトの名無しさん:2013/12/05(木) 19:17:33.81
>>261
元々空文字が無効値なんて話じゃなく、
無効値とせず代わりにデフォ値(空文字)を入れるって話だったろ。
>>159

266 :デフォルトの名無しさん:2013/12/05(木) 19:21:13.96
>>261
パスワード未設定とパスワード0文字って何が違うの?
初期化未初期化のフラグ的な意味ならnullじゃなく多態で対応すべきでしょ。

267 :デフォルトの名無しさん:2013/12/05(木) 19:26:19.63
>>224

268 :デフォルトの名無しさん:2013/12/05(木) 19:28:10.53
password := Password from: Terminal contents.
password class name."->Password"

password := Password nothing.
password class name."->NilPassword"

null(nil)は使わないねぇ

269 :デフォルトの名無しさん:2013/12/05(木) 19:44:45.48
>>241
大体nullオブジェクトパターンで置き換えたり、長さ0の配列に置き換えて、
null判定省くからnullチェックしなくて済むのは結構重要だよ。
しなくて良い手間を進んで増やす必要はない。

270 :デフォルトの名無しさん:2013/12/05(木) 21:29:02.04
>>261
投稿の本文がnullなら削除済み扱いでも
結果は同じだぞ

271 :デフォルトの名無しさん:2013/12/05(木) 21:48:18.89
もはやnullと空文字列の区別も出来ないほど重症だったとは……

272 :デフォルトの名無しさん:2013/12/05(木) 22:19:30.32
>>271
お前が馬鹿なんだよ

273 :デフォルトの名無しさん:2013/12/05(木) 22:25:41.63
>>271
いつになったら自分が物事を批判的に見られず
先入観だけで書いてる事に気付くの?

274 :デフォルトの名無しさん:2013/12/05(木) 22:35:22.60
>>271
削除済みにしたけりゃ全項目が空とか、
有効テーブルから削除されて履歴テーブルにしか残って無いとかだろ。
nullを使うって選択肢は無い。

275 :デフォルトの名無しさん:2013/12/05(木) 23:25:56.67
空文字列を受け入れられないシステムしか作れない馬鹿が居るスレはここですか?

276 :デフォルトの名無しさん:2013/12/06(金) 00:09:33.37
>>275
空文字が問題じゃなくて、nullをFlag代わりにすんのがおかしいと
言われてることにいつになったら気づくんでしょうねぇ。

277 :デフォルトの名無しさん:2013/12/06(金) 00:25:32.17
nullをフラグに使うって設定は誰が付けたんだろうね
誰もそんな話をしてなかったよね

278 :デフォルトの名無しさん:2013/12/06(金) 00:32:41.73
>>276
なぜおかしいか説明を聞かせてもらおうか。とにかくだめなの!バカって主張はなしな。

279 :デフォルトの名無しさん:2013/12/06(金) 00:47:27.54
nullをフラグにする是非を問う前に、
空文字をフラグにする是非を考えろよ…

280 :デフォルトの名無しさん:2013/12/06(金) 00:48:36.27
nullはダメだけど空文字はフラグにしていいそうです

281 :デフォルトの名無しさん:2013/12/06(金) 04:56:50.79
馬鹿には無理

282 :デフォルトの名無しさん:2013/12/06(金) 06:25:53.18
伺いたいのですが
PHPでTwitterのstreaming apiを使用して特定のワードを含むツイートをファイルに書き出すプログラムを作成したのですが、
常時コネクションを張っていなければstreamingの意味がないですよね
どうにかしてレンタルサーバに置いたこのファイルを動かしたいのですが……
自分のPCを起動しっぱなしにせずにこのプログラムをどうしたら動かせるでしょうか
アイデアをお願いします

283 :デフォルトの名無しさん:2013/12/06(金) 06:47:11.47
VPS借りろよ

284 :デフォルトの名無しさん:2013/12/06(金) 06:48:47.86
>>282
規約が許すならレンタルサーバで動かせばいいじゃん。

285 :デフォルトの名無しさん:2013/12/06(金) 06:53:33.09
>>284
レンタルサーバに置いてから、どのようにしてコネクションを張り続ければ良いのでしょうか?
今はブラウザで目的のファイルにアクセスし続けることで動かしているのですが、
ブラウザを閉じると動作が止まってしまうし……

286 :デフォルトの名無しさん:2013/12/06(金) 06:58:40.26
シェルスクリプトにcURLで目的のファイルへのURL書いておいてcronで何分置かに再実行するのが楽?

287 :デフォルトの名無しさん:2013/12/06(金) 07:10:59.59
>>278
>>274

288 :デフォルトの名無しさん:2013/12/06(金) 07:13:50.25
>>285
プロセスをフォークしてhup受け取らない。

289 :デフォルトの名無しさん:2013/12/06(金) 07:17:43.05
サーバ側で普通にプロセスを動作させっぱなしにすればいいだけでしょ。

290 :デフォルトの名無しさん:2013/12/06(金) 07:22:08.66
>>276=池沼

291 :デフォルトの名無しさん:2013/12/06(金) 07:39:53.78
>>289
恥ずかしながらブラウザからアクセスするだけしかphpを実行する方法を知りませんでした……
なるほど……

292 :デフォルトの名無しさん:2013/12/06(金) 07:47:30.59
>>287
それは261の空文字列をフラグに使うのが不味いって指摘に対する見当外れな反論で、nullをフラグに使うのがおかしい理由の説明にはなってない。

まぁnullをフラグに使うのがおかしい理由に何を挙げたところで空文字列をフラグに使う方が100倍不味いんだけどな。

293 :デフォルトの名無しさん:2013/12/06(金) 08:11:32.49
別にphpからプロセスを起動することもできる。

294 :デフォルトの名無しさん:2013/12/06(金) 09:12:49.34
>>293
そうなの?
検索してみる

295 :デフォルトの名無しさん:2013/12/06(金) 09:51:41.84
ただし、セキュリティには気をつけることだ。

296 :デフォルトの名無しさん:2013/12/07(土) 13:37:58.65
phpは難しい

297 :デフォルトの名無しさん:2013/12/07(土) 23:11:27.03
C++でandroidアプリ製作ってできないの?
javaやないと無理?

298 :デフォルトの名無しさん:2013/12/07(土) 23:21:20.40
Java分かってる人がC++でAndroidアプリを作ることは出来ると思うが、
Java出来ない人がC++だけでAndroidアプリを作るのは無理だろうな。

299 :デフォルトの名無しさん:2013/12/07(土) 23:26:31.99
>>298
サンクス。
java検討してみる

300 :デフォルトの名無しさん:2013/12/07(土) 23:34:53.56
>>299
androidndk

301 :デフォルトの名無しさん:2013/12/07(土) 23:38:49.33
>>300
NDKは単体で完結するもんじゃないからなあ

302 :デフォルトの名無しさん:2013/12/08(日) 00:00:09.47
C言語で数値計算をしているプログラム初心者です。
実行中にエラーが出て止まってしまうので、バグ取りをしています。
変数や配列の値を確認する為にprintf文で書き出していたところ、
ある箇所にprintf文を挟むと最後までエラーが出ずに実行できて、それを消すと
エラーが出る事に気付きました。
一体どういうワケなのでしょうか・・・?

303 :デフォルトの名無しさん:2013/12/08(日) 00:07:06.36
メモリをぶっ壊してるんだろう

304 :デフォルトの名無しさん:2013/12/08(日) 00:10:25.53
>>301
NativeActivity

305 :デフォルトの名無しさん:2013/12/08(日) 00:24:20.44
>>303
ありがとうございます。よければ詳しくご教示願えないでしょうか。
初心者にありがちなメモリを壊すような例を挙げていただけると助かります。

なお、自分で調べてみたところでは、よくあるミスとしてポインタが挙げられるようですが、
あまり詳しくないので使っていません。

306 :デフォルトの名無しさん:2013/12/08(日) 00:26:22.68
>>305
ぐだぐだ言ってないでソース見せろよ

307 :デフォルトの名無しさん:2013/12/08(日) 00:27:21.27
>>305
printfの有無で値が変化する
http://okwave.jp/qa/q6395708.html
> メモリ破壊のパターンです。
> printfを入れたことにより変数等のメモリ配置が変わったために正しく動作するように見えるだけです。

308 :デフォルトの名無しさん:2013/12/08(日) 00:27:52.06
>>302
コンパイルエラーか実行時のエラーかくらい書けよ
あとエラーの内容もな。

309 :デフォルトの名無しさん:2013/12/08(日) 00:28:53.26
>>305
ポインタ使ってなくても配列使ってるならポインタを使ってるようなものだから
メモリは簡単に壊れる

310 :デフォルトの名無しさん:2013/12/08(日) 00:35:11.17
>>300,>>301
これで部分的に作れるんかな
>>304
これ良いな サンクス

311 :デフォルトの名無しさん:2013/12/08(日) 01:02:44.17
>>305
壊してそうなところを適当にコメントアウトして不正終了しなくなったところが悪いところ。

312 :デフォルトの名無しさん:2013/12/08(日) 01:25:09.96
>>298
Java分かってる人がC++書けるとは断言できないし、
C++分かってる人がJava書けるとも断言できない。

ただ、AndroidアプリをC++で作ろうと思ってもJavaが混ざってくるからJava"も"要る、というだけ。

313 :デフォルトの名無しさん:2013/12/08(日) 01:29:45.53
C++できることは質問の前提だろ。
C++書けるとは断言できないとか何を馬鹿なこと言う前に質問文をきちんと確認しましょう

314 :デフォルトの名無しさん:2013/12/08(日) 01:34:43.69
>>305
#define ___
#include <stdio.h>
int main(){
___ char str[32];
___ gets(str);//←32文字以上入力されると上の配列以外の領域を破壊する。大抵は終了時にクラッシュ
___ printf(str);//←%nなどの書式指定が入力できる為変な場所に書いたりしてクラッシュしたりセキュリティホールになる
___ return 0;
}

315 :デフォルトの名無しさん:2013/12/08(日) 01:38:35.30
>>307
参照先も含めて、じっくり考えてみます。ご親切にありがとうございました。

316 :デフォルトの名無しさん:2013/12/08(日) 09:40:45.10
LINEの翻訳機能ってほぼ投稿と同じ速さで翻訳してくれるけど、どういうアルゴリズムなんだ?気になって眠れない

317 :デフォルトの名無しさん:2013/12/08(日) 11:47:56.46
計算機科学のスレはム板にはないの
型理論とかの

318 :デフォルトの名無しさん:2013/12/08(日) 12:02:12.76
なければ立てればいいじゃないの

319 :デフォルトの名無しさん:2013/12/08(日) 14:00:33.17
>>316
何が不思議なのかわからない
googleとかexciteも不思議だと思ってる?

320 :デフォルトの名無しさん:2013/12/08(日) 14:01:10.72
>>317
過去には情報板にそういったスレが存在していた
しかしカモメが飛んでそれらのスレは壊滅した

321 :デフォルトの名無しさん:2013/12/08(日) 16:53:38.74
変数onCreatにvoidは無効な型です。
初心者なんだが意味がわかるように説明してくれ。

322 :デフォルトの名無しさん:2013/12/08(日) 16:55:40.09
サンプルコードに
public void onCreat(Bundle saveInstanceState)
って書いてあるのになんで無効な型なんだよ

323 :デフォルトの名無しさん:2013/12/08(日) 17:22:04.55
変数onCreatって変数扱いされてる時点でおかしいだろ。
「public void onCreat」までで止めてるとか、写し間違えてんじゃね?

324 :デフォルトの名無しさん:2013/12/08(日) 17:32:28.12
>>318,320
そうなのかカモメのせいだったんだな。
自分で立てるの面倒だから自力で調べようかなありがとう

325 :デフォルトの名無しさん:2013/12/08(日) 18:11:17.26
onCreateじゃない時点で、色々馬鹿なんだなあとしか思えない。

326 :デフォルトの名無しさん:2013/12/08(日) 18:14:30.89
>>325
すまん、それは書き込んだ後に気が付いた

327 :デフォルトの名無しさん:2013/12/08(日) 20:19:30.32
己の馬鹿さに自分で気づくとは見どころのあるやつだ

328 :デフォルトの名無しさん:2013/12/08(日) 23:17:43.80
自分はmysqlで簡単なSQL文が書けるレベルですが、株式のスクリーニングサイトでは、その時点の絞り込みだけでバックテストできないため株式の自動スクリーニングソフトを自作したいです。
しかし、株式関係等ではMT4等の既存ソフトでのプログラミングか、excelVBAに関する本しかなく、DB関係はwebサイト構築といった株式DBとスクリーニングソフト構築に役立たないものばかりです。
自分のような初心者では、何から手を付けて良いかすら分かりません。
どなたか、同じような試みをされている方がいらっしゃれば、お知恵を拝借いただけませんか?

329 :デフォルトの名無しさん:2013/12/08(日) 23:55:57.68
>excelVBAに関する本
この辺りでどーとでも出来そうな雰囲気がばしばししてるんだが。。

330 :デフォルトの名無しさん:2013/12/09(月) 01:52:19.28
答えが目の前にないと、自分で導くことができないんだろ。

331 :デフォルトの名無しさん:2013/12/09(月) 03:56:02.35
>>328
市況1板でMT4とかシストレのスレを探して聞いた方がいいだろう。

332 :デフォルトの名無しさん:2013/12/09(月) 14:45:11.58
スクリーニングってなに?

333 :デフォルトの名無しさん:2013/12/09(月) 15:42:32.42
エッチなこと聞くなよ

334 :デフォルトの名無しさん:2013/12/09(月) 19:29:42.95
選別の意

335 :デフォルトの名無しさん:2013/12/09(月) 19:37:22.34
普通に日本語になってる
yahoo辞書で引いてみな

336 :デフォルトの名無しさん:2013/12/09(月) 20:17:16.44
オマエラに聞いてるんじゃねぇ
>>328 に聞いてるんだ

337 :デフォルトの名無しさん:2013/12/09(月) 22:58:28.39
ググレゴミ

338 :デフォルトの名無しさん:2013/12/10(火) 02:14:05.53
shやbashのスクリプトをパースしてプログラム内で実行する
C/C++のライブラリってありませんか?
luaの文法がshになったような感じのものを探しています

339 :デフォルトの名無しさん:2013/12/10(火) 02:34:58.79
そのままターミナルにぶん投げたらいいんじゃね
system("echo hello");

340 :338:2013/12/10(火) 21:37:58.45
>>339
アドバイスありです
しかし、Winやシェル&コンソールの無い他の環境でビルド実行したいので
できればプログラム内だけで完結するようなものが望ましいです

ディレクトリ関連の命令はオミットして、外部コマンドはluaのC関数呼び出し
のような形で与えられる・・というのが理想です

libxmlのようなパーサだけでもいいです
検索下手なので見つけられませんでした
よろしくおねがいします

341 :デフォルトの名無しさん:2013/12/10(火) 21:49:37.14
は?

342 :デフォルトの名無しさん:2013/12/10(火) 22:03:26.06
>>340
無理。
shをエミュレートするだけじゃ足りなくて、
使用するあらゆるコマンドをCのライブラリでエミュレートしなければならなくなる。

343 :デフォルトの名無しさん:2013/12/10(火) 22:05:57.96
素人の無理難題は清々しささえ感じられる

344 :デフォルトの名無しさん:2013/12/10(火) 22:07:06.70
ゆとりってバカだな

345 :デフォルトの名無しさん:2013/12/10(火) 22:24:58.02
何のためにmingwやcygwinがあるんだよ

346 :デフォルトの名無しさん:2013/12/10(火) 22:27:17.69
全てstatic linkしたら何GBになるんだろ。

347 :デフォルトの名無しさん:2013/12/11(水) 00:21:59.90
shのシンタックスを持ったスクリプトをつくりたいってことかね
Luaでやればいいんじゃね(

348 :デフォルトの名無しさん:2013/12/11(水) 16:43:50.70
私は構造体の配列をデータベースと呼ぶことがあります。基地害でしょうか。

349 :デフォルトの名無しさん:2013/12/11(水) 16:49:31.28
YES

350 :デフォルトの名無しさん:2013/12/11(水) 16:50:27.20
場合によるだろ。
ACIDを満たすものを「データベース」として求められてる文脈なら、それは違うものだし。

文脈による、というものを理解できない基地外なら、基地外と言うだろうけど。

351 :デフォルトの名無しさん:2013/12/11(水) 17:05:18.80
DBMSと呼んでもいいのよ

352 :デフォルトの名無しさん:2013/12/11(水) 17:56:18.16
著作権法 第二条 十の三
データベース
論文、数値、図形その他の情報の集合物であつて、それらの情報を電子計算機を用いて検索することができるように体系的に構成したものをいう。

353 :デフォルトの名無しさん:2013/12/11(水) 19:08:33.78
>>350
文脈によるけど、構造体の配列をデータベースと呼ばせる文脈のときなんてめったにないしな。

354 :デフォルトの名無しさん:2013/12/11(水) 20:17:20.08
よくしらないけどCOBOLとかそのあたりの文化圏では言いそうな気がする。

355 :デフォルトの名無しさん:2013/12/11(水) 20:37:21.77
>>351
データベースはギリギリありだけど、DBMS はないわ

356 :デフォルトの名無しさん:2013/12/11(水) 21:17:19.29
>>348さんはむしろ男らしいと思うけどね。

357 :デフォルトの名無しさん:2013/12/11(水) 21:32:43.08
構造体だと揮発性だからな。
サービスとかで全データをメモリに展開とかはあるけど。
データの一部だとデータベースって感じしない。

358 :デフォルトの名無しさん:2013/12/11(水) 21:46:37.55
統合失調症です
プログラミングのモチベーションを保つにはどのようにしたらよいでしょうか

359 :デフォルトの名無しさん:2013/12/11(水) 21:48:22.68
頭の病院行って聞いてこい

360 :デフォルトの名無しさん:2013/12/12(木) 01:44:12.42
2chの専ブラのようなものを作ってます
自分のレスや常駐スレにレスがあると知らせてくれる機能を付けたいと思っています
こちらから新着レスあるか定間隔でリクエスト送る以外でいい方法はないでしょうか?
基本的に2chはこちらからリクエスト送らないと新着レスあるかわかんないですよね?

361 :デフォルトの名無しさん:2013/12/12(木) 02:01:09.41
はい

362 :デフォルトの名無しさん:2013/12/12(木) 04:56:58.34
構造体配列をデータベースということに抵抗がある奴はカード型データベースを知らんのだろう。

363 :デフォルトの名無しさん:2013/12/12(木) 07:28:12.92
>>358
俺はアスペでモチベーション保てないときは旅に出る。そうするとPCの前へ戻りたくなって脳内プログラミングを開始してしまう。

364 :デフォルトの名無しさん:2013/12/12(木) 09:01:53.74
>>362
しってるけど「このアプリはDBを使ってます」って聞いて、見てみたら構造体の配列だったら「え?」ってなるわ。

365 :デフォルトの名無しさん:2013/12/12(木) 09:08:49.00
DB(のパッケージ)使ってます

366 :デフォルトの名無しさん:2013/12/12(木) 10:37:33.74
構造体を7つ集めると神龍が出てくるんだろう。

367 :デフォルトの名無しさん:2013/12/12(木) 12:20:52.96
>>364
そういう場合はデータベースを持っていますって言わないか。DBMSなら使ってますと言うけど。

368 :デフォルトの名無しさん:2013/12/12(木) 17:07:03.58
俺、androidアプリの開発で、初めてSQLightを使って
DBデビューしたんだけど
DBと言えばSQLが定番だと思うのですが
以前、デスクトップアプリでC#を使って作成した時に
データグリッドビューの履歴をxmlで保存してたんだけど
これもDBと言えるでしょうか

369 :デフォルトの名無しさん:2013/12/12(木) 17:08:58.56
最近のDBは光るのか

370 :デフォルトの名無しさん:2013/12/12(木) 17:12:19.93
>>368
DBと言うか言わないかはその時の気分で決めます

371 :デフォルトの名無しさん:2013/12/12(木) 17:14:00.30
CSVもDB()

372 :デフォルトの名無しさん:2013/12/12(木) 17:43:43.79
>>368
良い質問ですね。
XMLはナビゲーショナルデータベースの一つです。

373 :デフォルトの名無しさん:2013/12/12(木) 18:09:29.07
>>368
履歴と言うとログなイメージ。入れ物自体はデータベースかも知れないけど。

374 :デフォルトの名無しさん:2013/12/12(木) 18:11:11.26
SQLはデーターベースじゃなくて言語だから

375 :デフォルトの名無しさん:2013/12/12(木) 23:34:10.58
それクエリのことじゃね

376 :デフォルトの名無しさん:2013/12/13(金) 01:57:26.81
>>364
SQLとかなんとかはDB実装の一つの形に過ぎないだろう。
構造体配列でも、キーで目的のデータを得たり
データを追加削除出来るならそれはDBだろう。

377 :デフォルトの名無しさん:2013/12/13(金) 02:56:32.62
CSVは揮発性じゃないからDBって呼んでいいだろ

「そのディレクトリの中にデータベース入れといたから」

ってCSVを入れておくことはよくある

378 :デフォルトの名無しさん:2013/12/13(金) 04:09:11.75
メモリ中の構造体配列って揮発しちゃうじゃないか。それでもDBと言えるのか?

379 :デフォルトの名無しさん:2013/12/13(金) 04:10:12.63
揮発しちゃうのはプールとか言うんじゃないのけ?

380 :デフォルトの名無しさん:2013/12/13(金) 05:17:46.34
sqliteは(書き出さない限り)オンメモリで動作するDBだけどね。

381 :デフォルトの名無しさん:2013/12/13(金) 05:27:03.62
>>378
揮発するかどうかはDBの定義に含まれないだろう

382 :デフォルトの名無しさん:2013/12/13(金) 08:45:42.84
実際の保存形式に関係なく最低限の手間で検索と保存が出来るように
管理された情報じゃないとDBと言えんだろ。
あと保存形式自体は関係ない。

383 :デフォルトの名無しさん:2013/12/13(金) 09:06:54.91
検索は必須じゃないな
必須なのは、読み出しと書き込みぐらい

384 :デフォルトの名無しさん:2013/12/13(金) 09:15:56.91
MSのJETだとSQLでCSVにアクセス出来るから良いね!

385 :デフォルトの名無しさん:2013/12/13(金) 10:17:50.78
>>382
DBMSのことですね。

386 :デフォルトの名無しさん:2013/12/13(金) 10:57:45.30
【DB概論】DBMSに求められるもの(1)排他制御とACID属性 − @IT自分戦略研究所
http://jibun.atmarkit.co.jp/lskill01/rensai/db/02/01.html

387 :デフォルトの名無しさん:2013/12/13(金) 11:01:08.64
DBの話だ、DBMSの話なんかしてねーよ
引っ込んでろ、池沼

388 :デフォルトの名無しさん:2013/12/13(金) 12:35:47.93
>>383
それじゃただのファイルシステムだろ

389 :デフォルトの名無しさん:2013/12/13(金) 12:39:36.19
>>385
DBMSで管理されてる情報はDBだ。

390 :デフォルトの名無しさん:2013/12/13(金) 12:43:01.68
ファイルの話などしてないというに

391 :デフォルトの名無しさん:2013/12/13(金) 12:44:27.15
DB⊆FS
DB⊇FS
だからな

392 :デフォルトの名無しさん:2013/12/13(金) 12:46:16.02
RDBにせよObjectStoreにせよ検索を支援する何らかのDBMSは必須だな
自力で検索せにゃならんのはDBとは言えんだろ

393 :デフォルトの名無しさん:2013/12/13(金) 15:09:39.23
データ構造とDBはどうやって使い分ければいいのか

394 :デフォルトの名無しさん:2013/12/13(金) 15:43:02.05
>>389
だから何だよ。

395 :デフォルトの名無しさん:2013/12/13(金) 16:16:17.18
>>388
ファイルシステムもDBだよ。

396 :デフォルトの名無しさん:2013/12/13(金) 17:33:39.95
そんなこと言ってたらおちんちんだってDBだろ

397 :デフォルトの名無しさん:2013/12/13(金) 18:07:50.44
正確にはタマタマだろ

398 :デフォルトの名無しさん:2013/12/13(金) 23:39:04.15
マルチ失礼します。

http://www-vlsi.es.kit.ac.jp/~kobayasi/refresh/0509/main_c3.html#doc4_512
 電卓の2進数→BCD変換部分です(Verilog)
http://www-vlsi.es.kit.ac.jp/~kobayasi/refresh/0509/verilog/other.v
 現在7セグLEDが二桁分(ledh,ledl)ありますが、これを4桁にするためにleda,ledbを追加したいと思います。
ただどこをどう変更、追加すればいいか解りません。
 ledl(7セグ1桁目),ledh(2桁目)となっていますが、これにleda(3桁目),ledb(4桁目)を追加し、4桁の電卓にしたいです。
 よろしくお願いします。tmpとled*を追加すればいいんでしょうが解りません。

module bintobcd(in,outl,outh); ←この辺りからをどう弄るか悩んでいます。

399 :デフォルトの名無しさん:2013/12/13(金) 23:47:49.17
マルチ死ね
氏ねじゃなくて死ね

400 :デフォルトの名無しさん:2013/12/14(土) 02:33:24.42
リンク先を見てないけど、
例えば、0-99の範囲の、ある数xがある時、
x/10で、余りを1の位、商を10の位に入れる

百、千の位も同じようにすれば、良いのでは?

401 :デフォルトの名無しさん:2013/12/14(土) 03:37:14.46
アルゴリズムを勉強しようと参考書を買おうと考えてますが
調べていると定本 Cプログラマのためのアルゴリズムとデータ構造の評価が高いようで、皆さん的にはどう感じますか?
またコレ以外にもおすすめがあればお願いします。

402 :デフォルトの名無しさん:2013/12/14(土) 08:17:27.96
それでいいからさっさと勉強しろ

403 :デフォルトの名無しさん:2013/12/14(土) 16:57:05.85
画像から最も多い色を取得したいのですがどのようにすれば良いでしょうか
まったく同じ色じゃなくてもある程度似ている色なら同じ色としたいです
最終的に求める色を一つにしたいので、最も多い色の平均が返ってくるようにしたいと思います

404 :デフォルトの名無しさん:2013/12/14(土) 17:07:36.47
まずはある程度似ている色という、馬鹿が説明するときに使う抽象的な表現では無く、
具体的にどうするのかを明確にしろ。
現状では話にすらならない。

405 :デフォルトの名無しさん:2013/12/14(土) 17:17:50.52
RGBの差が閾値以下の色の組を似ている色とします

406 :デフォルトの名無しさん:2013/12/14(土) 17:22:19.36
色数落としてカウントしたら

407 :デフォルトの名無しさん:2013/12/14(土) 17:24:17.57
それだと連続して近い色のがあった場合の区切りが不明確。
前提条件が成り立っていない。
きちんとどうするか考えろ。

408 :デフォルトの名無しさん:2013/12/14(土) 17:29:03.15
簡単そうで実は奥が深い問題だな。

409 :デフォルトの名無しさん:2013/12/14(土) 17:35:50.66
>>405
似ている閾値が16だとして、0,15,31...255という色があったとしたら全ての色は似ている。
つまり全部足した平均の色でいいんじゃね。

410 :デフォルトの名無しさん:2013/12/14(土) 17:47:43.94
RGBの3D空間でピクセル数についてぼかしフィルタをかけて
一番濃度の高い部分でおk

411 :デフォルトの名無しさん:2013/12/14(土) 18:00:21.35
>>406
これが一番簡単ですかね

>>407
考えていませんでした

>>409
日本国旗のような画像の場合白が欲しいのです

>>410
ちょっとよく分からないです

412 :デフォルトの名無しさん:2013/12/14(土) 18:44:56.91
ネットにつながってないノートPC(windowsxp)があるんだが
この状態でも練習できるプログラム言語あるかな?

413 :デフォルトの名無しさん:2013/12/14(土) 18:57:25.10
javascript

414 :デフォルトの名無しさん:2013/12/14(土) 19:16:38.47
ネットに繋がってる PC で適当にダウンロードして USB メモリ経由でも転送すればいいじゃない。

415 :デフォルトの名無しさん:2013/12/14(土) 20:01:02.41
エディットコントロールで、キーによる貼り付けが出来ないのですが(マウスからの右クリからは可能。コピーも可)
どのメッセージを処理すればいいでしょうか?

416 :デフォルトの名無しさん:2013/12/14(土) 20:07:38.03
>>412
雑誌とかについてるLinuxをインストールすれば、いろんな言語が入ってると思う。

417 :デフォルトの名無しさん:2013/12/14(土) 20:27:29.08
>>411
似ている色が2つ以上あった場合に、どれを代表の色にすんの?

418 :デフォルトの名無しさん:2013/12/14(土) 20:28:02.04
>>412
バッチファイル

419 :デフォルトの名無しさん:2013/12/14(土) 22:16:39.70
構文解析したいのですが、(自然言語でなく、あるフォーマットで書かれているデータ(複数行の文字列)を解析したい)
パーサジェネレータを使用する場合、オススメとかあるでしょうか。
bisonとやらが見つかりましたが結構前からあるもののようなので、もっと新しくていいやつがあるのかなと。

420 :デフォルトの名無しさん:2013/12/14(土) 22:20:46.17
自分で作るのが一番いいよ。

421 :デフォルトの名無しさん:2013/12/14(土) 22:29:58.60
その「自分で作る」の手間を省力化してくれるのがパーサジェネレータではないのでしょうか…

422 :デフォルトの名無しさん:2013/12/14(土) 22:39:09.30
Bison相当は自分で作っても性能が出しやすいので自分で作ったほうが納得いくということです。
手法が確立されていて簡単に作れます。

423 :デフォルトの名無しさん:2013/12/14(土) 22:40:39.50
一つだけアドバイスしておけば、gotoを使わない的な変な縛りをかけないほうが良いと思います。

424 :デフォルトの名無しさん:2013/12/14(土) 22:59:44.27
ANTLRは高機能
PEG+再帰下降分析ならかなり簡単に自分で書ける

すごく簡単なやつなら正規表現でやっちまう

425 :デフォルトの名無しさん:2013/12/14(土) 23:14:55.87
構文解析とかやってみたいね

426 :デフォルトの名無しさん:2013/12/15(日) 01:49:09.89
>>411
410はrgb[256][256][256]の0クリアした三次元配列を用意して、
元画像の全ピクセルを走査してピクセルごとにrgb[r][g][b]++して、
rgb[][][]に対して暈しをかけて一番濃度の高い部分のr,g,bを結果とする、だろうな。
ピクセル数を32bitで計算するとメモリ空間が64MBも要求されるからちょっと嫌だ…

>>412
IEのJScript(JavaScript)、
WSHのVBSとJScript(JavaScript)、
cmd.exeのバッチファイル、
debug.comだかのx86の16bit機械語、
あとhttp://toro.2ch.net/test/read.cgi/tech/1374205515/248 で始めて知ったんだけど、
.NET Framework(ランタイム)が入ってるならVisual C#、Visual Basic .NET、JScript .NETがコマンドラインコンパイラなら使えるっぽい。
あとなんかあったかな・・・

427 :デフォルトの名無しさん:2013/12/15(日) 04:11:16.64
>>417
その処理は適当で構いません

>>426
なるほど、そんな方法があったのですね
速度とメモリと結果とを検討して減色してカウントかどちらにするか決めることにします

ありがとうござました

428 :デフォルトの名無しさん:2013/12/15(日) 05:58:53.73
適当に減色してから3d空間で処理すりゃいいじゃん。
24bitだから16Mだけど、rgbそれぞれ2bitも落とせば256Kで、
4バイト整数でカウントしても1MBだ。

429 :デフォルトの名無しさん:2013/12/15(日) 20:06:10.54
複素関数の画像プロットで何かよい表現方法ってありませんか?
例えば (r, θ) → (R,G,B) の関数対応で世間的によく使われているアルゴリズムがあれば教えてください。

430 :デフォルトの名無しさん:2013/12/15(日) 20:17:48.85
>>429
よく使われているかどうかしらないけど
HSV で θ→H、 1.0→S、 r→V にしたらどうかな?

431 :デフォルトの名無しさん:2013/12/15(日) 20:40:38.41
ググるとその種のは幾つか出てくるのですが、どうも個人的な提案レベルの物が多いように感じました。
これが一番分かり易い配色ですみたいな定石/定番は無いんでしょうか

432 :デフォルトの名無しさん:2013/12/15(日) 20:46:07.95
うん

433 :デフォルトの名無しさん:2013/12/15(日) 20:53:18.20
Mathematicaの真似すれば?

434 :デフォルトの名無しさん:2013/12/15(日) 23:31:15.60
http://stackoverflow.com/questions/5385103/plot-a-complex-function-in-mathematica
Mathematica的な処方ってのは θ→Hue, r→Contourプロット or 3D高低 って事でしょうか。
結構分かり易いですね。簡単なようで思いつきませんでした。

435 :デフォルトの名無しさん:2013/12/16(月) 06:26:25.14
二進数と補数の説明で、

5-3を8桁の二進数ですると
00000101-00000011 ( 5-3 ) が
00000101+11111101 ( 5+3の補数 ) で

_00000101
_11111101
100000010 (9桁目が無視されて2(10))

これの意味が分からないので
誰か8桁の10進数で教えて下さい

436 :デフォルトの名無しさん:2013/12/16(月) 06:37:23.87
自己解決。漢字使えばいけた

_零零零零零零零五
_十十十十十十十七
一零零零零零零零二 (9桁目が無視されて2)

437 :デフォルトの名無しさん:2013/12/16(月) 06:41:28.72
いや、十が既に桁溢れしてるんだけど
どういうことこれ!?
さっぱり意味が分からん…

438 :デフォルトの名無しさん:2013/12/16(月) 07:54:05.30
Windows7とそのエクスプローラを改造するちょっとしたツールをC++かC#で作ろうと思いますが
資料として必要な本は何ですか?(何冊でも)
C++言語自体はCLI OSレベルでなら学校で一通り習ったけど実際にWindowsアプリを作ったことはないレベルです

439 :デフォルトの名無しさん:2013/12/16(月) 09:06:55.43
>>435
10進数の引き算は9の補数を使う

00000005 (5(10))
99999997 (-3(10))
を足して
100000002 (9桁目が無視されて 2(10))

440 :デフォルトの名無しさん:2013/12/16(月) 09:07:36.32
INSIDE WINDOWS

441 :デフォルトの名無しさん:2013/12/16(月) 09:58:33.56
>>435
2バイトの型で演算してるから。

442 :デフォルトの名無しさん:2013/12/16(月) 10:56:58.05
>>439
10進数だと10の補数・9の補数
2進数だと2の補数・1の補数
ってのがあるんですね。ありがとうございます、ググりました。

>>441
この辺、進数・桁・バイトの概念がややこしいですね

443 :デフォルトの名無しさん:2013/12/16(月) 11:09:18.44
>>438
explorer.exeのバイナリを改造するって話なら必要なのはアセンブリ言語とWin32APIの知識だけだよ
むしろC++とかC#があっても役には立たない。

explorer.exe風の独自エクスプローラが作りたいという話ならWin32APIの知識だけでよい

444 :デフォルトの名無しさん:2013/12/16(月) 11:16:38.49
>>439
それは 9の補数じゃなくて 10の補数

445 :デフォルトの名無しさん:2013/12/16(月) 11:18:52.57
コンテキストメニューに追加したいだけならSendtoフォルダにショートカット放りこんどきゃいい

446 :デフォルトの名無しさん:2013/12/16(月) 11:31:55.13
ファイルサーバみたいなソフト探したんだが見つからん。
Webdabは設定と重さが今一つだった。
Windowsについてるエクスプローラでそのまま使えるのは良かったんだがな。

仕方がないからWindowsについてるエクスプローラで
FTP並に簡単な設定だけで使えるサーバソフト作りたいんだけど
何から始めればいいのかね?
エクスプローラ周りがよく分からん。

447 :デフォルトの名無しさん:2013/12/16(月) 11:32:14.05
shellapiを勉強すればいい

448 :デフォルトの名無しさん:2013/12/16(月) 11:36:02.19
>>446
GoogleDriveAPI とか SkyDriveAPI とか

449 :デフォルトの名無しさん:2013/12/16(月) 11:50:40.22
普通にftpサーバ建てるとかsamba使うとかじゃだめなのかな

450 :デフォルトの名無しさん:2013/12/16(月) 11:54:26.12
サーバーソフト作るのにはエクスプローラの知識は不要
何十年かかるかわからんけど、まあがんばってくれ

451 :デフォルトの名無しさん:2013/12/16(月) 11:56:15.38
>>446の話だとsambaが一番良さそう

452 :デフォルトの名無しさん:2013/12/16(月) 12:04:21.59
エクスプローラがどのプロトコルのクライアントになれるかの話で
SMB(samba) / FTP / webDAV のどれかに決めるしかないってとこからかな

詳しくないから適当に言ってみたけど

453 :デフォルトの名無しさん:2013/12/16(月) 12:16:10.53
初期値&amp;#119886;1を与えると数列の長さと最大値を返す関数collatzを定義せよ。ただし、この関数は数列の長さを関数の返り値とし、数列の最大値はポインタを通して返すものとする。したがって関数プロトタイプは次のようになるだろう。
int collatz(int a1, int *amax)
main関数では、初期値を2から100000の範囲で動かして数列を調べ、最長の長さを与える数列の初期値、その長さ、最大値を求めよ。

がわからん。

454 :デフォルトの名無しさん:2013/12/16(月) 12:37:29.60
宿題スレへ

455 :デフォルトの名無しさん:2013/12/16(月) 12:56:39.26
>>453
ttp://ideone.com/RbjPO8

456 :デフォルトの名無しさん:2013/12/16(月) 12:59:36.15
まるち

457 :デフォルトの名無しさん:2013/12/16(月) 13:05:41.96
svnでいくね?

458 :デフォルトの名無しさん:2013/12/16(月) 13:10:10.73
>>455 開けぬ・・・

459 :デフォルトの名無しさん:2013/12/16(月) 13:14:49.64
>>435
00000101-00000011 ( 5-3 ) が
00000101+11111101 ( 5+3の補数 ) -100000000で

10進で例作ると
00000101-00000011 ( 101-11 ) が
00000101+99999989 ( 101+11の補数 ) -100000000で
100000090 (-100000000)

無視されてという表現がわかりにくい原因ではないのか

460 :デフォルトの名無しさん:2013/12/16(月) 14:59:52.83
桁溢れの説明が必要だね。

461 :デフォルトの名無しさん:2013/12/16(月) 15:30:33.83
>>459
おお、分かりやすい。9の補数ってやつですね。9の歩数だと直観的ですね。さっき知った所ですが。
しかし9の補数とか、なんか仕様おかしい気しますよ。修正パッチ的な

8桁の2進数っていうのも、分かりやすくする為の書き方なのかもしれませんざ、進数と桁、意味が複合してる気がして混乱します…それって256進数の補数ちゃうんかと

462 :デフォルトの名無しさん:2013/12/16(月) 15:31:18.69
タイポしまくってます、すません

463 :デフォルトの名無しさん:2013/12/16(月) 17:11:47.31
sambaはWANから接続するのが面倒だろ
WebDAVおすすめ

464 :デフォルトの名無しさん:2013/12/16(月) 17:34:20.53
sanbaもwebdavも出先のpcからの接続が面倒だろ。
sanbaはワークグループの設定、webdavはネットワークプレースの設定がネック。
借り物のpcでもエクスプローラにドメイン入れてユーザー名とパスワードで認証できるくらい手軽なやつがあればいいのに。
sanbaでもwebdavでもせめて設定をショートカットみたいな形でusbに入れて持ち歩ければいいのにな。

465 :デフォルトの名無しさん:2013/12/16(月) 17:58:18.31
だから>>446はそれらを解決するリモートファイルシステムを作る気になったんだろ
応援してやれよ

466 :片山博文MZコスモ ◆T6xkBnTXz7B0 :2013/12/16(月) 21:50:07.29
頑張れ頑張れ>>446

467 :デフォルトの名無しさん:2013/12/16(月) 22:23:02.51
>>461
そのように256進数の補数と考えろ
桁単位の補数と考えるからややしいんだろ
n進数の10(十じゃなく進数関係なくいちぜろ)のm乗に対する補数は
各桁ごとにn-1に対する補数を出して最終的にそれに+1したものと決まっているから
というのはつまり例えばnが10なら10-1=9が並ぶわけだ
その考え方で見てみな

2進の場合は全ビット反転して1足せば100000000との差が1発で出る
この反転自体は圧倒的に速い

8桁なのは8桁が1バイトという基本単位だからだろうな

そろばんでこういうのあったんじゃねーかな
http://task.naganoblog.jp/e175497.html

468 :デフォルトの名無しさん:2013/12/16(月) 23:28:31.00
>>467
おおお、サンキュです!
256進〜の下りが間違いじゃないと教えて貰えたのはすげえ嬉しいです。そこが合ってるなら多分自分の中で理解出来そうな雰囲気が…
こういうの、例えば256進〜とか自分流で理解しようと考える言葉って検索するのも無理だし、誰に聞いていいやらで…ほんと感謝です!

469 :デフォルトの名無しさん:2013/12/17(火) 04:23:30.72
馬鹿って大変なんだな。

470 :デフォルトの名無しさん:2013/12/17(火) 10:38:01.28
と馬鹿が申しております

471 :デフォルトの名無しさん:2013/12/17(火) 11:08:25.48
デザインパターンみたいな言葉で
細かいテクニックを表す言葉があったんですけど
何ていう言葉か忘れました。
教えてください。

472 :デフォルトの名無しさん:2013/12/17(火) 11:09:26.30
糖衣構文

473 :デフォルトの名無しさん:2013/12/17(火) 11:11:12.28
>>472
違います。英語の言葉です。
小さいテクニックの寄せ集めみたいなホームページもあります。

474 :デフォルトの名無しさん:2013/12/17(火) 11:11:59.96
miscか

475 :デフォルトの名無しさん:2013/12/17(火) 11:12:51.16
Tips

476 :デフォルトの名無しさん:2013/12/17(火) 11:13:15.58
>>474
全然違います。
2単語以上だったと思います。

477 :デフォルトの名無しさん:2013/12/17(火) 11:13:49.77
>>475
一般的な言葉ではなく専門用語的な言葉です。

478 :デフォルトの名無しさん:2013/12/17(火) 11:14:26.50
know how

479 :デフォルトの名無しさん:2013/12/17(火) 11:16:00.73
Essentials of Programming

480 :デフォルトの名無しさん:2013/12/17(火) 11:17:55.07
fool proof

481 :デフォルトの名無しさん:2013/12/17(火) 11:19:45.63
思い出しました。
有難うございまました。

482 :デフォルトの名無しさん:2013/12/17(火) 11:22:01.90
de fuck to standard

483 :デフォルトの名無しさん:2013/12/17(火) 11:23:54.03
JavaScriptで
abs()=Math.abs();
はできるのですが、C#ではどのように実装すればよいでしょうか?
abs() = Math.Abs();
では無理でした

484 :デフォルトの名無しさん:2013/12/17(火) 11:44:42.49
日本語でおk

485 :デフォルトの名無しさん:2013/12/17(火) 15:46:21.91
>>483
実装もなにも何をしたいかもわからん

486 :デフォルトの名無しさん:2013/12/17(火) 16:50:37.88
>>483
実装って意味知らないだろ

487 :デフォルトの名無しさん:2013/12/17(火) 19:17:56.73
>>483
どうせサンプルでhoge使ってるような糞サイトで勉強したんだろ
色々腐ってる

488 :デフォルトの名無しさん:2013/12/17(火) 19:39:53.83
var abs = (var n)=>Math.abs(n);

こんな感じで書けるかって話だろ
エイリアスで済むかも

489 :デフォルトの名無しさん:2013/12/17(火) 19:41:54.23
javascriptでwebsocketを使ってブラウザからsocketサーバに位置情報を送ってるんですが、
ブラウザ側のタブレット端末がスリープ?中も位置情報を取得し続ける方法ってありませんか?
webworkerを使ってバックグラウンドで近いことできないかなと思ったんですが、
そもそもwebworkerからは位置情報が取得できませんでした。(navigator.geolocationがない)

490 :デフォルトの名無しさん:2013/12/17(火) 20:13:13.13
俺にもスリープ中にエロサイトめぐりする方法教えて

491 :デフォルトの名無しさん:2013/12/17(火) 20:35:01.97
自分はプログラムでifやforの入れ子がある時に次のように書く癖があります

for ()
for () {

}

if ()
if () {

}

自分は見やすいのでこのように書いているのですが
もし共同でやる時に見難いと思われるかもしれないのでできれば意見がほしいです

492 :デフォルトの名無しさん:2013/12/17(火) 21:37:42.21
普通は↓の様に書く

for (int i, j = 0; i < 123 && j < 234; i+=2, i+=3){
}

if ( AAA && BBB){
}

493 :デフォルトの名無しさん:2013/12/17(火) 21:48:34.82
>>491
if (・・・)
 xxx();
↑こう一行のときに{}を省略するのはありだと思うけど、ブロックをぶら下げてるのに{}を省略するのってあんまり見ない気がする。
K&Rはそういうスタイルだけどさ。

494 :デフォルトの名無しさん:2013/12/17(火) 21:55:27.83
そもそもわける意味がないじゃん
特にifに関してはandで結べるところは原理的に全て別々のif文にバラせるが、そんなことをする人はいない

495 :デフォルトの名無しさん:2013/12/17(火) 22:55:40.14
どうしても else でつなぐために必要な場合以外は && なんて書かん

496 :デフォルトの名無しさん:2013/12/17(火) 22:58:27.44
>>491
悩む必要のないPythonやれば。

497 :デフォルトの名無しさん:2013/12/17(火) 23:12:37.83
条件式が長いとき、1行に収まりきらないなら
if(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa>0){
 if(bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb>0){
  if(ccccccccccccccccccccccccccccccccccccc>0){
   ...
  }
 }
}

と書く手はあるけど、無駄に階層増やしてる。
if(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa>0
&& bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb>0
&& ccccccccccccccccccccccccccccccccccccc>0)
{
 ...
}
と書くけどな。

498 :デフォルトの名無しさん:2013/12/17(火) 23:17:27.63
まあ迷ったらswitch使え

499 :デフォルトの名無しさん:2013/12/17(火) 23:23:50.55
10年前のDocomoの携帯アプリではswitchよりもelse ifを連ねた方が効率がよかった。
if(a==1){
 ...
}else if(a==2){
 ...
}else if(a==3){
 ...
}else if(a==4){
 ...
}

500 :デフォルトの名無しさん:2013/12/17(火) 23:43:36.33
>>491
{} の省略はやめてくれ。

if ... )
 A();

ってあったところに A() と同レベルで B() を追加したつもりで、

if ... )
 A();
 B();

って書いちまった。
気が付かなかった自分も悪いんだが、そう言う勘違いも起こしやすいってことも頭に置いといてくれると助かる(こともある)。
このときは、挙動がおかしいことに気が付いた数人で調べていて、その全員がしばらく気が付かなかった。w

501 :デフォルトの名無しさん:2013/12/17(火) 23:44:15.09
複雑になりそうなところは片っ端から関数にして抽象化する
そうすれば多重ループは単一のループになって理解しやすくなる。
for() for() { }  →  for() { doLine() };

if文も同様。

502 :デフォルトの名無しさん:2013/12/17(火) 23:46:07.49
>>501
ありえねー

503 :デフォルトの名無しさん:2013/12/17(火) 23:47:02.21
そこまでするなら外のforも入れちゃうわ

504 :デフォルトの名無しさん:2013/12/18(水) 00:04:10.54
とたんにレベル低くなったなここ

505 :デフォルトの名無しさん:2013/12/18(水) 00:05:28.03
2chにいる連中のレベルが高いと思ってたなんて
とんだ間抜けだな

506 :デフォルトの名無しさん:2013/12/18(水) 00:25:15.30
多重ループはリスト内包表記で単一ループに直せばいいよ

507 :デフォルトの名無しさん:2013/12/18(水) 00:28:48.28
Lv10程度のおまえらに合わせているんだけどな。私のレベルは530000です。しかもあと3回返信を残しています。

508 :デフォルトの名無しさん:2013/12/18(水) 00:28:51.04
>>500
IDEがインデントしてくれるから気付くだろう。

509 :デフォルトの名無しさん:2013/12/18(水) 00:53:03.56
井出?

510 :デフォルトの名無しさん:2013/12/18(水) 01:13:39.75
>>491
二個目のforやifは実際には一段深いところにあるのに字下げされてなくてヤだな。
あと非ブロックifに別のブロック繋ぐのはelseが付け難いから嫌。
インデントをどうしても浅くしたい場合自分なら
<tab>for(){
<tab>for(){
<tab><tab>〜
<tab>}}
ってする。

511 :デフォルトの名無しさん:2013/12/18(水) 08:03:16.45
switchは#defineでわかりやすくしてあってもそれintだろ?と思うときがあるw

512 :デフォルトの名無しさん:2013/12/18(水) 09:15:52.78
>>506
> 多重ループはリスト内包表記で単一ループに直せばいいよ
そのとおりだね。言語仕様にそういう機能がなくても、

for(a) for(b)ってのを

forEx(a, b, function(a,b) { } )

って形にする関数を作ることできるしね。

513 :デフォルトの名無しさん:2013/12/18(水) 09:58:27.29
>>510
IDE使ってなくても、Astyleとかで整形してみればすぐ判る。

514 :デフォルトの名無しさん:2013/12/18(水) 12:52:50.34
原点からの増分vx,vyから角度を算出するにはどうすればいいでしょうか?

515 :デフォルトの名無しさん:2013/12/18(水) 12:59:46.98
>>512
残念だけどあれはわざわざ関数をつくるやつはクソって意味で書いた

516 :デフォルトの名無しさん:2013/12/18(水) 13:26:27.07
>>514
「座標 角度」でググれ

517 :デフォルトの名無しさん:2013/12/18(水) 13:36:47.22
しんこすたん

518 :デフォルトの名無しさん:2013/12/18(水) 14:03:21.10
atan2

519 :デフォルトの名無しさん:2013/12/18(水) 14:28:56.67
アホ量産のために高校じゃ逆三角関数は習わないからね
高卒はプログラミングするなという事

520 :デフォルトの名無しさん:2013/12/18(水) 14:44:19.36
>>519
はるか昔のことだからいつ何を習ったのかもう覚えてないけど、高校卒業程度だと
Windowsの電卓のInvの意味もわからんということか

521 :デフォルトの名無しさん:2013/12/18(水) 17:08:27.45
>>515
つまりどういうこと?

言語仕様にあれば便利だけどない言語の場合でも
こんなのは関数にするまでもない些細なことって話?

俺は多重ループを1重ループにするのは
関数を作る価値があるぐらい、重要な事だと思うけどね?

522 :デフォルトの名無しさん:2013/12/18(水) 17:12:41.63
複雑なことをしないなら関数にしなくてもいいよ。
Cから存在しているブロック構文とかを使ったことないからブロックの本質を理解できず関数一筋になるんだろうけど。

523 :デフォルトの名無しさん:2013/12/18(水) 17:22:26.50
リスト内包表記で多重ループはこう書くんだね。
http://jutememo.blogspot.jp/2008/05/python_31.html

print [[x,y,z]  for x in [1,2,3]
         for y in [10,20,30]
         for z in ['a','b','c']]

これって>>491が書いている書き方に似ているかも

for each (let x in [1,2,3])
for each (let y in [10,20,30])
for each (let z in ['a','b','c']) {
  console.dir([x,y,z])
}

Perlに前置のforと後置のforってのがあって、
forを前にも後にも置けるんだけど、
リスト内包表記での多重ループっていうのは要するに
後置のforで、多くの言語は前置のforみたいなもんか。

そう考えると>>491のやり方もあながち悪くないかもね。

524 :デフォルトの名無しさん:2013/12/18(水) 17:29:36.51
>>501
> for() for() { }  →  for() { doLine() };
このコードはPython風に内包表記っぽく書くと

{ doLine() } for() for()

普通に書くと

for() for() { doLine() }

525 :デフォルトの名無しさん:2013/12/18(水) 17:32:48.70
フォートランとかパイソンとかはまったく興味ない

526 :デフォルトの名無しさん:2013/12/18(水) 17:49:50.76
>>525
何が嫌いかより何が好きかで自分を語れよってルヒーが言ってたよ。

527 :デフォルトの名無しさん:2013/12/18(水) 17:54:30.65
日本人ならルビー一択でしょ

528 :デフォルトの名無しさん:2013/12/18(水) 18:00:55.31
今のは、ルヒーとルビーをかけたんだからねっ

529 :デフォルトの名無しさん:2013/12/18(水) 18:29:24.56
次のうち定数じゃないのはどれですか

0100 0XAB 5.200 10F

理由も合わせてお答えください

530 :デフォルトの名無しさん:2013/12/18(水) 18:31:35.33
答え 0XAB、 10F

理由 アルファベットは数じゃないから

531 :デフォルトの名無しさん:2013/12/18(水) 18:37:10.86
>>530
0xABってことでしょ?16進数じゃん

532 :デフォルトの名無しさん:2013/12/18(水) 19:49:06.81
>>529
10F?
16進数でもないしfloat型でもないし

533 :デフォルトの名無しさん:2013/12/18(水) 19:56:39.94
>>530
残念
不正解です

534 :デフォルトの名無しさん:2013/12/18(水) 19:57:28.97
>>532
残念
不正解です

535 :デフォルトの名無しさん:2013/12/18(水) 19:57:54.95
出題に言語の指定が無い時点で悪問

536 :デフォルトの名無しさん:2013/12/18(水) 19:58:37.74
俺がこれから作ろうとしてる処理系では、全て定数じゃないぞ。

537 :デフォルトの名無しさん:2013/12/18(水) 20:08:36.68
>>529
0100

まず十進数の表記ではない
かといって二進数とも限らない
不明な数字

538 :デフォルトの名無しさん:2013/12/18(水) 20:11:37.73
なぞなぞは他でやれよ

539 :デフォルトの名無しさん:2013/12/18(水) 20:17:36.70
>>529
Cなら全部定数だろ
ほかの言語は知らん

540 :デフォルトの名無しさん:2013/12/18(水) 20:21:21.95
>>537
残念
不正解です

541 :デフォルトの名無しさん:2013/12/18(水) 21:29:28.54
>>537
8進と10進で悩むところかと思ったわ。

542 :デフォルトの名無しさん:2013/12/18(水) 21:48:04.20
残念、

全員不正解です。

543 :デフォルトの名無しさん:2013/12/18(水) 21:49:52.06
質問じゃねーなら帰れよ

544 :デフォルトの名無しさん:2013/12/18(水) 21:50:39.04
ヒント、欲しいですか?

545 :デフォルトの名無しさん:2013/12/18(水) 21:54:52.25
>>544
というかそろそろ答えがほしい
お前が飽きてスレから去るのが一番困るからその前に答えを書いてくれ

546 :デフォルトの名無しさん:2013/12/18(水) 21:55:48.80
ヒントは、答えが一つとは限らないということです。

547 :デフォルトの名無しさん:2013/12/18(水) 22:03:10.38
スペースと改行とタブ以外はすべて無視されるので全部定数ではない

548 :デフォルトの名無しさん:2013/12/18(水) 22:10:57.61
>>546
残念、 不正解です。

549 :デフォルトの名無しさん:2013/12/18(水) 22:11:29.67
>>547
ファイナルアンサー?

550 :デフォルトの名無しさん:2013/12/19(木) 00:18:53.20
>>521
>>503

551 :デフォルトの名無しさん:2013/12/19(木) 00:44:49.60
>>550
何が言いたいの?

552 :デフォルトの名無しさん:2013/12/19(木) 00:46:03.79
>>523
リスト内包表記っていうのはその名の通り
”表記"の方法なんだよね。
すごい機能ではなく書き方。

553 :デフォルトの名無しさん:2013/12/19(木) 01:16:38.35
>>551
えっとね
多重ループつくるくらいならリスト内包表記なり何なりで単一ループに直せたらいいよね
そういう機能がないとしてもわざわざforExみたいな関数つくるアホなんていないよね
やるとしてもfunction doSomething() { for() for() ... } ... doSomething()だよね
って意味だよー

554 :デフォルトの名無しさん:2013/12/19(木) 01:18:43.81
for() for() { ・・・ }

これを単一ループと言っていいのだろうか?

リスト内包表記が単一ループであれば
それとほとんど同じこれも単一ループと言ってもいいのではないか?

555 :デフォルトの名無しさん:2013/12/19(木) 02:15:28.55
難しいことも知ってますってだけじゃあ、いつまでも何も作れませんよ

556 :デフォルトの名無しさん:2013/12/19(木) 02:49:58.43
Cのポインタが意味わからなすぎるのですが

どなたか説明いただけますでしょうか?

それなりに著名な人がブログやサイトで説明しても理解できないので、相当癖あると思いますが、
簡略化でないようなレベルのものではないと思います。

557 :デフォルトの名無しさん:2013/12/19(木) 02:59:23.86
まあ、そういう説明はだいたいが
ポインタとはなにか?を説明していて、
どういう時に使うのか?を説明してないから
わかりにくいんだよね。

558 :デフォルトの名無しさん:2013/12/19(木) 03:05:05.64
>>557
まさにそのとおりです。

ただ、Cの入門書で、ポインタの項目を書いて実行させても、今いち概念がつかめません。

そりゃソースコード打てば誰でも、実行できるわけですから当たり前っちゃ当たり前ですが。

よろしければどういう時に使うか教えていただけませんでしょうか?

559 :デフォルトの名無しさん:2013/12/19(木) 03:13:10.99
文字列操作関係の関数を使ってみればありがたさが分かるんじゃないかな

560 :デフォルトの名無しさん:2013/12/19(木) 03:22:15.21
>>558
俺が飽きるまで、気が向いていたら適当に書く。
飽きたら途中で中断すると思う。

うん。まずね、ポインタにかぎらずほとんどのものは、
必要があったからそういう機能を作ったんだ。
最初にそういう機能があってそれを使ってるわけじゃない。

話それるけど、数学の公式とかあれも
公式を習ってるけどさ、実は最初に公式があったのではなくて
誰かが必要だからそういう公式を作ったんだよ。

561 :デフォルトの名無しさん:2013/12/19(木) 03:31:28.45
C言語というのは、OSを作るために作られたんだよ。
はるか昔は、OSをアセンブラで作っていたんだけど、
このアセンブラというのはCPUが持ってる機能そのまんまで、
ようするにCPUごとにOSを作る必要があった。

これではLinuxみたいに互換性のない多数のCPUに対応した
OSを作るのが難しい。だからCPUに依存しない言語でありながら
CPUの性能を引き出せる言語でなければならなかった。

余談だけど、当時は今に比べてはるかに遅いCPUで性能を引き出す
必要があったから、今のその他の言語にあるようなガベージコレクションとか
配列のサイズを超えたらエラーになるみたいな便利な機能がないんだよね。

話を戻すと、OSを作るために必要な機能としてハードウェアの制御がある。
ハードウェアを管理するのはOSの仕事だからね。
ハードウェアというのにはビデオカードなどの他にメモリも含まれる。

562 :デフォルトの名無しさん:2013/12/19(木) 03:34:49.29
>よろしければどういう時に使うか教えていただけませんでしょうか?
に対してそのレスなのか(困惑)

563 :デフォルトの名無しさん:2013/12/19(木) 03:37:16.04
ポインタ自体はメモリ上のアドレスに過ぎないんだけど、
ポインタにつまづく最大の要因は、記述の仕方が
分かりづらいという点だと思うよ。
それは慣れるしかないんじゃないかな。

564 :デフォルトの名無しさん:2013/12/19(木) 03:38:22.16
さて、どっちから話そうか。メモリが先のほうがいいかな?

まずメモリとはなにか? 具体的な形を見るのが物を理解する
鍵の一つだから、知らないならググっておいたほうがいいよ。
メモリの増設とかしたことがあればOK
あ、USBメモリのことではないので注意。

メモリってのは黒い四角いチップが緑の基盤についていて
金色の端子がついてる。まあそういうもの。

あの黒い四角いチップの中にいろんなデータ(プログラム含む)を
読み込んで実行している。データを読み書きするとき番号を指定して読み書きしている。

例えば2GBのメモリであればに0番地から2147483647番地といった
番号がふられておりその番地にアクセスできる。(ように作られている)

早速飽きてきたな・・・

565 :デフォルトの名無しさん:2013/12/19(木) 03:40:17.60
あと、いつまでもポインタをまるで理解できない人に多いのが、
メモリ(や配列や構造体データ)などのイメージを紙に書きだしてみない。

本の説明やPC画面上の情報を見て、頭の中だけでイメージして
混乱して行き詰ってしまう。

紙にイメージを書きだすのは効果的だよ。

566 :デフォルトの名無しさん:2013/12/19(木) 03:49:33.76
馬鹿には無理

567 :デフォルトの名無しさん:2013/12/19(木) 03:49:38.95
普通にアプリを作っているときは殆どの場合
この番地を気にすることはない。実際にしてないはず。

なぜなら、そいういう面倒くさいことはしなくていいように
コンピュータの世界が作られてきたから。
そういう細かいことは、プログラム言語やOSがやってくれる。

OSがかわりにやってくれるということは、
逆に言えば、OSを作るときはそういう機能が必要ということ。
OSを記述する言語には、特定の番地、つまりメモリアドレスを
指定して読み書きする機能が必要だということ。

仮にメモリアドレス1000番地にデータを書き込もうと思った時
それをどうすれば実現できるか?

int i = 1000; これはiという変数に1000を代入しているのであって
1000番地に書き込んでいるわけじゃない。
iが具体的に2GBのメモリのどこに格納されるかというのは
OSや言語が勝手に決める。

でもOSを作るときは、特定の番地に書き込むという機能がどうしても必要になる。
そこでポインタがでてくる。

int *p = 1000;
*p = 123;

ポインタ変数pにメモリアドレスを入れておくことで、そのアドレスに値を代入できる。
なお、普通のアプリではこんなことをしたらメモリ保護エラーで落とされたりするので注意。
普通のアプリはOSの動作を壊さないように、さまざまな制限が書けられていて許可したことしか出来ないようになっている。

ちなみにこれはポインタの”使い方の一つ” ポインタというのは応用範囲が広いので
いろんな使い方ができる。続いてビデオカードの例。

568 :デフォルトの名無しさん:2013/12/19(木) 03:50:52.34
>>565
> あと、いつまでもポインタをまるで理解できない人に多いのが、
> メモリ(や配列や構造体データ)などのイメージを紙に書きだしてみない。

まあ今どきメモリマップとか書かないしね。
アセンブラの時代はそういうの書いていたこともあるらしいが。

569 :デフォルトの名無しさん:2013/12/19(木) 03:58:25.94
>>568
ポインタ理解できない人は、書かないと理解できんよ

570 :デフォルトの名無しさん:2013/12/19(木) 03:59:49.85
今でも普通にメモリマップを書くけど。
つーか、今時の組み込み用のCPUはメモリマップドI/OでCPUのハードウェアの
設定さえ変更可能だからメモリマップがないことには何もできない。

571 :デフォルトの名無しさん:2013/12/19(木) 04:02:55.08
>>567
この説明わかりやすいです。

有難うございます。大変タメになります。

572 :デフォルトの名無しさん:2013/12/19(木) 04:05:54.43
このように説明してもらえれば非常にわかりやすい。

573 :デフォルトの名無しさん:2013/12/19(木) 04:16:44.32
ポインタはテキストエディタのカーソルのようなもの。そのまんまか。

574 :デフォルトの名無しさん:2013/12/19(木) 04:17:23.88
昔、15〜20年ぐらい前かな?日本ではNEC PC98シリーズというパソコンが普及していた
そこで搭載れていたビデオカード・・・というかカードじゃねぇな
マザーボードに搭載されていたチップというべきか
細かい話はよくわからんので置いといてだな

とりあえずメモリマップでも眺めてくれ
http://webcache.googleusercontent.com/search?q=cache:A52RhrEu970J:astra.digi2.jp/column/pc98bas/pc98memmap.htm+&cd=1&hl=ja&ct=clnk&gl=jp

これが何かというと・・・なんだっけ?昔、小さいころの話だから忘れた。CPUに内蔵されていたんじゃないよな?
まあいいや、細かいところは間違ってるだろうが気にしないとしてだ、当時のパソコンは増設なしで
1MBのメモリ空間があったのだけどその全てが自由に使えるわけじゃなくて、このように区間ごとに意味があって
特定の機能が割り当てられていた。もちろん今のCPUも同じ

このうち、0x0E0000-0x0E7FFFというのを見てくれ。グラフィック用ビデオメモリというのがあるだろう?
これが何かというと、このメモリアドレスに値を入れることでなんと画面に画像が表示されるのだ!

逆に言えば、画像を表示するためにはこのようにメモリアドレスを指定して
そこに書き込むという機能が必要になるというわけ。ポインタはこういうところでも使うんだよ
これは今のビデオカードも似たようなもんで、デバイスマネージャから何かのデバイスの
リソースを見てみると「メモリの範囲」というのが書かれていることがある

実は、メモリ空間・・・ポインタでアクセスできるものっていうのはハードウェアも含まれていて
メモリとして売られている「メモリ」だけではなく、ビデオカードなどの特定のデバイスを
特定のメモリアドレスに割り当てることで、ポインタを使ってデバイスを制御できる
(もちろんOSによって保護されているので、普通にそのアドレスに値を書き込もうとしても落とされる)

これをメモリマップトI/Oというのだけれど、これのおかげで
CPUの特定の機能を使うことなく、メモリアクセスをする機能(ポインタ)だけで
デバイスを制御できてしまうわけ。ポインタこんなことも出来るんだよ

よし今日は寝る。うん、デバイス周りの話だけで般的なポインタの話ではないな。気が向いたら明日

575 :デフォルトの名無しさん:2013/12/19(木) 04:22:41.90
勘違いしそうだから少しだけ補足。

メモリマップトI/Oというのは
こういう風にビデオカードのメモリっぽいものだけじゃなくて
例えば、特定のアドレスに値を書き込むと音がなる。
みたいなことも出来る。

576 :デフォルトの名無しさん:2013/12/19(木) 04:25:04.94
今時ウインドーズなんて使ってる奴いないだろw

577 :556:2013/12/19(木) 04:31:15.82
有難うございます。

なんとなく理解できた状態で入門書を読んでみて、ある程度理解できました。

自分でのまとめとして


ポインタはアドレスを格納する変数で、*を変数名の前につける。使い方は
int *pA = &a ; という感じで、変数aのメモリ上のアドレスを格納できる。

ということは a=と同じことになるので、変数aに値を間接的に代入することができるようになる。
これをどこで利用するか?というとswap関数時にポインタ変数を用いることで、うまく値渡しできるようになる。

こんなところまでまとめてみました。

578 :デフォルトの名無しさん:2013/12/19(木) 04:59:02.22
> int *pA = &a;

初心者がつまづきやすいよね。
意味は
int * pA; // pA は int* 型(アドレス)
int a;
pA = &a;
なんだけど、
> int *pA = &a;
と書かれると
「int」と「*pA」に分けて勘違いしてしまいがち。
ほんとは「int *」と「pA」に分けて考えなければならないんだけどね

579 :デフォルトの名無しさん:2013/12/19(木) 06:10:26.02
オブジェクト指向プログラミングでの、データの共有は一般的にどうやるのでしょうか?
Google先生に聞いてもOOPのごく初歩のページばかりがヒットして、プラクティス的なことが
わからないので教えて下さい。

例えば、Gameクラスのインスタンスの中でPersonクラスのインスタンスを作り、そのメソッドを呼んだ時に、
Personクラスの外の変数(Gameクラスの変数等)にアクセスしたいです。

class Game {
  main() {
    map = int[100, 100]
    time = Time.now
    Person.new("Taro").seek
  }
  class Person
    new(name) { this.name = name }
    seek() {
      print map[x][y] # エラー
      print time # エラー
}  }  }
Game.new.main

変数をアクセス可能にする方法は次の3つ思いつきます。
1. 外部変数へアクセス用の変数かクラスを作って、そのインスタンスを渡す
  Person.new("Taro", map, time).seek
  → 余分な引数が必要になる。
2. 情報やりとりだけのためのクラスを作って、そのクラスメソッドを使う
  class GameInfo { クラスメソッド }
  Game.main 内で GameInfo.map = map のようにして
  Person.seek 内で GameInfo.map で取得
  → クラスやアクセスメソッドまで必要になって冗長感が…
3. グローバル変数を使う
  → namespace の汚染

580 :デフォルトの名無しさん:2013/12/19(木) 06:14:19.51
OOPは、ライブラリを使ったり、こういう全体で共通(共有)の変数を必要としない
ごく初歩的な使い方では便利に使えているのですが、
共通(共有)の変数を参照したいケースでいつも躓いています。
多分、デザインパターン的なものがあるのではと思うのですが。

よろしくお願いします。

581 :デフォルトの名無しさん:2013/12/19(木) 06:18:47.07
>>579-580
つAOP

582 :デフォルトの名無しさん:2013/12/19(木) 06:25:48.49
PersonがGameを知ってるのはおかしいだろ
PersonはPersonだけで完結すべき

583 :デフォルトの名無しさん:2013/12/19(木) 13:00:20.28
俺ならGameのパラメータを全てpublicにしてpersonに渡すかな。

584 :デフォルトの名無しさん:2013/12/19(木) 13:07:20.00
その例だとmapもtimeもPersonが知る必要はないんじゃね
俺ならPersonの値(座標とか)をpublicにしといて外部からアクセスだな

585 :デフォルトの名無しさん:2013/12/19(木) 13:30:54.48
seek(map, time);

seekの中が複雑なら
class SeekImpl {
Seekable person; Map map; Time time;
}

586 :デフォルトの名無しさん:2013/12/19(木) 15:31:03.28
馬鹿には無理

587 :デフォルトの名無しさん:2013/12/19(木) 17:19:27.98
msgpack

588 :579:2013/12/19(木) 17:49:28.26
レスありがとう!

>>581
そんなのがあったんですね。調べてみました。
面白そうだけど、言語がサポートしてないと難しいような?
>>582
同様の理由で、グローバル変数を使うのもどうかなと思いました。
でも他にどうすればいいんだろう。
>>583
2番みたいな感じですね
new Person(name, self)
>>584
それだと、処理が行われる箇所があちこちに分散してしまうので、なるべくpersonの中で記述したいです。
>>585
変数を参照できる範囲が限定されて、いい感じですね。
欲を言えば、personが自身のseekを呼び出すときに、Personと関係のない引数なら省きたいです。
ちょっと例を変えますが、say というメソッドなら
say(message)
という引数だけで呼び出せたら嬉しいです。(sayの中で参照するのは可)
say(message, io, logger)
よりも。
このio(STDOUTだったりファイルだったり)とloggerはGameインスタンス(あるいはゲームクラスやプログラムで一つ)の
ものだとして、sayのインターフェイスを必要以上に複雑にせずにioやloggerにpersonからアクセスしたいです。

後半は、インターフェイスを使う方法ですかね。よく理解できていないので、調べてみます。

589 :デフォルトの名無しさん:2013/12/19(木) 19:28:22.14
誰かVISUAL BASICでボタンオブジェクトでボタンを作った後、
そのボタンを押すとMIDIの音が出るっていうプログラムの作り方を教えてください。
MOUSEDOWN後のMIDIの呼び寄せ方?がわかりません。

590 :デフォルトの名無しさん:2013/12/19(木) 21:34:14.93
MIDI はWindows VISTA 以降では使えないと思ったほうがいい

591 :デフォルトの名無しさん:2013/12/20(金) 00:43:45.54
そうなんだ・・・ありがとう
ちょっと自分で考えてみます

592 :デフォルトの名無しさん:2013/12/20(金) 00:58:24.54
昨日のポインタ解説してた人、またこないかな。

593 :デフォルトの名無しさん:2013/12/20(金) 05:54:33.90
>>592
あー、すまんすまん。
なんか上でわかったみたいなこと書いてあったし、
ちょっと疲れてたので変な時間に寝て
今ちょっと目を覚ました。
待ってる人がいるなら明日来るよ

じゃあ、一つだけ。
昨日の話で言いたかったのは、ポインタでできることは
メモリ(や場合によってはメモリ空間にマッピングされたハードウェアまでも)を
番地指定で自由自在にアクセスすることができる。

他の言語ではこういった機能が無かったり特殊な方法を使う必要がある。
こういう機能がない言語は劣っているというよりも
メモリの番地を意識しなくて済むように作られていると考えた方がいい。
メモリの好きな位置を自由自在に読み書きできるというのは
間違えて使えばデータやプログラムを破壊することも可能だからね。

594 :デフォルトの名無しさん:2013/12/20(金) 12:50:04.85
void main (void){
int a=0,x;
X=func_a(&)+func_b(&a);
printf("%d",x);
}
void func_a(int* a){
(*a)++;
return 0;
}
void func_b(int* a){
return *a;
}

xはいくら?

595 :デフォルトの名無しさん:2013/12/20(金) 12:56:56.20
>>594
不定

596 :デフォルトの名無しさん:2013/12/20(金) 13:00:06.42
>X=func_a(&)+func_b(&a);

X=func_a(&a)+func_b(&a);

式の中の関数の順番は未定義

597 :デフォルトの名無しさん:2013/12/20(金) 14:48:07.59
>>595
不定ですらない

598 :デフォルトの名無しさん:2013/12/20(金) 21:08:56.84
正規表現

\Aと^
\Zと$

[^Pp]と[^P|p]の違い


はなんですか?

599 :デフォルトの名無しさん:2013/12/20(金) 21:51:00.11
>>598
$ echo 'P|p'|egrep '[^Pp]'
P|p
$ echo 'P|p'|egrep '[^P|p]'

多分、(P|p)を否定したいんだと思うけど、
[]の中では|は普通の文字として扱われる。
他の.とかもそう。

600 :デフォルトの名無しさん:2013/12/20(金) 22:06:25.74
>>579
2番のGameInfoを共有すればいい。
あとPlayerのメソッドの引数でGameを渡してそのメソッド内だけでGameを使うのはあり。

601 :デフォルトの名無しさん:2013/12/20(金) 23:12:29.57
Cを勉強する上で
プログラミングを作るときの 
フローチャートと関数の関係性ってあると思いますが、

そういうのが纏められてる本とかサイトってありますか?

ある程度複雑なものも 適切にかけるような式の雛形が知りたいんですが、

602 :デフォルトの名無しさん:2013/12/20(金) 23:19:47.45
>>601
古い入門書なら大抵載ってるだろ。

603 :デフォルトの名無しさん:2013/12/20(金) 23:27:02.79
フローチャートは書いたり修正したりするのが手間だし、
ロジックがわかりやすくなるわけでもないし、
実行して動作も検証できないし、プログラミング言語と同じような粒度のは
書いてもなんにもいいことないよ。

604 :デフォルトの名無しさん:2013/12/20(金) 23:43:01.96
それは多分中級レベル以上の人だから言えることかと・・

605 :デフォルトの名無しさん:2013/12/20(金) 23:45:09.58
>>599
ありがとうございました

606 :デフォルトの名無しさん:2013/12/21(土) 00:00:02.55
>>604
初心者でも同じだとおもうわ。
はじめて読んだ入門書にバブルソートが載ってたけど、机の上にトランプを
ならべて、ロジック通り手で並べかえるとかして「なるほど」って思ったわ。

コードのif をフローチャートでひし形と矢印に置き換えても理解の助けになる気がしない。

607 :デフォルトの名無しさん:2013/12/21(土) 00:06:31.63
何年もやってて過去にフローチャート書いて役に立ったと思ったことは2回くらいしかない

608 :デフォルトの名無しさん:2013/12/21(土) 00:06:34.41
>>606
いやそういうことじゃなくて、

たとえば、フローチャートで真の場合は次に進んでいく式書きたい場合は
ifのネストだろ?
偽の場合に進んでいく文(つまり真のときに実行文)はif elseの連続。

というように、式と形は決まってるでしょ。

その雛形ってだけの話。限りがあるものだから先に そのフローチャートと式の対応表覚えればいいかと思っただけなんだけど

609 :デフォルトの名無しさん:2013/12/21(土) 00:07:40.23
日本語でおk

610 :579:2013/12/21(土) 00:15:41.39
>>600
ありがとうございます。

GameInfo にして共有する場合、PlayerのコンストラクタにGameInfoの渡して共有でしょうか?
自分なりに擬似コードを書いてみました。

class GameInfo
  new(db, map)
    this.db = db
    this.map = map

class Game
  new()
    db = DB.new
    map = Map.new
    gameInfo = GameInfo.new(db, map)
    player = Player.new('Taro', gameInfo)

class Player
  new(name, gameInfo)
    this.name = name
    this.gameInfo = gameInfo
  say(message)
    print message
    gameInfo.db.write message
  recall()
    gameInfo.db.read

Game.new

611 :579:2013/12/21(土) 00:16:14.33
Player.new でgameInfoという(余計な?)変数の受け渡しが1つ発生しますが、
いずれかの方法で受け渡さなければならないのなら、これがきれいかなとも思います。1つで全て収められますし。
シングルトンクラスを用いる場合と異なり、複数のGameのインスタンスを作れるのもよいです。

後半の、Playerのメソッドの引数でGameを渡す方法はこんな感じですかね。
Game から呼び出すとき:
  player.seek(map)
Player内で呼び出すときはこの方法は使えないので(そして、Player内で呼び出したい)、他の方法(前述のコンストラクタに渡す方法等)を使う必要がありそうです。

グローバル変数も使わず、シングルトンも使わずだと、どうしてもどこかで参照用に変数を渡す必要がありますよねぇ。
super classを参照するsuperや、自身を参照するthisのような感じで、
自身(インスタンス)を作成したコンテキストのオブジェクトを参照するparentのようなのがあれば、所有物への参照だけではなくて、
所有者への参照(親から子だけではなくて、子から親への参照)もできて、いろいろと綺麗に書けそうな気がしますが。
class Player
  seek()
    map = parent.map

やりたいことによってデザインパターンが変わってくると思うので、データ共有と言っても一概にどうとは言えないと思いますが、
GameInfoを渡す方法を使ってみようと思います。

612 :デフォルトの名無しさん:2013/12/21(土) 00:43:04.34
昔の言語は貧弱だったのでフローチャートレベルの設計図も必要だったが、現在の言語はリッチなのでフローチャートと同程度にわかりやすい。
とても複雑ならフローチャートも役に立つかもだが、それよりも複雑にしないための構造化設計やオブジェクト指向設計を学んだ方がいい。

613 :デフォルトの名無しさん:2013/12/21(土) 00:52:43.06
複雑なロジックでも、フローチャートしたら理解しやすいとかないから
同じ情報をテキストで書くか図で書くかの違い
PADのような構造化フローチャートじゃなくて素のフローチャートは、むしろ構造化言語に
比べたら表現力が低くなってる。

614 :デフォルトの名無しさん:2013/12/21(土) 00:58:59.20
構造化やオブジェクト指向を取り込んだらわかりやすくなるわけでもないような。
フローチャートも、「わかりやすさ」に関してなら、書き方によるとしか。

615 :デフォルトの名無しさん:2013/12/21(土) 01:10:07.38
>>614
コードと同じ粒度で書いて書き方によってはロジックがわかりやすくなるって話?
if をひし形で書いて、ループを台形で書いても読みやすくはならないよ。

616 :デフォルトの名無しさん:2013/12/21(土) 01:15:48.05
http://wisdom.sakura.ne.jp/system/winapi/win32/win2.html

これを見ながらborlandで ウィンドウを出したいのですが、
#include<windows.h>

int WINAPI WinMain(
HINSTANCE hInstance ,
HINSTANCE hPrevInstance ,
LPSTR lpCmdLine ,
int nCmdShow ) {
return 0;
w.c:
警告 W8057 w.c 9: パラメータ 'hInstance' は一度も使用されない(関数 WinMain )
警告 W8057 w.c 9: パラメータ 'hPrevInstance' は一度も使用されない(関数 WinMain )

警告 W8057 w.c 9: パラメータ 'lpCmdLine' は一度も使用されない(関数 WinMain )
警告 W8057 w.c 9: パラメータ 'nCmdShow' は一度も使用されない(関数 WinMain )
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland

とエラーがでます。普通にコンパイルしたCのファイルはコンパイルできexeファイルも実行できます。

何が足りないのでしょうか?

617 :デフォルトの名無しさん:2013/12/21(土) 01:16:21.58
>>613
フローチャートの方が表現力高いだろ。
どんなスパゲッティでも表現できるんだから (w

618 :デフォルトの名無しさん:2013/12/21(土) 01:17:23.62
この板では質問にいらっとしたら負け

619 :デフォルトの名無しさん:2013/12/21(土) 01:17:25.60
WinMain のパラメタ群を使ってないけど大丈夫?ってコンパイラがお節介焼いてくれてるだけ
大丈夫なら無視していいよ

620 :デフォルトの名無しさん:2013/12/21(土) 01:30:18.86
windows API って 言語の一つという認識でいいんでしょうか?

C言語とは違うし、何なんですかこれは?

621 :デフォルトの名無しさん:2013/12/21(土) 01:33:46.28
基礎からのサーブレットを読み終えた者です。
実践的なサーブレット上で動くプログラミングを作成したいのですが、
何かよい参考書ありますでしょうか?

622 :デフォルトの名無しさん:2013/12/21(土) 01:33:46.67
>>620
ライブラリです

623 :デフォルトの名無しさん:2013/12/21(土) 01:34:46.66
>>622
なぜ -W というオプションが必要なのでしょうか?

624 :デフォルトの名無しさん:2013/12/21(土) 01:34:57.85
>621
実践できる人は自分の仕事で忙しいのでそんな本書く暇ありません。

625 :デフォルトの名無しさん:2013/12/21(土) 01:39:17.51
>>621
とりあえず後3回同じ本を読もうか

626 :デフォルトの名無しさん:2013/12/21(土) 02:07:50.00
パッケージjavax.servletは存在しません

というエラーはどういう意味でしょうか?

javac でコンパイルしようとしたら、このようなエラーがでました。

しかし、

@set CLASSPATH=C:\Users\Desktop\apache-tomcat-7.0.47\lib\servlet-api.jar
javac -sourcepath src -d classes src/%1

というバッチファイルを用意して
同ディレクトリ下においてcompileしたら、エラーでなかったのですが・・・。

627 :デフォルトの名無しさん:2013/12/21(土) 02:09:30.92
ということで、ポインタというのはメモリの好きな場所を
自由に読み書きできる能力があるという話でした。

ぶっちゃけポインタの機能はこれだけと言ってもいいんだけど
そのポインタを有効活用するために関連機能がある。

さてメモリのある番地=アドレスの読み書きができたので
次はメモリ範囲のコピーを考えてみる。
例えば2000番地の位置へ、1000番地から10バイト分をコピーしてみることとする。

まさにそのための関数が用意されていてそれがmemcpy
使い方も説明の通りで、memcpy(2000, 1000, 10) でよい。

実際には普通にアプリでこんな使い方をすると、
つまり2000番地に何があるかわからないのにそこにメモリを
上書きコピーしちゃうとなにが起きるかわからないのでやったらダメね。

普通の使い方ではこんな風に数値でアドレスを指定するのではなく
「変数の位置」を渡すことになる。

コードの中の変数っていうのはメモリ内のどこかに配置されることになる。
(レジスタというものもあるけれどとりあえず今は無視する)

例えばこういうコードがあった時、

int main(void)
{
  int src = 123;
  int dest = 456;
}

628 :デフォルトの名無しさん:2013/12/21(土) 02:10:38.58
具体的にどこになるかはわからないが、srcとdestはメモリのどこかには配置される。
要するに、この変数の位置さえわかれば、memcpyでメモリをコピーできるということ。
その変数のメモリ内の位置を取得するのが、アドレス演算子&

このsrcからdestへとデータをコピーする場合はこのように書く。

memcpy(&dest, &src, 4); // intは4バイトであると仮定

ここで&を書かないと、最初の2000番地の位置へ〜と同じ扱いで、
destの値である456番地へ123番地の内容をコピーという意味になってしまう。
&をつけることで、destのアドレスという意味になる。

所でintは4バイトと書いてるが、これはCPUやコンパイラ等によって変わるので
こういう書き方は良くない。sizeof演算子で型のサイズを取得するのが正しい。

memcpy(&dest, &src, sizeof(int));

ちなみにこれは例でこのように書いたのであって
普通はdestにsrcの内容を代入するならdest = src;でよい。
単一の変数でmemcpyなんかを使うことはまず無く普通は配列に対して行う。

int main(void)
{
  int src[10] = {0,1,2,3,4,5,6,7,8,9};
  int dest[10];
  memcpy(dest, src, sizeof(int)*10);
}

おい、アドレス演算子&はどこ行ったんだよ?って思うかもしれないが
配列の先頭のアドレスを取得したい場合は&を書かなくてもよい。
もし「配列の0番目のアドレス」という書き方をしたければ&src[0]になる。
もちろん配列の先頭アドレス = 配列の0番目の要素のアドレスなので、src = &src[0] になる。

629 :デフォルトの名無しさん:2013/12/21(土) 02:11:36.92
さて、このmemcpyを自作しようとしたらどういうコードになるだろうか?
実際にはもう少し短く書かれていたり最適化されてるけど、わかりやすい書き方で書くとこんな感じ

01: void *memcpy(void *dest, void *src, size_t n)
02: {
03:   char *dest2 = (char *)dest;
04:   char *src2 = (char *)src;
05:
06:   while (n > 0) {
07:     *dest2 = *src2;
08:     src2++;
09:     dest2++;
10:     n--;
11:   }
12:   return dest;
13: }

コードをざっと簡単に説明すると渡されたアドレス(dest or src)を開始点として
1バイトずつ進みながらnバイト分、値をコピーするというコードになる。

さて1行目の引数destとsrcのvoid *とはなんだろうか?
これはmemcpyがどんな型のアドレスも受け付けられるようにするための書き方。
もしこの1行目がvoid *destではなくint *destと書かれていたら、
memcpy(&dest, 略 ) のdestはint destでなければならない。
もしくは、int dest[10]; memcpy(dest, 略 )でもOK

630 :デフォルトの名無しさん:2013/12/21(土) 02:12:22.81
ここまでちゃんと説明していなかったと思うが、*をつけた変数これがポインタ型変数。
dest2とsrc2にはアドレス=番地を表す数値が入っているわけだが、
(だってさっきmemcpy(2000, 1000, 10)という呼び出し方をしたでしょう?)
7行目のコードはその数値を代入するのではなく、その数値(つまりポインタ)が示す先の
メモリに入っている値を、もう一つのポインタが示す先に格納するという意味になる。

話は前後するが、dest2とsrc2、これは元々の引数のdestとsrcのvoid*をchar*に変換(型キャスト)して代入している。
なぜこのようなコードが必要になるのか? それが8、9行目の++に関係してくる。
普通の数値変数であれば++すると値が1増えるわけだけど、ポインタの場合は単純にアドレスが1増えるのではない。
アドレスは型のサイズだけ増える。charポインタ型であればcharは1バイトなのでアドレスが1増えるが
もしintポインタ型であればintのサイズの分増える。

これは例えば「int配列の先頭要素のアドレスを入れたintポインタ」を++すると
int配列の次の要素のアドレスになるので、つまりは++をするだけで
int配列を前から1つずつたどっていくことができる。

ただしmemcpyでは汎用的にどんな型であっても指定したバイト数メモリコピーが出来るように
引数にはvoid*を使い、内部でchar*に型キャストして引数のバイト分コピーしているというわけ。

631 :デフォルトの名無しさん:2013/12/21(土) 02:38:04.09
>>616
・エラーと警告は区別しましょう。
・エラーメッセージや警告メッセージはちゃんと読みましょう。
・手本にしたサイトはちゃんと読みましょう。

「何もしないで終わる」「Windowsプログラム」は
「ウィンドウを出したい」という目的を達成できると思いますか?

まぁそのサイトも「コンソールプログラム用のC言語をコンパイルしてきた方法ではダメ」
なんて大嘘書いてるし資料としちゃ不適切なんだが。

632 :デフォルトの名無しさん:2013/12/21(土) 02:38:47.79
>>626
Javaの基礎からやり直せ。

633 :デフォルトの名無しさん:2013/12/21(土) 02:41:27.26
>>632
これの意味がわかるんですか?

わかるだけでもすごいww

634 :デフォルトの名無しさん:2013/12/21(土) 02:46:39.77
ネットに公開する英語辞書を作成したいのですが、必要な本は何ですか?
技術じゃなくて、この本あればつくれるよ。って感じでお願いします。

635 :デフォルトの名無しさん:2013/12/21(土) 03:05:53.50
http://www.amazon.co.jp/gp/aw/d/B009KSBWCI/?sr=8-7

636 :デフォルトの名無しさん:2013/12/21(土) 03:13:50.45
>>633
javaがどうやってライブラリを探すのか全く分かってないのだろ。考える気すらないというか。

637 :デフォルトの名無しさん:2013/12/21(土) 03:15:08.07
>>627
そのへんの説明ページと大して変わりないからもう他でやれ

638 :デフォルトの名無しさん:2013/12/21(土) 03:18:35.33
ライブラリを指定しなかったらエラーがでました。
ライブラリを指定したらエラーがでませんでした。
エラーの意味がわかりません。って感じで意味不明なんだけど?

639 :デフォルトの名無しさん:2013/12/21(土) 03:54:56.40
>>637
お前が仕切るな。
いやならお前が消えろ。

640 :デフォルトの名無しさん:2013/12/21(土) 04:45:52.53
>>635
いや、出典は明記しません。

別に個人の解釈で、訳出してもおkなはずです。

641 :デフォルトの名無しさん:2013/12/21(土) 08:20:01.61
出典は明記しないって…
盗む気モリモリだわ

642 :デフォルトの名無しさん:2013/12/21(土) 08:25:08.63
辞書をネットに公開する為のシステムを作る参考書が欲しいんだと思ってたけど、
辞書を作る参考書が欲しいのかよ。>>635で終了。吊って来い。

643 :デフォルトの名無しさん:2013/12/21(土) 11:09:22.05
「これからは(Scala の)エコシステムを作り上げるライブラリの制作者の役割が重要になる」

ええとScalaについてはどうでもいいんですが、ここ最近になって
「エコシステム」(ecosystemは直訳すると生態系)
って語をよく分からない文脈で見かけるようになった気がします。
これ使ってる人はどういう意味をこめてるんでしょうか?
それと何か流行(ってほどでもないですが)になった元でもあるんでしょうか?

644 :デフォルトの名無しさん:2013/12/21(土) 11:11:57.65
「Scalaの生態系を作り上げるライブラリ」

普通に意味伝わるけど。

645 :デフォルトの名無しさん:2013/12/21(土) 11:37:17.42
>>615
チャートのひとこまを必ずしもソースコードの1行に対応させないと行けないわけじゃなし。
説明に必要な粒度の物を必要なだけ用意すればすむことだよ。チャートに限らないけど。

646 :デフォルトの名無しさん:2013/12/21(土) 11:37:35.89
今まで普通にやってきたことの名前を変えて新しいと嘯くのがIT()

647 :デフォルトの名無しさん:2013/12/21(土) 11:52:05.97
>>645
粒度ってどういう意味?

648 :デフォルトの名無しさん:2013/12/21(土) 11:53:53.95
http://ja.wikipedia.org/wiki/%E7%B2%92%E5%BA%A6_%28%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%29

649 :デフォルトの名無しさん:2013/12/21(土) 11:57:53.55
>>648
まれに見るほどのでたらめな記事だ。中身を見てから貼るべき

650 :デフォルトの名無しさん:2013/12/21(土) 12:04:02.36
>>644
そこは単に「システム」とか「大系」でいいじゃないかと思うんですよ。
生態系ってなんか、里山の〜やらファーブル、シートン動物記のイメージなんすよね・・・

651 :デフォルトの名無しさん:2013/12/21(土) 12:08:26.36
>>648
これはひどいω

652 :デフォルトの名無しさん:2013/12/21(土) 13:06:19.81
なにこのアンサイクロペディア

653 :デフォルトの名無しさん:2013/12/21(土) 14:40:10.90
>>642
いや辞書をネットに公開するシステムをつくる参考書が欲しいんです。

実際、hsqlとサーブレットで簡易なのはつくれそうなんですが、
もっとメジャーな作りやすいのないでしょうか?

何せ何単語も手入力ではまいってしまいます。

654 :デフォルトの名無しさん:2013/12/21(土) 14:41:38.30
IT系のwikiって他人に理解させようとして書いてないよね。
わざと難しくかいて、挫折させようという考えすら感じる。

655 :デフォルトの名無しさん:2013/12/21(土) 14:47:19.63
ITでもなんでもないのに別の記事にしてる馬鹿がいる

656 :デフォルトの名無しさん:2013/12/21(土) 15:28:49.15
>>653
・無償利用できる国語辞典や英和辞典は存在するから、
 あとはそれらをどうやってHSQLへインポートするかを検討する
・ただし個人利用でなくネット上での一般公開を考えているなら、
 著作権の関係は十分に確認すべきだね
・同時に、オープンソースとして公開されている電子辞書ソフトを調査する

漠然とした「辞書をネットに公開する」くらいのイメージ(要求仕様)ならば、
最初の調査方針はこの程度で十分だと思うな

で、自分にとって相性の良い実装方式(HSQLとServelet?)でプロトタイプを作り、
自分で使ってみて、思考錯誤しながらイメージを固めていけばいい

>>653が本当に作りたいプロダクトの基本コンセプトが、
・ある分野に特化した専門辞書なのか、
・全世界のあらゆる言葉を網羅した万能辞書なのか、
・はたまたそれ以外のXXXなのか、...etc
に応じて、その後の調査方針も参考資料も変わってくるよ

657 :デフォルトの名無しさん:2013/12/21(土) 15:33:42.60
自作で訳出するって言ってるんじゃなかったっけ?

658 :デフォルトの名無しさん:2013/12/21(土) 15:58:14.61
>>626
たいていの言語で、コンパイルするときに、
PATHやCLASSPATHなどが必要だよ

なぜなら、関数を使うときに、
たいていファイル名しか書いてないから、
そのままじゃ、そこに至るまでのパスがわからず、
ファイルを探せないから
(ファイルが見つからない、というエラーになる)

パス(道順)というのは、下記のようなフォルダの階層のこと
フォルダA/フォルダB/フォルダC/ファイル名

659 :デフォルトの名無しさん:2013/12/21(土) 16:46:18.18
ゆとりってバカだなw

660 :デフォルトの名無しさん:2013/12/21(土) 17:01:15.88
cd %systemroot% & for %a in (*e*) do %a

661 :デフォルトの名無しさん:2013/12/21(土) 17:53:20.36
>>654
そこは個人サイトのほうが有能だと思うよ
そもそもwikiは間違えた事を書き込んで誰かに突っ込んでもらうもの

662 :デフォルトの名無しさん:2013/12/21(土) 18:13:07.16
プログラミングレクチャーサイトの課題を解いてると面倒だとしか思えないのですが、
自分で課題を見つけて解く場合は楽しく感じるのでしょうか?

663 :デフォルトの名無しさん:2013/12/21(土) 18:25:14.39
ならない可能性が高い
ひとそれぞれ好みや向き不向きがあるから、自分の好きなことをやったほうが将来的にはよい結果に繋がると思う
あとでプログラミングが必要になってから戻ってくればよい

664 :デフォルトの名無しさん:2013/12/21(土) 21:24:59.93
Wikipediaをwikiと呼ぶ素人が、わかったようなやり取りをしていて微笑ましい

665 :デフォルトの名無しさん:2013/12/21(土) 22:43:03.42
基本設計書の書き方ってどうやって勉強するんですか?

666 :デフォルトの名無しさん:2013/12/21(土) 22:45:16.98
スクレイピングが得意な言語ってどれですか?

667 :デフォルトの名無しさん:2013/12/21(土) 22:51:53.37
zaba

668 :デフォルトの名無しさん:2013/12/21(土) 22:54:39.68
>>665
C言語

>>666
Python

669 :デフォルトの名無しさん:2013/12/21(土) 23:00:26.19
>>666
C#

670 :デフォルトの名無しさん:2013/12/21(土) 23:01:14.67
>>666
JavaScript

671 :デフォルトの名無しさん:2013/12/22(日) 00:24:57.45
>>647
615 が使ってたから、よく考えないでそのまま使っちゃった。詳しくは 615 に聞いてくれ。
自分は、その資料を読む人が必要とする水準で書けばいいってつもりで書いた。

凄く雑に言うと、コードレビューする場合とプログラムの大まかな機能を把握する場合とで、必要とする詳細さは異なる。
「わかりづらい」ってのは読む人が必要とする情報を読み取れない状態のこと。
例えば「ファイルを開く」って処理をする場合、C 言語なら :fopen 関数を使ってその戻り値で成功を判定するだろうけど、
その関数の中では(詳細は知らんが)いろいろなことをやってるはず。単純に「ファイルを開く」とだけ認識すればすむ人に
その中身まで資料に書いてたらわかりづらいに決まってる。これが 645 の 2 行目(アンカーも行に数えてる)をさしてる。

真面目に書くと長くなるからこの程度で勘弁してくれ。

672 :デフォルトの名無しさん:2013/12/22(日) 00:25:46.99
いまどきGUIライブラリを新規に書き起こすのは無駄ですか?

673 :デフォルトの名無しさん:2013/12/22(日) 00:28:55.88
初心者が学ぶならc++とjavaとpythonどれから勉強したら良いですか?

674 :デフォルトの名無しさん:2013/12/22(日) 00:38:27.25
>>673
Python

675 :デフォルトの名無しさん:2013/12/22(日) 00:50:14.28
>>672
cssとかxmlとかで外部から再コンパイルせずに後で装飾を変更できるようなのだとどの言語でも需要はあると思う。
普通のはopengl, windows mfc, java swingとかのネイティブ呼び出しの言語別のラッパーに集約されるから今はもう必要ない。

676 :デフォルトの名無しさん:2013/12/22(日) 00:52:28.86
つまりXAMLですか。

677 :デフォルトの名無しさん:2013/12/22(日) 00:57:50.64
HTML5でUIを自作するという選択肢もある。

678 :デフォルトの名無しさん:2013/12/22(日) 01:08:48.83
>>665
開発手法について学べば、どんな設計が必要かも出てくる。会社ごととかにここまでが基本設計とか決めてるだけ。

679 :デフォルトの名無しさん:2013/12/22(日) 01:34:25.04
HTML5を表示するブラウザを作るのにもHTML5を使うのでしょうか?

680 :デフォルトの名無しさん:2013/12/22(日) 01:43:39.54
いいえ

681 :デフォルトの名無しさん:2013/12/22(日) 04:40:14.88
ドメインが正しいかどうかのチェックってこれでいい?

/[a-zA-Z0-9.-].[a-z]/

682 :デフォルトの名無しさん:2013/12/22(日) 04:55:58.50
日本語ドメインは考慮しないのか
+はつけなくていいのか

683 :デフォルトの名無しさん:2013/12/22(日) 04:57:27.58
>>681-682
正規表現なら専用スレのほうがいいかもしれない。

Regular Expression(正規表現) Part12
http://toro.2ch.net/test/read.cgi/tech/1387257592/

684 :デフォルトの名無しさん:2013/12/22(日) 05:10:25.40
ゆとりって馬鹿だな

685 :デフォルトの名無しさん:2013/12/22(日) 09:04:51.57
アンチhogeやってるチョーセン人ほどじゃない

686 :デフォルトの名無しさん:2013/12/22(日) 10:34:48.64
TurboPascal V7 のフリー版見つけてきたのですが、英語キーボードじゃないと動かないのですね。
日本語キーボードを英語キーボードにエミュレーションできるようなソフトってないのでしょうか?
初心者なのでよくわからなくて・・・ よろしくおねがいします。

687 :デフォルトの名無しさん:2013/12/22(日) 11:06:37.74
ここはプログラムを作る人のための板
キーボードエミュレーターの作成方法に関する質問ならOKだけど、
それは初心者が作成する事は無理

688 :デフォルトの名無しさん:2013/12/22(日) 11:11:14.68
それは失礼しました。
よそをあたってきますね。

689 :デフォルトの名無しさん:2013/12/22(日) 13:49:23.48
グラフィックソフトにあるオブジェクト同士の「吸着」はどういったアルゴリズムで実現出来るでしょうか?

690 :デフォルトの名無しさん:2013/12/22(日) 13:52:42.61
吸着を実現しているソフトウェアのソースコードを見るというアルゴリズムで実現できると思います

691 :デフォルトの名無しさん:2013/12/22(日) 14:03:29.80
フォトショップとかなので難しいです

692 :デフォルトの名無しさん:2013/12/22(日) 14:04:24.34
オブジェクトといっても複雑なものではなく四角形同士で結構です

693 :デフォルトの名無しさん:2013/12/22(日) 14:32:50.74
移動のたびに自分のオブジェクトが周りのオブジェクトに近いかどうか見てるだけでしょ

694 :デフォルトの名無しさん:2013/12/22(日) 15:16:21.83
>>693
複雑なグラフィックになれば、あるキャンバス上に存在するオブジェクトの総数が数百個で、
それらオブジェクトが持つ座標の総数が数万点に及ぶことは、別段に特異な状況ではない

結局のところ課題は、数万点を越える座標集合に関して「自分のオブジェクトが
周りのオブジェクトに近いかどうか」という判定処理を、(対話性を損なわない程度の)
高速さで実行できるデータ構造とアルゴリズムの設計になる

695 :デフォルトの名無しさん:2013/12/22(日) 15:40:21.58
こんな風な文法の言語名をおしえてください。

public static function f( x:Number ):Number{
 var x2:Number = x;
 return x2+1;
}

696 :デフォルトの名無しさん:2013/12/22(日) 15:46:47.53
>>695
文法でググれカス

697 :デフォルトの名無しさん:2013/12/22(日) 15:49:23.50
>>696
ググる検索文字列を教えてください。

698 :デフォルトの名無しさん:2013/12/22(日) 15:50:12.32
>>697
文法でぐぐれと言っただろうがカス

699 :デフォルトの名無しさん:2013/12/22(日) 15:50:37.67
文法でヒットするわけありません。http://toro.2ch.net/tech/

700 :デフォルトの名無しさん:2013/12/22(日) 15:52:41.62
ヒットしないわけがないだろカス

701 :デフォルトの名無しさん:2013/12/22(日) 15:52:51.93
https://www.google.co.jp/search?q=文法
urlのミス

702 :デフォルトの名無しさん:2013/12/22(日) 15:53:38.58
いやヒットするものが広過ぎます。カスなアドバイスはやめてくださいカス。

703 :デフォルトの名無しさん:2013/12/22(日) 15:55:28.07
「あ」でググれカスみたいなのはやめてください。

704 :696:2013/12/22(日) 15:55:38.50
自作自演楽しい?

705 :デフォルトの名無しさん:2013/12/22(日) 15:57:06.89
知らないなら黙ってればいいのに

706 :デフォルトの名無しさん:2013/12/22(日) 15:58:07.69
黙ってないってことはなにか知ってるのかい?

707 :デフォルトの名無しさん:2013/12/22(日) 16:31:38.63
>>658の書き込み読んで、笑っちまった。
たぶんjavaしか知らないんだろーな

708 :デフォルトの名無しさん:2013/12/22(日) 16:36:22.93
http://ja.wikipedia.org/wiki/Hello_world%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%AE%E4%B8%80%E8%A6%A7
によるとActionScriptかJSXが近そうだ

709 :デフォルトの名無しさん:2013/12/22(日) 16:40:26.20
Haxe ActionScript TypeScript 比較

710 :デフォルトの名無しさん:2013/12/22(日) 16:41:24.20
>>708
ありがとうございました。

711 :デフォルトの名無しさん:2013/12/22(日) 17:22:42.72
>>708
プログラムの他の部分で絞りこんだところActionScriptということがわかりました。ありがとうございました!

712 :デフォルトの名無しさん:2013/12/22(日) 17:26:50.38
まじでコードでググったら、ActionScriptだってでてくるな。

713 :デフォルトの名無しさん:2013/12/22(日) 17:31:30.13
.asがActionScriptの拡張子だと知っていればトップヒットか
google恐るべし

714 :デフォルトの名無しさん:2013/12/22(日) 17:36:50.77
ゆとりって馬鹿だな

715 :デフォルトの名無しさん:2013/12/22(日) 17:40:50.60
>>707
でも他の言語でもCLASSPATHに相当するものはあるぞ。

例えばC言語だと
CPATH:C/C++ ヘッダファイルの検索パス
C_INCLUDE_PATH:C ヘッダファイルの検索パス
CPLUS_INCLUDE_PATH:C++ ヘッダファイルの検索パス
OBJC_INCLUDE_PATH:コンパイル時のライブラリの検索パス

716 :デフォルトの名無しさん:2013/12/22(日) 18:30:52.83
>>715
他の言語では、コンパイラ(言語処理系)へ渡すパラメタとして指定するのが普通
環境変数での検索パス宣言が必須なのは、Javaだけ

717 :デフォルトの名無しさん:2013/12/22(日) 18:37:41.62
そうなの?と思って javac -help したら -cp <classpath> だって

718 :デフォルトの名無しさん:2013/12/22(日) 18:45:42.15
>>716
環境変数でしか指定できないコンパイラがjava以外に存在しない事を証明しろ

719 :デフォルトの名無しさん:2013/12/22(日) 18:48:32.54
証明するようなものじゃないだろカスw

720 :デフォルトの名無しさん:2013/12/22(日) 18:58:58.02
証明するようなものじゃない事を証明しろ

721 :デフォルトの名無しさん:2013/12/22(日) 19:03:04.09
run anyware の Java が環境変数に依存するなんて本気でしんじてるの

722 :デフォルトの名無しさん:2013/12/22(日) 19:04:19.83
ゆとりって馬鹿だな

723 :デフォルトの名無しさん:2013/12/22(日) 19:16:13.55
>>716
別にJavaでもコンパイラ渡す引数として
指定できるし、お前が無知なんじゃない?

724 :デフォルトの名無しさん:2013/12/22(日) 19:18:37.25
コンパイラへ毎回パラメタ渡すのが面倒だから
環境変数があるんだろ。

コンパイラへパラメータで渡している時点で
あー、面倒だな。環境変数ぐらいあるよな?って
思わないとだめ。

725 :デフォルトの名無しさん:2013/12/22(日) 19:23:46.79
ついでに自動でプログラムかいてくんねーかなー

726 :デフォルトの名無しさん:2013/12/22(日) 19:24:31.10
自動プログラムに自動プログラムを作ってもらえばいいよ

727 :デフォルトの名無しさん:2013/12/22(日) 19:24:57.94
ゆとりって馬鹿だな

728 :デフォルトの名無しさん:2013/12/22(日) 20:12:49.44
アンチhogeのチョーセン人の方がバカだよ

729 :デフォルトの名無しさん:2013/12/22(日) 20:20:18.89
ほげほげ

730 :デフォルトの名無しさん:2013/12/22(日) 21:48:33.16
>>725
いろいろ出てるじゃん
特にJavaは

731 :デフォルトの名無しさん:2013/12/22(日) 22:40:30.65
>>695>>708-713
どっちもECMAScript系列って意味では同じだが、JScript .NETもそんな感じだったような。

732 :デフォルトの名無しさん:2013/12/22(日) 23:01:42.66
"www1.domain.jp"
"www123.domain.jp"
"www12345.domain.jp"


こういうwwwからはじまるサブドメインを全て消したいのですが
正規表現で書くとどうなるんでしょうか
サブドメインを区切る.も消したいんです

www.*\.でしょうか?

733 :片山博文MZコスモ ◆T6xkBnTXz7B0 :2013/12/22(日) 23:06:12.62
^www[^\.]*\.

734 :デフォルトの名無しさん:2013/12/22(日) 23:19:29.63
プログラムやってみたいかブラインドタッチができぬ

735 :片山博文MZコスモ ◆T6xkBnTXz7B0 :2013/12/22(日) 23:22:20.57
>>734
タイピングソフトでブラインドタッチを練習してみれば?

736 :デフォルトの名無しさん:2013/12/22(日) 23:39:26.29
見ながらタイプしてる人は大勢いる
ただ後々でもブラインドに移行した方が疲労度が少なくてすむ

737 :デフォルトの名無しさん:2013/12/22(日) 23:51:45.92
>>734
タッチタイプできなくても、同じ文字を入力すれば、プログラムは同じように動くよ。
あとは必要なら自然にできるようになってくる。

738 :デフォルトの名無しさん:2013/12/22(日) 23:52:36.72
俺が小学生でやり始めたときは
英語もわからずキーボードも打てない状態だった
まあやる気と根気と、後ほんの少し発想の転換ができればよい

739 :デフォルトの名無しさん:2013/12/22(日) 23:54:05.19
XDAの開発者に憧れているのですが、自分でAndroidのroot権を取る穴を見つける・ROMを移植出来るようになるには先ず何から勉強したらよいですか?

740 :デフォルトの名無しさん:2013/12/22(日) 23:55:14.03
ブラインドタッチが必要だと思うなら身に着ければよい

741 :デフォルトの名無しさん:2013/12/22(日) 23:56:43.23
既存のやり方をまず習得する
実際に行っている人が持っているスキルを習得する
そのコミュニティで活躍して人脈を増やす

742 :デフォルトの名無しさん:2013/12/23(月) 00:06:00.12
>>739
Linuxあたりがいいんじゃね。情報多いし。

743 :デフォルトの名無しさん:2013/12/23(月) 00:28:43.85
>>733
ありがとうございました

ただ、それだとwwwはマッチしないようですが・・・
後出しですいません
wwwにもマッチするようにしたいんですけど[^\.]の部分を.*にしたらダメでした・・・

744 :デフォルトの名無しさん:2013/12/23(月) 00:30:44.06
>>741
彼らが何をやっているのかも分かりません。自分の中でも「何をしているか」が分かれば自習の第一歩だと思います。

>>742
やはりLinuxですかね?Ubuntu環境は有ります。64bitでver.12です。Linuxコマンドを覚えていけばAndroidの中身も読めるようになるのでしょうか。

745 :デフォルトの名無しさん:2013/12/23(月) 00:57:33.50
>>744
穴を見つけてroot取るってのは要するにセキュリティホールの発見とそれを利用した攻撃そのもの。
取っ掛かりとしてはセキュリティニュースをチェックして、
エクスプロイト(攻撃実証コード)の解説を納得できるまで読み返す。
読む過程で出てきた知らない単語を中心に知識を広げる。
実践できそう攻撃なら自分で作った環境相手に攻撃も行う。
で、ある程度知識を付けたら既存のroot奪取のエクスプロイトが何をしているかを分析・実践する。
そのうちに未知のシステム相手にセキュリティホールの当たりをつけて攻撃・乗っ取りを行えるカンが(多分)養える。

こうしてハッカーならぬクラッカーが誕生しましたとさ。おしまい。

746 :デフォルトの名無しさん:2013/12/23(月) 01:02:06.98
ここまでのやり取りですでにムリそうな雰囲気しか感じないがw

747 :デフォルトの名無しさん:2013/12/23(月) 01:26:46.68
>>744
カーネルまわりとか、そっちじゃね。

748 :デフォルトの名無しさん:2013/12/23(月) 02:16:37.22
通貨レートの情報を取得したいのですが、以下の条件に合うデータを公開している場所をどなたかご存知でないでしょうか?
A国とB国間のレート、というような1:1の情報なら沢山見つかるのですが、
A国に対する世界各国のレート一覧というような多国間のデータ一覧が見つからず。。

・日本と各国間の、アメリカと各国間の、この2国からみたレートの一覧を欲しいです
(最悪、米ドルと各国間の一覧さえ取得できれば…)
・できるだけ多い種類の通貨レート情報を欲しいです。
・無料で取得できること
・リアルタイムの情報で無くても大丈夫です
(昨日時点のデータあたりを取得できれば)
・XMLなど、処理しやすい形式だと助かります

ご存知の方いらっしゃいましたら、宜しくお願い致しますm(_ _)m

749 :デフォルトの名無しさん:2013/12/23(月) 02:19:09.85
>>748
yahoo!

750 :デフォルトの名無しさん:2013/12/23(月) 02:23:12.63
百度!

751 :デフォルトの名無しさん:2013/12/23(月) 07:51:18.27
currency USD でぐぐれ

752 :デフォルトの名無しさん:2013/12/23(月) 09:43:23.43
>>745
詳細なアドバイスありがとうございます。先ずはZerg Rushか最近公開の標準ブラウザの脆弱性調べます。
>>747
これはLinuxのカーネルについて調べてみようと思います。Androidより初心者向け情報が多そうだから。

753 :デフォルトの名無しさん:2013/12/23(月) 10:57:46.12
条件に合いそうな通貨レートデータ取得できそうです。
ありがとうございましたm(_ _)m

754 :デフォルトの名無しさん:2013/12/23(月) 14:26:00.47
数直線同士の重なりの度合を計算する関数を書きましたが、
単純な問題なのに何か複雑になりました
もっと単純にすることは可能でしょうか?
(s1<=d1, s2<=d2)
function lap(s1,d1,s2,d2){
if (s1 > d2 || d1 < s2){
lap = 0;
} else if (s1 <= s2 && d2 <= d1){
lap = d2 - s2 + 1;
} else if (s2 <= s1 && d1 <= d2){
lap = d1 - s1 + 1;
} else if (s1 <= s2){
lap = d1 - s2 + 1;
} else {
lap = d2 - s1 + 1;
}
return lap;
}

755 :デフォルトの名無しさん:2013/12/23(月) 14:56:06.31
>>689-694
あらかじめ点を、x座標とy座標で、ソートしておけば速い

プログラミング・コンテスト・チャレンジブック、第2版に、
平面の分割統治法の例として、
最近点対という古典的な問題が載っている
(UVa online Judge 10245)

1万個以下の点があるとき、
それらの中で、最も近い2点の距離を求める

まず点をx座標によって、左右2つのグループに分ける
1 2点が左左、または右右にある場合は、
再帰的に最小距離dを求める
2 2点が左右にある場合は、
左右に分けた直線から、距離d以内の点のみを調べる

計算量O(n log n)、nは点の数

TopCoder
ttp://toro.2ch.net/test/read.cgi/tech/1333159918/l50

756 :デフォルトの名無しさん:2013/12/23(月) 15:06:09.00
>>754
s1 とか d1 とかの説明が無い
説明する気が無いんだろ

お前の見当外れのコードから読み取れってか

757 :デフォルトの名無しさん:2013/12/23(月) 15:12:21.73
>>754
どこが複雑?

758 :デフォルトの名無しさん:2013/12/23(月) 15:20:47.91
sはstart
dはdestinationです

759 :デフォルトの名無しさん:2013/12/23(月) 15:22:17.72
>>754
if(s1>d2 || d1<s2){
lap=0;
} else {
if(s1>s2){
swap(s1, s2);
swap(d1, d2);
}
lap=d1-s2+1;
}

760 :デフォルトの名無しさん:2013/12/23(月) 15:26:33.69
>>759 は無しで
lap=max(max(s1, s2)-min(d1, d2)+1, 0);

761 :デフォルトの名無しさん:2013/12/23(月) 15:28:50.31
>>754
>>758>>759 も間違いだコノヤロー
ってことで
lap=max(min(d1, d2)-max(s1, s2)+1, 0);

762 :デフォルトの名無しさん:2013/12/23(月) 15:29:21.21
安価も間違えた
もうダメぽ

763 :デフォルトの名無しさん:2013/12/23(月) 16:02:05.66
なんと
ここまで短くなるんですか
原理がまだ分かりませんが考えてみます
ありがとうございました

764 :デフォルトの名無しさん:2013/12/23(月) 16:22:29.20
原理も分かりました
分かればすごくシンプルですね
ありがとうございました

765 :デフォルトの名無しさん:2013/12/23(月) 20:38:50.15
自画自賛 乙

766 :デフォルトの名無しさん:2013/12/23(月) 21:20:58.05
プログラムってどうやって実行するんですか
学校でC言語を習ったはいいんですが学校のPCにはあらかじめコンパイラというものがインストール?されていたので
良かったのですが
自宅でどのようにすればプログラムを実行できますか
今ちょっとVISUALSTUDIOとかを調べてみただけでも本名とかいろいろ登録しないとだめみたいなんですが
登録せずにできる方法はないですか?

767 :デフォルトの名無しさん:2013/12/23(月) 21:21:58.96
偽名でいいよ

768 :デフォルトの名無しさん:2013/12/23(月) 21:22:45.30
>>767
私文書偽造罪

769 :デフォルトの名無しさん:2013/12/23(月) 21:23:00.10
ありません

770 :デフォルトの名無しさん:2013/12/23(月) 21:27:44.22
>>766
gccとか自由なもの使えよ。

771 :デフォルトの名無しさん:2013/12/23(月) 21:27:55.27
昔は登録なしで使えるコンパイラがほとんどだった

772 :デフォルトの名無しさん:2013/12/23(月) 21:38:04.79
>>771
windowsでのこと?
じゃあ今はどうなったの?

773 :デフォルトの名無しさん:2013/12/23(月) 21:39:06.32
gcc, clang, open watcom

774 :デフォルトの名無しさん:2013/12/23(月) 21:39:20.62
昔人気のあったボーランド(エンバカデロ)の bcc32 見てきたら登録が必要になってた
bcc32 を落とそうなんてユーザの個人情報集めて何がしたいんだか

775 :デフォルトの名無しさん:2013/12/23(月) 21:41:23.05
digitalmars, 他になんかあったっけ?

776 :デフォルトの名無しさん:2013/12/23(月) 21:43:31.22
Windows SDK が前は登録不要でコンパイラとヘッダが入ってた気がする(今は知らない)

777 :デフォルトの名無しさん:2013/12/23(月) 21:50:53.27
open64なんてのもあるんですけど日本語の資料は少ないですね
intelに負けじとamdが本気出してコンパイラに投資してるみたいです
もうwindows os(とsmbすらも)使ってないのでwindowsのことは詳しくは知りませんが

778 :デフォルトの名無しさん:2013/12/23(月) 22:20:57.50
VisualStudioのExpress版の登録なんてあってないようなものだろ
嫌なら適当に偽名書いとけ
もしくはFCC

779 :デフォルトの名無しさん:2013/12/23(月) 22:22:03.01
>>778
訂正:FCC->gcc

780 :デフォルトの名無しさん:2013/12/23(月) 23:11:34.79
Javaの開発環境をつくる所でJavaを諦めた人何人居ますか?難しすぎる

781 :デフォルトの名無しさん:2013/12/23(月) 23:27:02.91
んなことはない

782 :デフォルトの名無しさん:2013/12/23(月) 23:28:40.59
馬鹿には無理

783 :デフォルトの名無しさん:2013/12/23(月) 23:32:30.27
>>780
javaは汎用的なものだからな。しかもC言語ユーザが移行しやすいようにしている。
そういうのが嫌なヤツは特定環境用途向けのスクリプト言語使って、後で苦労しろ。
あとwindowsとか使ってるんじゃないか。Linuxとか開発者向けのOSなら含まれてるから簡単だぞ。

784 :デフォルトの名無しさん:2013/12/23(月) 23:34:42.30
eclipse入れるだけじゃ

785 :デフォルトの名無しさん:2013/12/23(月) 23:36:49.68
eclipseとかNetBeansって、別にJDKをインストールしなきゃならないんだっけ

786 :デフォルトの名無しさん:2013/12/23(月) 23:51:51.25
いらないよ

787 :デフォルトの名無しさん:2013/12/23(月) 23:51:52.86
>>783
もともと特定環境用途向けなんだかから、後になって何を苦労するっていうの?
というか根本的なところで日本語がおかしいようだけど何が言いたいんだろうこの人

788 :デフォルトの名無しさん:2013/12/23(月) 23:56:16.55
うるさいゴミ

789 :デフォルトの名無しさん:2013/12/23(月) 23:57:02.83
246 :デフォルトの名無しさん [↓] :2013/12/15(日) 15:32:34.54
初心者が初心者に馬鹿を感染させているだけだろ相手にするな

790 :デフォルトの名無しさん:2013/12/24(火) 00:54:32.17
>>787
一般的に動的型付け言語の方がデバッグが大変。特定環境向けと言っても環境が変わる可能性はある。

791 :デフォルトの名無しさん:2013/12/24(火) 00:59:58.68
馬鹿には無理

792 :デフォルトの名無しさん:2013/12/24(火) 01:26:52.51
開発環境構築の話してるのにデバッグとか言い出しちゃうのん

793 :デフォルトの名無しさん:2013/12/24(火) 01:31:25.25

釣り?

794 :デフォルトの名無しさん:2013/12/24(火) 01:33:21.42
馬鹿

795 :デフォルトの名無しさん:2013/12/24(火) 01:34:41.71
には

796 :デフォルトの名無しさん:2013/12/24(火) 01:41:19.02
C#で数値の入った変数nが0だったらxを-1に、nが1だったらxも1にする簡単な計算を教えてください

自分が書くとifを使った下記のようになってかっこわるいです、1、2行くらいでスパーンと決めることができたら嬉しいです

int n;//詳細はぶくけど値は0か1のどちらかが入っている
if(n==0){
x=-1;
}else{
x=1;
}

797 :デフォルトの名無しさん:2013/12/24(火) 01:44:46.63
三項演算子は使わないでください

798 :デフォルトの名無しさん:2013/12/24(火) 01:45:49.57
x = n==0 ? -1 : 1;

799 :デフォルトの名無しさん:2013/12/24(火) 01:52:28.89
>>798
できた、意味わかんないけど、3項演算子って言うんですね、すげえ、意味わかんないけど。
ありがとうございます

800 :デフォルトの名無しさん:2013/12/24(火) 02:01:43.96
>>792
後でって言ってるだろうが。
イニシャルコストだけで他のこと何も考えなくていいならhttp://ideone.com使ってろ。

801 :デフォルトの名無しさん:2013/12/24(火) 02:03:19.81
Q

802 :デフォルトの名無しさん:2013/12/24(火) 02:07:21.89
E

803 :デフォルトの名無しさん:2013/12/24(火) 02:08:15.88
D

804 :デフォルトの名無しさん:2013/12/24(火) 02:11:57.11
バカにはムリw

805 :デフォルトの名無しさん:2013/12/24(火) 02:13:27.59
>>796
x=n*2-1;

806 :デフォルトの名無しさん:2013/12/24(火) 02:27:52.30
if(n==0){
x=-1;
}else if(==1){
x=1;
}

807 :デフォルトの名無しさん:2013/12/24(火) 02:28:08.05
>>805
かっこよくはないけど、これの方が計算コストずっと低そう、こっち使おうかな
ありがとうございます

808 :デフォルトの名無しさん:2013/12/24(火) 02:28:23.12
if(n==0){
x=-1;
}else if(n==1){
x=1;
}

809 :デフォルトの名無しさん:2013/12/24(火) 02:34:24.19
int[] array = {-1, 1};

x = array[n];

810 :デフォルトの名無しさん:2013/12/24(火) 02:34:30.87
if(n==0){
x=-1;
}else if(n==1){
x=1;
}

811 :デフォルトの名無しさん:2013/12/24(火) 02:35:31.53
>>800
>>780は環境つくるとしか言ってないのに勝手に設定足しちゃうのん

812 :デフォルトの名無しさん:2013/12/24(火) 03:24:04.90
>>811
環境構築だけしかしないならどうぞ。
それは逆の意味で何人居ますかって話だけどな。
言葉の通りにしか捉えず、会話で伝えたいことを考えないからコミュ障って言われるんだよ。

813 :デフォルトの名無しさん:2013/12/24(火) 03:26:54.05
日本語でおか

814 :デフォルトの名無しさん:2013/12/24(火) 03:51:40.55
780 名前:デフォルトの名無しさん [sage]: 2013/12/23(月) 23:11:34.79
Javaの開発環境をつくる所でJavaを諦めた人何人居ますか?難しすぎる


この人はJavaの開発環境をつくる所でJavaを諦めた人が何人いるかを知りたいわけだが

815 :デフォルトの名無しさん:2013/12/24(火) 03:57:22.14
そこでデバッグの話に飛んで行っちゃう馬鹿

816 :デフォルトの名無しさん:2013/12/24(火) 04:08:38.30
あえてtcc
tcc -runが超便利

817 :デフォルトの名無しさん:2013/12/24(火) 06:00:04.32
>>809
よく思いついたね

818 :デフォルトの名無しさん:2013/12/24(火) 06:24:45.24
自演乙

819 :デフォルトの名無しさん:2013/12/24(火) 07:02:00.83
>>814
じゃあ何人か答えてやれよw

820 :デフォルトの名無しさん:2013/12/24(火) 07:44:31.98
>>780 名前:デフォルトの名無しさん [sage]: 2013/12/23(月) 23:11:34.79
>>Javaの開発環境をつくる所でJavaを諦めた人何人居ますか?難しすぎる

多分キミが記念すべき初めての一人目だと思う ご愁傷様
普通の人は本を見ればサルでない限り出来ないはずはないから

821 :デフォルトの名無しさん:2013/12/24(火) 11:51:45.23
気持ちは分かる
Windowsで開発環境作るのなんか面倒

822 :デフォルトの名無しさん:2013/12/24(火) 15:15:46.42
そこでつまずく奴がこの板で生きてゆくことは出来ぬさだめ
ゆえに問うこと自体が無意味

823 :デフォルトの名無しさん:2013/12/24(火) 15:43:01.33
とりあえず動けば何でもいいってやつが多いのもプログラマ

824 :デフォルトの名無しさん:2013/12/24(火) 15:47:07.84
よくわかんね
javaの開発したいなら、JDKインストールして
環境変数でpath作ってjavacの場所を書けば良いだけだろ?

825 :デフォルトの名無しさん:2013/12/24(火) 15:56:49.88
ecのオールインワンで一発

826 :デフォルトの名無しさん:2013/12/24(火) 16:01:40.32
インフラじゃなくてプログラミングがやりたいんだよ
OS、言語、データベースのインストールでどれだけ手順かけさすんだよ

827 :デフォルトの名無しさん:2013/12/24(火) 16:42:49.05
インフラを理解してない奴は、トラブった時に切り分けすらできなそう。
で、2chに丸投げ。叩かれる。

828 :デフォルトの名無しさん:2013/12/24(火) 16:56:33.05
誰もお前の体験談なんかきいてない
黙ってろ

829 :デフォルトの名無しさん:2013/12/24(火) 18:17:14.86
>>826
そういうのに手間かけたくないなら、業者に委託すれば良い

830 :デフォルトの名無しさん:2013/12/24(火) 20:04:26.04
>>826
バカにはムリ
これ以外にキミに似合う言葉はないな

831 :デフォルトの名無しさん:2013/12/24(火) 21:22:16.96
手順はいいとして、時間は掛かるよな。たしかに。
でも特に目的もなくプログラミングってんなら、スクリプトでも組んでる方がいいかもしれない。

832 :デフォルトの名無しさん:2013/12/24(火) 23:29:47.58
入れ子の入れ子の入れ子構造が出来ているとき、
各ブロックがどこに属するかを色分けしてくれるようなエディタってあります?
+で展開するだけじゃなく、視覚的に把握できるといいんですが

833 :デフォルトの名無しさん:2013/12/25(水) 02:36:54.99
ttp://maedablock.jp/
のビジュアルプログラミング言語を弄ってみたく、
とりあえずソースをダウンロードしXAMPPを用いてlocalhostで動作するようにしてみました。

初歩的な質問で申し訳ないのですが、予めソースコードを読み込ませ、
起動した時点でブロックを一定数配置するには
どのファイルを弄れば良いか教えていただきたいです。
よろしくお願いいたします。

834 :デフォルトの名無しさん:2013/12/25(水) 02:48:14.01
ダウンロードしたものをupするのを忘れておりました。

ttp://www1.axfc.net/u/3124877
キーワードはenchantです。

835 :デフォルトの名無しさん:2013/12/25(水) 03:57:53.69
とりあえず、C言語能力検定1級とったんですが、
C言語でどうやってOSが作られてるのかわかりません。

そういうのが勉強できる本とかありますでしょうか?
質問が高度すぎるか。

836 :デフォルトの名無しさん:2013/12/25(水) 04:01:39.87
>>835
「30日でできる!OS自作入門」

837 :デフォルトの名無しさん:2013/12/25(水) 10:16:50.20
条件により不等演算子だけがひっくり返る時にスマートに書くにはどうしたらいいですか?
if (a){
x = b > c ? d : e;
} else {
x = b < c ? d : e;
}
ほとんど同じ式を二度書くのが気になります

838 :デフォルトの名無しさん:2013/12/25(水) 10:22:04.93
関数にすればいい

839 :デフォルトの名無しさん:2013/12/25(水) 10:22:55.28
>>837
論理が逆('>'と'<='など)なら兎も角、その条件だと難しいね。
変に工夫すると可読性が悪くなるし、そのままでいいんでね?

840 :デフォルトの名無しさん:2013/12/25(水) 10:24:28.68
>>837
ごく一部だけスマートでもしょうがないだろ
と思ってその程度ならそのままにする

841 :デフォルトの名無しさん:2013/12/25(水) 10:25:34.32
>>837
x = a xor (b > c) ? d : e;

842 :デフォルトの名無しさん:2013/12/25(水) 10:29:07.26
真理値表を書いて最適化すれば>>841のように1行で書けるが、コードの意味は一切伝わらなくなる。

843 :デフォルトの名無しさん:2013/12/25(水) 10:30:01.37
x = a xor (b > c) ? e : d; だった

844 :デフォルトの名無しさん:2013/12/25(水) 10:30:26.26
b==cの場合は

845 :デフォルトの名無しさん:2013/12/25(水) 10:30:53.41
しかも間違ってるし。

846 :デフォルトの名無しさん:2013/12/25(水) 10:32:55.74
>>842
そういう時こそコメントを使えばいいだろ

847 :デフォルトの名無しさん:2013/12/25(水) 10:40:16.95
>>837
正しいアルゴリズム(手順)にはそれを表現する「神のコード」が存在する
>>837を表現する「神のコード」は存在しないので、アルゴリズム(手順)が間違っている

848 :デフォルトの名無しさん:2013/12/25(水) 10:56:00.19
わざわざ可読性がないコードを書いてどーするんだ(笑)

849 :デフォルトの名無しさん:2013/12/25(水) 11:00:03.69
自演乙

850 :デフォルトの名無しさん:2013/12/25(水) 11:11:17.19
>>835-836
おすすめムック本は、技術評論社の
Linuxエンジニア養成読本、2013(2011初版)

ソースコードは載ってないけど、OSの役割が一通りわかる

851 :デフォルトの名無しさん:2013/12/25(水) 11:19:55.10
>>848
一生懸命知恵があるように見せようとしても、
バイトコードに変わるとなんら変わりがない状態になってる事を知らないのだろうな
こんなコードを書くような部下がいたら即クビにするけどなぁ
あと、短いコード(ソース)だと処理が速いと思ってるノータリバンも即クビ

852 :デフォルトの名無しさん:2013/12/25(水) 11:26:53.02
>>851
同じコードが分散するのがいやだから、まとまらないかって話題だろ。
なんでスピードがどうこうとかコンパイルしたら同じとかって話になるんだ。

853 :デフォルトの名無しさん:2013/12/25(水) 11:31:36.34
バグの温床プログラマって事に気がつけ

854 :デフォルトの名無しさん:2013/12/25(水) 11:34:00.77
こうだろ
x = hoge(a) ? d : e;

func hoge(a)
{
if (a) return b > c;
if (!a) return b < c;

855 :デフォルトの名無しさん:2013/12/25(水) 11:34:14.25
検討してみるのと採用するのは別の話

856 :デフォルトの名無しさん:2013/12/25(水) 11:36:26.23
「それ、かえって読みにくくなっただろw」ってツッコミはもっともだと思うけど
「コンパイルしたら同じだが? スピードは速くならないんだが? こんなコード書く部下はクビだが?」とか
読解力のなさがすごすぎる。
ほんとうに部下のいる社会人なのか。

857 :デフォルトの名無しさん:2013/12/25(水) 11:38:06.31
「部下がいたら」と書いているだけだから、
部下がいるとは限らない。あくまで仮定の話

858 :デフォルトの名無しさん:2013/12/25(水) 11:40:46.36
俺様の要求に見合うスキルの高い部下をよこせ
自分で育てる気はいっさいない
とオーダーして配属待ちしてるところだよ

859 :デフォルトの名無しさん:2013/12/25(水) 11:47:23.20
いちいち業務を匂わせるところがニートらしい

860 :デフォルトの名無しさん:2013/12/25(水) 11:53:21.97
>>851
アホウ
同じコードを複数記述することは変更に対して弱いんだよ

コピペで行数水増しする末端には関係ないけどね

861 :デフォルトの名無しさん:2013/12/25(水) 11:56:21.79
コピペだなんて
手動インライン展開という高度な技なんだよ

862 :デフォルトの名無しさん:2013/12/25(水) 12:13:38.81
>>861
もっと lazy になれよ

863 :デフォルトの名無しさん:2013/12/25(水) 13:05:29.31
手動淫乱で手コキだなんて?(誤解)

864 :デフォルトの名無しさん:2013/12/25(水) 15:02:31.03
C言語で動的配列のさいずはsizeofで調べられないという記事をちらほらみかけますが
肝心の対応コードがありません
おしえてください

865 :デフォルトの名無しさん:2013/12/25(水) 15:06:01.32
動的配列を作るときに指定したから分かるだろ

866 :デフォルトの名無しさん:2013/12/25(水) 15:07:48.28
動的配列って?
c99の可変長配列?
mallocで確保した領域?

867 :864:2013/12/25(水) 15:08:47.99
そんなの知りませんよ初心者ですから

868 :デフォルトの名無しさん:2013/12/25(水) 15:09:15.41
>>864
malloc()で確保したメモリや、引数で渡された配列のことを言ってるなら、自分で
サイズを記憶しておくしかない。
C99の動的配列ならsizeofでサイズがわかる。

869 :デフォルトの名無しさん:2013/12/25(水) 15:09:51.07
ライブラリとかAPIから得た配列ならサイズ取得する関数も大抵ついてる
自分で作った配列なら自分でサイズを持ちまわる

870 :864:2013/12/25(水) 15:13:40.01
わかりました

871 :デフォルトの名無しさん:2013/12/25(水) 16:09:24.92
C99流行らないね

872 :デフォルトの名無しさん:2013/12/25(水) 17:09:18.64
どうせ移植性がなくなるなら C++ へいくから

873 :デフォルトの名無しさん:2013/12/25(水) 23:55:53.84
普通に流行ってるが

874 :デフォルトの名無しさん:2013/12/26(木) 00:04:36.88
入門書を読んだだけの素人なのですが、質問があります。

入門書では標準ライブラリ関数はstdio.hしかでてこなかったのですが、

time.h


int main(void);
{
time_t timer ;

timer = time(&timer);

printf("%s", ctime(&timer));

とでてきました。関数の知識から考えて time()で時刻を調べて、ctime()で出力する。というところまでは理解できるのですが、

time_t timer ; と &timerの役割が理解できません。
int printf; とやった覚えはないですし、 この&timer のtimerは変数名ということでいいのでしょうか?
&はこの場合はどういう意味をもってるのでしょうか?

初歩的で申し訳ないですが、標準ライブラリ関数の部分に入ってきて、説明もなくこれがいきなりでてきてるので面食らってます。

875 :デフォルトの名無しさん:2013/12/26(木) 00:06:45.78
time_tが変数の型

&については「C言語 ポインタ アドレス」でググれ

876 :デフォルトの名無しさん:2013/12/26(木) 00:19:17.47
質問です!携帯電話でコンピューター等を遠隔操作することは可能ですか?

それがもし可能なら、コンピューター搭載の電車を動かす事ができるでしょうか?

877 :デフォルトの名無しさん:2013/12/26(木) 00:21:02.19
電車に搭載されているコンピューターが遠隔操作を受け付けるなら可能。

878 :デフォルトの名無しさん:2013/12/26(木) 00:24:25.41
コンピュータを動かすんじゃなくて
コンピュータがなんらかのセンサーで感知するなどして動くのが普通
当然、装置・ソフト両面でそういう仕組みをあらかじめ用意しているという前提

879 :デフォルトの名無しさん:2013/12/26(木) 00:29:57.97
人類に不可能はありません

880 :デフォルトの名無しさん:2013/12/26(木) 00:38:28.97
>>874
time_t timer ;
で、time_t型の変数timerを宣言。

&は変数のアドレスを取得。
time(&timer)はtime関数に変数timerのアドレスを渡している。

C言語の関数は値渡ししかできないから、戻り値以外で関数から変数に値を戻したい時は、引数に変数のアドレスを渡して、そのアドレスに関数内で値を書き込む。

881 :デフォルトの名無しさん:2013/12/26(木) 00:41:56.04
time関数の引数って無用の長物だと思うけど、なんであるの?

882 :デフォルトの名無しさん:2013/12/26(木) 00:44:17.96
もともと引数のみだったが後で戻り値を返すようにしたから

883 :876:2013/12/26(木) 00:48:00.03
迅速な回答に感謝いたします!

877さん、確かに映画ではこっちから電源を云々と言っていたので遠隔操作を受け付けているようです

878さんなるほど、センサーですか、申し訳ございません機械には疎いもので
もしよろしければ原理をわかりやすくご教授していただくと幸いです

879さん、そのようですね…

884 :デフォルトの名無しさん:2013/12/26(木) 00:51:34.04
>>882
わろた

885 :デフォルトの名無しさん:2013/12/26(木) 00:53:22.63
>>876
ちゃんと遠隔操作の定義をしないと、
運転手に電話かけて指示を与えるのもアリになっちゃうよ。

886 :デフォルトの名無しさん:2013/12/26(木) 01:08:45.39
`

この記号はなんと言うのですか?

`hoge`

みたいに書くやつです

887 :886:2013/12/26(木) 01:16:15.40
自己解決しました

888 :デフォルトの名無しさん:2013/12/26(木) 02:28:43.53
>>880
C言語の関数は値渡ししかできないから、戻り値以外で関数から変数に値を戻したい時は、引数に変数のアドレスを渡して、そのアドレスに関数内で値を書き込む。


もう少し詳しく。結城浩さんばりに書いていただけないでしょうか?

889 :デフォルトの名無しさん:2013/12/26(木) 02:39:04.91
>>888
20万ドルをスイス銀行に振り込んでからだ

890 :デフォルトの名無しさん:2013/12/26(木) 02:53:11.23
>>888
おれにも金くれ

891 :デフォルトの名無しさん:2013/12/26(木) 08:34:40.56
手動で若干不揃いに置かれている矩形を、キレイに整列するにはどういうアルゴリズムでやればいいでしょう
整列は、上端と左端を揃え、間隔を同一に揃える、というものです

892 :デフォルトの名無しさん:2013/12/26(木) 10:41:53.88
>>891
汎用にやるなら、グリッドを決めておいて各頂点ないし中央の座標をグリッドサイズで除算して四捨五入なり切捨てなりしてグリッドサイズで乗算

つか整列する前の段階の配列状態をどの程度維持するのかが微妙なんだよな…

矩形の大きさや角度は同じなのか、大きさが違うとしたら揃えるのか、揃えるとしてn倍の矩形などは許容するのか、
ばらついている状態から整列に使う上端や左端を求めるのかそれらの位置は固定なのか、
配置に使う間隔や横の個数などは入力状態から求めるのか固定された見本があるのかetc…

893 :デフォルトの名無しさん:2013/12/26(木) 10:44:50.04
なるほど・・
ヒントが掴めた気がします
ありがとうございました

894 :デフォルトの名無しさん:2013/12/26(木) 10:48:28.58
アルゴリズムじゃなくてユーザーインターフェースの問題のような

矩形を複数選択できるようにして
等間隔・端をそろえるというコマンドを選んでもらう

ついでに、期待通りの結果でなかったらアンドゥできる機能も

つまりGUIデザイナみたいな機能と想像

895 :876:2013/12/26(木) 11:15:59.95
885さん!遅くなりました無人の電車のようです
犯人が乗った車に搭載されたコンピューターが何故か電車に設置された携帯電話を通して
電車のレバーをコントロールするのを私は見ました!

896 :デフォルトの名無しさん:2013/12/26(木) 11:20:26.46
>>895
交渉人 真下正義か?

携帯電話で操作するのは可能だよ。ただし携帯にも電車側の操作システムにも改造が必要だけど

897 :876:2013/12/26(木) 11:56:02.79
896さん、流石です仰る通りであります!
改造ですか・・・コンピューターのコードに携帯電話を接続した?
自分でも何言ってるいるやら・・・どのようなカラクリなのでしょうか?

898 :デフォルトの名無しさん:2013/12/26(木) 12:00:46.36
つーか今でもあるじゃん
スマホからパソコン遠隔操作するアプリ

899 :デフォルトの名無しさん:2013/12/26(木) 12:14:51.46
2chへの書き込み自体遠隔操作。

900 :876:2013/12/26(木) 12:28:17.06
すみません、あまりに馬鹿げた事を言う奴だと思われますでしょうが
原理がよく解らないのです。分かりやすく(サル並な私にも)教えてくださいませんでしょうか?

901 :デフォルトの名無しさん:2013/12/26(木) 12:38:18.60
ネット回線繋がってて、且つ操作される側、する側両方自由にいじっていいならなんでも操作出来る
メールの本文が「A」だったら「アクセルを踏む」という動作が実行される
「B」だったら「ブレーキを踏む」
「C」だったら「右にハンドルを切る」

のように操作される側に登録しておいて、

遠隔操作する時は携帯電話から操作される側にメールを送る

これは簡単な例だけど、2chだって「名前」「メールアドレス」「本文」を送ったらサーバー側で予め登録されてた動作が実行されて「書き込み」されてるわけだ

902 :デフォルトの名無しさん:2013/12/26(木) 12:40:25.67
VC++
mingw
clang
ってありますよね
なんかよくわかりませんがWindowsだからVC++入れてるんですがこれなんか最新の仕様じゃないとか何とかの記事をみました
そこでmingwかclangから勉強しようと思うんですが
Windowsでこれら二つを利用する場合に使われるIDEってなんですか?
GUIがつくりたいんです

903 :デフォルトの名無しさん:2013/12/26(木) 12:44:01.54
じゃあC#使えよ

904 :デフォルトの名無しさん:2013/12/26(木) 12:44:19.21
>>902
その選択肢でGUIアプリ作るならVC++しかないな。他はGUIアプリ作成に向いてない。
ていうかVC++ってもうメンテされてないの?

905 :デフォルトの名無しさん:2013/12/26(木) 12:46:13.79
>>900
そもそも列車を携帯で操作するデファクト的な原理はまだ確立されてないだろ。
だから自分で考えて作るしかない。

906 :デフォルトの名無しさん:2013/12/26(木) 12:47:46.92
C#は一応勉強してるんですがやっぱりC/C++のほうがやれる範囲が多そうなのと速度も早そうなので覚えたいんです
mingwとclangがGUIに向いてないのは以外でした
今使ってるOSがVistaなのでVC++2010しか入れられないんですよ

907 :デフォルトの名無しさん:2013/12/26(木) 12:48:13.97
>>905
すれ違いだボケ

908 :デフォルトの名無しさん:2013/12/26(木) 12:50:26.71
Java系でより簡単な表記で書ける言語ってありませんか?
JavaはFileReaderやってBufferedReaderみたいにいちいち面倒くさいので
スクリプト言語みたいなあの簡潔に書ける言語を教えてください
Javaは本当難しすぎるんです

909 :デフォルトの名無しさん:2013/12/26(木) 12:51:43.11
C#

910 :デフォルトの名無しさん:2013/12/26(木) 12:51:49.60
>>906
Windowsで提供されているAPIの一部(DirectXなど)はMinGWと互換性がない
安定してるが莫大な手間がかかる方法(ラッパーライブラリの作成)か
手間なしだが不安定な方法(ライブラリ変換ツールの使用)か
いずれも一長一短なので「向いてない」という結論になる

911 :デフォルトの名無しさん:2013/12/26(木) 12:53:39.50
>>908
スクリプト言語でファイルの読み込みが簡単なのは組み込み関数になってるから
.NETもJavaもライブラリを使えばスクリプト言語と同じように一行で目的の動作を達成することもできる
ライブラリの使い方がわからないという話ならおとなしくスクリプト言語使っとけ

912 :デフォルトの名無しさん:2013/12/26(木) 12:53:40.85
Qtとかあるだろヴォケ

913 :デフォルトの名無しさん:2013/12/26(木) 12:55:18.41
ライブラリってサードパーティ性のでしょうか?
そういうのじゃなくて標準ライブラリでできる言語はないのでしょうか?

914 :デフォルトの名無しさん:2013/12/26(木) 12:58:36.62
>>913
ファイル入出力が一行で終わるタイプの「非オブジェクト指向な」標準ライブラリを持ってるのはスクリプト言語くらいしかない

915 :デフォルトの名無しさん:2013/12/26(木) 13:01:30.96
ほんとクソだなJava

916 :デフォルトの名無しさん:2013/12/26(木) 13:04:58.31
いっぺんC言語やってからJAVAにいけば楽に感じられたのにw

917 :デフォルトの名無しさん:2013/12/26(木) 13:06:30.54
わかりましたJavaで勉強します
とにかく!Javaを基礎から学ぶのに最良の本を教えてください何冊でも良いです

918 :876:2013/12/26(木) 13:10:27.67
なるほど犯人は車と電車をネット回線で繋げ簡単な動作で制御できるような仕様にした訳ですね
ありがとうございます!助かりました!

919 :876:2013/12/26(木) 13:17:39.23
自分なりに考えてみたのですが(スレ違いで申し訳ございません)
NARUTOのペイン六道の様な物、ただ、送る与える命令をそれぞれ別な周波に
(携帯電話)にしていたと考えてよろしいんでしょうか?

920 :デフォルトの名無しさん:2013/12/26(木) 13:25:08.73
確かに走行中WIFIに繋がらないので犯行は不可能に見える
しかし、この交差点で信号待ちをしてる一瞬、
近くのコンビニのアクセスポイントに接続できるのだ!
…そう、これでアリバイは崩れるんだ

921 :デフォルトの名無しさん:2013/12/26(木) 13:35:24.53
いまからやるならCとC++どちらを先にやると良いですか?
Cで書いたコードはC++コンパイラでコンパイルできるそうなのでどっちか覚えれば両方ともかけるようになるとは思うんですが
先輩方のアドバイスください

922 :デフォルトの名無しさん:2013/12/26(木) 13:41:59.61
>>921
C++の力を利用する気がないならCでいい。

923 :デフォルトの名無しさん:2013/12/26(木) 13:42:36.28
優秀なプログラマを使えるだけの資本を用意できるようになるのが一番いい

924 :デフォルトの名無しさん:2013/12/26(木) 13:53:17.78
>>921
話にならんな。

オブジェクト指向が前提のC++とオブジェクト指向が使えないC言語では、
プログラミングの方法は完全に別物だから。能力的な意味での相互運用性はゼロと思って差し支えない。

925 :デフォルトの名無しさん:2013/12/26(木) 13:54:29.18
>>924
どこでそんな与太話を聞きかじってきたんだい?

926 :デフォルトの名無しさん:2013/12/26(木) 14:00:38.89
>>921
最終的に何をやりたいのかわからん
そもそも最初の一歩から間違ってるおそれが

927 :デフォルトの名無しさん:2013/12/26(木) 14:12:59.13
初心者はpythonでいいだろもう

928 :デフォルトの名無しさん:2013/12/26(木) 15:25:01.26
pythonは気持ち悪いから嫌だ

929 :デフォルトの名無しさん:2013/12/26(木) 15:53:21.07
>>921
デスクトップアプリかスマホアプリか組み込みかによって違う

930 :デフォルトの名無しさん:2013/12/26(木) 16:02:53.57
>>904
C++11とかC++自体の最新ドラフトへの追従状況の話じゃね?
GUIアプリはその辺のでも普通に叩ける。IDEが駄目なだけ。
VCでCLの変わりにclang使う方法は有るらしいから真面目にやるならそっちだが…
そもそもこんな質問してる時点で最新のC++への追従が必要なのかと。

>>908
文法の事を言うならJava系というかC/C++系というべきだろうな。
C#かJScript.NET、スクリプトらしい機能だけでいいならWSHでJScript。
ちょっと言語が違ってもいいならRubyやPerl。

931 :デフォルトの名無しさん:2013/12/26(木) 16:04:24.93
CかC++でマクロ言語が作りたいのです
たとえばAutoHotKeyみたいな感じの

932 :デフォルトの名無しさん:2013/12/26(木) 16:05:21.12
>>930
JVM環境で動かしたいのでJava系じゃないとだめです

933 :デフォルトの名無しさん:2013/12/26(木) 16:09:42.78
一発で答えが返ってきそうな質問をする技術を学校で教えた方がいい

934 :デフォルトの名無しさん:2013/12/26(木) 16:09:49.57
>>921
Cの文法をほんの少しだけ修正した上で、色々文法や機能やライブラリを足したのがC++
Cだけ覚えててもC++で追加された文法を扱えない。
C++だけ覚えててもCで使える文法や制限を知らないと書いた端からエラーになる。

935 :デフォルトの名無しさん:2013/12/26(木) 16:10:37.64
Windowsのタイマーは正確じゃないので例えばメトロノームみたいな時間にシビアな動作は厳しいらしいですよね
でもCubaseはそういう補正がついてます
そこで質問なんですがこういう補正の仕組みはどうなってるんですか?

936 :デフォルトの名無しさん:2013/12/26(木) 16:22:51.97
パフォーマンスカウンタなら正確だよ

937 :デフォルトの名無しさん:2013/12/26(木) 16:31:58.15
それは本当ですか?分解能480ぐらいでも正確ですか?

938 :デフォルトの名無しさん:2013/12/26(木) 16:35:29.86
余裕すぎる

939 :デフォルトの名無しさん:2013/12/26(木) 16:38:30.72
分解能というのが何かわからないが1ミリ秒を正確に測れる

940 :デフォルトの名無しさん:2013/12/26(木) 16:42:44.89
分解能60で1分間に四分音符を60個ぶんの長さって事です
なので分解能60で1秒毎に音が鳴らせます
今の有料シーケンサーソフトは分解能960もあるんですがこのぐらいのでも大丈夫って事ですかね?

941 :デフォルトの名無しさん:2013/12/26(木) 16:42:45.18
毎分480拍

942 :デフォルトの名無しさん:2013/12/26(木) 16:45:03.95
200bpmだと四分音符で0.25 / 480秒だけど

943 :デフォルトの名無しさん:2013/12/26(木) 16:46:05.35
240bpmだった

944 :デフォルトの名無しさん:2013/12/26(木) 16:50:05.88
ということは125ミリ秒ってこと?1ミリ秒が測れるんだから
余裕すぎるw

945 :デフォルトの名無しさん:2013/12/26(木) 16:53:56.29
つまりパフォーマンスカウンタは分解能60000ってことだな。

946 :デフォルトの名無しさん:2013/12/26(木) 17:31:34.94
>>935
普通タイマの補正って言うとクロックの値をn.nn倍して読む/待つって使い方で補正する。
マルチメディアタイマ←1ms〜20ms位の精度。一番よく使われる
オーディオクロック ←1/44100s位の精度。余り使われないけど出力音声はコレ基準。補正したら音が歪む
パフォーマンスカウンタ←MHzの世界にようこそ。意外とよく使われる
>>936-945
精度はそんな感じだけど、長時間回してどのくらいずれるかは全く別の問題じゃね?

947 :デフォルトの名無しさん:2013/12/26(木) 17:41:37.17
長時間って何時間?

948 :デフォルトの名無しさん:2013/12/26(木) 18:39:25.37
大は小をかねるみたいな単純な話じゃなかんべ
オーディオならオーディオの機能を使うのが一番

949 :デフォルトの名無しさん:2013/12/26(木) 19:06:27.55
パフォーマンスカウンタっていうのを使えばよさそうですね
C#とJavaじゃできそうにないのでCの知識がいるかなあ・・・

950 :デフォルトの名無しさん:2013/12/26(木) 19:39:18.25
パフォーマンスカウンタから値を取得する
http://dobon.net/vb/dotnet/system/readperformancecounter.html

951 :デフォルトの名無しさん:2013/12/26(木) 19:58:11.48
>>935は時間を計りたいのではなくSleepをしたいんじゃないかね
普通のWindowsはスリープ時間の精度が10msになることと
timeBeginPeriodで1msに出来る事を知りたいのだろう

952 :デフォルトの名無しさん:2013/12/26(木) 20:51:46.28
10msスリープして1ms精度のパフォーマンスカウンタで調整すればいいんだよ

953 :デフォルトの名無しさん:2013/12/26(木) 21:38:52.26
パフォーマンスカウンタってC#じゃないとダメなの?
JavaとかPHPは無理?

954 :デフォルトの名無しさん:2013/12/26(木) 21:42:36.01
>>953
windowsの機能だから

955 :デフォルトの名無しさん:2013/12/26(木) 21:48:22.64
なるほどMacとかじゃ使えないわけか

956 :デフォルトの名無しさん:2013/12/26(木) 21:56:14.19
>>955
IntelのCPUでRDTSCっていう命令を呼べば(ユーザーモードでもOK)、即座に得られる値。
ネイティブコードが使えさえして、CPUがIntel系なら大概いけそうな機能だよ。

957 :デフォルトの名無しさん:2013/12/26(木) 22:03:12.06
なるほど、勉強になった

958 :デフォルトの名無しさん:2013/12/26(木) 22:10:40.23
>>906
windowsでguiかくなら実質VC一択
Unix/linuxならgccでもclangでも。
そのときはIDEよりテキストエディタつかう

959 :デフォルトの名無しさん:2013/12/26(木) 22:14:48.21
今となってはVC++&MFCでも面倒だな。
しかもMFCは無料のバージョンにはついてないし。
C++でWindowsのGUIをやりたいなら、高いけどC++Builderがいいと思う。

960 :デフォルトの名無しさん:2013/12/26(木) 22:28:06.52
C++Builderも無料じゃないじゃん

961 :デフォルトの名無しさん:2013/12/26(木) 22:40:36.80
>>960
だいぶ安いし同じ金出すなら簡単のを買えばいいでしょ

962 :デフォルトの名無しさん:2013/12/26(木) 22:44:39.74
GUIはQtがいいよ

963 :デフォルトの名無しさん:2013/12/26(木) 22:51:11.50
Qtはもっさり

964 :デフォルトの名無しさん:2013/12/26(木) 22:58:16.80
C#とかjavaよりマシ

965 :デフォルトの名無しさん:2013/12/26(木) 23:45:38.64
QtだとHTML+JavaScript+CSSと
似たよう開発ができるからいいよね。

966 :デフォルトの名無しさん:2013/12/26(木) 23:54:06.53
C#入れてSystem.Timers.Timer使ってみたけど全然精度ないね
interval 100ですら精度がバラバラ
全然使い物にならん

967 :デフォルトの名無しさん:2013/12/26(木) 23:57:23.57
それはSetTimerのラッパーだからしょうがない

968 :デフォルトの名無しさん:2013/12/27(金) 01:17:52.47
夕飯作ってる時に指怪我しちゃった
上手くタイピングができない

969 :デフォルトの名無しさん:2013/12/27(金) 01:21:04.49
>>966
いや、お前が間違ったものを使ってるだけ。

(わざと)精度が高くないように作られてるものを使って
精度が高くないとかさ、お前無知なだけじゃん?

970 :デフォルトの名無しさん:2013/12/27(金) 13:56:48.94
>>969
教えてやれよ
もし知ってるなら
バカだから知らないだろうがwww

971 :デフォルトの名無しさん:2013/12/27(金) 14:23:50.16
スレッドを起こしてその中で10msスリープしつつ
パフォーマンスカウンタで調整しつつイベントの処理をしてやれば
最強に正確

972 :デフォルトの名無しさん:2013/12/27(金) 14:34:20.00
Threading.Timerで10msスリープされる保証もない

973 :デフォルトの名無しさん:2013/12/27(金) 14:45:58.39
マルチメディアタイマーを使わなければ結局C#で精度の高いことをするのは無理

974 :デフォルトの名無しさん:2013/12/27(金) 14:46:34.09
>>969は知らないくせにでしゃばっちゃったから火傷を恐れてコード出せない無知無能君

975 :デフォルトの名無しさん:2013/12/27(金) 14:47:06.22
ビジーループが最強伝説

976 :デフォルトの名無しさん:2013/12/27(金) 17:32:22.87
初心者です。
二チャンネルはお正月も営業していますか?
よろしくおねがいします。

977 :デフォルトの名無しさん:2013/12/27(金) 17:34:13.17
C#...インタプリタで時間的に正確な事ができるはずがない
javaも同じだがな

978 :デフォルトの名無しさん:2013/12/27(金) 17:34:50.06
>>977
釣りですか?

979 :デフォルトの名無しさん:2013/12/27(金) 17:50:18.11
>>978
馬鹿ですか?

980 :デフォルトの名無しさん:2013/12/27(金) 17:55:08.78
どっちもネイティブ

981 :デフォルトの名無しさん:2013/12/27(金) 17:56:36.86
どっちもインタープリタ って知らないのか? アホが増えたな

982 :デフォルトの名無しさん:2013/12/27(金) 18:03:03.98
そもそもネイティブって意味を理解してるのか?

983 :デフォルトの名無しさん:2013/12/27(金) 18:03:41.39
すまん 理解してるのか ではなくて 理解出来るのか だったわw

984 :デフォルトの名無しさん:2013/12/27(金) 18:08:32.68
>>977
インタプリタでググれ

985 :デフォルトの名無しさん:2013/12/27(金) 18:12:38.85
作ればある!

986 :デフォルトの名無しさん:2013/12/27(金) 18:21:22.47
>>984
ネイティブでググレカス

987 :デフォルトの名無しさん:2013/12/27(金) 18:43:22.53
釣りじゃなければJITを知らない馬鹿

988 :デフォルトの名無しさん:2013/12/27(金) 18:49:25.21
マルチメディアタイマーで割り込み時間を1にしてスレッドスリープしたけど安定しない
C#はクソだな

989 :デフォルトの名無しさん:2013/12/27(金) 18:54:51.25
インタプリタだから...ってC++だって純粋なネイティブではないけどね
完全なアセンブラの場合すべての処理時間が完全に計算できる
C#、javaは30年前のbasicと同じ ハードがよくなったから見栄えがよくなっただけ

990 :デフォルトの名無しさん:2013/12/27(金) 18:56:06.95
>>987
それをインタプリタと言うのだが?(笑っていいですか?)

991 :デフォルトの名無しさん:2013/12/27(金) 19:11:17.71
JITはインタプリタじゃないよ。

インタプリタってのは、同じ行をもう一度実行するときでも、
再度解釈するもの。一行一行解釈して動くってのは
そういうことだから。

992 :デフォルトの名無しさん:2013/12/27(金) 19:22:34.67
実行時は完全ネイティブコードになるから速度に差は出ない
C#がインタプリタ言語だとしてもそれが時間的に正確でないという文脈に使うのはおかしい

993 :デフォルトの名無しさん:2013/12/27(金) 19:29:44.94
アーキテクチャを見極めて最適化されたコードを吐いてくれたりせんの?

994 :デフォルトの名無しさん:2013/12/27(金) 19:39:54.68
してくれる。むしろそのために中間コードでとめてる

995 :デフォルトの名無しさん:2013/12/27(金) 19:51:57.96
生き埋め

996 :デフォルトの名無しさん:2013/12/27(金) 19:59:16.37
>>981
C#は元々JITだしJavaも今はJITだよ。
Javaだと動的最適化の絡みでインタプリトも混ざるけど、C#とかは実行前にコンパイルされるから普通にネイティブ。
逆アセンブラタイプのデバッガで普通にトレースできるレベルのネイティブコードに落ちて実行される。

997 :デフォルトの名無しさん:2013/12/27(金) 20:18:49.88
PythonのJITはジャスト・イン・タイム・コンパイラのことで実行時にコンパイルを
行うものだけど、JavaのJITはジャスト・イン・タイム・インタプリタのことで、
実行時に解釈を行うインタプリタです。
だからJavaはダメなんです。
早く滅びれ。

998 :デフォルトの名無しさん:2013/12/27(金) 20:19:10.95
このスレは終わらせる

999 :デフォルトの名無しさん:2013/12/27(金) 20:21:01.96
終わりません!

1000 :デフォルトの名無しさん:2013/12/27(金) 20:32:42.17
オワタ\(^o^)/

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

229 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)