「ポインタ」を含む日記 RSS

はてなキーワード: ポインタとは

2012-02-06

http://anond.hatelabo.jp/20120205173934

某社内でのソフトウェア技術者について書きたくなったので書いてみる。

まず、そもそもプログラミング下請け or 子会社がやるものという認識。それを、最近本社でもソフトウェア技術者採用し始めたけど、やっぱり低く見られがち。プロジェクトの開発リーダーは必ず電気回路の人だし、外部との折衝もやらせてくれない。工場の製造用ソフトだってハードウェア技術者が無理して書いてる。

周りのプログラマーレベルも低いよ。自分の周りがそうなだけかもしれないけど、C言語以外できない人多いし、ポインタはおろか struct と union の違いも認識していない。環境がローレベルなのか、仮想メモリかいう考え方もない。 Windows しか使ったことない人ばかりだし、簡単なコンパイルエラー直すだけで数時間がかり。バグ管理はもちろん Excel。ヘッダファイルの define 一覧が Excel に表としてまとめられていて、手動で同期取ってたりする。

あとパソコンに対する考え方が古いよね。未だにCADを17インチディスプレイで書いてるし。今年会社で導入標準モデルになってるパソコンメモリ2GB, HDD 320GB しか積んでない。マシン投資するのは無駄という考え方が伝わってくる。スペックアップを主張しても「昔はもっと遅かった」で終了。

デスマーチを避ける考えもないかな。デスマーチを乗り越えたのが武勇伝として語り継がれる。俺何日も徹夜したえらい、みたいな。

そんなくせして、「Apple は大した技術力がないけど、アイデアがよかったかiPhoneiTunes がヒットしてる」と言ってる。まずいね

2011-12-17

CStaticコントロールにCBitmapを表示する方法

//ダイアログクラスにメンバ変数定義
std::auto_ptr<CBitmap> m_pbmp;

//bitmapを設定するメンバ関数
void C*****Dlg::Set*****Bitmap() {
	CDC* pDC = GetDC();
	CDC memdc;
	memdc.CreateCompatibleDC(pDC);
	m_pbmp.reset(new CBitmap());
	CBitmap& bmp = *m_pbmp;
	bmp.CreateCompatibleBitmap(pDC, width, height);
	
	CBitmap* old = memdc.SelectObject(&bmp);
	memdc.FillSolidRect(0,0,width,height, color);
	memdc.SelectObject(old);
	((CStatic*)GetDlgItem(IDC_STAIC_*********))->SetBitmap(bmp);
}

スクリーンと同じデバイスコンテキストビットマップ作成し単色で描画している。描画し終わった後のSelectObjectを忘れてはいけない。

CStatic::SetBitmapに渡した後も実際に描画されるまでCBitmapの寿命保証しなければならない。

そのためメンバ変数にCBitmapを持たせるがCBitmapが再利用を考慮していないという驚くべき仕様なので仕方なくauto_ptrでラップしている。

いい加減MFC滅びてくれないかな。抽象度が低すぎる。こんな記事自分ブログに書きたくないよ。

さらにVisualStudio 2005のauto_ptrのバグを見つけた operator = にポインタを渡すとおかしくなる。これは本来コンパイルエラーになるべきで代わりにresetメンバ関数を使用するべきだ。

修正するには<memory>ヘッダのauto_ptr_refのコンストラクタひとつ上の行(642行目)に private: template<class T> friend class auto_ptr; を挿入する。

これならばアクセス制御をしているだけなので他のコードへの影響は無いと思う。

2011-12-07

http://anond.hatelabo.jp/20111207191239

これは規模じゃなくて難易度の話だろ

難易度の話をするならCで言うポインタの理解なりの例えがあるんじゃないか

javaだとなんだ、、、オブジェクト指向コード書けることか?

元増田に話しとくとjavaで開発するにもHadoopstrutsやらのフレームワーク

jspなどなど色々ある

Androidアプリはその中じゃそんなに難しい部類ではないと思う

別の言語使ってもAPIやらフレームワークやらOSやら言語以外の知識と理解は山ほど必要だ

別の稼ぎ口があってプログラマが向いていないと思うなら、今なら遅くないか

引き返したほうがいいな

自分は他に稼ぎ口がないからコレで生きていくしか無い

似たように苦しむ事が多いが腹をくくってる

2011-11-26

C++って人類に使いこなせるものではないよね

純粋仮想デストラクタは、純粋に仮想なくせに、定義しておかないとビルド通らない、とか。

そんな時点でももう分かんない。言われてみれば、まあ、そうなるよね、ってものではありますが。

無理だろ…。テンプレートとか…。

だって人類のたいていは、ポインタさえ理解できないんだぜ?

2011-11-07

2010/05/16 23:40

こんにちは。昨日会った者です(これで特定するには情報不足だけど、まあわかるよね)。

で「幅優先探索でやる」という方針自体はいいと思うし、データ構造の作り方も基本は押さえていると思います(斜め読みしかしてませんが)。

ただ、コーディングの発想が「C で作る」という大方針から見て、少しちぐはぐな印象も受けますデータ構造設計操作の部分、汎用のライブラリを作ろうというのならあれでもいいと思うのですが、わざわざ汎用のライブラリを使わず自分で専用の道具を一から作ろうというのなら、問題の性質を考慮して能率良くやることが大事です

ところが、ここに載っているコードを見ると、見かけが C らしくなく、C++Java の劣化版のような印象を受けます記法マクロ大文字化しない、ルーチン名を大文字で始めるなど)だけの問題ではなく、データ構造設計思想が「C で書く」という方針と矛盾しているように見えます

もう少し具体的に言うと、そもそも C というのは現在 Web 系の世界などで流行スクリプト言語類とは逆で、汎用言語でありながら低レベルハードウェアに近い)処理が簡単にできることに特色があります。つまり組み込みを想定してプラットフォーム依存コードを書いたり、ハードウェアの特性を考慮して低レベル最適化をやりたいというときに適しています

