以前人間の体はJavaで出来ているらしいというエントリを書きました。書きました、が。
すみません。やっぱり人間はCで書かれているようです。ソースは今日昼寝した時に見た夢。
前回の激痛と違い、ふと腹部に感じる圧迫感。これは・・、あれだ。
俺「便意か」
しかしトイレに行こうと思っても、なぜか体が動かない。うつぶせの状態からまったく起き上がれないミステリー。やばい。こいつ(=体)・・動かないぞ!
額ににじむ脂汗。腹は痛くないものの、圧迫感は刻一刻と増している。このままでは・・。
そこで彼女が登場。
彼女「ごめん。バグ作りこんじゃったからブレークポイント設定したの」
な・・バグ・・だと?まさかcancerクラスか?
俺「・・で、何が原因だった?」
我慢は限界だ。
彼女「腸の内容物を保存してるハッシュテーブルがコンフリクトしてた」
俺「・・ハッシュのサイズいくつにしたのさ」
彼女「100」
なんでそんな素因数が多いサイズなんだよ!せめて97か101だろ!
彼女「まーでも何処でバグったかわかったし! じゃ、いったんプロセス落とすねー」
・・・・プロセスって何ぞ?
ぎゃー。
というところで目が覚めた。もしかしたら病院にいくべきなのかもしれない。ちなみに起きたら便意は無かった。(名誉の為に言っておくが)メルトダウンしたのではなく、それすら脳の生み出した幻想であったのだ。そう、いないはずの彼女と共に。
Archive for the 'ぶろぶ' Category
ごめん。やっぱり人間はCで書かれていたよ










半角と全角の間。










