1 :
デフォルトの名無しさん :
2014/04/02(水) 05:58:35.16 ID:rEj4LnC/
_,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'″ `'―、,,,,/
魚が2にいると安心するな
6 :
デフォルトの名無しさん :2014/04/02(水) 18:19:07.01 ID:GAzBy9ej
Windowsのアプリケーション作ろうと思ってアイコンを作ることから始めたんだがbmpからicoに直接拡張子書き換えるやり方だと透明部分作れずに苦戦してる pngで透明部分作ったやつをicoに直接書き換えても使えないしどうしたらいいんや?
>>6 アイコン集から探すか、アイコン作成ツールを使え
8 :
デフォルトの名無しさん :2014/04/02(水) 18:39:35.78 ID:GAzBy9ej
>>7 アイコン作成ツール具体的に頼むわ
何か古いのばっかりだし怪しいし
出来れば企業の配布物で
わがままだな君 PNGtoICO使ってるわ
10 :
デフォルトの名無しさん :2014/04/02(水) 18:45:06.64 ID:dFeJg3uF
>>8 イラストレーター
GIMP
Inkscape
VSの商用版ならイメージエディタついてるんじゃないの
>>前スレ999 具象クラスを継承できる言語処理系は存在するが、 オブジェクト指向設計をするなら継承すべきではない という主張だろう。 一理あると思う。
IcoFX is an award winning professional icon and cursor editor.
Import, export and extract
http://icofx.ro/
今の最先端技術って何?
16 :
KAC :2014/04/02(水) 20:25:56.72 ID:n0Y4xp7b
>>12 そう?
たとえば、具象クラスの中で「ちょっと特別なもの」とか
作るときに派生させたりしない?
17 :
前スレ991 :2014/04/02(水) 21:02:05.17 ID:mtW5Dcim
前スレで哺乳類と人間を例にしていた人がいたけど、
分かりやすい説明だったと思う
>>12 まったく、そのとおり
>>16 もちろん、そういった考え方もアリだよ
良く言えば「動くことが最優先」、悪く言えば「動けばそれでいい」という
姿勢は、ソフトウェア設計の初心者ならば、決して責められるものではない
ただし、生産性と高品質の両立を追求するプロフェッショナルであれば、
こういったオブジェクト指向設計に関する些細で深い理解が求められる
その上で、「抽象クラス-具象クラス」という概念を原理/原則として
プロジェクト全体へ強制させるか、あるいは部分的に導入するかを判断する
また、原理/原則として扱うにしても例外を認める柔軟性が必要であり、
その際には「ちょっと特別なもの」と安易に思考停止せず、
その理由をきちんとドキュメント化しておくことで後々の保守に役立てる
18 :
KAC :2014/04/02(水) 21:14:49.21 ID:n0Y4xp7b
>>17 その辺の話はあまり聞いたことが無いのでちょっと詳しく聞きたい。
極端に言えば、「実装のあるメソッドはオーバーライドするな」って事?
リアルタイム送受信技術について質問です。 SIPのような技術で、ビデオ通話や他のデータの送受信がリアルタイムに出来る、 iOSに組み込める技術や、サービス・ライブラリにはどのようなものがありますか?
20 :
デフォルトの名無しさん :2014/04/02(水) 21:30:08.92 ID:dFeJg3uF
Skype、メッセンジャー、FLASH、HTML5、ストリーミング技術
21 :
デフォルトの名無しさん :2014/04/02(水) 21:43:11.61 ID:GAzBy9ej
22 :
前スレ991 :2014/04/02(水) 22:03:33.44 ID:mtW5Dcim
24 :
KAC :2014/04/02(水) 22:20:30.66 ID:n0Y4xp7b
>>22 ごめん。
継承そのものの話は疑問じゃないからいいんだけど、
「具象クラスを継承すべきでない理由」が知りたいここと、
それに付随して、オーバーライドに関してどう考えてるの?ってことが知りたい。
25 :
デフォルトの名無しさん :2014/04/02(水) 22:32:42.99 ID:acz+sXgK
C言語でhello worldって表示させたことがある程度の超初心者なのですが、Androidアプリを作るのにjavaを1日1時間勉強して、どれくらいでアプリ(電卓くらい)を作れるようになるでしょうか。 こんな質問ですみません。
hello worldで飽きちゃったならjavaでもhello world作って飽きちゃうかもな。永遠??
27 :
デフォルトの名無しさん :2014/04/02(水) 22:45:54.41 ID:acz+sXgK
>>25 情報源によるが、1か月くらい
情報源と開発環境選びが重要
電卓というのがどういうのをイメージしてるかにもよると思うが そもそも hello world で止まったという前科があるなら すんなり予定通りいくとも思えん
>>28 なるほど。確かに情報はたくさんありますね。新しいものも古いものも
31 :
前スレ991 :2014/04/02(水) 23:29:24.65 ID:mtW5Dcim
>>24 >「具象クラスを継承すべきでない理由」が知りたいここと、
前スレで哺乳類と人間を例にした説明があったけど、
それでは分からなかったのかな?
哺乳類や人間はオブジェクト指向的にはクラスであり、
たとえばKACという人物は人間クラスをインスタンス化したオブジェクトになる
では、哺乳類クラスをインスタンス化したオブジェクトとは具体的には何になるか、
答えられるかな?
>それに付随して、オーバーライドに関してどう考えてるの?ってことが知りたい。
サブクラス(抽象クラスまたは具象クラス)でのオーバーライトは普通にありうる
特徴的なのは、抽象クラスではメソッドのインターフェイス仕様だけを定義し、
その実装(メソッドの本体コード)は具象メソッドで定義するケースがある
たとえば
>>22 のRubyコードの場合、SubclassResponsibility という例外を発生させる
抽象クラスのメソッドは、その具象クラスでメソッドを実装することを前提にしている
32 :
KAC :2014/04/03(木) 01:50:15.11 ID:fnhS44Zb
>>31 何か話が微妙にずれてるような気もするので確認も兼ねて。
人間クラスが実装可能で、哺乳類が実装不可能なクラスとする。
ここまでは認識はあってると思う。
で、例えば日本人だけ特別な振る舞いを実装しようとすると、
人間クラスから日本人クラスってのを作らないの?
この場合は、哺乳類から派生させろっていってる?
それとも、人間を抽象クラスにして日本人とその他のクラスを作れっていってる?
日本人の特徴をクラス側で規定するべきか、インスタンス側で規定すべきか とか考えると、そもそも人間というものをクラス側で規定しなければいけないのか、とか。 昨今はイベントリスナとかデリゲートとかラムダ式なんかあるから、インスタンスも弄り放題だわw
一人でやるなら、オブジェクト指向ではなく、それをどうやって使うかのRUPやOMTを学んだほうがいいと思う。
javaってC++のmap,vectorみたいなのある?
JDK 1.5のバージョンからGenericsが導入されました
vectorはArrayList mapは厳密に言えばTreeMap でも実際はHashMapで事足りませんか?
>>32 多分最後の「人間も抽象クラスに」だと思う
この考え方は分かりやすいし、個人的には同意できる
もちろんこれは、違うアプローチのオブジェクト指向言語を否定するものじゃない
C#やJavaだと全てのクラスがObjectを継承してるから具象クラスの継承は避けられないんだよ!と強引にちゃぶ台をひっくり返していくスタイルの奴はいないのか
メインシステムの作り方とライブラリの作り方には違う面があって、 ライブラリがデフォルト実装を含む基底クラスを提供することで、ユーザの作業を軽減する場合がある。 まさに具象クラスを継承させるパターンな。
インターフェースとしてクラスが機能するなら、 その実装が正統なる具象クラスなのか、具象クラスを継承してるのか、 ファクトリ出身か、ラムダ式ガバガバなのかなんてどうでもいい。
論理学で機械的に要素を分離した結果が
>>22 だとしたら問題があると思う。
Abstract, Counterをわざわざ別クラスにする意味がわからない。
形が似ているというだけの理由でPhotoとContainerのURL情報が同一視されているように見える。
〜sクラスにCollectionクラスつなげるなら、Storeにも格納方式を明示するクラスつけるべき。
つまり、抽象度の高いクラスと低いクラスとがごちゃまぜになってる。
全体を俯瞰するような抽象度で見る場合、Abstract, Counter, Collectionは場違いだ。詳細設計の方へ書くべきだろう。
43 :
デフォルトの名無し :2014/04/03(木) 11:31:52.05 ID:TSL6Z3ix
プログラミングの勉強をしたいのですが、作りたいものは決まってます。 ある座標に画像Aがあります。 その画像Aはリアルタイムにランダムに色が切り替わってるとします。 その画像に赤色が表示されたときのみ、別の座標にある@ボタンと、また別の座標にあるAのボタンを@→Aとミリ秒単位で押してくれるプログラムです。 このプログラムを作りたい場合どの言語が向いているのでしょうか教えて頂けたら嬉しいです。
>>38 > 多分最後の「人間も抽象クラスに」だと思う
> この考え方は分かりやすいし、個人的には同意できる
それって、
class AbstructPerson {}
class Japanese extend AbstructPerson {}
class Person extend AbstructPerson {}
にしろってこと?
「人間クラス」にはwork(), eat(), sleep()メソッドがある場合(日本人だけsleep()の内容がちょっとちがう)、
そのメソッドはどこに実装するの?
45 :
KAC :2014/04/03(木) 12:12:03.45 ID:fnhS44Zb
前スレ991氏の見解も聞きたい所だけど、まずは
>>38 最後の「人間も抽象クラスに」だとすると、
結論としては
・派生して振る舞いが変わるメソッドは純粋仮想にする
って事が要求されている事にもなると思う。
将来の派生含めてそんな実装にするのはナンセンスだし、
そもそもそれが正しければメソッドのオーバーライドなんて不要になる。。。
46 :
片山博文MZジェバンニ ◆T6xkBnTXz7B0 :2014/04/03(木) 12:18:03.48 ID:lJqirrU9
>>43 VB, C#, C言語, C++あたりだと思います。
Windowsだったら、おそらくSetCursorPos, mouse_event,
SendInput, GetDesktopWindow, GetDC, GetPixel, ReleaseDCなど
を使うことになると思います。
そんなのならuwscで十分
48 :
デフォルトの名無し :2014/04/03(木) 12:41:58.60 ID:TSL6Z3ix
>>46 >>47 御二方ありがとうございます。
ここに書き込む前に調べておそらくこれだろう
と思っていたのがC言語とソフトのuwscでした。
相談する人間が周りにいないので不安でしたが
自信を持てましたのでその二つを中心に勉強します。
ありがとうございました。
>>44 38だけど、その例だと、人間クラスでそれらのメソッドを定義する
けど人間クラスのインスタンスは作らない
って趣旨だと思ってる。当人と合ってるかわからないけどw
>>45 将来の派生は考えず、現在作らなければならないものを
適切に構成することが狙いだと思う。これも合ってるか分からないけど
動的ライブラリと静的ライブラリについての質問です。 動的ライブラリのソースコードが全部揃っている場合、 そのソースコードを静的ライブラリに変換し、 機能させることは可能ですか?
51 :
KAC :2014/04/03(木) 13:55:16.90 ID:fnhS44Zb
>>49 前スレ991氏の見解は多分そういう事だと思ってる。
で、やっぱりその主張のメリットが全く分らない。
というか、デメリットしか見つからないんだが・・・
52 :
KAC :2014/04/03(木) 13:55:46.91 ID:fnhS44Zb
>>50 基本的には問題なくできると思うけど、なにを懸念してる?
ソースあるならビルドスクリプトついてんじゃねえの あるならhow to build a static libとか書いてないかよく確認してみ なければ自分でgcc -cでコンパイルしてarで結合しろ
>>52 >>53 レスありがとうございます!
可能なんですね。
懸念していることは、
自分でソースコードを解析して静的ライブラリ.aや.frameworkにまとめて、
仕上げる技術が大変なのと、
さらにAppleの検証にもパスする仕上げにすることです。
つまりiOSアプリにしてApp Storeにも上げたいということです。
Appleは決められた動的ライブラリ以外禁止しているので、
どうしても静的ライブラリにする必要があります。
そこで、ただソースコードを.aファイルにビルドしただけでは、
動的ライブラリのままでした。
つまり、動的ライブラリのソースコードを静的ライブラリにビルドするというとてつもない作業が不安なのです。
一度静的ライブラリにさえしてしまえば、審査にも合格すると思いますが。
ぶっちゃけ簡単だがそういう質問が出てくる背景に不透明さを感じる
>>54 回答ありがとうございます。
そのgcc -cでコンパイルしてarで結合するという方法は、
iOSにも通用しますか?
>>49 > 38だけど、その例だと、人間クラスでそれらのメソッドを定義する
> けど人間クラスのインスタンスは作らない
それは、
abstruct class AbstructPerson {
public work() { // 実装コード }
public eat() { // 実装コード }
public sleep() [ // 実装コード }
}
class Japanese extend AbstructPerson {
override public sleep() [ // 実装コード }
}
class Person extend AbstructPerson {
// 実装なし
}
ってこと?
>>51 同様、俺も意味がわからない。
もっと言うと、もともと class Person { public work() { // 実装コード } public eat() { // 実装コード } public sleep() [ // 実装コード } } だけだったとしたら、日本人クラスを作る必要がでてきたらどうするんだろう?
>>57 まあ普通に使えるけど、Xcodeならframework作っちゃうのがあとあと楽かもね
framework作るiOS-Universal-Frameworkとかもあるしね。
元のってどうなってるの?基本的にオプション替えるだけだぜ。
ライセンス?なにそれおいしいの?とか言い出しそう
iOSのライブラリで面倒なのはシミュレーターと実機の2通りのアーキテクチャ用を 用意しなくちゃならんところだしなあ。 状況とライセンスが許せば、ソースとして組み込んでしまうのが楽ではある。
63 :
デフォルトの名無しさん :2014/04/03(木) 16:20:56.07 ID:lVJS6Hx1
原理的には出来るが、多くのオープンソースなプログラムのビルド プロセスはGNU autotoolsという黒魔術で保護されている
Xcodeから.aファイル作ったら、 ファイル容量すくなくなったんですが、 これはおかしくないですか? 元のdylibと同じサイズになるはずですよね?
>>43 まさかスロットマシーンとかのゲームの不正が目的じゃないだろうね?
むしろゲームの不正以外になんの理由があるのかと
>>64 同じにはならんだろ
dylib は a と同等のものに動的リンクの情報が追加されてるわけだし
>>65 違います
>>66 ゲームに関するアプリですが、
不正ではありません。
>>60 元のはこうなっています。上の一部の部分です。
#!/bin/bash
set -e
BASE_DIR="$PWD"
RARCH_DIR=$BASE_DIR/dist
RARCH_DIST_DIR=$RARCH_DIR/ios
FORMAT=_ios
FORMAT_COMPILER_TARGET=ios
FORMAT_COMPILER_TARGET_ALT=ios
FORMAT_EXT=dylib
JOBS=7
MAKE=make
CXX11="clang++ -std=c++11 -stdlib=libc++ -miphoneos-version-min=5.0"
IOS=1
export IOSSDK=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/
staticにするにはどの部分をどのように変えればいいのでしょうか?
ちなみに、「.shファイル」です。
それ環境変数だけじゃんか リンク時に shared つけてるとこないか?
>>72 ありました!それらしきコードを見つけました!
ARCH := arm
TARGET := $(TARGET_NAME)_libphotomaker_ios.dylib
fpic := -fPIC
SHARED := -dynamiclib
CC = clang -arch armv7 -isysroot $(IOSSDK) -miphoneos-version-min=5.0
CXX = clang++ -arch armv7 -isysroot $(IOSSDK) -miphoneos-version-min=5.0
CC_AS = perl ./tools/gas-preprocessor.pl $(CC) -miphoneos-version-min=5.0
CFLAGS += -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon -marm -miphoneos-version-min=5.0
ASFLAGS += -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon
HAVE_NEON = 1
BUILTIN_GPU = neon
USE_DYNAREC = 1
CFLAGS += -DIOS -miphoneos-version-min=5.0
よろしくお願いします。
static libraryのお手本、どうかよろしくお願いします。
75 :
前スレ991 :2014/04/03(木) 20:30:48.92 ID:qL+1iK2f
>>32 >人間クラスが実装可能で、哺乳類が実装不可能なクラスとする。
>ここまでは認識はあってると思う。
哺乳類は抽象クラスで人間は具象クラスだから、ここまではあっているね
>で、例えば日本人だけ特別な振る舞いを実装しようとすると、
>人間クラスから日本人クラスってのを作らないの?
まず 哺乳類-人間 というクラス構成は、生物学上の分類に従っている
(人間は生物学の学名であるホモ・サピエンスの俗称である)
そして、もし人間クラスを継承するのであれば、同様に人種を切り口にして
白人(コーカソイド)/黄色人種(モンゴロイド)/黒人(ネグロイド)等で分類すべき
それなのに、国籍あるいは民族による分類で日本人という例を
何の迷いもなく提示してしまう点が、素人の発想だと指摘しておく
>この場合は、哺乳類から派生させろっていってる?
>それとも、人間を抽象クラスにして日本人とその他のクラスを作れっていってる?
>>38 が推測しているように、後者が望ましいと考える
上記の例であれば、具象クラスである人間を抽象クラスへ変更し、
それを継承した白人/黄色人種/黒人クラスを定義する
そして(人間クラスではなく)おそらく黄色人種クラスをインスタンス化して
KACを生成するよう変更を加える
76 :
前スレ991 :2014/04/03(木) 20:52:32.41 ID:qL+1iK2f
>>44 >それって、..... (中略) .....
>にしろってこと?
人間クラスは抽象クラスだから、1行目は、以下のようになる
abstruct class AbstructMammalia {}
abstruct class AbstructPerson extend Abstruct Mammalia {}
>「人間クラス」にはwork(), eat(), sleep()メソッドがある場合(日本人だけsleep()の内容がちょっとちがう)、
>そのメソッドはどこに実装するの?
これも
>>49 (
>>38 )氏の推測が当たっている
ただし、食う(eat)/寝る(sleep)/遊ぶ(work)という活動は生物にとって共通の振る舞いだから、
哺乳類クラスで定義して人間クラスで継承し、必要に応じてオーバーライドするのが適切であると考える
たとえば、「食う」という活動は哺乳類だと単にエネルギーを得るのが目的であると定義されるけど、
人間クラスであれば、それに火を使った調理であるとか食事というコミュニケーションの道具としての
意味合いを加えた内容でメソッドをオーバーライドする
77 :
前スレ991 :2014/04/03(木) 21:36:39.60 ID:qL+1iK2f
>>45 >最後の「人間も抽象クラスに」だとすると、
>結論としては
> ・派生して振る舞いが変わるメソッドは純粋仮想にする
>って事が要求されている事にもなると思う。
なぜそういった要求が結論として導かれるのだろうか?
>>31 の後段で以下のように述べたように、
>サブクラス(抽象クラスまたは具象クラス)でのオーバーライトは普通にありうる
サブクラスでのオーバーライドに関して何ら制限を加えようとする意図は、どこにも無い
もしも人間を具象クラスから抽象クラスへ変更するコストを欠点(or 問題)と考えているなら、
それは
>>49 氏が推測されているように、「その変更が必要だから」というのが答えになる
つまり、「与えられた対象領域が変更されたのなら、それに応じてクラス定義も適切に
再設計すべき」という方法論になる
なぜそれが必要なのかは、すでに
>>31 の問い「哺乳類クラスをインスタンス化した
オブジェクトとは具体的には何になるか?」で答えているはずだよ
それを「ちょっと特別なもの(
>>16 )」などと、安易に目先のコーディングのコストを優先して、
モデリングという上流の設計工程へ立ち返ろうとしないリーダが存在するから、
プロジェクトが炎上する
>>17 で書いたように、この方法論は生産性と高品質との両立を目的としている
最近のスパイラルやアジャイルといった開発手法についても同様であり、その反復の各フェーズで
「モデルの再設計に立ち返る」という姿勢が参加メンバー全員に浸透していることが成功の前提になる
それを目先のコーディングの改善をリファクタリングだと勘違しているから、
せっかく最新の開発手法を導入しても失敗を繰り返すことになる
78 :
12 :2014/04/03(木) 21:37:41.89 ID:c2rSstzE
前スレ993です。
>>16 そういう場合もあるでしょう。
博物学とかその辺から来た思想じゃないかな。
大分類は中分類に、中分類は小分類に分割できる。
(プログラミングでいう継承)
分類階層のうち界、門、綱、目、科、属に直接所属する生物は居ない。
(プログラミングでいう抽象クラス)
生物が直接所属するのは「種」階級だけである。
(プログラミングでいう具象クラス)
一つの生物が複数の種や、属や、科に所属することはない。
(プログラミングでいう多重継承はない)
現実はそんなに単純じゃなくて「種とはなんぞや」というのも明確には定義できないのだけど、
どこかでバッサリやって型に押し込めないと人間が理解できないでしょう。
大規模だと特に。
だから、
>>17 も言ってるように全体へ強制するか部分的に導入するか
場合に応じて検討するわけですよ。
79 :
12 :2014/04/03(木) 21:40:11.22 ID:c2rSstzE
>>32 それならアメリカ人クラスやイギリス人クラスも作って、
人間クラスは抽象クラスにしないの?
いや、ほとんどの人間は同じ振る舞いをして、
日本人だけ違うというのが要件なら
人間クラスと日本人クラスがそれぞれインスタンスを持っても良いけど。
工学の世界では金になるのが正しい。
>>44 要件定義を満たしつつ、開発や保守の工数が最小になるよう設計しろ。
3クラス、3メソッドしかないなら、どう設計しても大した違いはない。
80 :
KAC :2014/04/03(木) 21:48:16.31 ID:fnhS44Zb
>>75 > 白人(コーカソイド)/黄色人種(モンゴロイド)/黒人(ネグロイド)等で分類すべき
> それなのに、国籍あるいは民族による分類で日本人という例を
> 何の迷いもなく提示してしまう点が、素人の発想だと指摘しておく
不必要な分類でわざわざ複雑にしていこうとするのは、
「モデル化」の概念に反する愚かな行為にしか見えないんだけど・・・
対象に必要なモデルのみに限定することが駄目な理由とか、
わざわざよく分からないクラスを持ち出すことの利点とか示してほしい。
# つか、真面目に実装するならハーフとかクオーターとかどうするつもりなのか・・・
81 :
前スレ991 :2014/04/03(木) 22:09:20.59 ID:qL+1iK2f
>>58 ,59
そのコードが適切かどうかは、与えられた対象領域しだいだね
たとえば
>>76 では「食う(eat)」を例にオーバーライドを説明したけど、
「寝る(sleep)」のケースの場合、
世界的な睡眠時間は平均8時間であるけど、日本人は世界有数の
睡眠不足国民と言われ、平均6時間と大きな隔たりがある
http://www.smartsleeplibrary.jp/column/001-2.html という知識をモデル化するのが対象領域であれば、メソッド sleep の実装は
AbstructPresonクラスだと「睡眠時間の平均は8時間」という実装に、
Japaneaseクラスであれば「睡眠時間の平均は6時間」という実装になるけど、
これが一概に間違っていると断定はできないよね?(他に適切な答えはある?)
そして、Japaneaseは具象化クラスだからそのままインスタンス化できるし、
それ以外の国民をインスタンス化したいのなら(抽象クラスのAbstructPersonではなく、
それを継承した)具象クラスであるPersonをインスタンス化する
何か問題あるかな?
それとも哺乳類クラスをインスタンス化するのが正しく、それと同様に、
このケースでもAbstructPersonをインスタンス化するのが正しいと思うの?
82 :
前スレ991 :2014/04/03(木) 22:16:27.95 ID:qL+1iK2f
>>80 さて一般常識の三択クイズです:
「哺乳類」「人間」と来たとき、次に来る言葉として適切なのは、
以下のどれでしょう?
1)日本人
2)黄色人種
3)AB型
常識をモデル化しようとしてるのか、 常識がモデル化のルールを支配するのかわけがわからんな。
生物として定義するのか社会的な個人として定義するのか ここらへんは完全に分けて考えないとひどいことになる
どれでも良い。生物学なので同様にとか言ってるけど、人種は生物学というか、科学で分類不能 日本人:民族、社会的 人種:社会的 血液型:生物学、医学 なので、生物学にこだわるなら血液型になっちゃう
86 :
KAC :2014/04/04(金) 00:03:03.23 ID:zeSqbl0+
>>82 ごめん。人間の分類なんてどうでもいいし興味もない。
あえて言うなら、対象となるシステムに合わせて答えは変わる。とだけ答えておく。
人間がどうのってのは、
具象クラスと抽象クラスの例えにお前さんが使ってたから合わせただけ。
「具象クラスから派生させてはいけないのは何故?」
の問いからどんどん離れて言ってるようにしか思えないので、
この辺で回答してもらうことを諦めることにするよ。
87 :
12 :2014/04/04(金) 00:19:57.59 ID:GdCOy0ZE
スーパークラスとサブクラスの関係を、 生物学と一致させたらシンプルでしょ。 グローバル変数禁止やgoto禁止と同じように メリットもあるけどデメリットもあって 導入しても良いし導入しなくても良いし プログラマの裁量に任せても良い。 でもこういう基準もあるよ。という話。
88 :
前スレ991 :2014/04/04(金) 00:24:55.40 ID:FlB7JCyi
>>42 >>22 のクラス継承階層の設計原理については、
>>22 の冒頭で書いて説明した
・クラスとは(数学における)集合である
・継承とは直和であり、ここで直和とは集合の互いに交わらない
部分集合への分割を意味する
・ここで集合の要素とは、属性を指す(メソッドではない)
この原理を現実のクラス継承設計へ適用していくかについては、
>>22 のスレの
続きである「Ruby初心者スレッド Part 52」のレス#43-45で詳しく解説している
そのスレの解説で使った「互いに交わらない集合」を表す図へのリンクを以下に示す
http://www.h6.dion.ne.jp/~machan/tmdoc/example/Blog.book/subset.png 詳細については、過去ログ保管サイトにあたってもらいたい
なお、今回の議論は「抽象クラス-具象クラス」という概念を対象にしていたけど、
>>22 には、それ以外のオブジェクト指向設計に関する方法論も交ざっていたので、
混乱を与えたかもしれない
そこで、より単純に「抽象クラス-具象クラス」を表す実装を紹介する
http://www.h6.dion.ne.jp/~machan/misc/exception.html これは例外(exception)を対象にして階層的なクラス設計で実装したコードであり、
現行スレ「クラス名・変数名に迷ったら書き込むスレ。Part24」のレス#81で最初に紹介した
このコードで:
・モジュール(=名前空間) Syntax::Exception::Abstraction に所属する例外クラスは、すべて抽象クラス
・それ以外のモジュール Syntax::Exception の直下に所属する例外クラスは、すべて具象クラス
になる
話題が長引いてることだし そろそろスレを移した方がいいかも
哺乳類、人間と来ると、 日本人、黄色人種、AB型、男性、老人などは、 プロパティに思えてくる それに、日本人、黄色人種、AB型、男性、老人の順でも、 逆順でも、継承チェーンを作れるのもおかしいし、 継承チェーンが長すぎるのもダメ モンスターからの派生で、ドラゴン、ゾンビのクラスがある時、 ドラゴンゾンビはどちらのクラスに属するのか、 または、どちらのクラスから派生させるか、難しい ドラゴンゾンビはドラゴンクラスで、 ゾンビのインターフェースを持つのが良いかな? 迷ったら、柔軟なインターフェース(実装)にするのが良いかも Cの手続き型プログラマーが、老害になっていくのは、 このオブジェクト指向の設計の難しさに、ついていけないから まだコードが書かれていない段階で、 抽象的なことを考えなければならないため、多くの人が嫌がる 社内でも考えているだけでは、仕事をしているように見えないため、 コードを書いて、すぐに動くほうが印象がよい(agile) だから老害は、手続き型で書き進めて、 後でスパゲティになるほうを選ぶ 具象クラスから派生させてはいけないのは、 Stringなどの重要かつ、派生させてバグが生じると、 ひどい混乱をまねくもの
能力のない人は画面上で動かないと認識できない。なので一通り作らなければいけない。機能別(構造化ではない)で設計するので再利用がされない。 オブジェクト指向でも、クラス単位で開発すれば、すぐに手が動かせるし、結果も早く見れる。が、レビューを行える人がいない。 プログラマのレベル上げるより、要求者のレベル上げた方が生産性がぐっと上がる。
>>81 >>58 と
>>59 をごっちゃにしないで欲しい。
>>58 は最初から「あるクラスと、それをちょっと特殊化したクラスが最初から必要だとわかっている場合」。
>>59 は「あるクラスがすでに存在していて、後からちょっと特殊化したクラスが必要になったとき」。
> 何か問題あるかな?
>>59 のケースで
>>58 のようなコードに変更すると、ポリモーフィズムを期待している箇所の型を書き換える
必要がでてくる。
そもそも知りたいのは、具象クラスを継承してはいけない/しない方が良い理由と、
>>58 のコードが
class ConcretePerson {}
class ConcreteJapanese {
override sleep() {}
}
より優れているとしたら、その理由。
> このケースでもAbstructPersonをインスタンス化するのが正しいと思うの?
いや、そもそも俺は
>>58 のようなコードは書かないんだけど。
>>93 ちなみに、
> そもそも知りたいのは、具象クラスを継承してはいけない/しない方が良い理由と、
>>58 のコードが
> class ConcretePerson {}
> class ConcreteJapanese {
> override sleep() {}
> }
> より優れているとしたら、その理由。
が、「現実世界のモデルと似ているから」みたいな理由だとしたら、もうこれ以上聞きたくない。
言い方が悪かった 別スレでやれ
だれか・・・
>>73 お分かりになる方いらっしゃいませんか・・・
73 デフォルトの名無しさん Mail:sage 2014/04/03(木) 18:50:42.09
ID:/JY/WI1L
>>72 ありました!それらしきコードを見つけました!
ARCH := arm
TARGET := $(TARGET_NAME)_libphotomaker_ios.dylib
fpic := -fPIC
SHARED := -dynamiclib
CC = clang -arch armv7 -isysroot $(IOSSDK) -miphoneos-version-min=5.0
CXX = clang++ -arch armv7 -isysroot $(IOSSDK) -miphoneos-version-min=5.0
CC_AS = perl ./tools/gas-preprocessor.pl $(CC) -miphoneos-version-min=5.0
CFLAGS += -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon -marm -miphoneos-version-min=5.0
ASFLAGS += -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon
HAVE_NEON = 1
BUILTIN_GPU = neon
USE_DYNAREC = 1
CFLAGS += -DIOS -miphoneos-version-min=5.0
よろしくお願いします。
>>95 ごめんね。
多分俺の発言は上で最後だから。KAC氏もあきらめたみたいだし。
98 :
KAC :2014/04/04(金) 16:22:00.17 ID:zVK7kivG
>>96 Makefile読めなきゃ話にならんよ
普通、ダイナミックライブラリはリンカーで作る
スタティックライブラリはライブラリアン(ar)で作る
100 :
前スレ991 :2014/04/04(金) 22:00:39.84 ID:FlB7JCyi
>>97 自分のスタンスは方法論に従ってクラス継承を設計すべきという原理主義になる
それに対して、二人はプログラミングに興味はあっても設計には無関心、いいかえると
「動けばそれでいい」「動くのに何が悪いんだ」という実践主義のスタンスに見える
そうであれば、これ以上の議論を重ねても互いが納得した形で合意を得ることは不可能だろう
しかも
>>89 ,95の意見は同感だから、このスレでは議論を終えて、自分は名無しに戻る
ただし、
>>90 の誘導先スレの提案には誰からも反対意見が無く、
なおかつKAC氏の質問「具象クラスから派生させてはいけないのは何故?」には
答えたいと考えているので、答えは誘導先スレにカキコするつもり
無理に付き合う必要はないが、もし気が変わったならレスすればいいと思う
101 :
前スレ991 :2014/04/04(金) 22:13:05.08 ID:FlB7JCyi
>>100 を訂正
・アンカを書き漏らしていた
X:
>>97 O:
>>97 ,98
・移動先について、
>>90 のスレを覗いてみたらウンコスレだったので撤回する
X: オブジェクト指向は愚かな考え。
O: オブジェクト指向なんて今すぐやめてください
100個以上のbooleanをサーバーに送ってSQLに保存する場合どうしたらいいでしょうか? よくある int bools = 0 for(int i = 0;i<booleanの数;i++) if(boolean[i]) bools += 2 ^ boolean[i]; のようにして取り出すときにbit演算を使う方法だと桁数が多くなりdoubleの精度上うまく動きません 他に取り出しやすく保存しやすい方法はありませんか?
>>102 普通にネットワークのストリームを1bitずつ読み書きすればいいんじゃないの。実装にはバッファ使うだろうけど。
SQLに保存は意味わかんないけど。
求人でよくlinux経験とかあるけどあれって コマンドのものなのかデスクトップタイプも含むのかどっちなんですかね?
>>104 コマンドオペレーションでサーバ系か、カーネル周りで組み込み系の募集だろ。
>>102 たとえばPostgreSQLのように配列型をサポートするDBなら、それを使えばいい
もしSQLiteのように基本的なデータ型しかサポートしていないDBを使っているなら、
文字列型にエンコードしてから保存するのが普通じゃないかと思う
char bools[booleanの数];
for (int i = 0; i < booleanの数; i++)
bools[i] = boolean[i] ? "1" : "0"; /* 真なら "1"、偽なら "0" とエンコード */
bools[i] = '¥0'; /* 文字列の終端(文字化けしてるかも....) */
もちろん取り出しでは、保存した文字列値をbooleanへデコードするコードも、別途、必要になる
>>103 ,107ありがとうございます
1bitに1or0を入れて数byte作ってそれをbase64で文字列にして保存することにしました
>>108 DBMS なに使ってるの?
binary 型サポートされてない?
あるクラスが他のクラスのインスタンスを持つのって普通ですよね?
>>109 MYSQLです
ANDROIDとIOSからデータ送りたいのでどちらにしてもbase64した安全かと思いまして
>>111 いや、 Base64 の選択も悪くないと思うよ
>>90 で誘導されたモンスターがいきなり転送されてきたプレーンで暴れ始めて
超迷惑なんですけど…だれだこっちへ飛ばしたの。
思い込みでわけのわかんないコード書いて
わけのわからん理屈こねるから書き込み読解する気も失せて
放置してんのにまだ長文連投しやがる。
114 :
KAC :2014/04/05(土) 23:14:15.07 ID:Dr+e6snh
ごめん。浮いてるスレだと思って相手してた・・・ もう相手するの止めとくよ。
実装の仕方や処理方法がわからないときにググって調べるんですが他人のソースを読むのがすごい苦手です 100行くらいでもコメントが書いてないと上手く読めないとサジを投げてしまいます。 コメントが書いていないソースでも上手く読むためにはどうすればいいでしょうか?
116 :
KAC :2014/04/06(日) 00:02:21.33 ID:8Gh4K5gj
>>115 慣れるしかないね・・・
慣れてきたらソースなんて読めるようになるから。
コツというか他人のソースを読むときは、
・関数を読むときはまず全体の流れを見てから。
・ソースをそのまま上から理解する。翻訳しない。
・ざっと眺めたら、処理の流れにそってソースの意図を理解していく。
・意図がわからないところは放置してそのまま頭に叩き込んでおく。
・何度か読めばばっちり
って感じが基本だと思う。
>意図がわからないところは放置 これすっごく重要だから太字で書いてくれ
>>117 ブラウザのフォントをボールド系に変更すればok
base64の記号を+/などに置換したものはbase64と言いますか?
120 :
デフォルトの名無しさん :2014/04/06(日) 01:13:05.88 ID:AIMuskfP
それbaka64
???
123 :
デフォルトの名無しさん :2014/04/06(日) 03:12:11.17 ID:Bz2fL/Bm
>>128 =バカ。上級者づらして質問に二度と答えないでください。
Base64Urlという名前だそうです。
え?バカって誰よw
引数の数だけオブジェクトを作りたいんだけど どうすればきれいに書ける? よろしくお願いします〜
何の言語の話よ
レスthx pythonなんだけど 引数がlist型でその長さlen(list)だけset作りたい まあ作るオブジェクトの型とかは本質じゃないからどうでもいいんだけど
ワロタ
130 :
デフォルトの名無しさん :2014/04/06(日) 08:21:36.68 ID:7fCDh1Rd
[ set([]) for _ in range(len) ] とか? Pythonは嫌いだからまったく使ってないので、これが綺麗かは知らないけど
>>115 コーディングスタイルによっては
「制御変数に着目する」というのがあるけど……
最近はそういう書き方しないよな。
>>130 解決したよthx!
>>132 setインスタンスを複数個作りたいってことよ?
まあなんにせよ解決したからおけ
みなさんありがとう
>>130 rangeしなくても、for _ in args のがキレイだと思う。
個人が運営してる動画共有サイトはありますか?
>>121 ご注文の内容は ボールドにしろ とのことでしたが、なにか問題でも?
>>115 処理単位で解読する場合は「プログラムは最後の行から前へ向かって読め」
つまり処理の中でやろうとしていること(アウトプット)をまず把握し、
次にそこまでの流れをつかむ
最後の行に書いてあることがほとんどなのでまずそこを見る
そこで使われている変数などがどこから来るのかをつかむ
138 :
デフォルトの名無しさん :2014/04/06(日) 16:55:34.92 ID:2OfU2xd5
SDKフォルダのadd-onsはどこにあるのか教えて頂けないでしょうか。 ダウンロードしたSDKの中身を探しても、どうしても見つかりません。どうかお願いします。
add-ons の中って何か役に立つの入ってたっけ? イラネって捨てられたんじゃね
140 :
デフォルトの名無しさん :2014/04/06(日) 17:28:04.21 ID:2OfU2xd5
ありがとうございます! もう提供されてないんですね…今androidの開発の準備をしていまして、 Xperia X10(SO-01B)のスキンアドオンのインストールというのを やりたかったのですが、add-onsでないのでしたら、「XPERIA-X10_r1」という フォルダをどこにいれればいいか教えて頂けないでしょうか。
**************** **************** *****o********** ***oooo*o******* ******oooo****** ********o******* *******oo******* **************** こういう感じの配列があるとします *は0, oは1とお考えください oで縦横に繋がっていたら1つの島と考えて、oの位置を全部取得する場合 なんていうアルゴリズムを使えばいいでしょうか?
意味がわかりません
どの部分がわかりませんか?
>>141 島がいくつあるか数えればいいのか?
ともあれ「再帰」がうまくはまりそうだ
島の数は数えません。 その島のoの位置が知りたいんです {2, 5} {3, 3} こんな感じで
例えばこうだったら島が2つありますので別々にoの位置が知りたいわけです **************** **********oooo** *****o******o*** ***oooo*o******* ******oooo****** ********o******* *******oo******* ****************
>>146 ぷよぷよのアルゴリズムの応用でいけると思う
てか質問下手ね アルゴの質問する時は入力例と、「その入力例」から得られる出力例を書かないと 全然関係ない入力例から得られる出力例をサンプルに書いたって混乱させるだけだよ
>>141 画像処理の基礎「ラベリング」アルゴリズム。
島毎に別のIDを割り当ててくれるよ。
再帰を使うのも一つの手だが、
2パススキャンで済むアルゴリズムが広く知られていて定番になってる。
ラベリングの出力例はこうなる。 **************** **********1111** *****2******1*** ***2222*2******* ******2222****** ********2******* *******22******* **************** # たぶんずれるだろうな で、これを元に1の重心を出したり 1の部分だけを表示したり 面積の小さいやつはノイズだとして削ったりする。
Union-Find木は、同じグループかどうかを判別できる 例えば、(1, 2, 3) (4, 5) (6, 7)で、 1, 4, 6 が根とすると、与えられた数字を根までたどり、 根が同じかどうかで、同じグループかどうかを判別する 例えば、3の根は1、5の根は4で、違うグループ
152 :
デフォルトの名無しさん :2014/04/06(日) 23:01:48.70 ID:2OfU2xd5
すみません、138ですが、諦めることにしました… 別の問題で、HelloWorldを実行しようとしているのですが、 「選択に、サーバー上で実行できるリソースが含まれていませんでした」 というエラーメッセージが出てきます。 ググっても原因がわからないのですが、 どなたか教えて頂けないでしょうか。
154 :
デフォルトの名無しさん :2014/04/07(月) 06:10:27.78 ID:JEGN0GF9
大変申し訳ありませんでした。
iosアプリにあるmomentoみたいなwindows用日記アプリを作りたいんだけど、 作りたいだけで作業過程とか漠然としてて、何から始めればいいか分かりません。 一応ここを押してこうしたいみたいな感じの考えはまとめた。
俺に外注
まあマジレスすると VB.NETかC#あたりでデータベース使ってやればいいんじゃない? 1ヶ月も勉強すればある程度作れるだろう
>>155 ここを押してこうしたい、という作り方だと、スパゲッティになりやすい。
データ構造とかオブジェクトとかちゃんと基礎からやった方が後々のためになると思う。
一度、できるとこまでやってみるのも手だけど、成功と失敗に明確な線があるわけじゃないから、ずるずる行っている人が多い。
>>158 ,159
何か作ったほうがいいソフトとかあれば教えてください。
僕独学が苦手で調子出るまでは依存しなきゃ進められなくて,,,
162 :
KAC :2014/04/07(月) 09:04:42.84 ID:p/760H6C
>>160 なにを作ったことあるか書いたほうがいい。
何も作ったことが無いなら、作ることに慣れるところから。
基本は入力と出力。
たとえば、
1) 数字を入力できる領域を作る。
2) 入力した数字を表示する。
3) 入力された数値の大きさを持つ円を表示する
4) マウスを使って円の大きさを変更する
このあたりはどこまで作れる?
>>163 UIとビジネスロジックを分けてライブラリ化するってこと。プログラマのためのプログラムの作り方が学べる。
って、それ以前のとこ聞きたいのか。人に指示する方法すらわかってなさそう。
オープンソースのプロジェクトに参加して必要なことを学び取ればいいんじゃないか。俺は独学好きだからやってないけど。
OSSに参加するのも独学では
>>164 うーん...よく分からないですorz
みなさんはどういう感じでプログラミングを習得なさったんですか?
じゃあ、学校とか通うしかないな。
169 :
KAC :2014/04/07(月) 09:39:02.03 ID:p/760H6C
>>163 作り方などの調べ方がよくわからないって感じなら
まずは入門書を買ってきて、そこに書かれていることを実践するのが近道。
ざっと眺めて、「前の方は理解できるけど後半は知らないことだらけ」ってくらいの
難易度の書籍を本屋さんで選んでくるといい。
後半にやろうとしている内容がおもしろそうだと思えるものがベスト。
プログラムとか考えずちゃんと勉強して周りの奴らとコミュニケーションをとれ
>>155 多くのアプリはデータベースとCRUD、それらを人間が操作するためのGUI、の3要素でできている。
その3つさえクリアできれば何でも作れるようになるよ。
高校行くんだろ? こんなところに入り浸るクズの仲間になるなってことだ
この時間に書き込みできるという事は現在無職の少年かな・・・
>>174 2chってvip以外も酷いんですか??
専門板は自称ニートのすごい人たちかと思ってるんですが...
>>175 無職ではない…と思います
入学前でも一応高校生なんだよね(*_*;
人が多いので、頭のおかしい人や能力の低いプログラマがごろごろいるのは仕方ない 他力本願なら他の所行った方がいいよ
高校でそういう部活に入って優秀な先輩に教えてもらうという手もある だが何にせよ目的がはっきりしないと教えるほうも困る プログラムはあくまで目的を達するための手段 魔法使いになれる・なりたいと思ってやってくる連中が多くいるが 勘違いを改めなければ挫折する
まあこの板はプロの集まりだから、高校生の君に理解できなくても仕方ないよ スーパーサイヤ人の悩みはヤムチャには分からないだろうし 咲さんの打ち筋は池田や末原さんには分からないだろうし
A and B and C みたいな条件分岐は 真真真、偽真真、真偽真、真真偽 のケースをテストすればいいですよ みたいな方法って何て言いましたっけ?
181 :
デフォルトの名無しさん :2014/04/07(月) 15:39:09.54 ID:cPHU7Y9F
>>180 条件網羅。
ソフト開発技術者の本くらい買えよ
>>181 いや条件網羅から偽偽真、偽真偽、真偽偽、偽偽偽を
除外してテストケース減らそうってやり方の名前の聞きたいんだ
こいつらテストになってないから当たり前なんだけどなんか名前付いてた気がするんだよなあ
申し訳ありません 私の中で条件網羅=複数条件網羅となっていたための誤解でした
度々すみません MC/DCというのがそれっぽいです どうもすみませんでした
186 :
デフォルトの名無しさん :2014/04/07(月) 18:37:34.34 ID:vBoMGg1s
ビル・ゲイツやスティーブ・ジョブスみたいになりたいのですが、それは不可能なので、 せめて、マーク・ザッカーバーグみたいになりたいです。 そこで質問なのですが、マーク・ザッカーバーグみたいになるにはどうすれば良いのでしょうか? あと、マーク・ザッカーバーグは、検索エンジンの開発も考えているようですが、 成功すると思いますか?教えてください。
ゲイツとジョブズが無理でfbオタクになれると思った理由は
188 :
デフォルトの名無しさん :2014/04/07(月) 18:44:40.10 ID:vBoMGg1s
マーク・ザッカーバーグより、ビル・ゲイツやスティーブ・ジョブスの方が凄いと思ったからです。
第二のマーク・ザッカーバーグになりたいなら、PHPを研究して優れたソーシャルメディアを 開発すればいい。だが、FBと似たようなものを作っても第一のマークザッカーにはなれない。
プレゼン能力を磨いてコネを作れ プログラミング?そんなのは誰かにやらせろ
191 :
デフォルトの名無しさん :2014/04/07(月) 18:57:15.18 ID:vBoMGg1s
プレゼン能力ですか・・・・・。 自分はかなりボキャブラリーに乏しいので、まずはボキャブラリーを増やすところから始めた方が良さそうですね。 ボキャブラリーを格段に増やす良い方法はありませんか? やはり、ひたすら読書をするぐらいしかないですかね?
192 :
KAC :2014/04/07(月) 18:59:00.34 ID:p/760H6C
>>191 少なくともそういう質問をしているようじゃ、望み薄だろ。
あと、かなり板違いだから他の所を探したほうがいい。
プログラマ板かWebProg板だろうな、WebProgは過疎ってるが
ビルゲイツとかザッカーバーグはチャンスをつかむ才能というか強運の面が大きいからまねるのは難しい 目指すならジョブズにしろ つまり人並みはずれたわがままをつらぬいてそれを実現してくれる仲間をさがせ
195 :
デフォルトの名無しさん :2014/04/07(月) 19:15:00.42 ID:cPHU7Y9F
1円起業
深さ優先探索わかんない 理系の大学卒業しないとわかんないよ なんでこんなのがCodeIQにでるのよ
冗談はやめとけ
成長分野はソーシャルメディアだけではない。 エネルギー、教育、農業etc. 問題点やチャンスを見つける力が大事。
200 :
デフォルトの名無しさん :2014/04/07(月) 20:24:07.86 ID:cPHU7Y9F
>>196 根を一番上にした木構造において(常識的には逆さまの木)、根から下へ向かうほど「深く」なると考える。
隣の枝ではなく深い方を先に処理するから「深さ優先」。詳しくは「グラフ理論」を勉強しろ。
迷路を深さ優先探索で説いてる動画を見れば、感覚的に理解できるんじゃない 行き止まりには印を付けて、分岐点まで戻る(バックトラック)
XBOX Oneの1337回スペース連打ってのはどうやって混じるバグ? オーバーフロー系?
203 :
KAC :2014/04/07(月) 22:47:33.31 ID:p/760H6C
>>202 パスワード入力に対して大量のスペース入力ってことだから、
ものすごい初歩的なオーバーフローだと思う。。。
まあ、ログイン画面とかって新入社員が担当だったりするし。
試験してないのはどうかと思うけど。
204 :
デフォルトの名無しさん :2014/04/08(火) 07:25:51.07 ID:irck6iry
In[[1]: bbbbbbbb Out[1]: aaaaaaa みたいな表示をみかけるんですけど、この'In[1]:'をつけるのはどうすればいいでしょ? シェルが違うのかオプションでそんな設定があるのかみつかりません 今はbash使ってるけどInとOutじゃ検索も引っかからなくて見つけられなかった
意味が分らん
206 :
デフォルトの名無しさん :2014/04/08(火) 07:37:26.37 ID:irck6iry
In [0] : Out[0] : って表示するシェルってなに?
俺は見かけたこと無いな
その程度の情報だと表示させてる人に直接聞いた方が早いんじゃないですか
>>188 マーク・ザッカーバーグは世界最年少の億万長者だぞ
ビル・ゲイツやスティーブ・ジョブズ並に凄いだろ
金メダルや銀メダルは、銅メダルよりすごい。 だから、銅メダルなら俺にも採れそうだ。
SQLalchemyに対応した無料のIDEありませんか? PyCharmって有料で1年毎に払わないといけないので厳しいんです
ハッキングは犯罪です(笑
PHP最近勉強し始めたんだけどHTMLコードって<?PHP?>の外に書くべきか中に書くべきか迷う 視認しやすさは絶対外に書いたほうだと思うんだけどいろんなプログラムのソース見てると $header = <<< HTML 〜みたいなことして最期にechoしてるのが結構あったので気になった 実際どっちがいいの?
>>217 どっちもダメ。
自作の簡単なものでもいいからテンプレートエンジンを使って、
できるだけサーバー側とクライアント側のコードを分けて書く方がいい。
220 :
デフォルトの名無しさん :2014/04/10(木) 12:28:59.88 ID:vYL0b727
vistaなんですが。 バッチ処理で/waitオプションつけるとfirefoxが立ち上がります。 @echo off rem start "" "C:\Users\vista\Documents\家計簿H26度.ods" start "" "C:\Program Files\SeaMonkey\seamonkey.exe" -private (/wait) start "" "C:\Program Files\Xeno140215a\Jane2ch.exe" (/wait) start "" "C:\Program Files\chrome-win32\chrome-win32\chrome.exe" --incognito (/wait) rem start "" "C:\Program Files\sylera-3.0.20\sylera.exe" exit どうしてでしょうか?
221 :
デフォルトの名無しさん :2014/04/10(木) 12:30:02.17 ID:vYL0b727
実際は()はつけてません。
デフォルトブラウザにしてるからでは
223 :
デフォルトの名無しさん :2014/04/10(木) 15:37:59.00 ID:vYL0b727
>>222 確かにそうです。理由はどうしてでしょうか?
知らんけど、/wait をURLと判断されたとかw
225 :
デフォルトの名無しさん :2014/04/10(木) 15:46:16.80 ID:vYL0b727
>>224 wwwwwwwwwそうか。
URL欄を確認してみます。
226 :
デフォルトの名無しさん :2014/04/10(木) 15:57:08.37 ID:vYL0b727
URLはスタートページのgoogle検索だなー。 これで問題なく行きました。 @echo off rem start "" "C:\Users\vista\Documents\家計簿H26度.ods" start "" /wait "C:\Program Files\SeaMonkey\seamonkey.exe" -private start "" /wait "C:\Program Files\Xeno140215a\Jane2ch.exe" start "" /wait "C:\Program Files\chrome-win32\chrome-win32\chrome.exe" --incognito rem start "" "C:\Program Files\sylera-3.0.20\sylera.exe" exit でも/waitってプログラムを終了しなきゃ次のソフトが起動しないのか。 インターバルタイマーつけられる複数起動ソフトがベクターかどこか にあったと思うが探してみるか。 ありがとうございました。
タスクスケジューラで間に合う場合もある
プログラミング言語はCで書かれているものが多いですけど 何でC++で書かれないのでしょうか? C++よりCのほうがセキュリティーとか機能が上とかだから?
C++で書いてるつもりでもほとんどCになってる C++なんていらんかったんや
C++はもっと早い時点でCとの悪しき互換性を排除するべきだったな
>>228 > プログラミング言語はCで書かれているものが多いですけど
これのソース出してみ
それによって答えが変わる
Objectve-Cの開発者たちが「我々が作りたかったのはプログラムのICで ストラウスラップがC++で作りたかったのはプログラムの (抵抗とかトランジスタとかの)電子部品だ」と喝破してるとおり C++が想定してるオブジェクト単位が小さくて、クラス同士の関係が密なので 小さいところではC++を持ち出す程の複雑性がなくCで済んでしまうことが多く 逆に規模が大きくなるにつれてオブジェクト指向の有利性と共に 関係の複雑さも同じ速度で増大してしまい せっかくのC++の利点を相殺する結果となっている。
>>231 PHP
Ruby
Python
Perl
awk
lua
スクリプト言語の偏ってる気がするが……
コンパイラが、ってつもりなんだろ
>>228 の質問が悪いんだろw
二通りの意味に取れるから。
(1)プログラミング言語(の処理系)はCで書かれているものが多い
(2)(オープンソースで使われている)プログラミング言語はCで書かれているものが多い
ごめん、よけいに意味不明だわ
バージョン管理や差分バックアップで 「ファイル名が変わっても追従する機能」 なんて呼ぶんだっけ?
eclipseを使って画像を表示させることはなんとかできるようになったのですが ボタンを設置してそのボタンを押すと次の画像へ飛ぶ、というようなことをしたいのですがどこか初心者でもわかるようなサイトはありますか? ボタン1,2,3 ↓1,2,3のどれかを押す それに対応した次の画像(戻るボタンなどを設置したい) 応用して簡単な迷路ゲームのようなものを自作してみたいのですが上記のボタン コードがあればそれを改変して現在の画像表示アプリに組み込みたいです
>>240 エスパー探しですか?
一般人にはeclipse使って、どんな言語の、どんなバージョンで、どんなツールキットを使って(または使わないで)、実現しようとしてるのかわかりません。
>>241 申し訳ありません
eclipseでjavaをつかってAndroid用のアプリを開発したいと思っています
現在eclipseの他にJDK、Android SDK、ADT Plugin for Eclipseがインストールされています
入門書買うといいよ
>>242 できてるだけでもコード上げたら、教えてくれる人がいるんじゃないの。
Javaスレあるよ
240はandroidスレとのマルチポスト。 放置推奨
248 :
デフォルトの名無しさん :2014/04/11(金) 19:11:03.57 ID:wRZwRwE7
技術系のブログを書きたいんだけど、どこがおすすめ? はてなダイアリー・ブログにしたかったんだけど、無料だと大きな広告がでてくるのでやめた。
うーん、できればブログサービスがいいな。 VPSでwordpressも考えたけど、ちょっと面倒で
コードを綺麗にすることをbeautifyって言うのは一般的ですか?
>>228 いわゆるInternetが爆発的に普及し始めたおよそ20年前、
(それは
>>233 の言語が誕生した時期とほぼ重なる....)
プラットフォーム間の移植性という難しい問題に対して
C言語では GNU autoconf/automake といった支援ツールが
実用レベルで開発され、ほどなくOSSの世界で標準として認知された
それに対してC++は言語仕様の標準化が(Cと比べて)遅れており、
移植性問題の解決には ad-hoc な(=その場しのぎの)方法をとらざるをえなかった
この為、OSSの世界ではC++ではなくCを選ぶプロジェクトが多数派になってしまった
....などといふ、歴史的な理由がある(ソースは失念で、記憶はかなり曖昧)
これに付け加えると、こうしてC++の対応がもたもたしているうちに、
最初から移植性を考慮して設計されたJava/C#やスクリプト系といった
C++以外の新しいオブジェクト指向言語に対する人気が高まっていった
結果としてC++は移植性問題の解決を果たしたけど時すでに遅し、
現時点だとC++の位置付けは昔ほど確固たるものではなくなってしまっている
>>248 googleのbloggerとかどうよ
254 :
デフォルトの名無しさん :2014/04/12(土) 05:28:03.62 ID:hrYZFkTS
俺はだが西の方でispしてるトコの使いやすいよ
その短い文章で他人を唸らせる能力は特筆に価する
256 :
デフォルトの名無しさん :2014/04/12(土) 15:03:33.75 ID:d2s7tdDf
javascriptを使ってプレイするゲームなんですが var enemy = this.getNearestEnemy(); if (!enemy) return; this.say("Die, " + enemy.id + "!"); this.setTarget(enemy); this.setAction("move"); このreturnって何のためにあるんですか?
bloger か検討してみる。 ありがとー
>>256 もし、enemyがなかったら、以下は関係ないので何もせず戻る。前提条件のチェックかな。
if(enemy)と書いてその中に書いてくこともできるけど、ネストが深くなったり、見通しが悪くなるのでやらない。
欠点は、returnされる場所が二箇所になるので、ログとったりbreakpoint張るときに気をつけないといけない。
で、goto fail;が生まれる
>>260 自分でネストが深くなるのがデメリットって書いてんじゃん
>>258 returnが無いとまたIF節の条件チェックには戻らないんですか?
まだ入門書一冊読んでる途中の初心者なもんですみません
goto hell; goto hell;
>>261 それはあるかもね。
でも、ifと違って、そんな何段も深くなるようなことは少ないなぁ。どっちみち一段は必要だったりして、そこに追加することが多い。
>>262 ちょっと言っていることがわからないが、
戻るというのは、そのfunctionの呼出元に戻るということ。
そのスクリプトの最後にもreturnが省略されてる。
266 :
デフォルトの名無しさん :2014/04/12(土) 18:25:48.07 ID:zLbiC0rc
教えてほしいことがあるのですがPHPのプログラムで一定数より多ければ 表示、または登録できなくする場合どのようにすればよろしいですか?
全然主語がないね 「何が」一定数より多ければ「どこに」登録できなくするんだって?
2 c h . s cがさくらのインターネットの鯖だったんで笑っちゃったんですが ぼくらでもさくらのインターネッツの鯖ごときで大規模な掲示板を運営できちゃうものですか?
>>268 サーバー会社が問題なんじゃなくて台数だろJK
sc全然軽いから、2ch.netと同じくらいの負荷は耐えれるようにしてあるんじゃねーの
>>269 そのクラスならブラックリスト照会して
申請拒否しなかったのだろうかw
そしてクローン方式にしたのは 今の住人が移住に応じると思ってないから クローンでもp2とホットリンクの件で契約不履行をつつかれることがなくなるから
274 :
デフォルトの名無しさん :2014/04/13(日) 19:08:29.68 ID:ix1l5vjc
ジャンボジェット機を操縦できる能力と、プログラミング言語を開発できる能力は、どっちの方が凄いのでしょうか?
>>274 後者に決まっとる。絶対的人口からして明らか。
体重と身長を比べてどっちが凄いか聞いてるようなもん
そもそも例えば日本人で考えてみれば、 ジャンボジェットのパイロットなんて何人もいるし、片桐機長もいるし、 「言語開発者」って、誰がいるんだろう? RubyのMatzか、あとGauche(厳密には言語そのものではなく処理系だが)の川合氏くらいしか、個人的に知らない。 数えるほどしか存在しないということになる。
片桐機長にしても、マレーシア航空370便の機長にしても、いくらでも「代えは効く」が、 各プログラミング言語の開発者の代えは簡単には効かないだろうね。
言語開発といっても草野球から大リーグのトップ選手まで幅が広いのだが
280 :
デフォルトの名無しさん :2014/04/13(日) 20:08:31.67 ID:0EUWpz+5
iPad上で、C言語の開発、実行ができるアプリはありますでしょうか?
codepad ideone
282 :
デフォルトの名無しさん :2014/04/13(日) 20:46:44.16 ID:0EUWpz+5
>>281 レスありがとうございます
検索してみたのですが、出てきませんでした
284 :
デフォルトの名無しさん :2014/04/13(日) 20:57:24.54 ID:/Li22m5H
パソコンの画面をキャプチャして、その映像をopenCVを使って処理したいのですが 調べてもwebカメラのことばかりでよくわかりません。cvCaptureFromCAMではできないのでしょうか?
携帯やタブレットでプログラミングとかアホかと思う
286 :
デフォルトの名無しさん :2014/04/13(日) 20:59:48.34 ID:0EUWpz+5
>>283 アプリかと思ってApp Storeで検索してしまいました
教えて頂いたサイト、こんなサイトがあるとは感激です!
Textasticというアプリとこのサイトを組合わせてやってみます!
本当にありがとうございますm(_ _)m
>>284 キャプチャするまではOpenCVと無関係
キャプチャしたあと、そのキャプチャ画像の入った変数をOpenCVで扱える型に変換する方法ならいくらでも出てくるでしょ
288 :
デフォルトの名無しさん :2014/04/13(日) 21:21:20.68 ID:/Li22m5H
>>287 すみません、書き忘れていたのですが処理はリアルタイムにやりたいと考えてます
なのでフリーのキャプチャソフトの映像をcvCapture構造体から使う
なんてことができないかなーと・・・
映像は画像の集まりだろうが 何が分からないのかが分からない
290 :
デフォルトの名無しさん :2014/04/13(日) 21:45:08.48 ID:/Li22m5H
自己解決しました、ありがとうございました
>>279 パイロットの方は「ジャンボジェットの」と表現しているのだから、
言語開発の方も、一線級で普及している言語を対象とするのが相応しい。
>>291 ジャンボジェットのパイロットに相当するのは銀行の勘定系とか JR の予約システムとかのでかいシステムのプログラマかなぁ。
言語開発はどちらかと言うとブルーインパルスとかのトップパイロットって感じじゃね?
パイロットと開発者どっちがえらいのって言われてもさ どっちか欠けたら空飛べないから比べようがないよ ジャンボジェットパイロットは育成方法が確立している上に需要が安定している 言語開発者は育成方法が確立していない上に需要が不安定 という事から考えれば言語開発者として成功するほうが難しいとは思うけどね
一理ある
既存のものと同じor劣化ならNGという厳しいルールがあるんやで
俺は言語開発者だけど1言語しか開発したことがない。たったそれだけで言語開発は完了した。 だからCompilerCompilerも1回しか使ったことがない。 大学ではコンパイラ理論とかいう教科書を買わされて10%くらい読んだだが十分だ。 生業ではないのでまったく金に結びついてない。
まず日本語からマスターしてくれ
>>285 Bluetoothキーボードさえあればとりあえずそこそこできるんじゃないだろうか
趣味で言語つくるのはプログラマなら誰でも一度は通る道。
なんでプログラマって日本語下手くそなの?
プログラマが日本人とは限らんからな
というかプログラマーが日本語下手くそという判断の理由の方を尋ねたいわ
というか俺のことをプログラマーと判断した理由の方を尋ねたいわ
面白いと思ってんだろなァ…
日常会話では多少のWarningは看過するべき
307 :
デフォルトの名無しさん :2014/04/15(火) 22:00:54.46 ID:PSM5M1bI
プログラマーと物理学者がプログラミングで競ったらどっちが勝つのでしょうか? 物理学者もプログラミングをする人が居るようですが。 物理学者って万能&天才って感じがするからもしかしたら物理学者の勝ちですかね?
物理学者でプログラミングをする人は物理学者兼プログラマーですが
日本語のバグ探しで忙しいようで、
310 :
デフォルトの名無しさん :2014/04/16(水) 03:17:50.98 ID:JQXx7rO+
サーバにメールを保存してて、まだサーバに保存していないメールを追加で保存していくコードを書いてるんだけど、 これってpop3出やるべきだよね。 いまimapで書いていて、Nmsgs が最大のmsgnoだから1から Nmsgs までメールを取得して、各メールのUIDをキーにしてメールを保存してて 毎回毎回1からNmsgsまで回すのは効率悪いので差分だけ回したいと思ってるんだけど、imapでいい方法ない? 前回の最終msgnoを保存しておくのも考えたけど、メールボックス単位でNmsgsは変更があるらしので、これは使えないなーと思ってる。
311 :
デフォルトの名無しさん :2014/04/16(水) 03:30:05.31 ID:JQXx7rO+
Nmsgs - 10 のメールを取得、そのメールのUIDが既にDBにあれば、Nmgs - 10 の範囲のメールを取得、 Nmsgs - 10 のメールのUIDがDBになければ ( Nmsg -10 ) 〜 Nmgs と Nmgs - 20 の範囲を、、、 とやればいいのか、、、
>>300 文芸関連スレでも日本語が下手な奴ばっかり書き込んでてうんざりですわ
313 :
デフォルトの名無しさん :2014/04/16(水) 16:03:01.56 ID:2hiSyBtp
Linuxを開発した人と、国際宇宙ステーションの船長は、どっちの方が凄いのでしょうか?
\ / \ 丶 i. | / ./ / \ ヽ i. .| / / / \ ヽ i | / / / \ -‐ ー __ わ た し で す -- 二 / ̄\ = 二  ̄. | ^o^ |  ̄ -‐ \_/ ‐- / / ヽ \ / 丶 \ / / / | i, 丶 \ / / / | i, 丶 \
全然リーナスに似とらんな
それぞれの式の余りを求める方法を教えてください 18385104648387492148583482840583824856948273859684827585473728747594837284759647372948575944794727547345809620345086320 % 4827985 18385104648387492148583482840583824856948273859684827585473728747594837284759647372948575944794727547345809620345086320 % 48279854289650348934
>>316 18385104648387492148583482840583824856948273859684827585473728747594837284759647372948575944794727547345809620345086320 % 4827985
== 1845640
18385104648387492148583482840583824856948273859684827585473728747594837284759647372948575944794727547345809620345086320 % 48279854289650348934
== 29837036692539017060
多倍長演算(Boost.multiprecisionが一番簡単)を使う。
質問の内容があいまいすぎるw
すいませんできればライブラリを使うのはなしでおねがいします あとintの最大値は2147483647とお考え下さい
321 :
KAC :2014/04/16(水) 17:39:17.40 ID:JwWRkONO
>>320 宿題か?
問題そのまま貼り付けるくらいしないと、
最終的に何を求めようとしてるのかよくわからんぞ。
宿題ではないのです クッキークリッカーってあるじゃないですか そういうゲームが作りたいんですけど桁が多い加減乗除余がいまいちよくわからないんです
あれjavascriptじゃなかったっけ。なら見れるでしょ
多倍長整数 とかでググればやり方解説してるとこあるよ
>>317 rubyだとその値になるけど、Javascriptだと違う値になる。なぜ
326 :
デフォルトの名無しさん :2014/04/16(水) 23:48:53.50 ID:9W1Fzx+3
近似値だからだろ
be sent とか must have sent とかだと sent が使われるのに must send はなぜ send が使われるのでしょう?
あと should better to sent should better to send はどちらがただしいですか?
mustが助動詞だから
分詞の授業をサボっただろうフランツ。 今日がアメル先生の最後の授業なのに。 # ってこの話教科書から削られて久しいから若い人は知らんらしい
>>330 で出典はどこだ:−)
>>327 英語動詞send は不規則変化で send - sent - sent
be sent /受動態構文にて過去分詞形としての sent
must have sent /現在完了形構文にて過去分詞形としての sent
must send/助動詞must の後ろには動詞の原形 send
>>328 (had) better do じゃないかい?
to 不定詞 のときの不定詞って原形?過去分詞?
>>328 どっちもまちがいだろう。そういういいかたをする状況がわからない
何のスレだ
>>332 to不定詞は、to不定詞でいいよ
それは、
to 原型
to be 過去分詞
のかたちにみえますね
不定っつってるのになぜ分詞にしようとするんだ
0からNまでの整数がランダムに配列に入っていてソート済みのものとお考えください この時,aの整数の位置を探す場合、線形探索だと時間がかかりますよね もっと効率のよう二分探索がありますが、これよりももっと効率の良いアルゴリズムってありますか?
>>337 ないです。
あらかじめ走査してインデックスみたいのを作るのとかデータ構造をかえるとがありなら、もっと速くできる。
他には並列化するぐらいじゃないかな
ハッシュとか
341 :
KAC :2014/04/17(木) 16:33:10.75 ID:wTGSZcQ5
>>337 数値の範囲が決まっているなら、
aの値でおおよその位置は推定できるよな?
( a=1なら先頭だし、a=Nなら最後だし、その間でもある程度の予測は可能)
二分探索を少し改良して狙っていけばいいんじゃね?
配列に100万の整数が入っているところから探索したら13秒かかりましたよみんな
あまり感覚的にピンとこんなw
13秒も掛かるの? ソートされてるなら人力でやっても2分くらいで見つけられそうなのに
100万件なら21回の比較でいけるはずだが
スクリプト言語でも使ってるのかね。 オンメモリで100万なら、バカサーチでも13秒は遅すぎる気がする。
フロッピーディスクから読んでる可能性がある
13秒じゃなくて1.3秒の間違いでしたよ ランダムに作ってランダムに探索ポイントをセットしてみたけど15〜16回目で探索できた 21もかかるのはなぜ?
12〜17回に訂正
2**20 + 1 ってことじゃね?
最悪のケースで21回な
あるごりずむとやらを扱うには早すぎるのではないか
永遠の無になりたいのですが、人は死んだらどうなるのか分かる人いますか? 絶対、来世なんてあってほしくないと思っているのですが、来世はあるのでしょうか? 誰か教えてください。
幸福の科学 かな…
>>353 腐敗して後処理する人が迷惑する
葬式とか法事とかもめんどい
自分のケツ拭く金はちゃんとおいていけ
無にはならんだろ 拡散するだけ
>>337 問題の性質によって多少改善できるだろうがlog(n)のオーダーを突破することは無理。
>>353 そういう問題は、論理よりも語り口がだいじです。プログラミングのスレには適していません。
陰府(よみ)にいきます。
よみには、行動も知識もない
「わざも、計略も、知識も、知恵もない」
伝道の書/ 09章 10節
すべてあなたの手のなしうる事は、力をつくしてなせ。
あなたの行く陰府には、わざも、計略も、知識も、知恵もないからである。
宇宙板/物理板だと353みたいなのはすっぱり無視されるが、 プログラム板の人は慣れてないのかヒマなのかレスがいっぱいついてるね
361 :
デフォルトの名無しさん :2014/04/18(金) 20:52:58.78 ID:gJOgk5DL
C言語の質問です while (array[i - 1] != -1); の意味がよくわかりません-1を入力すると偽になるのですがどういう計算ですか? よろしくお願いします 苦しんで覚えるC言語 練習問題15 第7項:プログラム書取(解答例) 忍法帳のレベルが低いためリンクは貼れなかった
苦しんで覚えろよ
363 :
デフォルトの名無しさん :2014/04/18(金) 21:26:57.71 ID:gJOgk5DL
何故そのまんまiではなくi - 1が必要なのかそこが疑問点
i-1で正しい。なぜ-1する必要があるか、苦しんで考えるんだ。
配列のインデックスは0からカウントするのに大してiは1からカウントしてるからじゃないですかね(適当)
正直著者のレベル低くね?
>>365 お前問題読んでないだろ?
読んでない俺も全く同じように思ったw
368 :
デフォルトの名無しさん :2014/04/18(金) 22:29:20.73 ID:gJOgk5DL
チクショーーーーーーーーーー!!! 理解できねえええええ int main(void) { int i = 0,array[10],max,min; do { printf("%d 番目の数:",i + 1); scanf("%d",&array[i]); i++; } while (array[i - 1] != -1);
369 :
デフォルトの名無しさん :2014/04/18(金) 22:32:52.06 ID:gJOgk5DL
下段ではこう処理しているから-1が入力されるまでの数値を判断に使っていることはわかる void maxmin(int array[],int *max,int *min) { int i = 0; *max = 0; *min = 100; while (array[i] != -1)
>>368 1)scanf("%d",&array[i]);
2)i++;
3)} while (array[i - 1] != -1);
(1)でarray[i]に入力
(2)でiを一つ進める
(3) (1)で入力された値を見たいからi-1で一つ前を見る
371 :
デフォルトの名無しさん :2014/04/18(金) 22:49:33.09 ID:gJOgk5DL
>>370 ありがとうございました
これをwhile (array[i] != -1); にした場合-1を入力しても終わらず
延々とscanf("%d",&array[i]); が繰り返されるのですが
何故ですか
僕の解釈では-1の入力をした配列も利用してdo while文を終わらせてくれる気が
したのですが
自己解決しました >>do〜while文は、繰り返す文の実行後に条件式を判定します。 らしいのでループされてからの判定される条件式では上のようになると判断しました
>>368 こんな風に、i++ したあとに i - 1 を参照するような分かりにくいコードはよくない。
てかscanfの直後に判定すればいいのに、なんだこれ
わざとやってんじゃないの サイトのタイトルからして
>>373 while(1) {
printf("%d 番目の数:",i + 1);
scanf("%d",&array[i]);
if (array[i] == -1) break;
i++;
}
とか?
どのみちあんまりすっきりした書き方にならないな。
だから、そんなダメサイトで勉強しちゃダメだって。
>>375 while (1) {
printf("%d 番目の数:",i + 1);
scanf("%d",&array[i]);
if (array[i++] == -1) break;
}
378 :
デフォルトの名無しさん :2014/04/18(金) 23:55:56.35 ID:gJOgk5DL
>>376 何が駄目か論理的に言わなきゃただのボヤキなんだけどなぁ
俺は初心者だからよく解らんが何が駄目なんだ
>>378 俺も駄目だと思うけどね。サイトの方は見てないからわからないけど、少なくとも
サンプルコードに関しては、こんなコードを書く人はあまり大した技能だとは思えない。
例えば、
>>377 みたいなコードだったら、今回の君のような[i-1]がウガウガ〜
なんてことは生じたかい?
i++しておいて、それからi-1して戻すなんて、「要領が悪い」という点に尽きるわけ。
380 :
デフォルトの名無しさん :2014/04/19(土) 00:13:36.15 ID:SoW77Vqv
>>379 生じませんね
ここで学んだらそういう書き方をしていくと思います
納得しました
しかし、このサイト以外だとここまで至るまでには最初の方の項目で細かく噛み砕いた解説をしているサイトが見つからなかったのでプログラミング初心者の僕では難しかったわけです
全部が全部ダメというわけでもないと、ここの意見を聞いても感じているわけです
そのサイトは結構わかりやすい方だと思う 実際の他人のソースは、特にCだと、キチガイじみた書き方してることが良くあるからね
382 :
デフォルトの名無しさん :2014/04/19(土) 00:19:54.89 ID:SoW77Vqv
>>375 これで同じ様にいけました
L7IO/4TcさんのC及びC++勉強したサイトか参考書籍を書いて頂けませんか
>>377 これも同じ様にいけました
勉強になりました
明らかな間違いや、迂遠な解説が目立つんだよね。 読んでるとイラつくから指摘するのは勘弁して貰いたいが。 まぁ、まともな入門書がないことについては同意。
385 :
デフォルトの名無しさん :2014/04/19(土) 01:42:30.61 ID:3gebobex
i-1だと偽のときまではループの処理回すということでそ それはさておきこういうのは直感的ではないからバグ生む原因になるよな
くるしめwくるしめww
-1から始めて最初にi++するほうがいいんじゃね というか、配列の大きさを超えることを考慮してないなこれ。
この程度のロジックを追う事が出来ない池沼って、知能指数どのくらいなんだろ。 きっと100切ってるんだろうな。
>>377 do {
printf("%d 番目の数:",i + 1);
scanf("%d",&array[i]);
} while(array[i++] != -1);
でもいいな。
ログインについて質問です 最近二段階認証の方式が大手サイトを初めに実装されていますが つけないほうがいい/つけたほうがいい 何か基準とかあるのでしょうか? 他のサイトから漏れたアカウント情報でログインされても 大事にならなければつけなくていいのか それともこれから標準的になっていくのか… よろしくお願いします
大手はとっくの昔から2段階認証を導入していますが
アカウント情報をWebサーバーに置いている弱小サイトは関係ないから気にするな。ハゲるぞ。 そうじゃない所はこんな場末で質問なんかしない。「二段階認証について説明しろ」と SIerを呼びつければいい
VPS運用の月額課金サービスなんですが 個人情報みたいなものは閲覧できないものの もしも乗っ取られてアカウント情報を変えられてたら 元の有料ユーザーはログインできなくなってしまうので やっぱりあるにこしたことはないでしようか…
金が絡むならセキュリティをしっかりしないと駄目なんじゃないの?
アカウント情報は登録してくれたものの 二段階認証あたりで面倒とかやり方わからないとかで 課金ページまで到達しないで引き返すのでは…と
強制二段階認証のとこはごく少数でしょ ほとんどはユーザーが任意に有効化できるオプションとしての提供
世界的な心臓外科医と世界的なプログラマーはどっちの方が凄いのでしょうか?
どちらもお前の馬鹿さ加減には敵わないよ
>>375 俺ならこうかな
for(i=0; ; i++) {
printf("%d 番目の数:",i + 1);
scanf("%d",&array[i]);
if (array[i] == -1) break;
}
if() の後でなにもしないなら
i=0;
do {
printf("%d 番目の数:",i + 1);
scanf("%d",&array[i]);
} while(array[i++] != -1);
かな。
何かアプリを作る時って例えばC:/myapp/myproject1みたいに作っていくものですか? それともC:/myapp/php/pyproject1みたいに言語別にディレクトリを作っていくべきですか? 先輩方はどうされてますか?
アプリ作るのが目的なら前者。 言語の学習が目的なら後者。
同じ名前のものを別の言語で作るときとかあるから/言語名/プロジェクト名/に分ける
403 :
デフォルトの名無しさん :2014/04/19(土) 18:22:12.03 ID:a2LiIIdb
googleがyoutubeを買収した時の金額は約2000億円だそうですが、 本当にyoutubeに2000億円もの価値があるのでしょうか? なんか、そこまで価値がないような気がするのですが。 なぜyoutubeは2000億円もの価値があるのかを教えてください。 また、googleが買収されるとしたら、幾らぐらいになるのかも教えてください。 お願いします。
>>400 例で書いてるだけかもしれないけどルートの直下には掘らないようにな
>>404 どうして?
Windowsだとパスの関係で面倒なことが起こりがちなんで、ルートにした方が手っ取り早いって考えもあるのでは。
ま、俺はLinuxなんで /home/username/workspace/project/ だけどね。
>>405 users\〜の下に作れば問題ないのにあえてルートの下に作る理由がない。
Linuxでルートの下にディレクトリを掘って作業しても問題ないけど、普通そんなことしないのと同じ。
あと直接関係ないけど、よくわからないからとりあえずルートの下でなんでもやっとけって人のほうがトラブル起してると思うよ。
Windowsのユーザーフォルダにプロジェクトを入れる風習って珍しいんじゃね
>>400 言語別に分ける理由はない
IDEさんのために仕方なく専用のを作ることならある
>>403 20億と200億と2000億と2兆と20兆の違いがわかるようになってからまたおいで
googleの価値は時価総額でわかる
411 :
デフォルトの名無しさん :2014/04/19(土) 19:32:00.15 ID:a2LiIIdb
「究極」は何ですか?「無」ですか?
くだらないシンタックスエラーで聞いてくる学生が多くて惨めに思う。 学生には最初から色分け機能のあるエディタを使わせるべきではないのか?使わせないほうがいい?
>>405 その目的ならルート直下でなく、ルートに英小文字4〜8文字のディレクトリ作って
その中に入れれば良いと思うが。
んで、そもそもVista以降はユーザ名が英数ならまず問題ないし。
最初からIDE使わせればいいんじゃないの。 色分けどころか、リアルタイムで文法エラーチェックしてれるやつ。
テキストエディタでやらせる意味って何なの? 結局IDE使うのに
>>400 ホームの下にプロジェクトごとだな。
使う言語はひとつとは限らないし、途中で変わることもある。最初から決まっているわけではないと言った方がいいか。
サーバでコンパイルしろという要求に対し、サーバにIDE入れてたやつがいたな。
419 :
デフォルトの名無しさん :2014/04/19(土) 20:19:02.55 ID:dakw/CUz
「無」は「究極」ですか?
最初からIDEを使わせると IDEがないと動かないプログラムができてくるんだぜ
IDE使わない現場で仕事を覚えた人たちは、デバッガとかビルドツールとか使えないイメージ。
つまりIDEアリ/ナシ両方経験しとけってこったな。 新しい環境に適応できないのが一番良くない。 うん十年前にパンチカードがいくら得意でも、今の時代では無意味なようにな。
Eclipseのせいでclasspathよく分かってない奴はたまに見る
IDEは難しいから初心者にはコマンドラインのほうが敷居が低いかもしれないけど がんばって最初からIDEを使ったほうが、あとで楽ができると思う。
>>421 単体のデバッガやビルドツール使ったことないのか?
IDEから使ったことがあるビルドツールって言うと MSBuild、Ant、Maven、Gradleだけだな あと何かあるかな
どれも無駄に複雑であまり好きじゃない Gradleとか依存関係がでかくなってくると起動中に小便いけるくらい遅い
鯖が重いせいか静かだ
プログラマ人生の初期にVisualBasic使ってたからIDEは問題ないが、eclipseは嫌い。
scの方が賑わってるのかと思って、scみてきたけどたいして差分ないな。 数件書き込まれてる程度だった。 openの方もスカスカ。
Amazon(Amazon以外の出品者も含めて)やヨドバシドットコム等の価格を自動でExcelに収集するようなことは可能ですか? 特定の商品いくつかを毎週チェックしたいです。 価格以外は必要ありません。
APIあるだろ
IDEしか知らない人は、GUIのデバッガしか使えないイメージ
今更printfデバッガとかしたくないし…
リモートでCUIデバッガくらいは使えたほうがいい
438 :
デフォルトの名無しさん :2014/04/20(日) 01:04:36.18 ID:UE10veJp
それは自動車を運転する人は自転車に乗れないと思ってるのでしょうか? 自動車を運転する人は自転車も乗れるのが普通ですよ。 逆は成り立ちませんが・・・ 「コマンド打てる俺偉い!」とか思っていませんか? 誰でも打てますよ。 メンドクサイからしないだけです。
ツールの使い分けできる俺偉い
>>438 できないくせに虚勢張らなくていいよ
面と向かって馬鹿にはしないからさ
だいたいGUIじゃないデバッガの話してなんでprintfが出てくるんだ? 何時代の人?
DDTもgdbもCodeViewも知らない赤ん坊だろう
Boostでの行列および行クラスで、 row/=matrix(i,i) /* rowはi行のもの */ という演算が上手くいかないのですがこれは仕様なのでしょうか? よろしければご教授下さい。 なお double d=matrix(i,i)などとして、rowをdで割ると上手く行列に反映されます。
どこの馬の骨ともわからん名無しには教授しない
エスパーでないと分からんだろうな
>>438 ATしか運転したことない人はMT運転できないという感じ。IDEがAT。
コマンド打てるのと使いこなせるのは違う。
内部構造もわかってないので、思ったとおりにならないと、"壊れた"でしか表現できない人が多い。
make(GNU make)の文法について質問したいんですがどのスレが適切でしょうか?
回答もしくはスレ誘導お願いします。
ttp://www.jsk.t.u-tokyo.ac.jp/~k-okada/makefile/ 上記のページの「マクロ・コマンドの利用の続き」という項目にて、下のようにルールを記述しています。
この2行目のコロンを2つ使った依存関係の記述(?)について知りたく、検索ワードやWebページなど教えていただきたいです。
この例だけなら意味は想像できるんですが、正しいルールを知りたいと思っています。
OBJ8 = $(patsubst %.c,$(UNAME)/%.o,$(SRC))
$(OBJ8) : $(UNAME)/%.o: %.c
gcc -o $@ -c $<
開発の各種ツールはIDEやGUIツールで概念やアーキテクチャを理解してそれから、 細かいコマンドラインの操作を覚えたほうが習得は早い。 言語なんかでも「Cができないとだめだ。Javaやスクリプト言語でプログラムを覚えるとろくなプログラマにならない」 みたいなC原理主義がいるけど、CのベテランがJavaの現場にきて、悲惨なコードを書いてるとかありがちだし、 どっから入ってもダメなやつはダメ。
男は黙ってアセンブラ
450 :
447 :2014/04/20(日) 11:53:57.08 ID:5MmzIGIw
>>448 老醜Cer の書くダメダメなJava ってどんななの?
>>447 自己解決したみたいだけど、UNIX板にあるmakeスレが適切だと思う
線形探索を一番短くかける言語をおしえて データは1000000個あって、重複しない整数。
>>454 関数とかメソッド一発で書ける言語が何個もあるんで「一番短い」って言うのも。
456 :
KAC :2014/04/20(日) 16:56:34.68 ID:f8vXMDFV
>>454 多くても数行程度で書けるんだが。。
結局何をしたいのかを書いたほうがいい
例えばさjavascriptで381742の位置を探す線形探索ならこう書けますよね var ary = [0,1,3,...999999]; // 1000000個のデータ for (var i=0; i<ary.length; i++)if (ary[i] === 381742) alert(i); これをもっと短くかける言語が知りたいんですよ
訂正 var ary = [0,1,3,...999999]; // 1000000個のデータ var ret = -1; for (var i=0; i<ary.length; i++)if (ary[i] === 381742) {ret = -1; break;}
>>452 クラスを関数とみなして静的に書くとか
クラスに複数のメソッドを置くのではなく
単一のメソッドを持つ複数のクラスにするとか?
(てきとうな妄想ですw)
>>457 rubyならary.index(381742)
jsならary.indexOf(381742);
PHP なら array_search(381742, $tbl) で C#なら Array.indexOf(tbl, 381742) とか。
IntelliJ IDEA 13をmacで使ってる人に質問です book proで動きますか?
>>457 番兵はつかはないの?
組み込みの探索より遅くて長い
ググれカス
>>452 C#だとunsafeでポインタを使おうとすると聞いたことがある
防御的プログラミングという手法があります 動的言語では型チェックがないので、動的言語で防御的プログラミングを行う場合は、 全ての引数とメソッドの返り値に対しinstanceofを実行する必要が生じて非現実的になると思います つまり「防御的プログラミングを必要としない状況でしか動的言語は使えない」という認識で合っていますでしょうか
動的言語→動的型付け言語、です。議論と関係ない揚げ足取りを防ぐためにあらかじめ釘を刺しておきます
合ってます
>>467 静的言語でもnull渡したりキャストして無理やり違う型のポインタ入れたりできるわけで、
全ての引数とメソッドの戻り値をチェックすることに変わりはないんじゃね。
>>470 データの中身をチェックする前にデータの型が分からないとチェック用のgetterとかが呼び出せないって意味じゃないの
その型を調べるためにinstanceofを使うのが冗長だと言ってるのでは
動的言語で型がーって言ってるのがおかしいんじゃね getterなり呼び出す関数がなかったら死ぬだけだし
>>472 エラーが発生することを前提に組むと例外をキャッチするコードだらけになって大変なことになるのでは?
例えばforループの中でエラーが発生したらforループの中でキャッチしなければループ中に1つエラーが起きただけで残りの要素がスキップされてしまうし だから「メソッドなしエラーで判定すればいい」理論だとあらゆる場所でtry-catchだらけになって滅茶苦茶なことになるのでは?
静的言語ならinstanceofしなくていい理由になってない。
if とか使わずにtry catchでfizz buzz書けるんだな
>>473 キャッチなんてしなくてもエラーが出たらコードを修正すればいいだけだ
>>467 自動テストでアプリのコード以外で保証すれば使える。
結論:動的型言語では「引数チェックをしたい場合はすればいい。したくない場合はしなければいい」 メリット:引数チェックが必要ない状況を許容する点。静的型言語では引数チェックが強制されるのでこのような柔軟さはない デメリット:常に引数チェックをしたい状況(例えば防御的プログラミング)では「どちらも選べる」のメリットが生かせずデメリットだけが残る 以上
そもそも、防御的プログラミング=型チェック、という思い込みが
= なんて思ってるのはお前だけじゃん (w
>>465 そんな上等な話じゃなくて、bool使わないで0と-1だとか、コレクション使わないで配列しか使わないとか
変数の宣言もメソッドの先頭でやって途中でやるのは手抜きだと思ってるとか、そういう話。
>>482 あー、それ本でみたことある。
C#で書いてあるのに、同的に数が変わるシーンで最大数決めうちの配列をつかう。
foreachとかを使わずwhile文とカウンタ変数を使っている、変数をメソッド先頭で宣言する、フィールドを直公開して完全にCの構造体気分で使ってる、enumを使わないなどなど。
C#について本ではなくて、コンパイラ作成のツールとして使ってるだけだったから見逃してやってが、それにしてもきもかった
そのくせC#オススメとか書いてるし、メモリ解放不要で文字が扱いやすい言語ぐらいにしか思っていないんじゃないだろうか
try-catch は、バックトレースで関数をさかのぼれるので、 一番外側のmainで、catchすればよいのでは? そして、DBとか重要な所だけ、その関数内でcatchすればよい JSとか、エラーだらけでボロボロだよ googleのページ全体翻訳とか、検索画面でタイトルの右に出る、 矢印キーで動く、小さい3角形のマーカーなど、 無限ループや誤作動が多い 動的言語は表示に使う場合には、エラーでも大したことないし、 防衛的プログラミングはいらない DBを更新する時だけ、気をつければOK 防衛的プログラミングは組み込みで使う 特定のアドレスで、データ化けがよく起こるから、 データが変わっていないか、何回も確認したりw
日本語でおか
復帰可能なところでcatchしてログなりメッセージなり出力するに決まってるだろ
フォトショとかにある、スペースキーで背景を掴んでスクロールする機能の名前は何ですか?
photoshop space drag でググると HandMove 手のひらツール フリックパン などとあるね
Fizz Buzzを一番短くかける言語を教えてください
491 :
デフォルトの名無しさん :2014/04/21(月) 19:44:58.21 ID:SXKixTjJ
あと1万年ぐらいしたら、youtubeみたいなものは跡形も無く消えてますか?
>>491 あったとしても廃れてるはず
その頃には映像・音声・触感・匂い・味の五感メディアを統合配信するWebが出来上がってて、
1万年ね、1万年後には、例えるとしたらYouTubeは江戸時代の飛脚のように、使われなくなってるはず。さらに優れたサービスが配信されるので。
現在では飛脚の代わりに宅配便があるからねぇ
VC++2010でDirectX系のlibファイルをデフォルトで追加されてるようにするには どうすればいいでしょうか?
追加の依存ファイルに加える
pragmaで指定したものを stdafx.hに書くのが楽
496 :
デフォルトの名無しさん :2014/04/22(火) 00:21:05.76 ID:eVJa++fK
boostの機能をほぼすべて使えて、コンパイラ依存しないDLLで使える、 boostラッパーライブラリありますか?
dllにした時点でコンパイラ依存も糞もないと思うんだが
boostだなw
何故猫も杓子もjqueryですか
見られなかったけど 大事なのはスキルじゃなくて成果物についての妥協ラインを どこまで引き下げられるか だったりする それから、これとこれを絶対に入れたいから・・・と積み上げるしかない
cat sample.txt | sed -e '10,15d' > sample.txt こうするとsample.txtが空になってしまいます cat sample.txt | sed -e '10,15d' > sample2.txt 別のファイルに保存したら空になりません どうしてですか?
(cat sample.txt) | sed -e '10,15d' > sample.txt 環境ないからテストできないけどこうしてみたら?
カッコで囲っても空になってしまいます
どうやるか、じゃなくてどうしてそうなるのか。 を聞いているような。 これなんだっけ、 ; だとコマンドが終わるけど パイプでつなげているからファイルをロックしたままとかだったような。 なので、 cat sample.txt | sed -e '10,15d' > tmp.txt ; mv tmp.txt sample.txt とかだと大丈夫になると思う
単純にファイル上書きして空になってることに気づいてないだけとか
勉強になりました どうもありがとうございます
sedは while (gets(buf)) { } な感じで逐次実行し、一方リダイレクトでファイルを作る方は fopen(fname, "w"); ってやってるからじゃないの?高水準じゃなくて低水準の関数使ってるかもしれないけど。
> で上書きする? >| じゃないとダメなのはシェル次第か、、、
>| って何?初めて見た。
バカしか残っていないようだ echo hoge >hoge した後の cat hoge >hoge が空になるのと同じ原理
ああ、普段noclobber 入れてるからか、おれ
>>514 バカである事を自覚していなバカは始末に負えないな
catは当然のことながら起動された後でなければ入力ファイルとしてhogeをオープンする事は出来ない
一方、shはcatに標準出力として渡さなきゃならないのでcatを起動する前にhogeを出力ファイルとしてオープンしなきゃならない
in-placeオプションが事足りればそれを使い そうでないなら一旦tmpに書き出してmvするってのが定番だね 他にはspongeを使う方法もある
$ cat hoge | vim -c ':wq! hoge' - の類もあるね
>>522 マジでわからないのか? こんなバカ見たことない。 w
>>517 てか、これ変だよ?
> 一方、shはcatに標準出力として渡さなきゃならないので
>>523 つまり、説明できないということですね。
526 :
デフォルトの名無しさん :2014/04/23(水) 18:35:32.17 ID:rM84JtQI
ID:rM84JtQI は無視の方向でお願いします。 無駄に荒れると思うので。
ウソを垂れ流すバカを叩くことより、荒れない事を優先する奴は技術板には来るな ww
いや、それを混同するおまえのほうがダメな人だから
どっちがどうだか知らないが 引っ込みがつかないってのはみっともないよな
ID:zIJSuJcnのような低レベルなバカがはびこると技術板としての価値がなくなる それがわからないバカも同罪
盛り上がってるね!みんな優しいねぇ。
cat sample.txt | sed -e '10,15d' > sample.txt
パイプでつながっていると、すべてのコマンドが同時に始まる。
> はファイルが存在する場合、そのファイルを空にして書き込める状態を作る
で、
> がファイルに書き込む準備をするために空にしたファイルを、一番左にあるcatが読み込み、空を右側のsedに渡し、一番右の>で空をファイルに書き込み。
すると、左から右に処理されると思っていると予想とは違う結果に。
という事でいいのかな。
>>502 http://www.amazon.co.jp/dp/4873112672 おすすめ
AFOって、、(´・ω・`)
>>532 man bash
には書かれてる事だね
いや、読んだこと無いなぁ。 time sleep 3 | sleep 3 | sleep 3 とかすると、それぞれのコマンドは3秒待ってるのはわかるけど、同時に始まるので合計でも3秒しか使わない。 全部のコマンドが終わるのは9秒じゃない。 あたりまえだけどpsでみるとプロセスidを持ったsleepコマンドが3つあるのが分かるよ。 おもしろいね。 502がいなくなったのが残念だけど。
536 :
デフォルトの名無しさん :2014/04/24(木) 05:33:01.61 ID:YJNOBAtj
一番コンピュータに詳しい職業は何ですか? やはり、情報系の研究者ですか? カスタマーエンジニアも結構詳しい部類に入りますか?
>>536 > コンピュータに詳しい
の定義による
コンピュータの全てです。
ゲイツが一番詳しいよ
>>532 また、知ったかぶりするバカが現れた。
「同時に」ってなんだよ。 www
併行してって書けば
全部書けるか事前チェックしようとしたら 半角スペース類は全部削られるのねw
sedでこんなに熱くなれるのに何で専用スレがこの板に立たないの!? Unix板は過疎だけどねw
>>546 近視眼的で頭の悪い人が見たらスレ立てする可能性があるから
そういうレスはひかえるように!
上で数人が盛り上がってるのはsedじゃなくてshの話だし、 多くの人は、明らかにダメなことだからあまり興味持ってない
>>545 htmlの仕様で、連続する半角スペースと改行は、ひとつの半角スペースとして表示してるだけでなくて?
>>546 呼吸についてとか日本語についてのスレがないように、基礎知識過ぎるんじゃないの。
<<<echo "Hello PHP";
‎こういうのはどう
552 :
デフォルトの名無しさん :2014/04/24(木) 13:50:44.35 ID:gS8kiZ2R
全 角と交互に使えば使えるよ
JavaFXをコマンドラインからコンパイルする方法を教えてください PCスペックの都合上IDEが重すぎるのでテキストエディタでコード書いています
FeedBurnerの登録について教えてください。 スレチなら、該当スレへ誘導願います。 フィードタイトル: アドレス: の入力画面でのアドレスを ブログのアドレスそのまま(htp://〜.jp/)入力して登録したのですが、 「ドメイン名を入力するのが一般的」というのを知りました。 自分のブログのRSSをクリックすると、ちゃんとFeedBurner画面に飛ぶのですが、 ブログアドレスそのままでは、何か影響してしまう事はありますか? ドメイン名のみに変更した方が良いのでしょうか? 宜しくお願いします。
少なくともプログラム板のネタじゃないでしょ
>>553 普通に javac でコンパイル出来ない?
Oracle のサイト見ると "As of JDK 7u6 JavaFX is included with the standard JDK and JRE bundles." って書いてあるから、それより新しいJDKなら特にクラスパスとか設定しなくてもコンパイルできるはず。
だめならエラーメッセージ貼って。
ソースコードはみなさんどうやってバックアップをとってますか? Dropboxでプロジェクトのフォルダをそのまま同期すると、Dropboxクライアントの不具合でファイルがぶっこわれると怖いので zipで固めたのを同期しています もっといい方法あったらおしえて
>>559 プロジェクトのフォルダだと壊れる可能性があって、Zipだと大丈夫だと思う根拠って何なの?
>>559 ふつう、リビジョン管理ツール。プロジェクトを丸ごとバックアップなんて無意味なことをするのがそもそも間違いだ。
>>560 Dropboxのクラウアントのバグでファイルを削除してしまうかもしれない
同期するファイルを分けておけば、壊れるのはその同期するファイルだけで、プロジェクトは守られる
>>561 プロジェクトごとにリポジトリ作ってGitHubとかそういうところにあげるの?
新しい環境に移行するときプロジェクトが100とかあったらそれ全部ダウンロードするとき手間かからない?
>>563 百ものプロジェクトをなんで全部一気にダウンロードするの?
必要な時に必要な分だけダウンロードすればいいだけだと思うのだが。
尤も、どうしてもその必要があるならそういうスクリプトを用意するだけだけど。
あーそうか、なんでもかんでも丸ごと手元に置いておかないと安心できない性分なのか。
それなら、日付でバックアップするといいよ。つーかむしろ、日付ごとにCDRでも焼いたらいいんじゃね?w
>>563 普通のサーバにgit pushして、落としたいなら固めて落とすか、再帰的に落とすかすればいいよ。
githubとかが個別にしか落とせないとしても、順次落としてくスクリプトなんてすぐ書けると思うけど。
>>562 > Dropboxのクラウアントのバグでファイルを削除してしまうかもしれない
この説明はまあわかる
> 同期するファイルを分けておけば、壊れるのはその同期するファイルだけで、プロジェクトは守られる
こういうことかな?
自分のPC上に
1. ソースコードが入ったディレクトリ (Dropbox で同期しない)
2. 1. をzipで固めたものが Dropbox ディレクトリに入ってる
がある。2が壊れても1があるから安心。
>>563 新しい環境に移行する場合には Dropbox でも GitHub でも USBメモリでコピーでもひと通りコピーしなくちゃならないから、手間はたいして変わらないような気がするけどね。
GitHub で管理する場合でも1つの大きなプロジェクト作って、その下にサブプロジェクトのフォルダ100個つくれば git clone で一発でローカルに持ってこれるし。100のプロジェクトが互いに依存してるならその方がいいだろ。
>>559 ローカルHDD(修正ごと)、オンラインストレージ(適宜)、USBメモリ(マイナーバージョン)、CD-R(メジャーバージョン)
バックアップの頻度で移し変えてる
一人でやるときはリビジョン管理ツールは使わないな
というかリビジョン管理ツールはあくまでリビジョンの管理であってバックアップに使わない
趣味でプログラミングしようと思うのですが どれくらい書ければプログラミングができると自負してよいのでしょうか それを目標に勉強していきたいと思うのですが
趣味で模型を作ろうと思うのですが どれくらい作れれば模型が作れると自負してよいのでしょうか という質問といっしょです
模型はつくろう思えば誰でもすぐに組み立てられるじゃないですか プログラミングはそうじゃないですよね
bitbacket使えばいいじゃん。 複数台のサーバがあれば、rsyncすればいいし。 rsync先のサーバで日付毎にtarで固めて最新3ヶ月分だけ保存とか
>>568 自分が常用出来るプログラムを書けるようになったら
プログラマレベル3から
>>568 自分が自信を持てたら。
20年ほどやってますが、まだまだです。
575 :
KAC :2014/04/25(金) 20:43:34.37 ID:QjWp/00E
>>568 プログラムってのは作文と同じようなもの。
趣味で論文を書こうと思うのですが
どれくらい書ければ論文執筆ができると自負してよいのでしょうか
という質問と同じ。
自分で「書けた」と判断できる程度になれば名乗るのは問題ない。
仕事になるかどうかはまた別の話。
>>572 これな気はするなー
今のところ、Greasemonkeyみたいなのを除けば自作プログラムで常用に耐えるのはできてない
アイデアはあっても技術不足
Dropboxにいれてるよ。 勉強用のプロジェクトだけど100個位。 壊れたこと無い。 壊れるということではGoogle Driveで壊れたことがある。
double型の==での比較って0に限ってはしても良い?
そういう奴に限って、中間ファイルも消さずにバックアップしているんだろうなぁ。
>>578 その比較に到達する過程で、0.0であることを保証できるのなら0に限らず等値比較していいと思います。
そうではない単なる演算結果であるならば、やめた方が無難。
Dropboxが他人のアカウントのファイルを同期してしまったらどうすんだよ おまけに過去のリビジョンもふっとばされたら一瞬にしてローカルのファイルは消え去るぞ
theoの伝授する正しいファイル上書きの仕方 をgitはやってないし消える時は消える
若いうちは冒険しとけよ
ソースコードの扱い方すら知らない奴が多くて困る
もうKDEみたいになっちゃいさい
>>588 いろいろなコンピュータを考えた時、他の技術者の要素は使われていない場合もけっこうあるから。
bitbucket突然サービス終了しそうだから怖い
アトラシアングループだから多分大丈夫だと思う。 有料化はあるかもしれんけど。
クラウドだのネットストレージサービスだの 俺は全然信頼できない
アトラシアンって何して稼いでるとこ?
>>594 いずれは、銀行と同程度には信頼に足る組織ができるんじゃねえ?
apacheの.htaccessに
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^list-([0-9A-Za-z]+)-([0-9]+) list.php?user=$1&range=$2 [L]
と書いたら
http://example.jp/list-yamada-20140101 で
list.php?user=yamada&range=20140101
が呼び出されてるのですが
RewriteRule ^list/([0-9A-Za-z]+)/([0-9]+) list.php?user=$1&range=$2 [L]
と書いても
http://example.jp/list/yamada/20140101 で
list.php?user=yamada&range=20140101
が呼び出されていないようです。
ググってでてくるサンプルでは / が使われているようですが、私の環境ではなぜか / でうまく動きません。
なにか書き方が悪いんですかね。
板違い
ものすごい初歩的な質問で申し訳ないんだが、 DBにアクセスする時に使うユーザー名とかパスワードとかを設定ファイルに書いておいて そこから読み込むようにしたんだけど、この設定ファイルを非公開ディレクトリに 配置したらPermission deniedのエラーが出たんだ。 死ぬほどググったんだが、解決方法が見つからないので教えてください。
クライアントがログインするときに使う設定をサーバの非公開ディレクトリに置いた?
>>601 レスありがとう
iPhoneのプッシュ通知をするためにアプリからトークンを送信するんだが、
そのトークンをDBに保存するために使うホスト名やパスワードだからクライアントのログインではないです。
>>600 エスパーすると、httpdのユーザーで閲覧可能なパーミッションにして、かつhttpd的には非公開なところに置いて、httpdが実行するプログラムからのみ読ませる。
apacheのログとかに詳細なエラー出てない?
板違いだな しかもPermission deniedの表示でパーミッションの問題なら エスパーでも何でもないw
プログラミングと関係ねえよなパーミッションの話だもんな
>>607 web板でないのにウェブサーバの話というのをエスパーしてみました。
>>607 それは結果論だろwまぁお前はなにもできなかったんだからオレに偉そうにする理由はないなw
解決した途端態度がでかくなるやつ
>>611 解決した途端に偉そうに湧いて出てくるやつw
結果論www エラーメッセージにパーミッションと書いてあるのに気がつかないやつが結果論w
>>613 お前バカだろw気がつかないから結果論なんだろw頭悪すぎw
ランダムな文字列vから文字cが一番最初に現れる位置を探すアルゴリズムで効率のいいアルゴリズムをおしえて たとえば v="g93kfksh3h;dm2s" c="f" ならcは位置は4である
>>615 文字列の長さ、検索を何回行うかにもよるんじゃないか。
それによっては、index作っとくと速くなるとかRDBMSがやってたり。
618 :
デフォルトの名無しさん :2014/04/28(月) 21:34:20.23 ID:nYC6TNjH
>>618 横レスだけど、マルチスレッドを利用した文字列検索アルゴリズムがあるとは
知らなかったので、ぜひ教えてください
n個のスレッドを作成し、各スレッドが文字列をn等分する位置から一文字ずつ走査し、 見つかった位置の最小値を返す。
番兵使うと早い
スレッドたくさん立てれば速度が上がるもんかね? しかも、でてくる可能性の低い後半も同時に走査したらむしろ速度が落ちないか?
早いも何も使わなかったら 最善=最悪 じゃないっすか… 使うとしても そのチェックに掛かるコストもあるしスレッド生成のコストも当然ある 結局の所、状況次第じゃないかな
文字列が超長くて(遺伝子など)、実行環境がマルチコアで、コアが沢山余っているという状況の場合だろうな
625 :
KAC :2014/04/28(月) 22:22:20.17 ID:rohD7ll5
文字列の長さはどうやって算出するつもりなのか・・・
そりゃ数文字程度ならオーバーヘッドが無駄になるけど 想定してるのもっと大きな文字数なんだろ? むしろ心配するのはオーバーヘッドではなくてI/Oのほうだと思うが
627 :
デフォルトの名無しさん :2014/04/28(月) 22:38:52.54 ID:G/O2/oE+
620だと 各ブロックがa b c d eだとすると aの走査が終わるまで答え出ないし 答えはaにあればそれでbにあればそれ+aの長さだし
>>627 その点は623で同期に掛かるコストも踏まえて指摘したよ
文字がランダムに並んでる前提なら どれだけでかい文字列だろうと最初の255文字を走査すれば概ね当たる。 下手な小細工など不要だ。
確かに前提条件があいまいな部分はあるけどさぁ 重複ありソートなしです ってのぐらいは読み取ってあげようよw
そういやシングルスレッドのソートや検索ってもう定番があるけど マルチスレッドにもそういう定番のデータ構造やアルゴリズムあるの?
クイックソートもマルチスレッドに向いてる気がする。 最初にデータを二つに分けるから、それぞれにスレッドを割り当てるだけで倍のスピードになりそう。
いくらスレッド数を増やしてもメモリの数は変わらない。 メモリへのアクセス経路が1本分しかなければ、そこがボトルネックになる。
>>629 単純なことだけど頭いいな。このスレで久々に感心した。
マルチスレッド云々とか講釈垂れてる奴とは全然違うわ。
カスタマーエンジニアはハードウェアに関してしか詳しくないですか? ソフトウェアはまったく駄目ですか?
オブジェクト指向について質問です。 現在、C言語で書いたプログラムをJavaに書き直しているのですが、 データA,B,C,Dを引数にとりデータEを出力するという関数があり、 これをどのように扱えばいいのか困っています。 自分なりに考えたのは、データA,B,C,Dをメンバに持つクラスを作成して そのメソッドとして上記の関数を実装するのがいいのかなと思ったのですが データA,B,C,Dがそれなりに大きいデータなので、クラスのサイズが 大きくなってしまうのが良くないのではと思いました。 また、出力されるデータEもデータサイズが大きく、こちらもどのように 扱えばいいのか分かりません。 また、上記の関数のみを持ったクラスを作成し、引数でデータA,B,C,Dを 渡すことも考えたのですが、関数のためにクラスを作成するのは オブジェクト指向として正しくないような気がしました。 何年も構造化プログラミングのみでプログラミングを行っていたため なかなかすぐにオブジェクト指向に移行できずに困っています。 このような場合、どのようなクラス設計にすればいいのでしょうか?
>>638 >関数のためにクラスを作成するのはオブジェクト指向として正しくないような気がしました。
Math.Abs()とかFile.WriteAllText()とか「ただのサブルーチンだけど、サブルーチンは作れないから
クラスのメソッドにしました」みたいなやつとか普通にあるし、クラス化するのが不自然だったら無理に
クラス化することはないと思うわ。
引数の個数や大きさや意味で判断するものじゃない その結果は誰が出す情報なのか、とか考えて、その”誰”をクラスにするイメージ ただ、単純な数学の変換する関数とか(sin、cosとか)は、Cの関数と同じようにクラスメソッドとしてまとめてあるだけのものもある エスパー力が足りんので具体的なアドバイスはできずすまん
641 :
KAC :2014/04/29(火) 10:56:33.91 ID:3cTlepGQ
>>638 A,B,C,D,Eじゃそれぞれの関係が全く解らん。
それぞれの関係によって正解は変わるからもう少し具体的に書いてみたら?
使う側から考えてみたら? Foo foo = new Foo(A, B, C, D); foo.getE(); という形にしたとして、この後fooはもう使わないんだったら Foo.calcE(A, B, C, D); みたいなのでいいと思うし。
バックアップでgithubとかbitbucket使ってる人たちってさ パスワードを記録したファイルとかどうやって管理してるの?
644 :
638 :2014/04/29(火) 12:13:42.51 ID:7g6Ucye9
皆様、レスありがとうございます。
メソッドをまとめたようなクラスなどは普通にあるとのことなので、
今回はメソッドのみを持ったクラスを作成したいと思います。
また、使う側から考えてみるという考え方はハッとさせられました。
今回実装しようと思っている関数の場合、一度呼び出して結果を得た後はもう呼び出さないので、
A,B,C,Dをメンバに持つクラスを作成するというのはあまり意味がありませんでした。
>>642 様にレスをいただくまではまったく気づきませんでした。
クラス設計に行き詰まったら使う側になって考えるというのを意識したいと思います。
皆様ありがとうございました。
クラスはロボットで メソッドはそのロボットに「これをやれ」という命令 そういう感じで関係を単純化しようってのがオブジェクト指向なので 逆に動作に変化がなく入力->出力の関数なら無理に分けなくて そのまま一ユニットのままでもいいのよ。
小学校の生徒を管理するクラスはどう作ればいいのかおしえて 1学年4クラス 1クラスに最大30人の生徒が在籍する 必要な機能は ・生徒に扱うデータは名前・年齢・成績(国語算数理科社会体育で3段階評価) ・データを取り出す・追加する・修正する・削除する ・1学年に在籍できる生徒数を超える場合は転入できない
馬鹿には無理
データベースでやることじゃない?それ
649 :
KAC :2014/04/29(火) 12:55:08.56 ID:3cTlepGQ
>>646 生徒、クラス、学年とかでそれぞれClass作ればいいだけ。
何がわからないのか書いたほうがいいぞ。
クラスの書き方を知りたいんです
用意するメソッドとかプライベート変数とか
書かずに質問してるなら、まず書き方ググって書いてみなよ 書いた上で、この書き方ではこんな問題が起きたんだけどってんならまだ話しようがあるけどさ 算数おしえて!ってだけ言われた気分だよ 当然ながら、返答は「ん、どこが分からないのかな?」にしかならんよ
>>651 名詞をフィールドに、動詞をメソッドに。
凄く基本的なことだぞ。
>>650-651 public class 小学校
{
private List 生徒;
public 生徒 データを取り出す(String 名前) { }
public bool 生徒を追加する(生徒 追加する生徒) { }
public bool 生徒を修正する(String 名前, int 年齢, int[] 成績) { }
public bool 生徒を削除する(String 名前) { }
}
pubic class 生徒
{
public String 名前;
public int 年齢;
public int[] 成績;
}
655 :
デフォルトの名無しさん :2014/04/29(火) 13:22:58.00 ID:yqCir8Wj
質問してるのは学校の先生か。 生徒のデータを効率よく管理できるようにプログラム書くように言われたけど、どこから初めていいかさっぱりみたいな状況かな? Excel でやるんじゃだめかね?
カプセル化しなくていいの?
sedで特定の文字列を含まない行を表示する方法を教えてください
sedって何
>>657 sed '/foo/d'
grep -v foo
>>646 ・まず最初に、要求仕様(
>>646 )の前半部分から管理システムの構成要素となるオブジェクトを洗い出す
ここでは「小学校」「学年」「クラス」「生徒」がオブジェクトになる
・次に、各オブジェクト間の所有関連を検討する
・ある小学校オブジェクトは6つの学年オブジェクトを持つ
・ある学年オブジェクトは4つのクラスオブジェクトを持つ
・あるクラスオブジェクトは最大30の生徒オブジェクトを持つ
ここまでの設計について、各オブジェクトを四角形で、そして各関連を直線で描けば、
それはいわゆるクラス図と呼ばれる設計図の原型になる
(続く)
(
>>660 の続き)
続けて、要求仕様(
>>646 )の後半部分を元にして、原型へ属性やメソッドなどを肉付けしていく
・最初に、オブジェクトに固有なデータを洗い出し、それら属性としてオブジェクトに追加する
ここで生徒オブジェクトに「名前」「年齢」「成績」という属性が必要となることは、容易に分かるだろう
また、同じ種類のオブジェクトが複数存在しうる場合、つまり具体的には学年/クラス/生徒オブジェクトには、
それらを一意に識別できる属性「学年番号」「クラス番号」「生徒番号(=いわゆる出席番号)」が必要になる
・次にメソッドを検討することにしたいのだけれど、残念ながら要求仕様そのものが曖昧だ
そこで、ここでは以下の仕様を想定し、それを元に必要なメソッドを設計していくものとする
(言い換えると、要求仕様が具体的でなければ、設計を進めていくことは誰にもできない、ってこと)
・「(他校から)生徒が転入した」というシナリオだけをを想定する
・転入先の学年とクラスは(人の判断によって)すでに決定しているものとする
・まず小学校オブジェクトに「転入」メソッドを追加する
このメソッドは入力パラメタの学年番号を元に該当する学年オブジェクトの転入メソッドを呼ぶ
・同様に、学年オブジェクトに「転入」メソッドを追加する
このメソッドは入力パラメタのクラス番号を元に該当するクラスオブジェクトの転入メソッドを呼ぶ
・同様に、クラスオブジェクトに「転入」メソッドを追加する
このメソッドは自身と入力パラメタの学生オブジェクトとの所有関連を作る
まだ設計の途中で不完全だけど、オブジェクト指向設計(=クラスをどう作ればいいのか)は、こんな感じで進めていく
一通り設計が終わったら、オブジェクトをクラスへ、属性をインスタンス変数へ置き換えることでコード設計に着手し、
実際に動かしながら試行錯誤して(=プロトタイピング手法を使って)設計の詳細を固めていけばいい
馬鹿には無理
>>646 OMTとかRUPとかで仕様からクラスの発見方法がある。
基本は名詞がクラスになる。
ただクラスにしない場合もあるし、追加する場合もある。そこらへんはシステムの規模やドメインのノウハウによるから、簡単に教えられるものではない。
例えば俺なら、生徒の転入を受付たりクラス分けを考えてる人をクラスにする。
学校の課題かなんかだろうけど。
>>659 あああああありがとうございますできました
IT系の仕事ではないんですが 仕事を自動化したり効率的にするためにプログラミング勉強しようと思ってます そこでJAVAでその目的は適いますか?それともVBAがいいですか?
なんの作業をさせるかによる
667 :
KAC :2014/04/29(火) 22:45:54.37 ID:3cTlepGQ
>>665 何を効率化させたいかによる。
Excel関係ならVBAだろうし、ネットワーク関係の何かならJavaだろう。
Androidスマホで何かしたいならJavaだろうし。
開発言語がものすごい数あるのは、目的毎に得手不得手があるから。
やろうとしていることが明確なら、そこから言語を選ぶのが無難。
いろいろな事をしたいというのなら、汎用性の高い言語(C/C++とか)もある。
何やるのかよく解らない場合は、汎用性のそれなりに高い Java は無難だと思う。
>>665 何を使った仕事を自動化したいかによる。
VBAはExcel/Wordなどの自動化なら最初に試したいところ。
但しExcelでも目的が「データと見た目の分離」とかならAccess向きかもね。
Javaはちょっと目的と違う気もする。出来るとは思うけど目的にたどり着くのに時間掛かりそう。
>>667 >>668 なるほどexcel wordとかの事務的な処理を何となく浮かべてたんですが
他のことにも興味あるのでJAVAにしようかと思います
JAVAでもEXCELを動かす方法はネットでも紹介されてますし
JAVAでも日常の業務を効率的にすることは出来そうなので
>>665 そういうのはスクリプト言語の方が向いている。
今、どんなふうに仕事をしてるのかにもよるけど。
Javaは人に使わせるときに環境に依存しないようにできるというのが大きなメリットだが、自分のためならその時動けばいい。
あと、スクリプト言語で手に余るほど複雑なことをやりたくなってきたらJavaとかの方がいいかも。
Java めんどくさいよ。 プログラムの経験がないなら Python, Ruby, Perl あたりのスクリプト言語にした方がとっつきやすい。 将来、プログラムの規模が大きくなったり、パフォーマンスの向上を図りたくなった場合には Java とか C に移行すれば良し。
基本情報技術者も取りたいんでJAVAにします 面倒だけど無難に色んなこと出来るみたいなんで
仕事の自動化や効率化は大いに結構だけど、プログラムだけが答えとは限らない。 Windows環境はプログラムによる自動化を行うには非常に不向き。 javaもvbaも役には立たないよ。
>>627 4スレッドなら、4文字ピッチでずらして読んで行けばいい
>>629 世の中 wchar_t とかもあるし
windowsに依存し過ぎるのは危険とよく言われるがwindowsのシェアが崩壊することはあり得るのか?
5年後にはandroidやiosで仕事してるかもしれない。
命を失うくらい痛い目見ないと学習しません
679 :
630 :2014/04/30(水) 00:46:28.49 ID:pJOMFQFc
>>629 あぁ、ごめん
"概ね"の部分を読み落としてた
\0を除く0x01-0xff範囲が255なのでその試行回数になったのかな?と察したが
例えれば、6面体のサイコロで1が出る確率は1/6だから6回振れば概ね出るだろうみたいなもので
それって "概ね" なるものが具体的に何パーセントか定義しないと話しにならないんだよね
1-((254/255)^255)=0.6328430720297717
63%を概ねと言っていいものかどうか…
そもそも文字って漢字とかも含めるととてもじゃないが255文字だけ調べてもしょうがないよ
>>673 あのこれなんですが
仕事の自動化や効率化をする為のプログラミング以外の選択肢ってなんですか?
既存のソフトとかマクロを使うってことですか
>>684 もちろん。
汎用性の高い手段ほど、実現するまでの期間も(プログラミング初心者なら勉強含めて数年かと)掛かるから
その機能が既にあって、それで済むならそれがいいんだよ。内容次第では数時間でできるんだから。
ツールやプラグインなら2〜3日で実現できることが
そのジャンル向けのマクロやスクリプト(例:OfficeのVBA、ファイル操作のバッチファイルやシェルスクリプト)だと勉強だけで数週間じゃないかな。
つかプログラミング経験者でも、そのジャンルでのプログラミング経験が無ければ…うーん、日曜プログラマの俺なら数ヶ月くれって言うと思う
もちろん、そのジャンルのプログラミングを普段からやってるなら色んなことが短い期間でできるだろうけど…
686 :
デフォルトの名無しさん :2014/04/30(水) 05:11:34.97 ID:LdsTwThd
誰か
>>637 の質問に答えてください。お願いします。
687 :
デフォルトの名無しさん :2014/04/30(水) 05:19:47.32 ID:RSryIHGR
なんだやぶからぼうに
>>686 メーカーの方針や人によるんじゃね、やっぱ専門はハード側だろし
>>675 L1 共有してる CPU なんかあるのか?
コンパイラの最適化オプションをちゃんと設定すれば済むレベルの問題だったりしてな
>>689 同じキャッシュブロックをアクセスする場合
共有してないからinvalidateが多発して効率悪くなる
という趣旨
文字列検索が文字列から1文字だけ検索する話になってる 普通は長い文章の中から一定の字句やその変形を探し出す必要が生じると思うんだけど まあ前提条件がいい加減だからいいんだ(´・ω・`)
>>615 には文字を検索するってしっかり書いてある件
しかし、 c = "f" なら c は文字列なんだよなあ って処理系書いてないけど
VBは文字型ないから、文字でも"c"だな。
ブラウザゲームが作りたいんですが複数の人と同時にプレイできるようにするのってソケットで接続しっぱなしだから実現できるのでしょうか?
697 :
デフォルトの名無しさん :2014/04/30(水) 17:26:04.24 ID:8H1kM5Z6
ソシャゲなんてつけっぱじゃなくてもいいし
ブラウザとかhttpとかは単なる入出力インターフェースだし、 まずはコマンドラインでマルチプレイの基盤ができないとな でもほとんどRDBMSとのやり取りだと思うぜ。
701 :
696 :2014/04/30(水) 18:02:04.78 ID:rHgIYikH
とりあえずコマンドラインでマルチプレイを作るところからやってみます
プログラミング用テキストエディタでお勧めはありますか。 Mac OSX Windows 7 それぞれのOSでお勧めのテキストエディタがありましたら、教えていただければ幸いです。
705 :
KAC :2014/04/30(水) 20:09:52.17 ID:PzuV9Sut
>>704 テキストエディタよりも統合開発環境に手を出すほうがいいんじゃ?
WinならVisualStudioとか
宗教論争開始↓
ATOM
708 :
KAC :2014/04/30(水) 20:23:15.17 ID:PzuV9Sut
いや、さすがにこれだけいろんなソフトが充実してきたら 論叢になるようなネタは無いだろ。 「どれが高機能」「どれが使いやすい」なんて議論は全くの無駄で、 最終的には使う人の"好み"で選ぶってのが結論なんだから。
ChromeOSってネイティブアプリよりブラウザアプリになるみたいなので ATOMみたいな変なエディタが出て来たんだよね
これは丸投げして条件を後出しする禁じ手とみた
>>704 emacs使ってますが、オススメはしません。使いこなすまでに時間がかかる。
人に聞くような人はメモ帳とかテキストエディットでいいんじゃない。
>>704 Windows
・VisualStudio(Express版は無料)
・ソフトウェア板で「エディタ」でスレタイ検索
OS X
・Xcode
・新mac板で「エディタ」でスレタイを検索
共用
・Eclipse
・Vim
・Emacs
・ソフトウェア板でエディタ(ry
結局Vimが最強ということか
>>704 Windowsならxyzzyでしょ。Macは知らん。
>>705 回答ありがとうございます。統合開発環境も候補にいれてみます。
>>707 ATOMというテキストエディタもあるんですね、勉強になります。
>>710 すみません。気をつけます。
>>711 回答ありがとうございます。emacsも調べてみます。
>>713 まとめありがとございます。
>>714 回答ありがとうございます。
テキストエディタは、Vim, emacs, ATOM で調べてみます。
また、統合開発環境 VisualStudio, Eclipse, xcode も考えてみます
皆様ありがとうございます。
>>715 Windows用のemacsもあるよ
xyzzyも罫線モードとか便利だけど、elispの互換性はいまいちなんだよね
リンカスクリプトの質問です。 --- loaderscript.lds --- OUTPUT_FORMAT(elf32-i386); OUTPUT_ARCH(i386); ENTRY(_start); SECTIONS { . = 0x00280000 + SIZEOF_HEADERS; .text : { *(.text) } .rodata : { *(.rodata) } .data : { *(.data) } .bss : { *(.bss) } } --- loaderscript.lds --- こんなスクリプトを書いて --- test.c --- int _start(){ return 0; } --- test.c --- というプログラムをコンパイル & リンク して (gcc -m32 -nostdlib test.c -c -o test.o && ld -T loaderscript.lds test.o) ※続きます
719 :
718の続き :2014/04/30(水) 23:07:47.95 ID:5eizdNbo
objdumpで、セクションの割り当てとファイル内のセクション位置を確認した所 (objdump -p -h a.out) Sections: Idx Name Size VMA LMA File off Algn 0 .text 00000006 00280074 00280074 00080074 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE 1 .eh_frame 00000038 0028007c 0028007c 0008007c 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 2 .comment 0000001c 00000000 00000000 000800b4 2**0 CONTENTS, READONLY .textセクションのファイルのオフセットアドレスが、ELFヘッダの直後ではなくて ELFヘッダから0x80000バイトも離れた所に入ってしまいます。 どのようにリンカスクリプトを改良したら、.textセクションを 0x00000074(ELFヘッダの直後)から開始させることができるんでしょうか。
>>715 Macはemacsとviが入ってなかったっけ。GUIで使えないと思うけど。
>>717 Meadowもあるけど、cygwinのemacsととかネイティブとかどれがいいんだろ。
>>719 それは仮想メモリのどこに配置されるかの情報であって、
ファイル内の位置とは別物なんじゃないの。
722 :
KAC :2014/05/01(木) 00:12:12.16 ID:uGMj/LB5
>>719 とりあえず同じ内容で試してみたけど、
File offの値は 00000080 だったよ?
FreeBSD 9.2-RELEASE-p4
gcc (GCC) 4.2.1 20070831 patched [FreeBSD]
GNU ld 2.17.50 [FreeBSD] 2007-07-03
C言語でプログラム書いてるんだがint型の数値をLPWSTR型の文字列に変換できなくてここに来ました。 スレチだったら言ってください。 int i = 0; char num[2]={0}; LVITEM item = {0}; って感じの変数がある時にint型のiをitem.pszTextに文字列として入れたいので itoa(i,num,10); item.pszText = TEXT(num); ってやったら itoaの行で warning C4996: 'itoa': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _itoa. See online help for details. pszTextに代入する行で error C2065: 'Lnum' : 定義されていない識別子です。 って感じの警告とエラーが出てきてしまうのですが、どうしたらいいでしょうか?
724 :
KAC :2014/05/01(木) 01:03:01.84 ID:uGMj/LB5
>>723 char←→wchar_t←→TCHAR
"文字列"←→L"文字列"←→TEXT("文字列")
LPSTR←→LPWSTR←→LPTSTR
LPCSTR←→LPCWSTR←→LPCTSTR
_itoa()←→_itow()←→_itot()
このへんの関係を一度しっかり調べたほうがいいかと。
んでどれを使うのか、コンパイルオプションも見た上で統一すべき。
警告は、itoa()の代わりに_itoa()を使えと言ってる…が、
実はそれも上手くいかないハズ。統一できてないからな。
質問です。 const double x = -1.0 / 0.0; がOKで const double x = -1 / 0; がゼロ割算でエラーになる理由を教えてください。 0.0と0は違うんですか?
>>721 ありがとうございます。
File offの値が 0x8007cになっていて、
ファイルヘッダから512kbも離れた位置に
先頭セクションである.textが配置されてしまいます。
>>722 検証ありがとうございます。
どうも、私の環境だとリンカスクリプトが悪さをするらしく
自作のリンカスクリプトを使わずに、デフォルトのものを使えば
(gcc -m32 -nostdlib test.c)
先頭セクションのファイルオフセットはヘッダの直後になりますね・・・
デフォルトのものを見てみることにします。
>>723 文字は、charではなく、ucharじゃないの?
char num[2]={0}で、これも意味不明
0がどう解釈されるかわからないし、charを2つ指定するべき
TEXT(num)で、型が合ってないのでは?
>>726 実数型では、Infinity(無限大)で、
整数型では、エラーじゃないの?
>>725 >>728 返信ありがとうございます。
char="文字列"=LPSTR=LPCSTR
wchar=L"文字列"=LPWSTR=LPCWSTR
TCHAR=TEXT"文字列"=LPTSTR=LPCTSTR
であり、LPWSTRに変換したいのであれば_itow()を使うべきという事、
int型から変換した0がどう解釈されるかわからないから変換後の文字列を入れる変数を見直した方がいいという事ですね
とりあえずそこを見直してもう一度やってみたいと思います
あと、質問する掲示板を間違えていたみたいなのでこれにて失礼させて頂きます
スレチの質問にわざわざ答えて頂きありがとうございました
文字列はWCHAR系に統一したほうがいい。 TCHAR系は、同一ソースでWin9xとWin2000以降の両方に対応しようって意図なんだけど、 これは破綻してる。 TCHAR系の文字列を使ったソースで、コンパイルオプションだけで、両方で動くソース なんて誰も書けてない。 そもそもいまさらWin9xとかMe対応もないだろうし。
>>723 wsprintf か swprintf だったか
732 :
デフォルトの名無しさん :2014/05/01(木) 09:11:42.80 ID:Z8B+pzPU
youtubeの創業者は、コンピュータに関して詳しいですか?
734 :
デフォルトの名無しさん :2014/05/01(木) 09:54:32.99 ID:lwKodQNO
>>726 一般的な環境下では、浮動小数点演算の0除算はcpuの例外にはならない
整数演算の0除算は例外になる
>>691 > 共有してないからinvalidateが多発して効率悪くなる
読み出ししかしないのに毎回 invalidate するキャッシュ使ってるのか (w
>>734 チャド・ハーリー: ファインアートの学士号
スティーブ・チェン:コンピュータサイエンスを専攻
ジョード・カリム: コンピュータサイエンスの学士号
チャド・ハーリーだけはあまり詳しくなさそうw
ちょっとスレチかもしれないが、 クロームを使ってツイッターの画像を保存すると拡張子が.jpg-ragheみないな感じになるけど、ハイフンの後って何のために付いてるんだ? IE使ってたときには確か付いてなかったから気になってね
739 :
デフォルトの名無しさん :2014/05/01(木) 11:43:17.44 ID:Z8B+pzPU
エドワード・ウィッテンと羽生善治はどっちの方が頭が良いのでしょうか?
2chで、書き込みの間隔をあけないと書き込みできない板がありますけど あれはどうやってるんでしょうか。 書き込みのあったIPアドレスと時刻を記録しておいてチェックしてるんでしょうか。 それだと膨大な量になりそうですし、クッキーだと簡単にごまかせそうだし。
少なくともいま裸で野原に放り出されたら 俺よりも野良猫の方が頭いいだろうってのは想像に難くない
>>740 Web関係の質問はWebプログラミング板という専門の板へGO
IEの脆弱性って何?
>>740 IP記録してるよ
スレ立て制限もそれだし
745 :
デフォルトの名無しさん :2014/05/01(木) 13:20:27.87 ID:BBZMejgc
iniファイル形式の
IPを記録するのと書き込み時に毎回過去へ遡って照合するのは別の話 クッキーをすり抜けてくる奴だけ腰をすえて駆除すればよい
iniファイル形式のRFCってありますか?
無いよ
749 :
デフォルトの名無しさん :2014/05/01(木) 14:40:01.12 ID:2r+ZYXYU
スティーブ・ジョブスと羽生善治はどっちの方が頭が良いのでしょうか?
荒らしは死ね
ID:2r+ZYXYUとゾウリムシはどっちの方が頭が良いのでしょうか?
>>740 単純に考えてもIPアドレス+UNIX時間で25バイト
これを書き込み制限の間隔時間分だけ残しておけばいいわけで、
つまり制限120秒なら120秒分のデータだけでいい
2ch全体の投稿数が1日あたり多くて300万だから1秒あたり平均35回の投稿
これが120秒だと4200回。25バイト*4200 = 102KB
もちろん書き込み数は時間帯によって異なるから大きく数字はずれるが、
これが1000倍にずれてもたかだか100MB。オンメモリDBで余裕で扱えるレベルの数にしかならない
バイ猿あるから一定時間内のIPは全部保存してるだろうけど
754 :
デフォルトの名無しさん :2014/05/01(木) 16:01:20.38 ID:V5UuKtrR
たーてたーてよーこよーこまーるかいてジャアアアアアアアアアアアアアアアアアアアfッフwwwwwwww
**--* ***-* *---* **-** **-** var a=[ "**--*", "***-*", "*---*", "**-**", "**-**", ]; ハイフンの位置を取得して連想配列に入れる方法おしえてください var ithi = [ [2,3], [3], [1,2,3], [2], [2], ]
756 :
755 :2014/05/01(木) 16:07:16.36 ID:U31MyfYF
基準となる位置は★です **--* ***-* *-★-* **-** **-**
連想配列が何かわかってる?
ジャグ配列と勘違いしてねーか
759 :
755 :2014/05/01(木) 17:13:23.36 ID:U31MyfYF
すいません二次元配列に訂正します
普通に数えればいいのではないかな、言語何? javascript よーわからん、すまん
宿題は自分でやれ
javascriptです 普通に数えるというのは?
二重for、ループ変数を使う
100 FOR I=1 TO 100 110 FOR J=1 TO 100 120 IF MOJI(I,J)= "*" THEN GOTO150 130 NEXT J 140 NEXT I 150 ... 的なことを"マイコンと言ったらプログラム"の時代だった 小学生の時はもう知ってたのを思い出したヨ。
>>720 MacはCUI版のVimとEmacsが標準で入ってます
ただ、どちらもクリップボードにコピペできない
>>755 var i=0, j=0, k=0, ithi=[];
for(i=0; i < 5; i++){
for(j=0; j < 5; j++){
if("-" == a[i][j]){
// この宣言がないと、エラー
ithi[i]=[];
ithi[i][k] = j; k++;
}
}
k = 0;
}
767 :
766 :2014/05/02(金) 06:09:18.92 ID:oDldGjw6
訂正 var i=0, j=0, k=0, ithi=[]; for(i=0; i < 5; i++){ // この宣言がないと、エラー ithi[i]=[]; for(j=0; j < 5; j++){ if("-" == a[i][j]){ ithi[i][k] = j; k++; } } k = 0; }
768 :
デフォルトの名無しさん :2014/05/02(金) 06:12:57.04 ID:+oDegenc
ちょっと気になったので質問させていただきます。 宇宙飛行士はどのくらいパソコンに詳しいのでしょうか? スペースシャトルの中の画像とか見てると、大量のノートPCが置いてあるので、それなりに操作できないと駄目なような気がします。 パソコンと一口に言っても、プログラミングやデータベースなどいろいろありますが、 宇宙飛行士は機械操作を頻繁にすると思うので、機械全般に強くないと駄目な気がするので、結構詳しそうなイメージがあるのですが、 実際どうなんでしょうか?教えてください。
770 :
デフォルトの名無しさん :2014/05/02(金) 08:09:17.53 ID:Aux2s5aq
>>768 俺様くらいになるとまず石で木を倒して、木彫りのスコップを作り
家を作って農作物と漁業で自給自足を確立する
次に鉱山から鉱物資源を採掘して熱して加工、
そんで純度の高い銅や鉛を抽出して貯蓄していく
余った銅鉄でスコップを作って、農業と採掘作業の効率化、家を丈夫にする
純度の高い鉱物資源が集まってきたところで
コンデンサやプロセッサを自作して、最初のマザーボードを自作する
メモリーやCPUも一体型、ブラウン管に映像を映し出す
そこからキーボード、マウス回路を作ってブートセクタ、OS、ソフトウェアを開発
ハードウェアを作るための機材の効率化、開発
医療、学校等のインフラを近代化
量子コンピュータを開発し、マイクロブラックホールで呑み込ませて世界を最初の状態に戻せるくらい。
ここは小学生が集まる公園か?
いきなりブラウン管ができてるのがおかしい
エジソンが白熱電球の実験中に発見したエジソン効果(1884年)が端緒となり、 その後フレミングが発明(1904年)した素子が2極真空管(二極管)で、 3極真空管(三極管)は、リー・ド・フォレストが発明(1906年)★ 真空管 - Wikipedia ブラウンが発明したのは、冷陰極管で、クルックス管に、陰極線によって光る蛍光面を付けたものであった ブラウン管の歴史 1897年 - ブラウンが陰極線管を発明★ ← こっちのほうが、はやかった 1907年 - ロシアのボリス・ロージングがブラウン管を使った受像装置を発案。 1925年 - イギリスのベアードが円盤を使ったテレビを発明。 1927年 - 日本の高柳健次郎が撮像に円盤を使い、映像にブラウン管を使った受像装置までの開発を成功。 1927年 - アメリカのフィロ・ファーンズワース、電子式テレビ撮像機の開発。 ブラウン管 - Wikipedia
C言語だったらscanfみたいに標準入力を読み込むときに 標準入力で渡したい文字列をファイルに書いておいて、それを指定して渡す方法を教えてください 標準入力のテストがしたいのですが、毎回手動で入力する手間を省きたいのが目的です paizaとかideoneとかオンラインで実行できる機能があるサイトではこういうのどうやっているのか知りたいんです
羽生善治ってIQどのくらいなの?
>>777 echo ファイル | scanfのプログラム
paizaとかideoneとかオンラインで実行できる機能があるサイトは
VMだからやり方は違う
にゃあ
>>780 なんでそんな意味不明かつ遠回りな方法にするんだよw
意味不明というより間違ってます
環境次第だよなあ、リダイレクトはシェルによるし
Windowsだと echo じゃなくて type
UNIX系だとechoじゃなくてcat
Linux/Unix なら cat
788 :
デフォルトの名無しさん :2014/05/02(金) 14:41:50.91 ID:Aux2s5aq
Jap/Nip ならthon
catじゃなくて猫
子猫にコンバンワ
concatenateのcatだよ
redmineを個人用に使う場合のアカウントってadminのまま利用してますか? 誰にも公開する必要はないのですがadminは封印してアカウントは作ったほうがいいですか?
間違って破壊的な操作をするくらい おっちょこちょいだという自覚があるなら 権限減らした一般アカウントを常用した方がいいんでね
100という整数があります これを25から40の範囲の整数として3等分します 例 30, 30, 40 35, 35, 30 25, 40, 35 僕が考えた方法は 25から40までの整数をランダムに2回生成して、100から引き、余った整数でした 例 a = rand(25, 40) b = rand(25, 40) c = 100 - a - b でもこうするとa + b = 80なのでcは25未満になってしまいます ベストプラクティクスな方法を教えてください
等分?
>>794 1. a,b,cに25から40の範囲の整数をランダムに代入する
2. a+b+c==100になるまで1を繰り返す
798 :
KAC :2014/05/03(土) 16:01:21.11 ID:/oHtXhHp
>>794 3等分なら /3 でいいと思うんだが。
そもそもランダムな値にする目的は何?
目的次第で最適なやり方は変わってくるだろ。
>>794 これむずかしいな。
a=25
b=25
c=25
n=25
a += (n-=rand(0, 25))
b += (n-=rand(0, n)
c += n
これだと、ランダムにならないで偏りがでちゃうかな?
[*25..40].product([*25..40]).map{|x|x<<100-x[0]-x[1]}.select{|x|x[2].between?(25,40)}.shuffle[0]
[*25..40].product([*25..40],[*25..40]).select{|x|x.reduce(:+)==100}.shuffle[0] 少し短くなった
>>794 a が決まれば bの範囲も決まる。
例)
int a = rand() % (41-25) + 25; // 25〜40の乱数
int b_hi = 75 - a; // c が 25〜40であることから
int b_lo = 60 - a; // つまり 25 <= 100 - a - b <= 40
if (b_hi > 40) b_hi = 40; // b が 25〜40であることから
if( b_lo < 25 ) b_lo = 25; // つまり、 25 <= b <= 40
int b = rand() % (b_hi + 1 - b_lo ) + b_lo;
int c = 100 - a - b;
いま頂いたコメントを全部呼んでいるところです
いろんな方法があるんですね勉強になりました
>>803 さんのが今の所一番効率が良さそうです
ランダムだと、3「等分」じゃなくて3「分」だな。
>>794 ,805
3つとも25以上前提なんだから、足して100にするには残りの(100 - 25 * 3 =)25を振り分ければいいんでしょ
まあやってることは803と同じかもしれん
max = 100 - 25 * 3;/* = 25 */
x = rand() % max;
y = rand() % (max - x);
x = max - x - y;
a = 25 + x;
b = 25 + y;
c = 25 + z;
808 :
807 :2014/05/03(土) 17:36:44.55 ID:m2R1Qg7p
typoってた 誤 x = max - x - y; 正 z = max - x - y;
>>807 というかこれだと40以上になる可能性があるぞ。
abc、どの順でランダム計算するかということにも乱数を使えば、確率は、平等にできる。
814 :
デフォルトの名無しさん :2014/05/03(土) 18:19:40.58 ID:UPJOTu8k
・乱数でa,bを決める ・とりあえずc = 100-a-bとする。 ・cが範囲に入ってなかったらやり直し よくわからんが結果見たら偏ってなかった
運任せは良いアルゴリズムとは言えない
こうかな。 a=rand(25,40) b=rand(25,100-a-25) c=100-a-b
>>816 a=25の時
bで生成される最大値が100-a-25=50になる
>>816 a=rand(25,40)
b=rand(a<35?100-40-a:25,a>35?100-25-a:40)
c=100-a-b
かな
maxやminを使ってもいいと思う [*25..40].product([*25..40],[*25..40]).select{|x|x.reduce(:+)==100}.sample a=[*25..40];a.product(a,a).select{|x|x.reduce(:+)==100}.sample 少し短くなった
A' = A - 25, B' = B - 25, C' = C - 25とした場合の(A', B', C')の全パターンは (0, 10, 15), (0, 11, 14), (0, 12, 13), (0, 13, 12), (0, 14, 11), (0, 15, 10) : 6パターン (1, 9, 15), (1, 10, 14), (1, 11, 13), (1, 12, 12), (1, 13, 11), (1, 14, 10), (1, 15, 9) : 7パターン (2, 8, 15), (2, 9, 14), : 8パターン (3, 7, 15),,, : 9パターン (4, 6, 15),,, : 10パターン (5, 5, 15),,, : 11パターン (6, 4, 15),,, : 12パターン (7, 3, 15),,, : 13パターン (8, 2, 15),,, : 14パターン (9, 1, 15),,, : 15パターン (10, 0, 15), (10, 1, 14), (10, 2, 13),,, (10, 15, 0) : 16パターン (11, 0, 14), (11, 1, 14), (11, 2, 12),,, (11, 14, 0) : 15パターン (12, 0, 13),,, : 14パターン (13, 0, 12),,, : 13パターン (14, 0, 11),,, : 12パターン (15, 0, 10),,, : 11パターン --------------------------------------------------------------------------- 合計: 186パターン 全部列挙して構造体配列にでも格納すれば、rand1発でランダムな組み合わせを取り出すことが可能。
821 :
KAC :2014/05/03(土) 22:17:06.55 ID:/oHtXhHp
>>802 で、満足いく程度の答えは見つかった?
わかりやすく要求された答えを求めたいのなら、
a,b,cそれぞれに十分大きな乱数をそれぞれ入れて、
100 : その合計値(a+b+c) の比率で割るといいよ。
プログラムの設計を勉強すると言いますが、この場合の「設計」とはどのようなものでしょうか。 私は、よくわかっていません。 また、独学で勉強する方法(例えば書籍等)はどのような方法がありますか。 使っている言語はJava言語です。
馬鹿には無理
>>822 自分でたくさんプログラムを書いてみるべきじゃね。
その上で、
・プログラムを書く上でまずかった点
・プログラムを書く上でうまくいった点
・できあがったプログラムでまずかった点
・できあがったプログラムでうまくいってた点
これらをリストアップして覚えておき、次にプログラムを書くときに、
・前回のまずかった点を自分なりに修正する
・前回うまくいった点をできるだけ引き継ぐ
これでおまえさんの言ってる設計にならんかね。
>>822 一般論なら Head Firstオブジェクト指向分析設計 とかはどう?
>>824 自分もわかっていない状態で質問してるので、答えにくかったと思います。
本当にありがとうございます。
今まで、作成したプログラムの振り返りはしていないので、してみようと思います。
>>825 ありがとうございます。
早速、調べてみます。
具体例が直前のコードに思い切り書いてあるぞ まず文献はよく読もうぜ
829 :
KAC :2014/05/04(日) 01:13:25.60 ID:nXeCksGu
>>822 設計というのは「無駄を全部削ぎ落とす作業」だと思うといいよ。
やりたいことに対して
どれだけシンプルに実現できるかを考え抜いて
これ以上簡単にできないところまで納得できたら
目に見える形(図とか)に清書して完了。
これを気にしながら、後はひたすら
>>824-825
>>827 // global.h
void set(int value);
int get(void);
// global.c
#include "global.h"
static int global;
void set(int value) {global = value;}
int get() {return global;}
// main.c
#include "global.h"
int main() {return get();}
/// まぁ、C++ならクラスを使って実装しろってこった。
>>822 ソフトウェア開発はいくつかの段階に分かれていて、それは「要件定義」、「設計」、「実装」、「テスト」……とか
いろいろあるんだけど、
要するに文書を別の文書に変換するお仕事。
お客さんの注文書を読んで、仕様書を作る
仕様書を読んで、設計書を作る
設計書を読んで、プログラムを作る
プログラムを実行、解析等して、品質保証書を作る
設計っていうのはプログラムを作るために必要な情報(の一部)。
設計書に書くべき内容は何かっていうのが貴方の問い。
そして何を書くべき、っていうのはケースバイケースで特に決まってないという現実。
>>822 この場合というのが良くわからない。
プログラミングは実装と呼ばれ、設計はその前に行われるもの。
オブジェクト指向言語は設計ができた時点でプログラミングもほぼ出来てると言うから、その観点だと
OMTの書籍を読んでみるといいかも。
作るものの種類によるけど、設計はシナリオの作成とモデリングが多い。
ubuntuでconky見ながらperlを使うと色々便利にカスタマイズできたりして面白いって聞いたんですが 具体的にどういうカスタマイズが出来るんですか?
>>794 全然ベストプラクティスではないけれど、普通こういうことを最初に考えるのではないか。
'100という整数があります。これを25から40の範囲の整数として3等分します。'(N1,N2,N3) :-
findall(N,between(25,40,N),_25から40までの整数ならび),
重複組合せ(_25から40までの整数ならび,3,[N1,N2,N3]),
100 is N1 + N2 + N3.
重複組合せ(X,1,[A]) :-
member(A,X).
重複組合せ([A|Y],N,[A|X]) :-
N > 1,
M is N - 1,
重複組合せ([A|Y],M,X).
重複組合せ([_|Y],N,A) :-
N > 1,
重複組合せ(Y,N,A).
重複組み合わせってこう書くのか でもこの手の組み合わせ探索って prolog 以外だとクッソ面倒そう
>>831 プロではないので、その辺全くわかっていません。
ありがとうございます。
>>832 自分もよくわかってない状態で質問してます。すみません。
OMT調べてみます。ありがとうございます。
>>831 ありがとうございます!
参考にさせて頂きます
>>834 prologが読めないので的外れなし的かもしれないけど
重複組み合わせではなく重複順列じゃない?
[*25..40].repeated_permutation(3).select{|x|x.reduce(:+)==100}.sample
少し短くなった、もうやめよう
論理積=AND(&)だと勘違いしてしまう時がある &と|だけなら混乱しないんだけどなんか&と積が結びつかない。覚え方あるの?
論理積=AND はあってるなw いや論理和=ANDと勘違いする時あるんだよ
>>839 そもそも3等分という言葉が不適切で、3分割でしょうね。そうだとすると確かに重複順列です。
'100という整数があります。これを25から40の範囲の整数として3分割します。'(N1,N2,N3) :-
findall(N,between(25,40,N),_25から40までの整数ならび),
重複順列(_25から40までの整数ならび,3,[N1,N2,N3]),
100 is N1 + N2 + N3.
重複順列(L,0,[]).
重複順列(L,N,[A|R3]) :-
N > 0,
member(A,L),
N_1 is N - 1,
重複順列(L,N_1,R3).
赤飯とカツ(積ANDかつ) またワォワァォ!(またわOR和)
>>840 And,Orのベン図を想像して
・なんか掛け合わせてそうな方が論理積
・なんか付け足してる感じの方が論理和
ってのはどうだろう
10x10のマスがあり、ランダムな位置に星(*)が配置されます ただし星が隣同士に連続で配置されることはありません。必ず間隔を開けて配置されます -----*---- -*-------- ----*----- ---------- ---*-*---* ---------- ---*--*--- -----*---- *---*----- -*---*-*-- これをプラス記号(+)で四方向塞ぐと下の方になります -+--+*+--- +*+-++---- -+-+*+---- ---+++---+ --+*+*+-+* ---+-++--+ --+*++*+-- +--++*+--- *+-+*+-+-- +*+-+*+*+- ランダムに生成された星をプラス記号で囲うために必要なアルゴリズムを教えてください
枡を全走査して枡の上下左右いずれかに*があれば+を格納するようにすればいいんじゃないの
>>846 ぱっと思いついたのは2つ
1つ目はベタに
二重ループで'*'をチェックし
x=0 右の'-'を'+'に置換
x=1..8 左右の'-'を'+'に置換
x=9 左の'-'を'+'に置換
y=0 下の'-'を'+'に置換
y=1..8 上下の'-'を'+'に置換
y=9 上の'-'を'+'に置換
2つ目は臭いけど
list of char -> string 変換
肯定(先|後)読みで置換
string -> list of char 変換
transpose
これを2回繰り返す
---*-*---* を 0001010001 のようにビットとみなして変換 上下左右にシフトして OR演算 …なんちゃって
>>845 ループで回して前後を置換。
縦と横をそれぞれ回すと簡単。
>>849 それを実際にJでやっちゃうと
L=:_1&(|.!.0)"1
R=:1&(|.!.0)"1
D=:_1&(|.!.0)
U=:1&(|.!.0)
f=:'-*+'&i.
f inv (+2*(U+D+R+L))f 3 3$'-*----*--'
+*+
++-
*+-
RubyとかPythonなどのスクリプト言語でクライアントとクライアントを直接結んでゲームできるネットワークゲームを作りたいんですが クライアントBのIPがaaa.bbb.ccc.dddだとして、クライアントAがソケットでaaa.bbb.ccc.ddd:portに接続するとしますよね そのとき、クライアントBは何か怪しいパケットを受信するかもしれません この怪しいパケットを落とすのってプログラミングでできるものですか?
現にゲームは存在するんだから疑問の余地なくやれるに決まっている
リーナス・トーバルズとスティーブ・ジョブスはどっちの方が天才ですか?
地震を予知できるアルゴリズムはいつになったら出るのだ
5年以内の精度の高い予測を達成するためのデータ収集・解析に 30年かかるみたいなギャグが生まれる予感しかない
宇宙飛行士のパソコンスキルってどのくらいですかね? 宇宙飛行士は機械に強くないと話にならないから、当然、パソコンスキルも高そうな気がするのですが。
>>854 方向性が違うから比べられない
リーナスはOS技術者であり、かつ他人同士な技術者たちを上手く繋いでること
ジョブズは既にある技術を分かり易くし、プレゼンするのに長けてた
難しいアルゴリズム使わなくても作れるゲームってありませんか? 今の所おみくじは作れましたがスキルアップしたいのでなんかお題を教えて下さい
>>860 テトリス、オセロ、コラムス、簡単なシューティング(インベーダー、スターフォックス)とか?
ローグライクゲームもまあまあか、ダンジョンの自動生成がムズいが転がってるサンプル使えばできる。
>>860 期待にそぐわないかもしれないが、ライフゲームは作っておいて損はなかろう
とりあえずSTGのタスクシステム周りを何も見ないでもそらでかけるくらいまで反復復習したらいい そしたらもうスクリプト言語池
>>852 出来るだろうけどそんな場所のセキュリティ意識するのって大手ネトゲくらい
クライアントのソースコード見えない状態でパケット解析して何か改変したパケットを送り込むとか
それでゲーム内で変な状態になるだけだったらPCには実害ないし
PCに実害及ぶデータ送られてそれ実行されたとしたら、それを止めるのはセキュリティソフトの仕事
んなわけない。 期待しないパケットは捨てるぐらい作りこむのは当たり前
JAVAってCOBOLみたいな道を辿るだろうと聞いたんですが 何年経ってもcとc++はやっぱり安泰ですか?
>>865 その期待しないパケットをどうやって識別するのかってのが元々の趣旨だと思うけど。
864 はその期待しないパケットの識別のために特別にいろいろする(クラッキング対策は)
必要はないはないと言ってるだけで、期待しないパケットまでを取り込めと入ってないと思う。
世界一コンピュータに詳しいのは誰ですか? ビル・ゲイツあたりは候補に入りますか?
マルチポストまがいの事延々と繰り返してるくせに よくそんなこと書けるな
>>867 同じだよ
どうやって識別するかは、ソフトが必要に応じて決めればいい話で重要ではない
問題なのは、864みたいな対策が不要という考え方
噛み合ってないな
セキュリティを意識するのに大手もくそもあるか
>>875 はまちやが個人の掲示板ならXSS結構あるけど面白くないから公開もしないって言ってた
>>860 アルゴリズムは簡略化のために使われるのではないかな。
二次方程式を考えてみてくれ。公式を使えば簡単に素早く解ける。でも、xの取り得る値をひとつずつ当てはめていっても解ける。
性能とかメンテナンス性とか可読性を考えなければ、なんでもできると思う。
>>877 > でも、xの取り得る値をひとつずつ当てはめていっても解ける。
解けねーよ、有理数ならまだしも無理数になる奴とかどうすんのさ。
例えで伝えたいことを理解しようとしないやつっているよね。 特定の対象にわかるように言ってるのに、それを理解できない人なのかな。
低脳は混乱の元だから例えを使うな。
鶴亀算ぐらいでいいんじゃね?
>>879 例がおかしいだけ。
指摘されてるのに逆ギレとか、低能過ぎ。
> 例がおかしいだけ。 すまん、間違えた。 例だけじゃなくて、一行目からおかしい。 複雑なアルゴリズムとか山ほどあるのに、簡略化とか (w
>>884 別に汎用的なアルゴリズムでなくとも、そこで目的の値を得られる泥くさいやり方で良いのだから全てを置き換える必要はない。
そういう目的を理解できない馬鹿には無理。
プログラミングを噛ませてパソコン自体の性能を上げることは出来ますか?
アルゴリズムの王道 深さ優先探索と幅優先探索で僕の人生は積みました よくこんなアルゴリズムをスラスラ書ける人がいますよね 高校生でこういうのできる人ってすごいと思いますよ
>>887 つ[適材適所]
>>886 一般的な回答はありません。特定の処理に関してのみ、性能を向上させたいということであれば可能性はあります。
たいていフィッシングメールはfromとsenderが異なるから もし異なっていればフィルターで迷惑メールや削除したほうがいいかも
>>885 意味不明
もう自分でなに言ってるのかわかってないんじゃね? (w
ソートを例にすれば、バブルソートやクイックソートとかのアルゴリズムがあって、簡単な奴も難しい奴もある。
なので、少なくとも「アルゴリズムは簡略化のために使われる」は明らかに間違い。
コンピュータとそれに関するもの全てに詳しくなりたいのですが、 東大の情報科学科に行けば、詳しくなれるでしょうか?
>>891 あなたは自分が何の話してるかわかってる? 一文だけでなく文脈を読み取れるように、国語の授業はちゃんと受けたほうがいいよ。
ゲームを実装するときにアルゴリズムを使うとシンプルになったり、処理が減って高速になると言う話だよ。別にバブルソートやクイックソート使わなくても、データに依存した全走査とかアルゴリズムと呼ばないような力技でどうにでもなる。あ、馬鹿には無理だったか。
894 :
デフォルトの名無しさん :2014/05/07(水) 14:40:47.21 ID:XMc35o9t
鶴と亀合わせて頭数にして100いました 足の数が全部で285ありました 鶴と亀はそれぞれいくらずついましたか p.s.全盛期の王貞治が打つ構えだったらしいです
すいません
>>894 の問題はどうやって解くのか教えてください
>>893 用語を独自再定義しちゃうバカって死ねばいいのに
そんな意味で「アルゴリズム」を使ってるのはお前だけ
>>896 だから文脈から読み取れって。
厳密な意味で全てをアルゴリズムと呼ぶなら、そもそもそんな質問出てこないだろう。
休み終わったらちゃんと小学校行くんだよ。
なんでお前が再定義した意味を文脈から読み取ってやらなきゃならんのだ。 そういう手間をかけないで意思疎通を可能とするために専門用語は定義されているのだ。 死ねよ。バカ。
>>893 > データに依存した全走査とかアルゴリズムと呼ばないような力技でどうにでもなる。
例えばどんな?簡単なサンプル出せない?
>>894 数学板に算数スレあっただろ
行ってこいよ
>>899 それは鶴亀算で鶴も亀もいないうちからどうやるのと聞いているようなものじゃ。汎用的ならアルゴリズムと言ってもいいんじゃ。名前のあるなし別にして。
まあデータがあったとしてもスマフォなんでコードはきついな。これからデートだし。
>>898 読み取れないならレスしなければいいじゃない。かまってちゃんなのかな。
つるかめざんを自動的にやってくれるライブラリがある言語を教えてください
片足を上げている鶴とか首を引っ込めている亀も考慮に入れようと思うようになると病気かな…
>>903 苔って北朝鮮からの輸入が結構多いらしいな
なんだ、スキル低いほうのレスが圧勝してる珍しい流れがバトロワスレで起こってると思ったら ゴミ質問スレで納得した 流石に低いレベルが低い アラハシラガゴケとウマスギゴケの区別すらつかなそう
鶴の足 -> たぶん2 亀の足 -> たぶん4? 合計が奇数とは・・・?
面白いなー
よくわからんけど、暗算だと亀が42.5で鶴が57.5になったけど
王貞治って片足のヒントだったのか・・・くそっやられた
自演はいいよ
>>893 > データに依存した全走査とかアルゴリズムと呼ばないような力技
リニアサーチと言う立派な名前がついたアルゴリズムなんだが
アホがよくわかってないのに背伸びして玉砕とか分かりやすすぎ (w
>>906 まあ首は関係ないからいいとして、王ちゃんだってバッターボックスで構えても足がなくなるわけでもないので地面に着いてるとかの条件がないとダメだろうし、そもそも鶴は二本足で立つことはないのか、座ってる奴はとか、足引っ込めてる亀はいないのかとか...
要するに問題としてツッコミどころが多すぎ、評価に値しない。
917 :
899 :2014/05/08(木) 00:04:38.19 ID:ZcddfNS5
勝手にソートすんなや
>>918 つ > 別にバブルソートやクイックソート使わなくても、データに依存した全走査とかアルゴリズムと呼ばないような力技でどうにでもなる。
>>919 ID:2wVYcLHM とは別方向で頭悪いな
>>920 別にバブルソートやクイックソート使わなくても、線形探索でどうにでもなる。
という事?
わけがわからないよ…
もともと本人もわかってなさげだから (w
[1, 3, 2, 4] → [1, 2, 3, 4] [7, 6, 4, 3, 10] → [3, 4, 6, 7, 10] : とか全パターンを用意して検索するとか?
ベンチマークとかオーバークロックやる人ってプログラミング出来るんですか? プログラミングで性能上げたり調整したり出来るんですか?
>>857 フィールズ賞取った数学者(日本人)のところで
ちょっとだけ仕事したことあったけど
当人はパソコンかなり苦手な人だったよ
>>925 餌与えるなよ
それともあんたもお仲間か?
>>924 単純にスペックにのみ興味を持っている人は余りプログラミングはしないだろうね。
先日もどこかで書いたけど、総合性能を引き上げる一般解は有り得ない。
特定の処理についてのみ、処理速度を引き上げたい場合はプログラミングは有効な手段だけど。
928 :
デフォルトの名無しさん :2014/05/08(木) 11:10:10.08 ID:gy2gvvpu
どのインターネットブラウザでも、ページ遷移するたびに「proc.exeは動作を停止しました」ってでてきてしまって、何度も再読み込みしないといけないことになる proc.exeエラー修復ツールというものも試してみましたが、どうにもこうにも解決できません・・・ 解る方おられませんか?
ウィルスだろ スレチ
>>929 そうなんですか!すみませんありがとうございます。
>>929 おいおい、不親切にもほどがあるぞ
こういうお客さんにはまず裏2ちゃんねるの入り方を教えてあげるべきだろ
それにしてもあの胡散臭い"xx修復ツール"に引っかかる奴って本当にいるんだな
C言語の本でも 作者のスキル高ければ ばぶるそーと くいっくそーと 作者オリジナルソート とかって出てくるもんだけどね その程度の本に巡り合うこともなく ネットでも情報を拾えない 誰かを叩けば煽れば情報くれるかも? 延々とやってろw
東大理科三類に受かるのと、プログラミング言語を開発するのとでは、どっちの方が難しいのでしょうか? それともう一つ質問です。 なぜ、プログラミング言語の開発者養成機関みたいなものは存在しないのでしょうか? パイロットとか医師とか弁護士は養成機関みたいなものはありますよね? なぜでしょうか? 単に難易度が高いからとかではないですよね?
>>934 言語作成限定?
言語はピンキリだから、簡単なものなら小学生でも作れる
でも新しい言語なんて作っても意味ないから作らない
蛆虫とID:cDME02ieはどちらが世の中の役に立っていますか?
937 :
デフォルトの名無しさん :2014/05/08(木) 20:07:08.16 ID:o5H0kOM9
東大合格より、プログラム言語のインタプリタやコンパイラを開発する方が簡単。 プログラム言語の開発者の養成機関は情報系大学。 「プログラム言語 開発 大学」で検索。
分厚い名著を怖れず読んでよく勉強していい大学行け
>>934 アプリケーションのひとつひとつが、あるいは帳票設計の一枚一枚が、それぞれ別な
プログラム言語という捉え方もできます。そういう観点では世の中、プログラム言語の
開発者養成機関だらけですね。
・ブラウザの操作(あるサイトにログインしたり、ページを開くなど) ・Windows上でのファイル操作(リネーム、削除、コピー、移動、結合など) ・エクセルの操作(セルのコピー/貼り付け、保存など) 上記のことができるようなプログラムを作るのに向いている言語ってなんですか? 1つの言語でできたら最高だが無理だったらそれぞれに向いてる言語教えてください
UWSC
942 :
デフォルトの名無しさん :2014/05/08(木) 20:45:32.55 ID:o5H0kOM9
あるサイトにログイン(Rubyのmechanize)、ページを開く(ShellExecute) 、 リネーム(MoveFile/MoveFileEx)、削除(DeleteFile)、コピー(CopyFile)、 移動(MoveFile/MoveFileEx)、結合(ファイル入出力) 、エクセルの操作(OLE) 俺が使うとすればRuby and/or C++だな。
C++はない
>>943 COM経由で操作できるでしょ
VB系やらWSHやら.NET言語でやるのが簡単だと思うけどね
VBA一択じゃないの
大黒天とラリー・ウォールはどっちの方が凄いのでしょうか?
平方数ってどういう場面で使うのかおしえてください
>>941-942 ,944-946
ありがとうございます
分からない単語がいろいろ出てきたので調べてるんですが
MoveFile、DeleteFileなどはVBやVBA、VBScriptで使える命令のようなものなんですかね
WSHやVB系という意見が多いのでVBScriptやVBAを使ってみます
>>940 >・Windows上でのファイル操作(リネーム、削除、コピー、移動、結合など)
これならバッチファイルという手もある。
コマンドプロンプトの知識もついでに学べるよ。
>・エクセルの操作(セルのコピー/貼り付け、保存など)
やっぱこれはExcelVBAだろうな
951 :
デフォルトの名無しさん :2014/05/08(木) 23:57:46.39 ID:4Z5GgG9g
Javaの参考書のプログラムがよくわからないんだけど int a = (int)(a * b); ↑の(int)ってどういう意味?いきなりこの文法が参考書に出てきて気になって 仕方ない。変数名は適当す。
キャスト説明しないでキャスト使うコード出す参考書は入門書として使うべきではない気がする その本が入門書と銘打ってあってキャストの説明を見落としたのでないなら、ゴミ箱行きじゃね?
まったく同じように打鍵する、キーパンチャー入門ですので問題ありません。
>>940 自分の感覚で答えると
Python が一番楽
VB / WSH は使いたくない
javascript でも出来る
node.js でも出来る
なんとなくだけど
>>934 さんがリアルでも知り合いのような気がしてきた
昔渋谷区に住んでいませんでしたか?
こんな奴さっさと縁を切れ
>>940 Winのファイル操作なら、powershellもある
WSH, VBScriptよりも簡単な、ちょっとしたプログラム用
デバッグ環境なら、powershellと同じフォルダにある、
powershell_iseを使えばよい
コマンドを画面で指定できる