そこでこの問題ですが、これを C でやるということは、処理速度や使用メモリ量の最適化が要求される状況、つまり迷路の大きさが途方もなく大きいような状況を想定すべきですもっと言ってしまえばこの問題、たとえば画像処理などで似たような発想が要求されることがあります。このため、どうすれば時間のかかる処理を切りつめることができるかを考えてやらねばなりません。

このプログラム場合時間のかかる処理の代表格である malloc() が大量に使われています。これはいかにもまずいです。このような大量データを処理する場合の定石は、あらかじめ必要なだけメモリを確保しておいて、自分で割り当てることです。具体的には、必要と想定される量だけメモリ配列の形でどかっと確保しておいて、配列インデックスポインタ代わりに使います。そして、足りなくなったら倍々のような感じでメモリを realloc() してやればよいのです

なお、そのような観点で言って、木の各節点の子の数は高々 4 (スタート地点が内点でないとすれば 3)であることを使っていることはよいと思います。ここで「子のリスト」とかを作ってしまっていたらこれはもうアホもいいところですから(容量の節約にすらなりません)。

そんな感じでしょうか。

とにかく、この手の問題は、アルゴリズムさえわかっていれば可読性もヘッタクレもないので、「短く書く」というような表層的なことよりも、何が求められているのかをよく考えて、柔軟に設計思想を考えることが大事だと思います

2010/05/17 13:54

Oさんですね。専門的なコメントありがとうございます!cで書くと言いつつObjective-Cっぽい発想で書いていました。マクロの命名もその影響で、関数Image Magickなどに似た命名規則になっている気がします。mallocを使いすぎると時間がかかるということは全然意識していませんでした。今度作るときメモリ管理を自前で用意する発想を取り入れてみたいです。参考になるコメントありがとうございました!

2010/11/18 23:56

はいわゆる「正規表現」は形式言語理論でいう正規表現ではないんだけどね……(ぼそっ)

2011-10-15

GoogleChromeを使ってるんだけど、あれってテキストリンククリックしただけじゃVisited(アクセス済)にならん場合があるんだよね。

たとえば適当サイトを開いて、目についた記事のリンクを「新しいタブで開く」とする。

一通り読んでタブを閉じ、もとのサイトに戻ると、さっきの記事のリンクは未だに青色(未アクセス)のまま。紫色(アクセス済)になってない。

あれ?これ読んだはずじゃ?と思ってポインタリンクの上に重ねると、その瞬間にアクセス済の色に変化する。

巡回先の一部では必ず発生するんだよね。YAHOO!ニュースとかは発生しない。

これって何が原因なんだろう?

2011-10-10

文系情報系の学科卒業して、おめでたい頭で何となくSEになって二年目になりました

情報系の学科ではあったけど、SEだのPGだのに就くのは男子学生のうち6割、女子学生では1割いないような感じ

で、非コミュと半ヒキと地頭の悪さで競争率の低そうなSE職についてめでたくその1割に当選

私以外は大体プログラミング楽しい~とか、そういう子ばっかりの中での1割

ちなみにプログラミングの授業は大嫌い。未だに関数がー引数がーポインタがーって意味分かんない。


で、さっき何となく学者向けのC言語解説サイトを見てみた

授業でやったのよりよっぽど分かりやすくて、今になって初めて知ることがたくさんあった

でも別に向上心はないので「そうなんだーすごいなーへー」という感想しかかばない

保守開発メインから今までの開発step数って3桁行かないし、使ったのは「=」と「if文」が精々

仕事で使うのはCでもJAVAでもないけど、そんなことも分かってなかったの?って呆れられるだろうなー

こんな私でも応用情報が余裕で取れているし、来週受ける上位資格も難なく取れそう

SEって馬鹿でもなれるしお給料いいしで良い仕事だよ!と、後輩には勧めておいた

ただし毎晩終電帰り・残業120時間超でも残業代出るのは30時間まで・仕事が終わらないなら土日は潰れて当たり前なのが気にならなければね、というのは黙っているけれど


SE職に就く女子が増えるといいなーと思っている。

職場結婚率は割りと低いけど、他の職場の同業種の人との結婚率はめちゃくちゃ多い。

三年以内に寿退社する人もとても多い。仕事きついし辞めたい女側と、家のことして癒してくれる子がいい男側の需要供給が程よくマッチングしてるんだろうな。

あと、私みたいなブスしか配属されなかった自担当には大変申し訳ないので来年当たり可愛い女の子が配属されてくれると嬉しい。

2011-09-27

モノ指向

おれCで仕事してるけど、よく、

なんかグローバル変数ローカル変数の中間ぐらいの変数みたいなのあったらいいなー、

あと、そういう変数関数ポインタみたいなのがセットになってたりしたらなー、

などと思うよ。

いやもちろんオブジェクト指向知ってて思うんだけど。

でも、構造プログラミングやってて、オブジェクト指向言語って便利そーだなー、って、自然に思うもんじゃないのか。

思わないのかみんな。

http://d.hatena.ne.jp/ryoasai/20110926/1317044975

2011-08-16

http://anond.hatelabo.jp/20110806212126

そんなの、普通にありのまま話せばいいと思うが。

「ざっと見た感じ、4人月いりますね」と。



どうせ細かい説明しても向こう分んないんだし。

どうしても工期短縮しろってんなら、じゃぁ、テストとかバグ取り出来ませんけど?と念書を取るべき。



何でだよって言われたら、「専門的な話になりますが」と断りを入れて、

ポインタ使われていないのでコードが乱雑になっており、バグが発生した際に原因を解析できない可能性がある事

・古い仕様コードが大量に含まれており、.net用に書き直すとなると、フローを再構築することになり、ほぼ一からの開発と変わらない事