I’ll tell you about HyperTextMarkupLangage.
かっこよく?英語から書き始めました。こんばんはkimです。
最近、英語のスペルが出てきません。いや、マジで。ホント。
サーチとかよく使いますよね。あと、広告のアドバタイズとか。これが。
○search -> ×sarch とか
○advertise -> ×advertize などに脳内変換されてしまうわけです。
英語読んでねぇなぁ。そりゃ、落ちますね単語力。
まぁ、そんな話はおいておいて、今回はHyperTextMarkupLangage -> HTMLの話をしたいと思います。
前のエントリで書いてたんですが、HTMLはwebアプリの基本ってのを書きました。
そんなわけで、R’sマップのニューデザインを書いてたんですが。
list要素を使ってリンクを作ってたらあら不思議。変なところに妙な空白が出現しました。
見た目上かなり不自然だったため、除去しようと戦闘開始。
CSSの指定が間違って変なところに、marginやpaddingが存在しているのかと思い。
FireBug起動!(←こいつは超便利です。使った事無い人は是非!)
追いかけても、おかしなところはなし、仕方が無いので、
直接スタイルを指定したりして寄せたり上げたりしてみたのですが、無意味。。。なぜ??
これはもしや、list要素に特殊な仕様があるのかと思いGoogle先生のところへ。
そして、list要素の後ろに改行をすると、その下部にスペースができてしまう事が発覚☆ショック
でも、結論からいうとこれは関係ありませんでした。
じつは、
<li>ほげほげ</li>?? の?? </li>?? の後ろに全角スペースがいました。
うわぉ。やられた、こいつのせいで妙なところに一行何も無い行が誕生していただけでした。
即、消去してバイバイしました。
ここから、まめ知識(まめにもならないかも)
ページ上に意図的に半角スペースを表示させたいときに、HTMLソース内に半角スペースを一つ書くだけでは意味が無いです。
二つ半角スペースを書くと一つ半角スペースが表示されます。(3つ書くとどうなるのかは知りません。(・・;)
これで、スペースが表示されてうれしいわけですが。
いっぱい表示させたいときや、スペースがソース内に意味を持って存在しているのが嫌いな人(私の事です)見えない物を信じる事ができない人。
などは、別の方法をとるわけです。
それが、
“ ”????? (5文字もあるやんけっ!と言う方は無視してください。)
これを書くと書いた分だけ半角スペースが表示されます。
これだと、数もわかりますし、ここに半角スペースが一つ表示されるという事が一目で分かります。すばらしい!ばんざーい!ヽ(▽ ̄ )乂(  ̄▽)ノ ばんざーい!
さて、ここでしつこく半角、半角書きまくってましたが。なぜかってーと全角と区別するためです。
全角だと一つで当たり前なんですが半角スペース二つ分になるので数が二つ打たないとダメだとかそんなことを気にせずにどかどか打てるわけですが。
プログラムってのは基本的に全部半角です。なので、全角が部分的に混ざると結構めんどうです。
なので、やっぱり半角でまとめたいですね。プログラムによっては全角スペースが混じるとエラーの原因になったりするので、これは結構大事です。
しかし、半角と全角分けるのがかなり面倒。英語万歳の世界ではどうしようもないわけですが。
ふぅ。プログラマの憂鬱は消えません。
Webデザインのあいうえお。










朝に見た人、おはようございます。
昼に見た人、こんにちは。
夜に見た人、こんばんは。
深夜に見た人、早く寝ろ。
さて、エントリ書いてるのは深夜のkimです。
明日も朝からゼミなので、もちろん寝ずに言って参ります。
なぜなら、朝が超絶弱いから。わかりやすいですね。
さて、話変わって、webデザインのあいうえおです。
昨日のcalcsのエントリにもあるように春なので新メンバーが入ってまりました。
非常にうれしい限りです。
Are you happy? Yes, I’m ♪♪♪♪Happy (ノ^^)乂(^^ )ノHappy♪♪♪♪ってな感じです。
さてさて、そんなわけで、私ども技術陣のお手伝いをしたいという方も現れまして。
弊団体では、ご存知のかたはご存知の通り、webコンテンツを作成しております。
中身は、PHPだったりRubyだったりするのですが、
基本的にこのWebに触れる者として知っているべき言語とうか技術?
それは、その名は。。。。
次回へ続く。。。to be continued….
分けないですね。引っ張る内容でも無いです。
それは、HTML + CSSですね。
Webと名のつく職業についてる人はきっとみんな、書けます。読めます。聞き取れます(関係ない)ってな感じです。
もう、web界の共通言語ですね。
なので、弊団体でもHTML+CSSというwebっていうものを知らない人は
最初から少しずつ経験を積んでもらおうという寸法です。
良いですね。プログラムってのは基本的に積んでいくものですからね。
ぴゅーっとは飛んで行けません。
数学と同じなのです。でも、数学が嫌いでもプログラムは書けます(マジでっ!)僕嫌いですしね。(マジでっ!?)
もちろん、HTMLなんて知ってるぜって人はRubyやPHPの方から活躍してもらいます。やったね。
そんなこんなで、今日も夜は更けて行きます。
春の陽気に、おいらは叫ぶ!!花粉よくたばれ。










鼻が詰まっております。
何を隠そう、ヤツが原因です。花粉です。
花粉症です。お久しぶりです。kimです。
うっかりすると書くの忘れますね。
週一の更新を目指そう。今度こそ。
毎週月曜日だな。みんなもがんばろう。
さて、そんなわけで花粉症です。
もう、気づいたときには花粉症になっていていつからなっているかはもう忘却の彼方ですが。
鼻をかんで、鼻が通るなら良いんですが、私は鼻が詰まるたちなので、ダメです。集中できません。
だれか、責任とりやがれ、まったく。
んで、そんなときに役に立つのが鼻シュッシュです。
なんだそれはと、おっしゃるお客さん。鼻に突っ込んで霧吹きみたいなのをシュッシュってやるやつなのです。
これが意外といい感じで、鼻が通ります。
今日は、家に忘れてきてブルーな気分です。なので、鼻が詰まってます。
あー、花粉よ。くたばれ。
新しいサイトを立ち上げた










はーるよー。遠い春よー♪










お久しぶりです。kimです。
ヤバい。自分の前の更新とかもう見れません。二回目です。(一回目は俺じゃない)
人に任せるとろくな事にならないですね。自分が。
今日もcalcs君に感謝。
さて、4月です。
弟が今年からピカピカの大学一年生(ピカピカとは言わない)で、
いろいろ新入生のパンフレットや、授業なにとろうかな。みたいな感じでいろいろやってます。
いいですね。春ですね。
もう、4回生の私とは大学に対するモチベーションが違いますね。
分けて欲しい。。。(/□≦、)
そんなこんなで、4月です。(2回目、1回目も私)
いろいろ、始めるには良い季節です。
学生団体に参加するとか、参加して、プログラムをやるとか。Webデザインやるとか。営業するとか。広報するとか。
もう、考えると楽しい楽しい、学生生活エンジョイですね。
ということで、キャリアエイド開発陣は、やる気あふれる将来エンジニアを目指すあなたたちを心よりお待ちしております。
むしろ生きろ委員会。合議制が学生団体を活かす










続編。
あんまりこっちは書くことないからマキで行くよ!
まぁあえてこういうエントリも書くのは、バランスが大事だよ。っていいたいからだけなんですけど。
合議制の方が効率的に動きそうな問題っていうのは、基本的に間違いをつぶしていけばよくなる類の問題。
文章の誤字脱字の修正とか、契約の免責事項の穴チェックとか。特に前者はプロの校正が一般に流通する書籍には入っていますが、それでも初版だとまず間違いなく複数個の誤植を発見することができます。
こういった問題空間の分割が平易に行える問題は、合議制というか、多人数での分担作業が効果的です。
後、注目したいのは「毒抜き」ですね。ピンで自重せずに仕事をすると、個性がきつすぎる場合があり、それはそれでいいんですけど、ポリティカル・コレクトネスに欠ける場合などがあると、こいつは訴訟リスクなども含めてやばいことになります。
そういう意味で、ラストのチェックというのは合議制がいいかもしれません。後ブレストってのは「まぁそれはそれとして」と、言う立場でアイデアのまとめに入れるのであれば材料出しという意味ではいいかもしれませんね。アイデアを取りまとめていく段階を多数決にすると、よっぽど感性が似た面子でない限り満場一致はありえませんので。
ま、ワンマンはそれはそれで結構意義深いものです。「ワンマン経営」とか、あまりいイメージもたれてないですけど、自覚あるワンマンは十分益することができるというのが私の考えです。それを意義深くするためには合議制の導入も必要、というのがこのエントリのまとめですかね。
calcsです。rails 2.0から導入されたらしいnamed_scopeは便利すぎる。
何かって言うとfind系のメソッドに渡す:conditionsパラメータを分割して、細切れになった条件節に命名できるというもの。
具体的な使い方は
[Rails]named_scopeすごすぎる
辺りを見てもらうとして。
何がうれしいって、RDBMSらしさがRoRでもっと発揮できるようになったってことです。RDBMSの根底にあるのは集合論。
AND条件は、各条件との積集合としてその結果を得ることができます。積とか和とかについては集合論か論理回路でも勉強してください。ま、とりあえずそういう集合論くささがO/Rマッパーでどーも脱臭されていたのですが、こいつは良い。
しかもチェインした条件もSQLの遅延評価によって無駄なく連結されて実行されるという。
というかこれがあったら
Ruby on Railsで高度なタグ管理を実現しよう(仮)
で書いたプラグイン化なんてほとんど要りませんな。ちょちょいと条件に命名してやれば話はほとんど終わっちまいます。
さぁnamed_scopeをつかって積集合を今すぐ作ろう!
補記:ただ一個不満なのはどーせだったら和差集合も上手い事扱えるようにしてほしかった。この辺を直感的に記述しようとすると演算子オーバーロードで条件節に対しての演算にメソッドオブジェクトを返すような設計にしないといかんのだろうか・・。いかん、C++で無駄設計していたブラックヒストリーがフラッシュバックする・・。良い方法知ってる人教えてください。
・・いやぁこのぶろぶもなんだか私信めいてきたなぁ。職権乱用かも。
プログラマが祈らなければいけない理由










calcsです。
プログラマはビルドするたび、テストするたび、実行するたびに祈らなければなりません。祈ったことのないプログラマはおそらくいないでしょう。マジで。
これには理由があります。まぁ祈らないとやってられないというのもありますが、その理由は『グレムリン』という妖怪にあります。
こいつは発明のひらめきを与えたり、エンジニアの手助けをしてくれる妖怪だったのですが、近年は人間の畏敬の念が薄れ、人間を嫌いになって、いたずらをするようになったといわれています。
で、原因不明の機械の不具合などを「グレムリン効果」などといったりするようで、第一次世界大戦中は戦闘機のパイロットなどに計器の不調を引き起こすものとして恐れられたそうです。また、そのあたりからで、飛行機の納品時にはグレムリンへのお供え物をする習慣が一部ではあるのだとか。
そんなわけですのでプログラマも「お願いグレムリン様!」と祈りをささげることで、原因不明の不具合をなんとかやめてもらおうとしているわけです。ハイ。「小人とクツ屋」では小人さんは、靴屋を助けてくれるように、妖精の類は気に入った人間には手助けをしてくれるものなのだそうです。ただし嫌いな人間には嫌がらせをする。
日本では座敷童子も棲む家に富を与えてくれますが、座敷童子が去ってしまうと家は凋落すると言われています。あなたも周囲の妖精さんに感謝して、嫌われないように心がけてみては?
どもども。calcsです。
最近なんだかRoRネタが多いですな、このブログ。いや、ぶろぶか。
まぁそれはそうとタグ。Web2.0とかいうBuzzWordがはやってからこちら、コンテンツのカテゴライズはディレクティブではなくタギングが主流になってきた感がございます。
で、RoRでタグをつけようと思うと真っ先に出てくるのがacts_as_taggable_on_steroids。
まぁ正直タギングぐらい自前で実装しても大した手間ではないんですが、どうせ誰が作っても似たようなデータ構造を採用することになるし、だったらacts_as_taggable_on_steroidsでもいいじゃない。みたいな話になるわけです。
ただしこいつは、タグ付けだけを扱っているので、タグにそれ以上の情報を与えられない。つまり、ニコニコ動画とかpixivとかであるような、投稿者タグのような「一般ユーザには編集出来ないタグ」を作ることができないのである。基本的に。
まぁそれじゃあ困ることもあるので、acts_as_taggable_on_steroidsが自動的に作ってくれるtaggingsテーブルに、user_idとかを保存するためのカラムを作ってしまえば大体ミッション完了である。
ruby script/generate migration AddUserIdToTagging user_id:integer
rake db:migrate
こんな感じで。ただこいつをやると、AddとかRemoveとかが一部そのまま使えなくなる(使えるのは使えるが、当然UserIdを加味した挙動ではないということ)。
そんなわけでその辺はフツーに
Tagging.find(:all,:conditions=>['taggable_type=? and user_id=?','data',params[:id]])
とかしてやらねばいかんわけです。
この辺をmoduleにまとめてしまって、tag_listにmixinしてしまえば完璧です。つーかそれってプラグインですが。
ただこの辺、権限の扱いがサイトによってビミョーに異なるので、一般的なプラグインとしてまとめにくいところ。うむむ。だれか汎用的なプラグインにしてー
最近のコメント