辺りで良いんじゃないかね?



説明ができるというよりは、相手に言いたいこと言えるかどうか。

相手との関係がすでに悪いとか、なんか微妙なのは営業のせいだし。

上がってきた見積もりを持ってどう交渉するかだって、営業のスキル

というか、そのために営業っているもんだしね。

技術屋は技術屋らしく、言いたいことを言った方が良いと思うが。



顧客との関係が良好だと、会計システムVCで組むのめんどくさいのでACCESSで良いっすか?ってのが通ったりもする。DBOracleにして一点豪華主義

かれこれ5年ぐらい走らせてるが、向こうがPC更新した時ぐらいしかトラブったこと無い。これも、ファイルパス変更しただけで動いたし。

プログラマー資格制度

プログラムを理解させるには?ブックマークコメントを読んでいて。

ブックマークコメントの中に、「資格」とかのコメントがいくつかあった。

既に情報処理試験とかあって、いろんなIT系資格があるのだけど、プログラマーやってる人なら誰でも感づいているとは思うが、資格など何の役にもたたない、という事で。高度情報処理資格を持っているからと言って、プログラム(その他設計コンサル)が出来るとは限らず、逆に何の資格も持っていないのに、すばらしいプログラムをする人がいる。

まぁ、これら既存IT系資格にある一定の目安にはなるとは思うけれども、万能では無いのも確か。昨今の不況、ITバブル崩壊で、IT系資格資格手当が真っ先に削られたのも、記憶に新しい(弊社だけかもしれないが)。

雇う外注ソフトハウスから派遣されて来た人など、だいたい15分も話せば、どのくらい出来るか、使えるかは判断出来る。これは資格では計れないものだ。

仮に、弁護士行政書士医師など、士制や免許制はどうだろうか?

やはり、使える弁護士がいると思いきや、藪医者もいるわけで。

車の免許はどうだろう?

交通事故は起きるし、無免許運転ははびこっている。

プログラマーはどうだろうか?

例えばトイレ。水を流すのに、最近トイレは、リモコンスイッチを押すと水が流れるが、あれ、プログラムだよね。

例えば炊飯器。米と水を入れて、スイッチを押せば、ご飯が炊きあがるが、これもプログラムだ。

車。ハイブリットや低燃費車が走っているが、あれは電子制御で動いている。

飛行機最近航空機は油圧では無く、フライバイワイヤーだ。

ロケットアポロファミコンにも劣るコンピュータで月まで行ったが、プログラムだ。

先日の中国の高速鉄道事故も、ATCプログラムミス(?)による事故だ。

先日の$oftbank携帯の通信障害は、故意に仕組まれた通信障害だった。

どこにでもプログラムは入り込んでいるし、そのプログラムによって、便利になっている反面、人命をも奪い、都市機能麻痺させる事も出来る。

にもかかわらず、「資格」「免許」無し。

なんでだろう?

介護について考えてみよう。

ヘルパー資格介護士とかいろんな資格が必要だが、世間一般的には、ワーキングプア、もしくはそれに近い悲鳴が聞こえてくる。

なんでだろう?

資格免許を持っていても、それが収入時間に反映されないいい例だと思う。

プログラマー」「SE」と名乗るのは簡単だ。「漫画家」「小説家」と名乗るのと同じように。なんだったら、名刺名前の上にそういう肩書きを書いておけば、「プログラマー」であり「SEである

漫画家小説家と違うのは、漫画家小説家は「売れなければただの無職」という事だ。あっという間に食えなくなる。自分アシスタントをやっていたし。アシスタントでは、ちょっと食っていけなかった(アシスタント作家自身は違うが、それなりに間近で見てはいるわけで)。

プログラマーSEがそうならないのは何故だろう?

誰かがリカバリーしてしまから、では無かろうか。

プログラマーSEが個人事業種の人達だったら、その通りになるだろうけど、多分、半分以上の技術者は、どこぞの会社所属しているサラリーマンだと思う。もちろん、これはこれでメリットがある。営業や経理・総務・庶務等が他の人に分担されている事や、会社などの福利厚生も使えるから

逆に「金の切れ目が縁の切れ目」が使いにくいというのがある。同僚が失敗したり行方不明自殺等というのはこの業界日常茶飯事だが、そのリカバリーは必ず誰かがやらなければならない。そして不思議な事に、それをやる人間は決まっている。失敗したマンガ小説を他の作家リカバリーする、というのはあり得ないのにね。

資格制度免許制度が万能とは言わないが、有効かどうかと言われると、自分には判断出来ない。しかし、前述したとおり、非常にクリティカルなモノを作る場合も有り、無資格なのはそれはどうだろうか?とも思う。

プログラマーSEミスすれば、都市機能麻痺し、人が死に、医療器具が動作せず、電力が起きず、このインターネットすら動かない。TVラジオダメ第1次産業以外のほとんどが停止する事になる。

そんなクリティカル仕事なのに、この士農工商穢多非人非人のような扱いを受けるのは何故なんだろうか?

経営者管理からみれば、次から次へとターゲットが蛆のように沸いて出てくる職業であり、使えるだけ使って、あとは使い捨て、という業界だし。

一度、プログラマーSE自分のやっている仕事がどういう事なのか、考えてみた方が良いのでは無いだろうか?

考える事は出来ると思うよ? だって、「完全動作する事を常に考えている」のだから。それが過失・故意にでも動かなかった場合、どういう事になるかは、簡単に想像出来るよね。

絵描き小説書きや楽器演奏作曲は、小学校の頃、学校で習うから、分かると思うんだけど、【今の現役世代以上】のプログラマーSEは、小学校で習わなかった。この差が非常に大きいのだと思う。

どんな無能経営者無能管理だって、「自分が絵を描けない・難しい」というのは、自分で分かる。なぜなら、義務教育時代にやっていたから。ところがプログラミングSEはどうか。やってないから分からない、わけだ。

あと、拍車をかけているのが、どこかが発表している「情報技術者何万人不足」という発表。この時点で「質」が考えられていない。そこへ、程度の低い派遣業が入り込んで、エライ事になる。そもそも派遣とは、受け側に技術が無いからその手助けに赴くものであって、人身売買では無い。先日も弊社で「組み込み系の低いレイヤーの部分を作るC言語(かなりアセンブラ寄り)が出来る技術者」を要求したのに、実際ソフトハウスから派遣されてきた人間は「C言語ポインタという概念も知らない」技術者だった(どうやら、Windows統合開発環境上においてC#だったら使える、というレベルだったようだ)。もちろん、そんな人員を使えるわけ無いのでその場でお引き取りを願った。こういう、「質」や「ベクトル」に関係無く「頭数」だけでどうにかなると思っている奴らが非常に多い。日本の(少なくとも情報系)派遣や客先常駐の考え方は、間違っていると思う。

そう考えると、ある一定の基準として、質やベクトルを明記する必要はあるのかもしれない、と思う。それが労働時間賃金に反映されるかどうかは分からないが。

2011-08-06

プログラムを理解させるには?

K&RのCで書かれたプログラムを渡された(もう少し正確に言えば、VisualStudioのWizardで作られたものにK&RのCでコーディングしてある(C++ですら無い)ので純粋なCでは無いが果てしなくK&RのCだ)。あと、これを作った人はどうにも「ポインタ」の概念が無いらしく、無駄に多次元配列だったり、配列アドレス渡しとかが多用されている。

作業指示は、これを流用して、C++/CLIかつ.netFramework3.5使用かつ新規案件対応せよ、との事。

個人的にはどう見積もっても3人で4ヶ月かかる量なんだが、予算が1人で1ヶ月、と言って来た。理由は「Cからの流用だから」。

参ったな。自分としては、C++/CLIはもはや別言語だと思っているんだが。

どうにも上司顧客に説明出来ない。説明出来ないのは、自分が理解していないせいだ、と言われればそれまでなのだが、自分感覚で言うと、高段者がうっている将棋囲碁の一手を初心者に教える、とでも言うか、小学生微分積分を教えるというか、そんな感覚がある。

いや、相手が、K&RやANSIC++C++/CLIを分かっている人間になら、説明は出来るのだが、相手のレベルに合わせて、説明が出来ない。

今回のこれに限らず、見積もりとかすると、「なんでこんなに時間かかるの?」とか「高い」とかよく言われるのだが、やっぱり説明が出来ない。デスマってるプロジェクトには、よくさらなる人員投入がされる事が多々あるのだが、デスマってる時点で負け戦だし、「混乱したプロジェクトに人を投入すれば、さらに混乱するだけ」と自分は思っているので、やめてもらいたいと思っている。

「あんたの小学生なる子供が、100人いたら、東大合格するくらいの学力が発揮されるんですか?」と問いたい。

あれは、VisualBasic4が出た頃か。それまでWindowsプログラムというものをCまたはC++で書いていた自分には、驚異的な言語に思えた。そしてみんな言う。「VBで作れば簡単ですよ」

自分にはVBという言語はとてつもなく難しい言語に思えた(MFCは論外)。なぜなら「かゆいところに手が届かない」言語だったから。だから、皆が言う「VBなら簡単」の理由がさっぱり分からなかった。ちょっとした使い捨てツールや、極々Windows標準的な事しかやらないのであれば、VBは簡単な言語であったのは分かる。実際自分もそういう使い方をしていたから。

そして、うちの職場ではそんな製品を作る所では無く、仕様を満たすためにはサブクラス化とかWin32APIを使うとかしないと実現出来なかった。もちろん「VBで作れば簡単ですよ」と言っていた連中にサブクラス化など理解出来ようも無く、ただただ右往左往してデスマーチ突入していった。

その時も、お偉方や顧客に説明が出来なかった。「VBなら簡単」と言っていただろう、と言われるだけ。

まぁ、VB.net時代になってから、だいぶマシになってきたと思うけどね。少なくとも、スレッドセーフになってくれただけでもありがたい。

まぁ、その辺はともかく、もしかしてデスマIT土方とかなるのは「説明が出来ないから」なのではなかろうか?と思えてきた。必要な時間予算を説明出来ないから、泥沼になるのではなかろうか、と。

説明が出来ない限り、プログラマー永遠にIT土方であり、地位向上は望めないと思う。人月神話じゃなく、ファンクションポイント法とか、なにか定量的に説明出来ればいいのだけど。ファンクションポイント法だって、それが分からない人には通じないわけで。「小学校入学した児童にも分かるような」説明が出来ないとダメなんだろうなぁ。どうすればいいんだろ?

2011-08-03

http://anond.hatelabo.jp/20110803031534

反応感謝。おかげで論の穴や新しい観点が見えてきて面白い。この問題をより突き詰めたら「現代オタク論」とでも呼べる議論ができるんじゃないか

ってか疲れてきたから真面目口調やめていいよね? あと眠くなってきたから寝る前に四点だけ言わせてくれ。

  1. オタクコミュニティ外のものを当然のように収奪する」例を不勉強にして知らないので、検証可能なポインタを示してくれると俺は嬉しいし、記事を見てる人も多分嬉しい。
  2. 10年代オタク」については俺の考察が足りてなかった。当該世代じゃないせいか感覚キャッチできないんだよなあ。指摘ありがとう
  3. 「動向に注目するまでもなく、法に逆らうことはできない」といっても、今のところカオスラウンジ原著作者から正式な手続きで法的に訴えられる事例ってまだないじゃない。だから、実際にカオスラウンジ原著作者から訴えられた時の、彼らの反応が気になるんだよねえ。
  4. 「一度敵対した人間の作品を評価することはない」ということを否定したい程度には、俺はまだオタクコミュニティに対する信頼があるんだよ。俺、自コミュニティに関していつも適当なことを言う死ぬほど嫌いな評論家がいるんだが、その評論家は自身の専門コミュニティでは良い事言うんだよねえ。だから、少なくとも俺は敵対する人間でも素晴らしい成果物を出したら、その点については評価したいと思ってる。

起きたら練り直して反論するかもしれない。しないかもしれない。

2011-05-30

http://anond.hatelabo.jp/20110530004826

まぁ、バグ放置報道は「致命的なバグがあると知って放置した場合からな。

ログが残る経路で連絡されたら放置できないって感じになるか。

ところで、そのプログラムじゃ意味がなくって、引数データを渡して、バッファオーバーランが起こるようなプログラムがいいと思うよ。

コンパイラも通るし、「仕様通りに」データが渡されれば問題なく動く。

文字列ポインタで受け取ったあげく、レングスチェックを行わずに処理すれば良いだけの、簡単なお仕事

2011-01-29

NAVERオンライン英語辞書がスゴい件

NAVEARがいつのまにかオンライン英語辞書サービスを始めていた。


http://endic.naver.jp/


プレスリリースによると、小学館の「e-プログレッシブ英和中辞典」「プログレッシブ和英中辞典」、及び英英辞典として

HarperCollins Publishers Ltdの「Collins English Dictionary」をベースとしているもよう。

Yahoogoo辞書に英英辞書プラスアルファされた程度のものだろうと想像していたが、実際に触ってみて、かなり個性の強いオンライン辞書であることが分かった。




1, 例文数2700万件(英辞郎なみか?)

海外新聞記事やサイトより例文を引用しているらしく、例文がハンパなく多い。

ニュースから引用が多めか?




2, 例文の絞り込み機能が秀逸!

自分仕事の関係、アルク英辞郎ヘビーユーザーなのだが英辞郎の例文表示に不満をもっている。

というのも、例文が多すぎて欲しい用例を見つけるのに3ページ目、4ページ目とクリックして探さなくてはならない……..。

  今回NAVER英語辞書の例文表示ではこの点が解決されている。テーマ別、文体別、地域別、翻訳の有無、難易度別、年代別などに条件設定して例文を絞り込めるのだ。

例えばテーマ別で「名言」をクリックして単語検索すると、その単語を含んだオバマとかプルーストとかの名言が例文として表示されるしくみ。いい仕事してます




3, クイック辞書機能

  例文中の英単語オーバーマウスさせると黄色ハイライトされる。さらにクリックするとページ右脇にススッーっとウィンドウが開き(なんだか気持ちいい….)、

その単語意味が表示される。よくあるポインタ上のポップアップでの表示ではないので目障りにならない。



などが優れている点。問題点



1, 見出し語数。専門用語などはアルクほどカバーできていない。

2, 例文に日本語翻訳がついてないものが多い。



コンテンツ量では英辞郎に劣るものの、ユーザビリティではNAVER英語辞書に判定をあげたい

今後中国語韓国語オンライン辞書リリースするそうなので、中国語初級者の自分としては大変期待している(東方書店あたりの相原先生の辞典を採用してくれるといいなぁ….)。

2011-01-16

http://anond.hatelabo.jp/20110116135718

PGのコンディションがアレな状態で書かれたコードで時々見かけるよ。

どこの何なのかもよく分からないポインタがいつの間にかint型になってて、それが超重要な処理(しくじったら数日はそこの業務が止まる)の開始に絡んでるので迂闊にいじれなかったりとか、「削除禁止.dat」って0バイトファイルの有無で処理開始の可否を判定していて(削除すると初期化スキップされてしまうので前回起動時のデータのまま起動してしまう)、コードを書いた本人に理由を聞いても「分からない…何故だろう…?」としか返ってこなかったりとか。

2011-01-14

http://anond.hatelabo.jp/20110114224748

http://anond.hatelabo.jp/20110114224058 を書いた増田です

ちなみにFizzBuzzを短くするなら、こう。printfの""はポインタである。というのをつかって\0を文字列に入れ込み、数値の演算結果で文字列シフトする。

Buzz単体を表示したい時にはFizzBuzz+4相当で表示できる というのがさらにポイント

俺ならその4行目は

  printf("%d\n\0Fizz\n\0FizzBuzz\n"+("PFFJFTFFJFTFFJF"[i%15]-'F'), i );

たいしたくなるけどコードレビューで殴られそうなのでやらない。

このコードだと条件分岐がなくなってるし割り算の回数も減ってるから速くなるかもよ?

(でもそんなこと言うならprintf使ってる時点で論外だよな)

http://anond.hatelabo.jp/20110114224058

まぁ、今時は32Bitだし 100までしかFizzBuzzは回さないだろうから、動くんだろうな。

どうでもいいけど

cout 書いたなら、strstreamだろうし sprintf使うならprintfだろうなぁと

int main(void){

  int i;

  for(i = 1 ; i <= 100 ; i++){

    printf("%d \0Fizz \0FizzBuzz "+(i%5?(i%3?0:4):(i%3?14:10)),i);

  }

  printf("\n");

  return 0;

}

ちなみにFizzBuzzを短くするなら、こう。printfの""はポインタである。というのをつかって\0を文字列に入れ込み、数値の演算結果で文字列シフトする。

Buzz単体を表示したい時にはFizzBuzz+4相当で表示できる というのがさらにポイント

だが、こんなプログラム実際に書いてあったら、レビュー却下するだろうな・・・

難読化されているわりには、プログラム的に速くなるわけでもなんでもないから。

2010-11-22

C言語すら知らなかった云々の記事がちょっとひどい

http://www.lastday.jp/2010/11/22/objective-c

 

早速Objective-Cとやらを勉強しようと思ってググってみたら、Objective-CC言語拡張なので先にC言語を学ぶ必要があるという驚愕の事実が発覚!

ググる前に公式ドキュメント読もうよ。

 

この文書はC言語については解説されていないため、C言語にある程度慣れていることが前提となり ますしかし、それほど熟達している必要はありません。Objective-Cによるオブジェクト指向プロ グラミングはANSI Cの手続き型プログラミングとはかなり違っているので、熟達したCプログラマで なくても、さほど不利にはなりません。

  

Objective-Cプログラミング言語 日本語

http://developer.apple.com/jp/devcenter/ios/library/japanese.html

 

Cの知識があるに越したことはないけども、どこまで必要かという話になるとごにょごにょ

少なくとも、Objective-Cを公開している連中が、"Cの手続き型プログラミングとはかなり違う"と言っているのだから、C言語的なコードの流れには(あんまり)ならない(はず)。

それより、フレームワークの扱いに慣れることに重点を置いたほうがいいんじゃないかな。

苦Cで言うところ、文字列やら、ファイルの取り扱いあたりになってくるとかなり微妙で、出来る限り言語機能やフレームワークに任せたい

ポインタはそりゃ、Python使いが見たら発狂するんじゃないかってぐらいポインタ演算子が出てくるけど、オブジェクトインスタンスは全部ポインタなんだから、いっそ気にしなくていいんじゃない? それとも関数ポインタとか使いたい? きっとデバッグが大変だよ。

 

YouTubeVimeoで『Xcode tutorial』で検索すると大量のiPhoneプログラミングチュートリアル無料で視聴可能です!

動画は全部英語

公式の「iOS アプリケーションチュートリアル日本語版)」を読んだ上で言っているのであれば、どこの誰が作ったかも分からない英語動画が、アップル公式の日本語ドキュメントより優れている点を挙げた上で、その動画URLを示して欲しい。

英語なんて分からないよ。

 

初心者オススメです。この本を読めばiPhoneアプリ自分でも作れるかもしれないと思えるようになります

オススメってことは必読じゃないのかな?

 

3.初期投資

Intel Mac + iPhone or iPod Touch + 10,800円

ここから、開発者プログラムの参加費用$99(¥8000程度)を差っ引くと、一冊分しか残らないから、下の方で紹介されてる本が必読なんだろう。

 

たのしいCocoaプログラミング[Leopard対応版]

初心者にわかりやすくObjective-Cの事が書かれています。必読です!

こっちが必読?

内容全く知らないで発言するけども、書評を見てみると、Snow Leopard対応していない旨が書きこまれていて、多少不安

流行りに乗ってMacbook Airを購入した人は、大抵Snow Leopardのはず。

記事には、"二ヶ月前"からとあるので、少なくとも記事を書いた人はMacbook Airではないのだろう。

 

自分アプリの必要な部分だけを勉強すれば、それだけリリースも早くなりますモチベーションも下がりません。全部網羅しようと思うと開発自体を頓挫しかねません。

遅延評価勉強法の考えで行くと、C言語を先に勉強する必要はなかったと思うけど、どっちなんだろう。

その辺も遅延で気付いたのかな。

 

英語力がなくてもアプリは作れますが、英語がわかると公式ドキュメントや先にあげたYouTubeチュートリアル動画も理解できるので簡単な英語くらいはできる方が良いです。

日本語の公式ドキュメントがあるので、是非参照して頂きたいです。

 

iOS Reference Library日本語

http://developer.apple.com/jp/devcenter/ios/library/japanese.html

Apple Developer Documentation日本語

http://developer.apple.com/jp/documentation/japanese.html

 

 

日本語ユーザが増えたら、Xcodeのクイックヘルプとかドキュメントとかも日本語化してくれないかなあ。

それとも、実はただの調査不足で既にあったりとか…

2010-11-02

家で2匹のぬこを飼うことになった

名前付けを任せられたので、ナルポインタから『なる』、ダングリンポインタから『だん』にしようと考えた。

でももっとましなネーミングがあるんじゃないかって思う。

そんな胸の声は無視して次はアリスメティックエクセプションから『ありす』にしようっと。

2010-09-05

XMOSメモ

ブログに書くと、一発で仕事バレするようなニッチネタなのでここにメモっとく。

 

XMOS 2007年の記事

http://www.atmarkit.co.jp/fsys/zunouhoudan/091zunou/xmos_cpu.html

ここではボロカスに書かれていたが、やっと安い評価キットが出はじめた。

XMOS 2010年の記事

http://www.csp-consortium.org/apps/XMOS_training_kit%282010-08%29.pdf

ニコニコ技術部あたりが食いつきそうなネタではあるものの、今の所ニコ動でXMOS検索しても1本も出てこない。

デジキーですぐ買える。チップ1000円~3000円。小規模な評価キット2万~3万ぐらい。

ちなみに総産研にXMOSという名前を使った特殊なMOSトランジスタ研究発表があるが、それとは全く別物。

 

特徴:

普通にC言語でも使えるらしいが、チップの特徴を活かすためにはXC言語という専用の言語を使う。

昔、トランスピューターをやってた人達が作った。なので、XCの実態はトランスピューター用言語とC言語を混ぜたような感じ。

http://ja.wikipedia.org/wiki/%E3%83%88%E3%83%A9%E3%83%B3%E3%82%B9%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF

 

・小規模な組み込み向けの用途において、安価チップで、並列処理とかイベントドリブンな処理が可能、という点が画期的。並列処理は大規模コンピューティングだけのものじゃないよ!という熱いメッセージ

ハードウエアの動作をソフトエミュレーションする処理は、いわゆる「ワンチップマイコン」よりは得意&楽。

・XCは言語仕様としてポインタが削除されてる(!)。XCをC言語派生言語と呼んでいいのか迷う所。

 

現状の安価なXMOSチップボトルネック

・XCは、昔のトランスピュータを勉強した経験がある人じゃないと、上手には使いこなせないクセモノ。いい感じにガラパゴス化しとる。

・大容量のメモリをつなぐことを想定した専用ハードを持ってないので、自ずと用途は限られる。(DRAMのI/Fをエミュレータでやれ、なんて言われても絶対嫌だ。)

浮動小数点をサポートしてない。(裏技はあるらしい)

・XCの言語仕様は、「木に竹を接いだ」ような状態で、お世辞にも美しいとは言えない。ソースコード眺めてるだけでムカつく。(将来的に改善される可能性はある)

・「チャネル」というのが1つのキモだが、この帯域幅が今時のチップとしてはしょぼい。ただしこの欠点は大量のチップを並列に使えば、理論上はある程度補うことが可能らしい。

MMUを持たないので、Linux移植できないのか、と言われるとツラい。

 

XMOS応用例 Youtubeでもやっと数千再生しか行ってない。

http://www.youtube.com/watch?v=4gbFagvjSfU

http://www.youtube.com/watch?v=eLyn2Ghq_oE

http://www.youtube.com/watch?v=atAdpt5SZe8

今、XCとXMOSに取り組めば、あっという間に国内のこの界隈では有名人になれるかもしれない。強いて言うならそこが唯一の魅力。

 

2010-08-17

プログラミングできないやつがプログラマであっても全然問題ない

ていうか当たり前。

いやもちろん問題なんだけどね。

現場にいる私にとっては同僚のスキルが低いのは当然問題なんだし私自身へぼであることは問題だけれども、そういう次元の話じゃなくて。

はてななど見てると、まるで何か、プログラミングへの情熱燃え努力を惜しまずスキル向上してる人がプログラマって職業に付くのがしかるべき姿であって、ポインタポリモーフィズムも理解できない(理解しようと努力もしない?)間抜けがプログラマになるなど言語道断であり、10000行のメソッドが作られるような悲劇はなんとしても避けなければならない、って雰囲気だけど。

いや悲劇は避けられたほうがいいけどさ、あのさ、「その仕事に熱意もないし能力もない、特になんもない人がその仕事をしてる」っていう状況は、しごく当たり前なのであって、むしろ、「自分の好きなことを仕事にして自分能力を伸ばして社会会社に貢献して自己実現しましょー」っていう思想のほうがよっぽど異常だから。

仕事にしたいような好きなことなんて、無いでしょ。ふつう、無いでしょ。

なんとなく学校出て、働かなきゃなー、って思って、なんとなく働くの。そんだけ。

で、たとえば飲食店に行ったら、いかにも接客業に向いてない感じのぼさーっとした奴が店員やってたりするでしょ。これ、普通

世の中、たとえばタンポポ刺身仕事があって、タンポポ大好きでその仕事するやつもいれば、なんとなく就職してタンポポ乗せてる奴もいる。

そんで、タンポポ乗せるのうまい奴とか下手な奴とかいる。それだけ。

もしかしたらソフトウェア開発ってのは崇高なる職業であってセミの死骸を裏返しにする仕事とは格が違うのかもしらんけどさー。

たいした変わらんって。

人間だいたいほとんどバカ。バカばっかり集まって社会ができててもなんとかなる。これ素晴らしい。

プログラミングできないけどSE、なんてねえ、まあ、とりあえずパソコンに向かって座ってて給料もらえるんだから、しめたものですよ。

あいつ全然仕事できないっていうか俺の書いた美しいコードを汚してるだけなのに、俺と同じ給料もらいやがって、ってそれ、賃労働に囚われ過ぎ。

がちがちに仕事できるやつだけ集まってる職場なんて息苦しいですよー。

そんなこんなで明日も日が昇るのだから、すーぱーはっかーにもFizzBuzz書けないあいつにも等しく感謝して、だらだら生きなさい。

2010-08-16

http://anond.hatelabo.jp/20100816013003

ポイントは剰余と関数ポインタで分岐してるところか。

昔、関数ポインタ配列みたいな連続テーブルになって条件分岐を使うより実行動作が速くなることを期待してコードを書いて速度測ったけど

inlineで展開されるコードジャンプ前提なifやgotoよりも何百倍も遅くて悲しくなった記憶がある。

2010-07-21

ふと思ったのだが、テレビネットの融合的な話で

テレビネットをする場合

レーザーポインタ的なものをマウスの代わりにするのはどうだろう。

案外便利な気がするのだが。

2010-07-19

体感しないと知り得ないmacの素晴らしさ

mac歴2ヶ月にして、これは中毒

MacBookProを購入しました。そして、まさか、こんなにハマるとは自分でも思っても見ませんでした。

私も元々はこれを読んでいる大多数の方と同じくWindowsを使っていて、

Mac? 2番手なのにシェア1割じゃ余計に誰も買わないだろ」なんて思っていました。

しかし、今となってはそんな事(シェア)なんてどうでもいいのです。Macは最高なのです。

この、全てが美しい愛機にゾッコンなのです。もう手放せそうにないのです。

なのですが、「Macのどこがそんなにいいの?」と聞かれると上手く説明できません。これは、難しい。

Macユーザーならこの気持ち分かると思うのですが、Macの良さって言葉にすると伝えきれないもどかしさを感じます。

言葉にした途端に輝きが失われるというか。例えば、


J「トラックパッドが凄いんだよ。超直感的」


G「へー、そうなんだ。直感的に操作できるんだ」


J「そうなんだよ! 分かるかな、こう、スクロールとか、全然違うわけ。

スーって動くし。あと、3本指でシャッてやるだけで進んだり戻ったりできるし!」


G「そうなんだ」


J「しかも、その手の動きが画面と一体化してて、もうヤバいよ、アレは!」


G「そんなに凄いの?」


J「あー、もう、見せたい! というか、使って欲しい! 見るだけじゃ伝わらないわ。よし、買え!」


G「えー、操作感のためだけに買い替はしないだろ。つか、皆WindowsなんだからWindowsで十分なはずじゃね?」

切ないです。という訳で、改めて何故Macがこうも使いやすいのか言葉にしてみると同時に、

買おうか迷ってる方の背中を押す文章を捧げたいと思います。

紹介1:うっとりするほど目に優しい

最初に紹介するMacの良さは、地味なところで「画面が目に優しい」という事についてです。

もちろん、パソコンで作業すること自体は目が疲れるという意味では少なからず目に悪いのでしょうが、

ここで言いたいのは視力云々の話ではありません。Macの画面は精緻芸術作品である、という話です。

WindowsWordを使っていると、フォントゴシック体から明朝体に変更すると文字が急に読みにくくなりますよね。

文字が大きい場合は特に問題ないのですが、10pt前後の大きさの文字はギザギザして読みにくくなると思います。

明朝体に限らず、メイリオや丸ゴシックに変更すると文字化崩れて読みにくい。

そして、文字の大きさを少しづつ大きくしていくとある大きさから急に薄めの字でまともに読めるようになり、

プリントアウトすると実はどちらでもきちんと印刷できたりしますよね。それ、見にくいと思います。

それが、Macには無いんです。明朝体なら明朝体が表示されるだけ、です。しかも、普通に読みやすい。

これはウェブ閲覧時にもありますね。突然明朝体サイトに出くわすとものすごく読みにくかった記憶がありますが、

Macにしてから何も気にせず読めてます。

というか、明朝体の持つ「お硬い文章ですよ」という雰囲気がしっかり表現されていて制作者の意図通りに読めるが嬉しいですね。

フォントといえば、Macに標準装備されているフォントは美しい! iPhone持っている方なら実感あるかと思いますが、

文字って思った以上に小さくても読めるものなのだと思います。可視性の高いフォントであれば。

そして、Macに標準装備されているOsakaやヒラノギといった美しいフォントは、眺め心地が心地良く、

Mac電気的な機械ではなく、もっとアナログに近い何かかと錯覚してしまうほどです。

紹介2:強制終了と再起動の不必要性

これには心底感心しました。Windowsを使っているときは、「Alt+Ctrl+Delete」に何度お世話になったことか分かりません。

それから、電源ボタン長押しも。Macを使い始めて驚いたのが、負荷が大きくなった時の

時計マーク(ポインタが輪っかになりクリックできなくなる現象)」が、少しの間待っていればきちんと解消されることです。

Vista時代は、時計マーク、即、強制終了だったので非常に助かります。

紹介3:ソフト犯罪的にに軽い

特に、iTunesEvernoteは顕著ですね。グラボのせいなのでしょうか?

iPhone持ちにとてiTunesはそれなりの頻度で使うソフトだと思うのですが、使えたものではないですよね。

楽曲管理がかろうじて使えるくらいで、アプリ管理は諦めていました。Evernoteにしてもそうで、

一応は使えるながらも挙動がいちいち遅くて待ち時間が殆どでは?とイライラしていました。

それが、Macに変えて軽い事、軽い事。iTunesAppleが作ったものなので仕方ないですが、

こんなにも差別されているとは知りませんでした。使えるソフトの数ではWindowsが勝つとはいえ、

常用するソフトが快適なMacの方が世間から優遇されているのでは?なんて感じたほどです。

紹介4:常に完璧に整理整頓されたファイルたち

これも、説明するのが難しいのですが、Macは「何がどこにあるのか、又何がどこにあるべきなのか、それが全て決まっている」印象があります。

パソコンを使う時間が長くなるに連れてファイルの整理が意味不明になりがちかと思いきや、全くそんな事は無く、

むしろいくらでも増えてくれとまで思います。これも地味な特徴ですが、実は効果絶大でとにかく「整理」にかかる時間は短く、

また欲しいファイルまで文字通り一瞬でたどり着けます。

それでも何かと不便ではないのか

りある快適さを手に入れながら、現時点で私が唯一どうしようか迷っているのがOfficeソフトです。

MacOfficeであるiWorkは、個人で使ったり提出するために使うには快適そのものなのですが、

他人からdocxやらxlsxファイルを受け取ると少し困るので。単純なレイアウトならそのままiWorkで開くのですが、

スマートアート含め、どうしても形が崩れますね。。。もうすぐOffice:mac 2011が発売されるので待とうか、

現状のOpenOfficeで我慢しようかといったところです。Office:macは少しだけ高めの価格設定なので、そこさえ払えるのであればMac一択です。

というか、Macを使うためだったらそれくらいは気にせず買う事を強くおすすめします。Macを知らないで一生を過ごすのは勿体無いと思うので。

最近Macは性能の割に安いですから、是非に。

2010-07-01

http://anond.hatelabo.jp/20100701084551

うーん、たとえば、だ。

C言語プログラミングテクニックを論議する場において「C言語スマートポインタ実装だろ」とか「com使って別言語のガーベージコレクション利用」とか言ってる場に、プログラムのプの字も知らないやつが現れて「メモリって何?」とか基本的なことを聞かれても「そもそもそのレベルで論議に参加すんなよ」あるいは「自分勉強すりゃ判るだろ」になるだろ。

あるいは丁寧な人はメモリポインタについて講義するかも知れない。ただ、C言語ポインタってそれだけで書籍が出るぐらい、判らない人には判らないもので。

結局、こんな場所で「教えてくれ」なんていうやる気無いやつが理解できるとも思えない。

入門書読めばついていける程度のレベルの内容なんだし、そのくせここで解説もとめるのはちょっとなぁと思うんだが。

- 転職ならen
- 派遣ならen
6ページ中1ページ目を表示(合計:145件)