「Json」を含む日記 RSS

はてなキーワード: Jsonとは

2016-04-21

転職は5年勤めてから

の方が良い。

後悔しかしませんよ

追記 :

プログラミング技術はある程度自分で調べればわかるから設計ベストプラクティス教えて欲しいな。さすがにTOPページでjson取ってくんのはあんま良くねーと思っちゃった。俺が作ったんだけど。

まぁ、結構勉強になったから良しとする。

追記 : 2015/08/12

社内勉強会を定期的にやってる。今日分析系の話。傾向を分析するのではなく何を分析するかが重要らしい。っ俺の考えと違うかも知れないがすごく意識が変わった。

てか思った。そもそも、傾向分析する必要あんの?減少傾向であれば回復するのは厳しくねっかほぼ無理じゃね?以下の例がうちの会社がやってること。

会員数が減った → 退会した会員の様々な傾向を分析しよう!

これはマジであん意味ない。今日の勉強会の答えは

具体的な原因を突き止めてそれらの傾向を分析する的な感じ。

でもそんなのめんどくさくね?

俺の考えは以下。

会員数が減った → SEOを強化(減った数以上に増やす)。そんなチマチマした改善工数かけんなら新しい機能新規事業を行う。

つーか、そんなに改善点があるアプリじゃないですよ、って言ってあげたかった。mixiみてよ、足跡消したりクソゲー増やしたのが原因じゃないでしょ。飽きられただけ。あとお客を動かす施策意味の無さ。メルマガ、お得系。そんなん変わんねーよアホかよ。

っかこんなん考えること自体が嫌だわ。ちゃんと考えてる同世代は偉いし優秀だわ。ホントはちゃんと考えなきゃいけないね

追記 : 2015/08/14

憂鬱でなければ仕事じゃない」

それなりに偉くなると会議が増える。僕らみたいな下っ端は「いろいろ抱えてて大変だなー」って思う。ように言い聞かせる。そもそも会議ってなんのためにやるんだろう?僕が考えた結果

「モノを実現するための話し合い」

時間も掛けた結果ってのが不透明なまま。不透明って言い方は違うかな?要はないも得ていない安定の不毛会議。これに気付いてるのは僕ら20代の連中だけ。 上記の定義だと会議夢物語を語る場だから会社楽しいかもね。そこは勘違いしちゃいけない、憂鬱でなければ仕事じゃない

追記 : 2015/08/19

会議議事録重要さ。簡単で良い。ある程度の発言をまとめておけばそれ見て答えが出るので物事スムーズにいく。延びる会社ってのはホワイトボードが多いしなー。

あとxamarinの発表。プレゼンの下手さに感動。

ほとんどライブラリ使えるの?とか知らねーよ、だいたい使えるわ。UI共通化は?出来ねーって言ったでしょ。細かいバグはありそうだけど、相当実用的。でも多分これは導入されねぇな!みんなモチベ低い!

ほかプロジェクトが詰んでたやつ、stackoverflowに載ってたっぽい。もっとGoogle翻訳使えよ!!周知しよ、難癖つけられそう笑

追記 : 2015/08/22

すごく重要な話があった。すごく憂鬱になる話。

でもプログラミングが出来る環境は維持されるみたいなんで良かった。SIerときは全員技術者だったから良かったな。っか楽。

よく技術者営業対立があるけど、極端な話、全員営業やる。全員技術者やる。どっちが良い方向になるかわかんねーよな。

営業キツイよなー、成果出なきゃやり甲斐が生まれないでしょ。

もう、みんなプログラミングやろ!楽しいよ!多分

追記 : 2015/08/24

空気が重い。卒論思い出す。

いろいろ考えるから憂鬱な話はあとに効くみたい。

この状況を覚悟してたけど、まさか想定してるなかで最悪な状況に出くわすとか笑。

「一生面倒みる覚悟がないなら助けるな」

大学教授に言われた言葉が身に染みる。多分あの人は地獄をみるだろう。

追記 : 2015/08/26

面談。褒められた。評価評価うるせぇ。評価給料からあんま興味ねーよそこには。給料転職したんじゃねーよ、前の会社の方がよっぽど給料いいわ。技術者出身経営者がいる会社に入りたかったなほんとに。

っかangularjsすごいいいなと。双方向データバインディングHTML拡張フロントと完全分離出来るのがあつい。

追記:2015/09/07

夏休み終了。海外はいいなーやっぱ。いろんな人間見てるだけで楽しーわ、ってことで憂鬱会社まり

僕が設計実装した機能を他プロジェクトに移行する案件で同期に任せてたんだけど、いろいろ未完成すぎて仕事増えた。詰みそうなとこ教えて「問題ないっすよ」って言ってたのに問題ありあり詰んだわ。nugetエグい(近々、エグいの書く)。まぁ、回避たか問題ないけどさ。

追記:2015/09/16

ちょー出世した。事業責任者的な感じ。給料めっちゃあがる。転職して半年プログラムが楽しくてひたすら組んでただけ。前の職場でも無理矢理リーダーさせられたし、無駄な運は持ってるなーと感じる。ひたすら組んでると開発効率だったり、何が出来るか、未来があるかってのを想像するのが好きなんで、それをキャッキャ言いながら楽しそうに話すことと、詰んだときゴリ押し回避方法を生み出すのが得意なんで、出来る奴だなーと思われてるっぽい。

これからはひたすらプログラム組むことは難しくなりそうだなー。あと結果と周りの目、いきなり入ってきた奴が急に出世するから嫌な感じだよね。まだ20代半ばよ、気が重すぎる。まぁ、半年後に急降下する可能性があるから気が楽になったわ。

追記:2015/09/30

今日、いろいろ発表された。なんか抜擢されたかおかしいなーって思ってて、抜擢された奴らを見たらびびった。全員、世渡り上手(俺も)。ちょっとガッカリ自分でもちょっとコード書ける方だなーと思ってたけど、それが理由ではなかったのね。まぁ、同世代スーパーエリートばかりなのになんかおかしいと思った。

もうasp mvc飽きたなー。angular楽しいからまだいいけど。

最近rails楽しいちょっとしたキュレーションサイトを構築中だけど、コード量がaspと比べるとビビるわ。複数モデル使えるとかビックリマークすげーとか。gemもコレねぇかなーとか思ったらだいたいありそう、何より日本語情報多すぎ!但し、サイトいつ出来るかなー。

追記:2015/10/15

やっぱ感情的な人はあんまりきじゃないなー。柔軟じゃなさ過ぎ。極端だけど、討論番組とか見てても感情的な人っておかしからなー。俺も感情だけで転職したけど大失敗だったし。ただ、久しぶりに会いたいって思う人は感情的な人が多い。不思議

っか雇われの身だったらなにかをやってやるって気持ちで臨むと終わるないろいろと。っかなにもしないでも金貰えることは常に頭に入れておかん人間的におかしくなるね。

追記:2015/10/19

いやーやっぱ俺のこと好かねー人多いなー。予想通りっすね。つーか底辺突っ走ってきて就活時期にアルバイトしなきゃいけねーなって思ってた俺が降格なんてビビるはずねぇだろボケ調子乗ってたら激安家賃の家にすまねーだろぅがよぅ!

って感じで愚痴はこれまで。

つーか、整合性は細かい部分じゃなくて決定した時にガツっと決めた方がいいな。まじでいちいち考慮したプログラムかいてられんよ、クソめちゃくちゃなコードになるし。そういう点ではjsはすげー勉強になった。ただ、結構プログラム本質を突いていてjs馬鹿に出来んなーと身を持って感じました。常に整合性を保つってのはその場しのぎのコードになりますね。

追記:2015/12/07

好きなことでお金を稼ぐって非常に難しいことがわかった。俺が転職したのもスキルアップじゃなくて好きなことやりたいって気持ちだったのね。すげー勘違いしてた。後悔してもしょうがないから資格を取ろう。

追記:2016/02/11

小学生の頃と悩みが同じ。希望が持てた一年前の方がずっとマシだ

転職は5年勤めてから

の方が良い。

後悔しかしませんよ

追記 :

プログラミング技術はある程度自分で調べればわかるから設計ベストプラクティス教えて欲しいな。さすがにTOPページでjson取ってくんのはあんま良くねーと思っちゃった。俺が作ったんだけど。

まぁ、結構勉強になったから良しとする。

追記 : 2015/08/12

社内勉強会を定期的にやってる。今日分析系の話。傾向を分析するのではなく何を分析するかが重要らしい。っ俺の考えと違うかも知れないがすごく意識が変わった。

てか思った。そもそも、傾向分析する必要あんの?減少傾向であれば回復するのは厳しくねっかほぼ無理じゃね?以下の例がうちの会社がやってること。

会員数が減った → 退会した会員の様々な傾向を分析しよう!

これはマジであん意味ない。今日の勉強会の答えは

具体的な原因を突き止めてそれらの傾向を分析する的な感じ。

でもそんなのめんどくさくね?

俺の考えは以下。

会員数が減った → SEOを強化(減った数以上に増やす)。そんなチマチマした改善工数かけんなら新しい機能新規事業を行う。

つーか、そんなに改善点があるアプリじゃないですよ、って言ってあげたかった。mixiみてよ、足跡消したりクソゲー増やしたのが原因じゃないでしょ。飽きられただけ。あとお客を動かす施策意味の無さ。メルマガ、お得系。そんなん変わんねーよアホかよ。

っかこんなん考えること自体が嫌だわ。ちゃんと考えてる同世代は偉いし優秀だわ。ホントはちゃんと考えなきゃいけないね

追記 : 2015/08/14

憂鬱でなければ仕事じゃない」

それなりに偉くなると会議が増える。僕らみたいな下っ端は「いろいろ抱えてて大変だなー」って思う。ように言い聞かせる。そもそも会議ってなんのためにやるんだろう?僕が考えた結果

「モノを実現するための話し合い」

時間も掛けた結果ってのが不透明なまま。不透明って言い方は違うかな?要はないも得ていない安定の不毛会議。これに気付いてるのは僕ら20代の連中だけ。 上記の定義だと会議夢物語を語る場だから会社楽しいかもね。そこは勘違いしちゃいけない、憂鬱でなければ仕事じゃない

追記 : 2015/08/19

会議議事録重要さ。簡単で良い。ある程度の発言をまとめておけばそれ見て答えが出るので物事スムーズにいく。延びる会社ってのはホワイトボードが多いしなー。

あとxamarinの発表。プレゼンの下手さに感動。

ほとんどライブラリ使えるの?とか知らねーよ、だいたい使えるわ。UI共通化は?出来ねーって言ったでしょ。細かいバグはありそうだけど、相当実用的。でも多分これは導入されねぇな!みんなモチベ低い!

ほかプロジェクトが詰んでたやつ、stackoverflowに載ってたっぽい。もっとGoogle翻訳使えよ!!周知しよ、難癖つけられそう笑

追記 : 2015/08/22

すごく重要な話があった。すごく憂鬱になる話。

でもプログラミングが出来る環境は維持されるみたいなんで良かった。SIerときは全員技術者だったから良かったな。っか楽。

よく技術者営業対立があるけど、極端な話、全員営業やる。全員技術者やる。どっちが良い方向になるかわかんねーよな。

営業キツイよなー、成果出なきゃやり甲斐が生まれないでしょ。

もう、みんなプログラミングやろ!楽しいよ!多分

追記 : 2015/08/24

空気が重い。卒論思い出す。

いろいろ考えるから憂鬱な話はあとに効くみたい。

この状況を覚悟してたけど、まさか想定してるなかで最悪な状況に出くわすとか笑。

「一生面倒みる覚悟がないなら助けるな」

大学教授に言われた言葉が身に染みる。多分あの人は地獄をみるだろう。

追記 : 2015/08/26

面談。褒められた。評価評価うるせぇ。評価給料からあんま興味ねーよそこには。給料転職したんじゃねーよ、前の会社の方がよっぽど給料いいわ。技術者出身経営者がいる会社に入りたかったなほんとに。

っかangularjsすごいいいなと。双方向データバインディングHTML拡張フロントと完全分離出来るのがあつい。

追記:2015/09/07

夏休み終了。海外はいいなーやっぱ。いろんな人間見てるだけで楽しーわ、ってことで憂鬱会社まり

僕が設計実装した機能を他プロジェクトに移行する案件で同期に任せてたんだけど、いろいろ未完成すぎて仕事増えた。詰みそうなとこ教えて「問題ないっすよ」って言ってたのに問題ありあり詰んだわ。nugetエグい(近々、エグいの書く)。まぁ、回避たか問題ないけどさ。

追記:2015/09/16

ちょー出世した。事業責任者的な感じ。給料めっちゃあがる。転職して半年プログラムが楽しくてひたすら組んでただけ。前の職場でも無理矢理リーダーさせられたし、無駄な運は持ってるなーと感じる。ひたすら組んでると開発効率だったり、何が出来るか、未来があるかってのを想像するのが好きなんで、それをキャッキャ言いながら楽しそうに話すことと、詰んだときゴリ押し回避方法を生み出すのが得意なんで、出来る奴だなーと思われてるっぽい。

これからはひたすらプログラム組むことは難しくなりそうだなー。あと結果と周りの目、いきなり入ってきた奴が急に出世するから嫌な感じだよね。まだ20代半ばよ、気が重すぎる。まぁ、半年後に急降下する可能性があるから気が楽になったわ。

追記:2015/09/30

今日、いろいろ発表された。なんか抜擢されたかおかしいなーって思ってて、抜擢された奴らを見たらびびった。全員、世渡り上手(俺も)。ちょっとガッカリ自分でもちょっとコード書ける方だなーと思ってたけど、それが理由ではなかったのね。まぁ、同世代スーパーエリートばかりなのになんかおかしいと思った。

もうasp mvc飽きたなー。angular楽しいからまだいいけど。

最近rails楽しいちょっとしたキュレーションサイトを構築中だけど、コード量がaspと比べるとビビるわ。複数モデル使えるとかビックリマークすげーとか。gemもコレねぇかなーとか思ったらだいたいありそう、何より日本語情報多すぎ!但し、サイトいつ出来るかなー。

追記:2015/10/15

やっぱ感情的な人はあんまりきじゃないなー。柔軟じゃなさ過ぎ。極端だけど、討論番組とか見てても感情的な人っておかしからなー。俺も感情だけで転職したけど大失敗だったし。ただ、久しぶりに会いたいって思う人は感情的な人が多い。不思議

っか雇われの身だったらなにかをやってやるって気持ちで臨むと終わるないろいろと。っかなにもしないでも金貰えることは常に頭に入れておかん人間的におかしくなるね。

追記:2015/10/19

いやーやっぱ俺のこと好かねー人多いなー。予想通りっすね。つーか底辺突っ走ってきて就活時期にアルバイトしなきゃいけねーなって思ってた俺が降格なんてビビるはずねぇだろボケ調子乗ってたら激安家賃の家にすまねーだろぅがよぅ!

って感じで愚痴はこれまで。

つーか、整合性は細かい部分じゃなくて決定した時にガツっと決めた方がいいな。まじでいちいち考慮したプログラムかいてられんよ、クソめちゃくちゃなコードになるし。そういう点ではjsはすげー勉強になった。ただ、結構プログラム本質を突いていてjs馬鹿に出来んなーと身を持って感じました。常に整合性を保つってのはその場しのぎのコードになりますね。

追記:2015/12/07

好きなことでお金を稼ぐって非常に難しいことがわかった。俺が転職したのもスキルアップじゃなくて好きなことやりたいって気持ちだったのね。すげー勘違いしてた。後悔してもしょうがないから資格を取ろう。

追記:2016/02/11

小学生の頃と悩みが同じ。希望が持てた一年前の方がずっとマシだ

2016-03-08

はてブ2階を表示するブックマークレット

最近2階が覗きたくなることが増えたので書いた。2階があればブクマ数の周りに2階のリンクを追加する。

javascript:void[].map.call(document.querySelectorAll("a.entry-info,.entry>a.entry-link,.users a"),function(e,n){n=new XMLHttpRequest,n.open("GET","/entry/jsonlite/"+e.href),n.responseType="json",n.onload=function(t,o){(t=n.response)&&e.insertAdjacentHTML("beforebegin",((o=t.count)+" upper"+(o>1?"s":"")).link(t.entry_url))},n.send()});

http://b.hatena.ne.jp/以下のページで使えるはず。

minify前
void [].map.call(document.querySelectorAll('a.entry-info,.entry>a.entry-link,.users a'),function(u,x){
  x=new XMLHttpRequest();
  x.open('GET','/entry/jsonlite/'+u.href);
  x.responseType='json';
  x.onload=function(j,c){
    if(!(j=x.response))return;
    u.insertAdjacentHTML('beforebegin',((c=j.count)+' upper'+(c>1?'s':'')).link(j.entry_url))
  };
  x.send();
});

2015-05-28

お前らマイクロサービスマイクロサービスいいながら

お前らマイクロサービスマイクロサービスいいながらアプリケーションレイヤーをぶった切って複数ティアに分割すんの、本当に大好きだよな。

アプリケーションレイヤー間の呼び出しがコード呼び出しなのを、HTTPJSON使って呼び出すようにすればマイクロサービスなのか?

そんな密結合な分散システムいらねーよ

2015-05-01

anond:20150501130334

カーマ

まさか連番関数をこの目で見るとは思わなかった。

日立から来た人の作品だそうで。

ちなみに、弊社の場合はその人の年齢は30歳

お前、今まで何して生きてきたんだよというレベル

しかも、その程度でも、とある上場企業ではエース級だったらしい。

いいな、それ。最高だよ。

今度は、複数要素をわざわざ文字列で、"apple,google,facebook"などを渡してやがる。

一体何のためのjson配列だ。クソが。

この仕様の素晴らしいところは、わざわざ見やすいように

"apple, google, facebook"

ってカンマの後にスペースを入れると事故るところだ。

ご丁寧に、内部で、送信された要素は受け入れられる要素かチェックしているらしいが、どうやらsplitで切った値でまんま照合してやがるから、見やすいように入れたスペースも一緒に取ってきてしまって事故る。

あああああああああああああああ

2014-11-25

清水亮と小4なりすまし

清水亮が書いたブログが、IPA認定天才プログラマかいうお触れ込みでバズってるが、気になったことがあったのでひとつ

http://wirelesswire.jp/management_theory_by_programmer/201411231032.html

小4なりすまし話題になってた時、俺もプログラムを解析してたんだが、1つ適当なことが書いてある。

"わざとらしい黒板、そして真ん中に表示されている数字ですが、これはいかにも「このサイト賛同しています」という人たちのアクセスカウントリアルタイムに表示されているように見えますが、実際には乱数勝手カウントアップされていきます。"

画像Exifまでは見つけられなかったが、JavaScriptのminifyを解除して読むくらいはしたし、奴らのソースはちゃんと、score.jsonかいうのを取りに行っていたぞ。

そして、最初の1分は-300したスコアから初めて1分ごとにスコア更新、その間は0.2秒間隔で線形補間っていう処理をしてた。

そうなると、ロードしたタイミングスコアがずれるのは仕方がないが、乱数勝手カウントアップされていきますってのは清水亮にしては適当すぎないか。

もちろん、サーバーサイドまで読めるわけじゃないから乱数じゃないということを否定出来ないけど、

30分くらい毎秒score.jsonを記録した感じでは、単調増加だったしバズるほど数は大きくなってたので、乱数適当カウントアップと決めつけるのもどうかと思う。

そして、それを「IPA認定天才プログラマ」とか書きながら、盲目的に信じこんでる奴らもどうかと思う。

どうでもいいと思ったが、首相シェアされたりTVでも紹介されてたりしてちょっと可哀想だなと思ったので書いてみた。

2014-11-03

連休なので、はてなNGフィルターを作ったらクソ快適になった話

Chrome拡張機能としてリリースしましたよ!

はてなNG - Chrome ウェブストア
https://chrome.google.com/webstore/detail/%E3%81%AF%E3%81%A6%E3%81%AAng/mbgdnfmdelffjdhkdggilmphfdihnmcj

機能

[対象サイト]

はてなhttp://www.hatena.ne.jp/

はてなブックマーク内ページ(http://b.hatena.ne.jp/

結果

はてなの閲覧がめちゃくちゃ快適になりました!

目障りなサイトアカウントは見なくて済むし、ブコメページのノイジーなコメントも連打スターもなくなってスッキリ

更にワンクリックで気楽にNGフィルターオンとオフの切り替えが出来るようにした事で、NGありなしの状態が一目瞭然で比較できて、はてなエントリーの傾向、ブックマーカーの傾向もよく分かるという新しい発見も!追)そして自分がどんなに偏ってるかの発見も!

動機

ホットエントリーに上がってくる、まとめ系、はてな村系、虚構系なんかは個人的にどうにも苦手で、それについて以前増田で書いたら多くのご批判、ご意見を頂きました。

はてな代替サービスを教えてちょ

http://anond.hatelabo.jp/20140929012633

人気コメントが「無いなら自分で作れば」って感じで、成る程、ほんじゃまぁやってみるかと。一度Chrome拡張機能を作ってもみたかったので。

で、NGリストを登録してはてな公式ページフィルタリングする方向で作ろうと決めました。あと、どうにも気になっていたのがkiya氏系のスター連打。この対策機能に盛り込もうと。構想が固まって、勉強がてらある程度の試作を作ってみました。したらなかなか良い出来なんじゃないかと、手前味噌だけど自分だけで使ってるのは勿体無い、面白いから皆さん使ってみて下さいよーって事で、この連休Chromeウェブストア公開用に一気に作り込みました。

技術

ざっくりと。

Chrome拡張機能HTMLJavaScript制作できます

それらをマニフェストファイル(manifest.json)というJSON形式の設定ファイルで、タイトル、説明、権限アイコンなどと共に紐付けして設定します。

これらが入ったフォルダChrome拡張機能ページから読み込ませれば動作します。

Googleに$5払ってデベロッパー登録し、バナー必要データを用意すればChromeウェブストアで一般公開もできます


拡張機能スクリプトが動作する環境は大きく分けて4つで、マニフェストファイルで設定できます

  1. background:常にChromeの裏で動くスクリプトを設定します。
    今回はユーザーがタブを切り替えた時にそのタブページがNGサイトかどうか判定しそれによりアイコンの表示を変えるスプリクト等を設定しました。
  2. browser_action:アドレスバーの右側の拡張アイコンクリックした時に表示されるポップアップ画面とスクリプトを設定します。
    普段HTMLページをコーディングするのと同じ感覚です。今回はBootflatベース制作しました。
  3. content_scripts:特定ページに対するスクリプトを設定します。
    今回は「http://www.hatena.ne.jp/」と「http://b.hatena.ne.jp/*」に対してスタイルDOM操作をするスクリプトを設定しました。
  4. options_page:オプションページを設定します。
    今回は使用していません。

このマニフェストにはバージョンがあって、現在使用できるのは2.0のみになっていますChrome拡張機能製作方法はググれば先人達情報が沢山出てきますが、このバージョンが古い情報もありますので注意しないとハマってしまます

参考にしたサイトは様々ですが、検索で出てきた日本語サイトでざっくりと把握させていただき最終的には公式サイトが一番確実でした。

http://dev.screw-axis.com/doc/chrome_extensions/マニフェストバージョンは1.0が対象のようです)

http://qiita.com/sqrtxx/items/19fd2114430e9e1fb57f

http://blog.fenrir-inc.com/jp/2012/09/jquery-chrome-extension.html

https://developer.chrome.com/extensions

https://developer.chrome.com/extensions/api_index


制作環境Haxe + Sublime Text です。

まとめ

Chrome拡張機能開発は思ったよりは簡単でした。JavaScriptが出来る人は一度試してみると楽しいかもしれません。と、同時にインストールする拡張機能によってブラウザが重たくなる理由もわかりました。ブラクラになる程重い処理を裏でぶん回す事も簡単に出来てしまうので、なるほどなーと。

そんな感じで開発したのですが、機能はてな様の現在のページデザイン依存しております。ですので、はてなサイトデザインが改変した際には動作しなくなったりレイアウト崩れしてしま場合があります。ご了承くださいませ。その他バグなどご報告下さいましたら出来るだけ対応いたしますのでご感想など聞かせていただければ嬉しいです。

2014-10-03

WEBアプリ仕事に就きたいけど、業界ウォッチしてると不思議技術まみれで不安になる

27歳で

WEB業界転職しようとおもってひっしこいて勉強+サイト制作やってるんだけど

HTMLCSS一通りおぼえてJavascriptもおぼえて今はPHP勉強

業界ウォッチしてると

サーバーサイドの仕事は謎な技術が多いよね

PHPだとcomposerとかいうのからpackagistとかいうのやらテスト?なにそれな話だし

テンプレートエンジンがどうとかJSON(これはjavascript勉強してるときにも出てきたけど)やらなんや

いろいろありすぎる

unixのことも覚えないとだし

とにかく

なにを覚えたら就職できるのか不安しかたがない

終わりが見えないし、入社できる基準がわからない

2014-08-04

http://anond.hatelabo.jp/20140801103805

2014-07-02

http://anond.hatelabo.jp/20140701172722

いろいろ試した。

これ1エントリずつじゃないととれないんやね。

例えば、増田に書いた記事のブクマ数取得したいなら、http://anond.hatelabo.jp/YYYYMMDDHHMMSSパラメータに渡さないといけない。

TopHatenarってサイトみたいに、URLを渡したら、そのブログ内のブクマを全部カウントしてくれるようなものじゃないんやね。

勘違いしてたわ。

そういうのは自分やらないかんのやね。

みたいな感じのブックマークレット的なやつを自分で作る必要があるってことか。

ググった限りでは、パブリックに公開されてるブログURLを渡して、そのディレクトリ以下のすべてのブクマを出してくれるTopHatenarとかはあったけど、増田は無理だったから。

自分で作るしかないか。

web系とか全然やったことないけど勉強がてらがんばって作ってみるかな・・・

最後なっちゃったけど、不躾な質問厨に丁寧に答えてくれてありがとう

2014-06-23

はてなスターの☆100☆みたいな表現って

省略された100個で両脇に2個で合計102個なのか?

JSONで見てみたらそうなってたけど、ずっと全部で100個だと思ってたよ……

2014-05-23

Xvideosサムネを取得するAPIが使えなくなったので、急いで自作した

みなさん、こんにちは

爆速を目指してエロサイトを作った者です。

爆速のエロサイト作ったったwww


XVIDEOSサムネが取得出来なくなった

XVIDEOSサムネイルを取得するWeb API作りました

http://erokenji.hatenablog.com/entry/2014/02/02/190129

俺が作ったこのサイトでもこのWeb APIを利用させて頂いていたのですが、昨日から急に利用が出来なくなりました。(サーバーダウン?)

このままだと更新作業に支障が出て来るので、劣化版ですが緊急で同様のAPI自作しました。

エロサイト製作されている方は俺よりも技術力をお持ちと思いますので必要無いかとは思いますが、もしかしたら困っている人が居るかもということでノウハウを共有します。

必要な物

プログラムの流れ
  1. PHPGET動画URLを取得。
  2. GETしたURLからサムネURLスクレイピングして、最後の【数字.jpg】の部分を【0~30.jpg】にして配列に格納。
  3. 格納した配列json_encodeでJSON形式に変換する。
  4. 変換したJSONecho関数で表示させる。


最後

WebAPIとして一般公開したいのですが、まだ完成度が低く自分1人で使うだけでも重いので、作成方法ノウハウとして公開しました

もしもこのままオリジナルAPIが復旧しない場合は、別途サーバーを用意してAPIの公開・もしくはソースの配布を行いたいと思っていますので、改良方法作成ノウハウをご存知のかたは是非トラバブコメをお願いします。

Xlist : http://xlist.info

2014-04-09

オブジェクト指向 v.s. 関数型プログラミング

近年、関数型プログラミング重要はいろんなところで叫ばれています

Javaの最新バージョン関数型プログラミングに関する新機能が加わりました。

Rubyも昨今、関数型プログラミングへのサポートが手厚くなってきています

プログラミング教科書大手オライリーからJavascript関数型プログラミングを行うための解説書が発行されました。

関数型プログラミングへの注目度は高まってきています

おそらく、みなさんは既にオブジェクト指向が何か、を知っています

でも関数型プログラミングとは何か、胸を張って語れる人は、周りに見当たらないかと思います

実際、オブジェクト指向によってプログラミングする方法は、わかりやすい解説があちこちにある一方で、

関数型プログラミングとは何か、何が良いのか、ということについての、よいまとめは見つけることはできませんでした。

この記事を読む方の中で、「関数型プログラミングを取り入れるか・取り入れないか」で切実に悩んでいる人は、おそらくいないでしょう。

この記事はあまりかいところに立ち入りません。関数型プログラミングを使う側の立場に立って、利点や向き・不向き、それが導くスタイルを書きました。

みなさんは鳥のように飛んで、高い空から関数型プログラミングとは何か、何が良いのか、を見渡してください。

ふたつのアプローチ比較

オブジェクト指向アプローチは、名前をつけてプログラムを整理する

関数型プログラミングアプローチは、汎用部品でなんとかする

オブジェクト指向アプローチ

Googleが近年リリースした言語、Goには、”継承”を直接サポートする仕組みが無いことが話題になりました。

また、Mac OSXの基幹ライブラリCore Foundationは、ライブラリ自体C言語で書かれているにもかかわらず、その設計方針は明確にオブジェクト指向です。

継承クラスは、オブジェクト指向必須条件ではありません。

オブジェクト指向本質とは、何でしょうか。

その本質とは"名前をつけて対象を識別し、それを扱うこと"、にあります

最もプリミティブなオブジェクト指向対象は、ファイルハンドラです。あるファイルを開いて、読み込んで、あるいは書き込んで、ファイルを閉じる。

これらの処理をまとめたら、わかりやすいですよね?

対象に関する処理を、対象の周りにまとめる。これがオブジェクト指向の基礎的な理念です。

識別することとイコール比較できることは、とても良く似ています

イコールによる比較は、オブジェクト指向では鬼門であることが知られています

PointクラスインスタンスとColoredPointクラスイコール演算をどう決めればいいかに、正解はありません(詳しくは"effective java"をご参照ください)。

また名前をつけて識別する対象は、フワフワしていてはいけません。

たとえば、"軍人階級"をオブジェクトにしたとしましょう。"大佐"クラスのある兵士名前フィールドや、性別フィールドを持っているでしょう。

ところで彼が昇格したときに何が起こるでしょうか。

新たに"少将"クラスインスタンスが作られます。"大佐"クラスを破棄する前に、名前性別、その他沢山のデータを引き継がなくてはいけません。フィールドを増やしたい場合はその都度コード修正を加える必要があります(*)。

なるべくイコール比較を避けたい。対象不安定なものはいけない。では何に名前をつけて、識別するか。そこにオブジェクト指向技術者の熟練度が現れるのです。

関数型プログラミングアプローチ

一方、関数型プログラミングでは、特定の何かに名前をつけるより、極力、汎用部品でなんとかしようとしま

さな関数を、集めて撚り合わせて、新しい関数を作る。

関数自体リストなどのデータ構造に詰めることもよく行われます

実は、関数型プログラミングというのは本質を表していません。

その真の名は、"値指向プログラミング"です。

関数をはじめとして、リスト・ツリーのようなコンテナ手続きを抽象化したもの、回路を抽象化したもの

あらゆる対象を値として、合成し、ときに分解し、新しい値を作ります

変数という概念必要ありません。

変数適用する処理を作りあげることが、とても簡単だからです。

四則演算定義されたデータを詰めたデータ構造もまた、四則演算可能だったり。

値をイコール比較することも、なんのそのです。

誤解を恐れずに言うと、オブジェクト指向トップダウンなのに対し、関数型プログラミングボトムアップです。

関数型プログラミングの利点

読みやすい・理解やす

関数型プログラミングサポートする言語には、沢山の汎用部品定義されています

このような構造インターフェイスとして、様々なライブラリが組まれているので、

たとえばモナドを知っていれば、30分程度でパーサー(解析機)を理解することができて、

パーサーを理解できれば、JSONパーサー・ XMLパーサー・markdownパーサー・C++パーサー ... などを理解するのはとても容易です。

理解やすいこと。これが関数型プログラミングの大きな利点です。

追記:

また、汎用部品と型のお陰で、ライブラリドキュメントが圧倒的にひきやすい、というメリットも有ります

Haskellな人がPythonにトライした結果 - Togetterまとめ

書きやす

関数型プログラミングは「厳密な事前設計必要とするため、簡単なことをやるのにも時間が掛かる」。

よく誤解されていますが、これはウソです。

スクラッチプログラムするのは、非常に手軽です。

>> map (*2) [1,2,3]
[2,4,6]

邪魔な”儀式”や、"おまじない"のコードが徹底的に撤廃されているためです。

関数型プログラミングコードは、潔癖かつ濃密です。

たとえばC言語でint hoge(int x,int y)が定義されているときhoge(3)はなんの意味も持ちませんが(コンパイルコケますが)、関数型プログラミングでは意味があり、実際に有用です。

上の例では、「掛け算をする」(*)関数は、二引数関数ですが、それに引数を渡して作られた「2を掛ける」関数(*2)は、一引数関数になります

関数型プログラミングでは、「簡単なことは簡単にでき、複雑なことは複雑にできる。ただし、間違ったことは殆どできないか、全くできない」。

多くのバグは、コンパイルエラーとして検出されます

また、静的型付けの力によって、コード補完は非常に強力になっていますインテリセンスの比ではないです。

たとえば、関数中のある表記の型を任意に表示できます(GHC/TypedHoles - HaskellWiki)。

やがてやってくる未来には、プログラムテキストエディタで書くことは時代遅れになっているでしょう。

統合環境サポートで、バグミスの少ない、スムーズプログラミングができます

そしてその環境で動くプログラミング言語は、関数型プログラミングサポートした言語なのです。

いつ関数型プログラミング

以下の様な兆候を感じたら、あなたはそのプログラム関数型プログラミングで書くべきです。

一般に、オブジェクト同士の相互作用が複雑になるほど、オブジェクト指向では手に負えなくなっていきます

そういうときは、オブジェクトを直接扱わず、替わりにその"相互作用"を扱うことで、複雑さを軽減するアプローチ有効です。

それこそが関数型プログラミングアプローチです。

オブジェクト指向の利点

初心者にとっては読みやすい・理解やす

特にオブジェクト指向有効なのはプログラミング初心者がそのコードをいじるかもしれないときです。

関数型プログラミングは、強固さと柔軟さの代償として、高い学習コストを伴います

そのため、初学者にとってはハードルが高いのです。

扱う対象があまり複雑でない時は、書きやす

オブジェクト間の相互作用が複雑でなく、着目している(名前をつけている)概念が安定しているとき

そして、プログラムをいじる人たちの間で共通理解が図れているならば、オブジェクト指向が有利です。

関数型プログラミングの得意分野はなにか

数値計算

遅延評価という機能によって、レガシー言語で扱えなかった、巨大な数を扱うことができます

分数を扱うことができます虚数もです。

関数型プログラミングで書かれたプログラムは、正確さが要求される、金融関連の業界で使われています

テキスト処理

手続きとしてパーサーを記述できるので、テキスト処理プログラムはより理解やすく、メンテナンスやすものになります

関数型プログラミングを知らない人は、「正規表現おk」と言いますが、

彼の書いた複雑な正規表現は、半年後には(書いた本人でさえ)理解できなくなっていることでしょう。

並行処理

手続き一般を扱うことができるので、途中で割り込みのある手続きの表現も容易です。

関数型プログラミングサポートしていない言語ではコルーチン(ファイバー)などをつかってなんとかするしかありません。

さもなくば、非並行処理では普通に関数として記述できるところを、並行処理のために、Builder,Strategy,Command,Interpreterパターンを駆使して書き直すことになります

Javascript使いの方は、Deferredなどの構造を使うでしょう(http://qiita.com/KDKTN/items/4c6986049d204f0645d8)。

C++使いの方はBoostで頑張りましょう。破滅的に解りにくいコンパイルエラーメッセージと格闘してください。

レシピ

もう少し簡単な例をあげます

あなたは、あるレシピにしたがって、自動的料理を行うマシン制御プログラムを書いているとしましょう。

料理レシピは、"手続き"ですよね?たとえば、カレー

1. まず玉ねぎを炒める。

2. 飴色になったら、肉を加えて炒める。

3. 野菜を加える。

4. 水を加えて煮る。

5. スパイスを加える。

しかあなたはこの手続きを関数として表現できるでしょうか。

…できませんよね?何故ならば、各ステップの"間に"、マシンのロボアームの位置や動きを調整する処理が必要からです。

これをオブジェクト指向でやろうとすると、各ステップ副作用として、それらの処理を行うことになります

そうすると、マシンが二機に増えた時などの変更量は、絶望的なものになります

あるいは関数として表現するのを諦め、手順全体をDSL記述できるようにします。

このアプローチ関数型プログラミング的です。しか関数型プログラミングサポートした言語の助けなしでは、そのDSL記述するために沢山のユーティリティコードを書かなくてはならないでしょう。

オブジェクト指向アプローチでこの問題をエレガントに解こうとすると、クラス化の粒度を上げる事になります

野菜クラスフライパンクラス、ボイルクラスフライクラス、焼き加減クラス、アームクラス野菜の大きさクラス、切り方クラス、焼き方クラス、"焦げたよ"クラスetc...

こうすると早晩レシピプログラムコードから消え去ることになります。上記のたった5行は、依存性注入のオブジェクトグラフを構築するコードに取って代わることになります。そこには沢山の挙動制御オプションとして付記されているのです。

カレーなど、ある種のレシピ限定することで、見た目の理解やすさを得ることができますが、一方それは表現力を損なうことを意味します。

C言語などではマクロを使うこともできますが、それは結局、関数型プログラミングアプローチ意味するところと同じになります。すなわち、補助のために沢山のコードを書くことになるでしょう。

GUI

iOSのAppstoreアプリは、"無料"と書かれたボタンを押すと、それが"インストール"ボタンに変わり、それをもう一度押すと、ダウンロードの進捗を表すインジケータに変わり、それを押すとダウンロードキャンセルできます

このように、位置は同じなのに、ステートに依って見た目と機能が変わるボタンは複雑です。

これをオブジェクト指向で実現しようとすると、

1. 三つの異なるボタンを同じ位置に置くか

2. 同じボタンが三つの異なる機能を持つか

という下らない問題にぶつかります

一方関数型では、"機能"、"見た目"、"状態"、を独立に扱って、それらを合成してボタンを作るので、迷うことはありません。

「同じ位置にあるUIオブジェクトは、コード上で(インスタンスとして)独立して、他から干渉を受けない」

この条件が満たされているうちは、オブジェクト指向GUIを実現することに無理はありません。

しかし、携帯端末のような小さい画面で、多くの機能を達成するためには、UI要素はコンテキスト依存的に複雑になりがちです。

近年、PCのディスプレイの大きさは、頭打ちになってきました。

画素数は増えているのですが、MacにおけるRetinaのように、複数ピクセルひとつドットを表すようになってきています

これは、ひとつの画面に置かれるボタンなどのUI要素の数は、これから先の未来で増えることはない、ということを意味します。

したがって、未来GUIプログラミングは、注意深く機能ピックアップして制限するというデザイナー努力を脇におけば、

関数型プログラミングの力を頼るしか無いでしょう。

はじめよう、関数型プログラミング

まり

Haskell さいこうなのおおおおおおおおおおおおおおおおおお!! おしっこ漏れちゃうのおおおおおおおおおおおおおおおおおおおお(゜∀。)ワヒャヒャヒャヒャヒャヒャ

1. google:すごいHaskellたのしく学ぼう を注文する。

2. Download Haskell自分のPCに導入する。

3. コンソールghciと入力して、対話コンソールを立ち上げる。

4. 次の関数コンソールに打ち込んで、結果を見る。即値で書かれているところとかをいろいろ変更してみて、感動する。

take 4 $ map (*2) [1..]

5. ステップ1で買った教科書を読んで、学ぶ。


追記:

いかがでしたか

ちまたには、関数型プログラミングの利点は変数が無いことだ、とか、より安全から、とか、より速いから、などという妄言が満ち溢れています

オブジェクト指向関数型プログラミングは、水と油ではありません。プログラマ自分プログラムに最適なアプローチを選ぶことができます

一般にはあまり知られていないことですが、Haskellにもオブジェクト指向へのサポートがあるんです(Lensライブラリ、これを使用したサードパーティライブラリ最近増えてきています)。

この記事を読んだオブジェクト指向プログラマあなたが、少しでも関数型プログラミングに(そしてHaskell)興味を持ってくださって、ホームセンター大人用オシメのコーナーが大賑わいになれば幸いです。。

2014-03-06

http://anond.hatelabo.jp/20140306130434

元増田です。

なるほど、そういうDBがあるのか。

XML的なデータ構造JSON記述し、プロセス間通信等で使えば実装が楽なのは経験済みだし、ハッシュちょっとしたデータ構造の構築・操作に重宝していた。

そういうのをまんまDBに格納できるのであれば、また一つ引き出しが増えて更に楽できそうだ。

なんともありがたい。

2014-02-09

http://anond.hatelabo.jp/20140209174842

欲しいjsonデータがnested(入れ子)になってて詰んだ

いくらぐぐっても.ajaxで入れ子のjasonからデータを取得するサンプルがない。。。。

Web apijquery

Jqueryで外部のWeb apiからjsonデータを引っ張ってきて、そのデータをtableに出力することって可能ですか。

具体的には$.ajaxをつかえばいいんですか

マジでnoobからからねえ。とりあえず知ってる単語並べてみた。

2013-09-20

コンピュータ教育のあり方

振り返ると

現在二十代後半の自分小学校でのコンピュータ教育が始まったタイミング世代です。

始めは「学校コンピュータ導入しました」みたいな申し訳程度な感じだったと記憶しています

  

小学校  

小学校でのコンピュータ教育の内容としてはCD-ROMを配布され、ODへ挿れるとソフトウェアが書き込まれたISO自動起動して、そのソフトウェア上でコンピュータを学ぶという形式だったはずです。

学習ソフトウェア勝手フルスクリーンになるわけですが、今思えば無知小学生OSの設定を変えてしまわない配慮だったのだと思います

実はこのあたりの記憶曖昧なので学習ソフトウェアの内容は以下のような感じだったはずです。

これ以外もあったような気がしなくも無いですが、前提として私は小学生男子なので興味のないもの記憶からすっぽり抜け落ちている可能性が高いです。

  

この中で一番出来が良いのはパラパラマンガツールで、おそらくはプレゼンテーションなどを学ばせるためのものだったのでしょう。

時代を考えるとFlashが出始めの頃でありユーザーインタフェース機能Flash作成ツールから影響を受けていたようです。

ポケモン戦闘シーンを完全再現したことでクラス内でヒーロになったのでこのツールには思い入れが深いですw

感覚として元も近いFlash作成ツールはParaFla!で、ParaFla!とペイントを足して2で割ってタイムラインシーケンスが無い感じでした。

  

地図を学ぶゲーム比較的良い出来で、ユーザーインタフェースシムシティな感じでしたね。思いっきり影響を受けてるようでした。

確かストーリー仕立てになっていてクリックしてるだけで進み、地図記号とか学べるんじゃなかったかなあ?と記憶曖昧です。

  

この学習ソフトウェア、どうコンピュータ教育に活かされていたか?と言えば、何にも活かされていませんでした。

教師は軽くマウスキーボードの使い方を指導するだけで、あとは良い言葉を選ぶなら生徒の自主性に任せて、変な設定等を行わないように監視しているだけでした。

どういう指導要領になっていたかは知りませんが、コンピュータによるオートメーションを過剰評価して授業もオートメーション化出来るかも?と国は考えたのでしょうか?

まあコンピュータ教育が導入された最初期ですから実験的な意味合いも多分に含まれていたと思います

中学校

中学校へ入ると学ばされたのはMS Officeです。

パソコンの起動方法からまりローマ字入力(小学校ひらがな入力)、そしてMS Officeへと入りいます

このあたりは民間パソコン教室と変わりがないかも知れません。

小学校で行われていた学習のオートメーション化への期待は無惨にも崩れたらしく、教師は手取り足取り教えてくれます

  

しかしおそらくは民間パソコン教室と違う部分もあります

それは新規フォルダや新規ファイル作成方法メールWebブラウザの使用方法、その他今現在皆さんが日常的に使うであろうソフトウェア指導が全く無いです。

どうやら学習のオートメーション化は不可能だと気づいたため、今度は思いっき実用に振ってMS Officeマスターを育てるという選択をしたようです。

  

でもこの指導にもおかしな点は沢山ありました。

Wordでは文字の大きさや色、背景色、ワードアートの使用法、図の挿入、印刷などが中心に指導されます

ワードプロセッサソフトが大好きな方は気付いたと思います。そうですWordなのにマークアップ指導が一切ありません。

完全に見た目の変更の仕方と印刷だけの指導であり、Wordなのにアウトラインとか完全に無視です。

  

Excel指導は酷いものでした。

見た目中心の指導を行うことはWordと変わらないですが、Excel関数指導に入ると関数意味ほとんど教えず「B1へ=SUM(A1:A5)と入力してください。はいA1からA5が足された答えがB1に表示されました。次は...」といった感じです。

生徒は教師の指示通り入力するだけで応用とかそういうの全くわかりません。しっかり理解してるのは見た目の変更の仕方くらいです。

  

時代ですね。こうして互換無視オフィスファイルは作られていったのでした。国がそう教えてましたから。

あっそうそうPowerpointとかAccessは授業でやりませんでした。

  

高校

端的に言うのならば同上。

しかPowerpointが追加されました。流石にPowerpointも教えないといけないと気付いたのでしょうか?

  

高校によっては工業高校商業高校高専ではもっとマシな指導をしていた可能性はあります

ただやっぱり社会人から見るとツッコミ入れたくなるような指導が一部で取られていたと思います。国も手探りですから

  

大学

この年齢くらいになると学校の授業で覚えたと言うよりも独学でパソコンを習得してる生徒が殆どになっていました。

全くと言って良いほど学校の授業からは得たものがなく、エロ画像探しのほうがコンピュータリテラシーを僕に与えてくれました。

  

そして大学時代教授ゴリ押しからOSWindowsからEmacsに変わりました。

  

これを教えて欲しかった

今のコンピュータ教育がどうなっているかは知りません。

はてブ小学生向けにビジュアルプログラミングScratch流行り始めてるんだなと知ったくらいでコンピュータ教育の授業の内情がどうなっているか全く知らないです。

なので僕が少年期に受けたコンピュータ教育を前提として「こうだったら良かったのに」というのを書きます

  

データ整理整頓

コンピュータを扱うにおいデータ管理というのは非常に大事です。

何故判りやすファイル名を付けるのか?何故フォルダを作るのか?そういうことをしっかりと指導しなくてはなりません。

とりあえず僕も誰かに教える気になって書いてみたいと思います

  

保存されるデータの種類

保存されるデータの種類は基本的に3種類存在します。

今だけ使えれば良いデータはどうせ直ぐに破棄するデータなので用途合致すればどんな風に作っても構いません。チャットやっててウケを狙うためにネットからダウンロードする時にファイル名を「a.jpg」にするとかそういうことです。どうせ消します。

  

注意しなければいけないのは残り2つです。残り2つは前提として後々見たり使ったりするデータです。

このデータファイル名を「a.txt」とかにしたら何のデータか全くわかりません。

まり後々使ったりするってことは探すってことです。探すのに判りにくいファイル名にしてたら意味もなく違うファイルを開いて探しまわることになります最近流行の「名前重要」です。

  

探すってことは探す場所重要になってきます

このジャンルデータはある特定のフォルダ(ディレクトリ)に保存すると決めておけば探すとき非常に楽です。

そのため各OSは、例えばWindowsならば「マイドキュメント」や「マイピクチャ」「マイミュージック」などを用意してくれてます(ソフトウェア空気を読んでデフォルトの保存先をそういうのにする)。

せっかく用意してくれているので使うようにし、もし自分フォルダを作るとき名前重要ですから判りやすフォルダにしておきましょう。

  

例えばTwitterであるジャンルの話を同好の士に読んでもらいたい場合どうしますか?ハッシュタグを付けますよね?

そうやって名前を判りやすくしておけば自分以外の他人が使う時も非常に楽なのです。

  

「でもよく使うデータを深い階層に置いてたら面倒じゃん」っていう意見もっともです。

実はそのために「デスクトップ」という階層や「ショートカット」があるんですね。

デスクトップアイコンだらけの人ってたまに居ますけど、きっとそういう人はコンピュータ教育は受けたけど保存されるデータの種類を知らない人です。あなたは悪くないですコンピュータ教育が悪い。

  

データの中身

世の中には目の見えない人が居ます。そんな人たちがコンピュータを使えるように「読み上げソフト」ってのがあります

あいろんな意味で"文字通り"読み上げるためのソフトウェアなわけですが、このソフトは何も編綴もないテキストデータを読み上げるとめちゃくちゃ棒読みです。

それが更に平仮名ばかりで句読点もないテキストだと読み上げソフト棒読みで一気に読みあげて目の見えない人はものすごく聞き取りにくいです。こんなテキストは目の見える僕たちでさえ読みにくいです。

そこで僕達は漢字を使ったり句読点を使ったりして可能な限り読みやすします。実はこれがデータの中身にとって重要なのです。

  

句読点は文章を判りやすくする目印ですが、これを付けることをコンピュータ世界では「マークアップ」と言います

読み上げソフトマークアップされた文章だと、何処がタイトルで何処が本文というのが判別できるようになり、更に強調マークアップされている部分では音量を上げたりするので目の見えない人は非常に聞き取りやすくなります

  

もしここまで読んである点に気が付いた人はかなり賢いです。その点とは「目が見えないのは機械も同じ」という点です。

マークアップされた文章は機械にとっても非常に判別がしやすい文章であり、実例をあげるのであれば検索するときに使う「Google」が検索結果へWebページのタイトルを載せてくれるのも、マークアップされたタイトルを拾い上げているからなんです。

Wordでも「見出し」と指定された行は機械的に判別され、アウトライン機能で文書の管理が非常にしやすくなったりします。

PDFでも同じでアウトライン表示されたり、読み上げソフトPDF対応していたらマークアップに合わせて読みあげてくれます

  

少しだけ専門的になりますが、データベースとして使われているCSVファイルJSONファイルも特定の記号を使われているのでコンピュータは楽に判断できるのです。

更にしっかりとマークアップしておけばPDF電子書籍でよく使われているEPUBに変換するなど、他形式への変換が失敗しにくくなる利点もあります

  

コンピュータ教育のあり方

今まで行なってきたコンピュータ教育は正直「コンピュータ教育をしてますよ」という体裁だけを保っている教育の仕方だと思います

コンピュータが使われるようになったか教育に導入し、MS Officeが使われるようになったかMS Officeを教え、IT市場が大きくなったかプログラミングを教える。

高速に変わっていくコンピュータの状況に合わせてしっかり教育対応して居るように見えますが、現状のコンピュータ教育が見ているのはコンピュータの上っ面だけです。だから教育も上っ面になる。

コンピュータ教育ではタブレット端末の導入を現在検討しているらしいですが、どうみてもこれは上っ面な判断です。

  

コンピュータで高速に変わっていってるのは上っ面だけであり基礎の部分は。ハッカーが使ってそうないわゆる黒い画面、つまり端末(コマンドプロンプト/ターミナル)の頃とあまり変わってません。

その基礎を教えずしてOfficeだのビジュアルプログラミングだのを教えても生徒が得るものは何もないと言って良いと思います

正直この記事は総合職さんやプログラマさん、エンジニアさんから見たら「なにそんな当たり前の常識的なことをドヤ顔で記事にしてんの?」って嘲笑されるような内容です。

その嘲笑されるような内容をコンピュータ教育はできていないわけです。

これWindowsじゃなくたって教えられること、最新ハードじゃない中古PC-98だって教えられること、中学生以上は持ってそうなスマホだって教えられることです。

  

ただ教えてれば良いとするコンピュータ教育のあり方を今こそ議論していく必要があるんじゃないですか?とここに主張したい。

2013-08-12

RDF記述フォーマット

最近はやりのLOD(Linked Open Data)のデータフォーマットについてメモ

例はWikipediaコピペもっと違いが分かりやすい例があると良いのだが。

XML

<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
  <rdf:Description rdf:about="http://en.wikipedia.org/wiki/Tony_Benn">
    <dc:title>Tony Benn</dc:title>
    <dc:publisher>Wikipedia</dc:publisher>
  </rdf:Description>
</rdf:RDF>

N3: notation3

@prefix dc: <http://purl.org/dc/elements/1.1/>.

<http://en.wikipedia.org/wiki/Tony_Benn>
  dc:title "Tony Benn";
  dc:publisher "Wikipedia".

Turtle: Terse RDF Triple Language

@prefix dc: <http://purl.org/dc/elements/1.1/>.

<http://en.wikipedia.org/wiki/Tony_Benn>
  dc:title "Tony Benn";
  dc:publisher "Wikipedia".

N-Triples

<http://en.wikipedia.org/wiki/Tony_Benn> <http://purl.org/dc/elements/1.1/title> "Tony Benn".
<http://en.wikipedia.org/wiki/Tony_Benn> <http://purl.org/dc/elements/1.1/publisher> "Wikipedia".

N-Quads: Extending N-Triples with Context

<http://en.wikipedia.org/wiki/Tony_Benn> <http://purl.org/dc/elements/1.1/title> "Tony Benn" <http://en.wikipedia.org/wiki/Tony_Benn>.
<http://en.wikipedia.org/wiki/Tony_Benn> <http://purl.org/dc/elements/1.1/publisher> "Wikipedia" <http://en.wikipedia.org/wiki/Tony_Benn>.

JSON-LD

{
  "@context":
  {
    "dc": "http://purl.org/dc/elements/1.1/"
  },
  "@id": "http://en.wikipedia.org/wiki/Tony_Benn",
  "dc:title": "Tony Benn",
  "dc:publisher": "Wikipedia"
}

2013-08-02

Sails.jsを使ってpixiv検索サービス作った

Pixearch(ピクサーチ)

http://pixearch.net/

node.jsMongoDB勉強がてらpixiv画像タグ検索サービス作りました

はてブタグ検索のようにpixiv投稿された最近画像pixiv内でのブックマーク数でフィルタをかけて検索できるのが特徴です。

検索したり、タグをたどって、ダラダラと良い絵を眺めるのを目的としています

一応スマホからも見られるはず。

普段はブログを書いたりしてないので、今回学んだことのメモがてらの投稿です。

使ったもの

MongoDBを試そうと思ったのがサービスを作り始めた発端です。

Web部分はmongoDBと相性が良さそうなnode.js採用

MVCフレームワークで何か適当ものはないかとググってSails.jsが良さそうだったので今回採用しました。

ホスティング

今回はせっかくnode.js採用したので、噂のnode.jsPaaSのnodejitsuを試しに使っています

500MB分の容量のMongoDB最初から使えるのも大きかったです。

とりあえず最小のプランにしてるのでどのくらい捌けるのか気になるところ。

作ってみての感想
Sails.js

Web開発用のモジュール自分で用意するのがめんどいなー、という人向けな印象。

このくらいの規模のものだったらサクッと作れました。

ただある程度の規模のちゃんとしたサービスを作るのには色々足りてないので、自分カスタマイズしたりできる人じゃないと使うのは辛そうです。

後、ドキュメントも公式のものだけだと説明されてない機能結構あったりします。

デフォルトだとDBMySQL対応していて、MongoDBを使うにはsails-mongoを入れる必要がありました。

開発中に困ったことは、nodejitsuで動かそうとしてsails-mongoでエラーが出て、調べてみたらauthenticationに対応していないというバグがあったことでした。

手元で直したのでpull requestを送ろうかと思ったら既に他の人が送っていて、3日前ぐらいに取り込まれているので今は大丈夫なはず。

https://github.com/balderdashy/sails-mongo/pull/36

現在進行形で色々Issueが上がって修正がされているのでそのうちこなれてくるのに期待。

かいところで設計考慮がちゃんとされてるなーと感じたところも多かったので、node.jsで開発してる人は一回試してみると勉強になりそうです。

MongoDB

最初コレクション操作に戸惑ったのですが、結局JS連想配列なので思ったより早く馴染みました。

$setとか$gteとか特殊な意味を持つキーがいくつかあるので、その辺を把握できてから色々と捗りました。

MySQLに比べて特に更新系で複雑なクエリが発行できるので、ORMで使うと十全に機能を発揮できないのではないかな、と思ったり。

ご存知スキーマレスなので、何も考えずにデータを突っ込んでるとIntegerで保存したい値がStringになっててソートときに困ったりするので要注意。

指定した容量を超えたら自動で消してくれるCapped Collectionがあると知ったので、今回みたいな容量が限られてる場合に便利かなと試してみたのですが、このオプション有効にしたコレクションだとデータアップデートや削除ができなくなりました。

おそらく、追加しかしないログのようなデータの保存に使うもののようです。

nodejitsu

まだ微妙な部分も多かったですが、デプロイとかコマンド一発でできて、設定管理がpackage.jsonでできたりして面白かったです。

今回は、特に問題が起きたとき環境sshで入ったりできないので、表示されてるログだけで問題を調査するのに苦労しました。

MongoLabとMongoHQというMongoDBの外部ホスティングサービスが上述したように使えるのですが、無料の容量を超えて使うにはそこそこお金が掛かるのでモリモリ容量を使うものを考えている場合は注意がいります。(もちろん値段に見合ったプロダクトを提供してくれると思いますが)

ということで、せっかく作ったので是非試してみてください。

2012-12-29

意外? それとも順当? 2012年はてダ村 名作ブログ記事ランキング

今年度総合タイトルはてブブログ日付カテゴリ
11僕は自分が思っていたほどは頭がよくなかった6285usersしのごの録2012/01/10科学学問
26デジタル一眼レフカメラの基礎から実践まで3894users#RyoAnnaBlog2012/05/02コンピュータIT
37パワポでもここまでできる!米財務省から学べる美しい資料作りのポイント3797usersstj064 Life Lab2012/04/02コンピュータIT
415戦略(Strategy)、作戦(Operation)、戦術(Tactics)、そして兵站(Logistics)3305usersUEI/ARC shi3zの日記.2012/04/16政治・経済
517いち早く70%〜80%程度の完成度で人に見せられるものを作ることがいかに重要か、という話2968users肉とご飯と甘いもの @ sotarok2012/01/05コンピュータIT
633ネットワークに自信のない人は東大講義の情報工学概論Aを見よう 2012-01-282446usersきしだのはてな2012/01/28コンピュータIT
766コスパ最高!値段以上の音がすると評判の1,500円ヘッドホンが本当にすばらしかった、という話1934usersリニューアル2012/10/07コンピュータIT
873オシャレエロサイト「h300」をリリースして、10万PV/日を捌くためにやったこと1880users彼女からは、おいちゃんと呼ばれています2012/04/10コンピュータIT
975身内が死んだら注意すべき葬儀周辺での悪意について1850users空気を読まない中杜カズサ2012/05/30生活人生
1082「やる気がでない」時のチェックリスト1824users西尾泰和のはてなダイアリー2012/11/18生活人生
1185年間収支を網羅するExcel家計簿テンプレートを公開します1811usersレンズ 〜まとまりのない日記2012/06/18生活人生
1292行きつけのスタバのマネージャーがすごかったという話1782usersデマこいてんじゃねえ!2012/02/13生活人生
13100「そんなの知らないよ」と彼女は1704usersデマこいてんじゃねえ!2012/10/11生活人生
14102マツダ先生(仮名)の思い出、あるいは議論の仕方を習ったことのない人はやっかいだということ1681usersみやきち日記2012/01/17生活人生
15112帰宅後の時間をちょっと充実させる方法1632usersレンズ 〜まとまりのない日記2012/09/09生活人生
16113ハーバードの確率の授業が凄い件1608userswhat_a_dudeの日記2012/01/28科学学問
17118本当に美味いものを食おう シミシュラン20121598usersUEI/ARC shi3zの日記2012/10/04生活人生
1811927人の匿名ナンパ師が語る女をおとす数々のテクニック まとめ1595users性とナンパについて渋谷で考えた2012/01/21生活人生
19121Google 辞めました1592usersアスペ日記2012/05/11コンピュータIT
20127フェンスを外す人1560usersβ22012/02/27生活人生
21139米国人からコーディングについての怒りのメールを頂戴した1502usersその手の平は尻もつかめるさ2012/09/04コンピュータIT
22141不動産屋がなりふり構わず敷金を返そうとしない件について1497users○内○外日記ブログ2012/01/13生活人生
23142JavaScriptをやり始めた人が理解したほうが良いJSONパーサのコード1490usersしふーのブログ2012/02/19コンピュータIT
24145イラストにおけるキャラクターの撮り方、考え方、tips1480userspal-9999の日記2012/10/03ゲームアニメ
25146私が必ずチェックしているiPhone系の個人ブログを公開してみる1474usersiPhoneiMac自分と…2012/01/01コンピュータIT
261475分でできるPHPセキュリティ対策1461usersぼくはまちちゃん!(Hatena)2012/02/15コンピュータIT
27163iPhoneユーザー歴3年半、本当に使っているアプリだけをまとめてみた。1415usersiPhoneiMac自分と…2012/12/15コンピュータIT
28165統計を学びたい人へ贈る、統計解析に使えるデータセットまとめ1412usersくそ笑む2012/02/14科学学問
29167無職の父と、田舎の未来について。1410usersheadworkin’ player2012/09/23生活人生
30174ベンチャーや。兵どもが夢の跡。僕が学生ベンチャーを応援しない理由(長文)1392usersUEI shi3zの日記2012/12/21コンピュータIT
31176高木浩光さんへ、しっかりしてください1387users最速転職研究会2012/08/30コンピュータIT
32182貧乏なら自炊をすればいいじゃない1364usersカリンボンボン2012/03/20生活人生
33192Rails3 と jQuery で、真面目にオシャレなエロサイトをつくってみました1340usersh3002012/03/31コンピュータIT
34198若人へ1314usersUEI/ARC shi3zの日記2012/07/15生活人生
35209Windows一筋15年の私がMacbook Airを購入した際に行った設定と参考にした記事 まとめ1293userskokemonoの日記2012/02/01コンピュータIT
36220プログラム初心者にC言語のポインタを不本意ながら教える羽目になったなら、こう教えると良いよ1279users偏見プログラマの語り!2012/06/11コンピュータIT
37236無意識に理想が高い人1224usersyuhka-uno日記2012/06/10生活人生
38237環境という足枷1223usersG.A.W.2012/05/28生活人生
39244漫画『ブラックジャックによろしく』が電子書籍で全巻無料配信1216users#RyoAnnaBlog2012/10/04ゲームアニメ
40239引越ししたので未来なお部屋を作ってみた。1215usersお前の血は何色だ!! 42012/01/04生活人生
41247サラリーマンに必要な最低限の金融知識を考える1209usersFuture Insight2012/11/12政治・経済
422481分でWebアプリを作れて、3分で公開できた!オールJavaScriptでWebアプリを開発できるMeteorを触ってみた1209usersIT-Walker on hatena2012/04/13コンピュータIT
43256古くなったXP/Vistaマシンを4000円でサクサクにする1197usersぼくはまちちゃん!(Hatena)2012/05/23コンピュータIT
44262dstatの万能感がハンパない1179users(ひ)メモ2012/02/29コンピュータIT
45273コピペ転載『専業主婦が一般的だったのは高度経済成長期の数十年、たった1世代でしかないという事実』1159usersから逃げない2012/09/06社会
46277驚いた!iPhoneクリーンアップ大作戦で7GBも増えてしまった!1149usersツインズパパの徒然日記2012/03/28コンピュータIT
47282平成時代の日本の税収入がここまで落ち込んだ理由〜デフレ下で間接税増税する愚策をなぜ繰り返すのか?1140users木走日記2012/06/26政治・経済
48283大企業で働くということ1138users 社会人博士日記2012/01/14政治・経済
49284終わるSIerの底辺を見てきた1134usersミッションたぶんPossible2012/03/30コンピュータIT
50288名前くらいは知っておきたい伝説のプログラマーたち1128usersUEI shi3zの日記2012/12/07コンピュータIT

2012-10-01

はてなブックマークコメントを読む「はてコま!」を作りました

サイト作ったよー! - はてコま! | はてブコメまとめ B!

と、サイトの話より、先に言いたいことがあります

このサイト作っていろいろ確認とかして「さーて公開」って思った矢先に自分の作ったサイトからこんな記事見つけて「うひゃー!」ってなりましたw

はてブをもっと快適に!「みんなのはてブ」を公開しました。

はてなブックマークトップページって、正直なんか飽きちゃったし、スクロールせずに表示できるのが数エントリーだけで、やたらヘッダがでかかったり、広告がでかかったり、欲しい情報がほんのちょっとしか表示されないし、気のせいかエロいサイトサムネイルが表示されなかったり、デザインもまじめくさいし、改善したらもっともっと使いやすシャレオツになるし、アクセスも稼げるんじゃないのって思います

私も自分サイトを作ろうと思った経緯はこの方とほぼ同じです。。公式って少し見辛いって思っていました。

そんなときはてブ1000users超え記事アンテナ(´・ω・)|トップページを見つけて「あぁ自分で作るか」ってなりました。

週6フリーターさんがいろいろと使用したものを紹介してくれて、あまり技術のない自分でも作ることができました!

この場をお借りして、お礼を申し上げますありがとうございます

では、恒例化している感じがする、サイト作成にあたってのご報告です。

作成したもの

はてコま! | はてブコメまとめ B!

使い方はいたって簡単。タグを選ぶか検索すると最近はてブ100以上の記事があがってきます

最初サイトを作るにあたって「フリーターさんのもの差別化したいなぁ」と思ったので、私は"はてブエントリーコメント"を"見る"ものに仕上げようと思いました。

なんでコメントを見たいと思ったかという原因はこちらの記事です。

この記事を読んでる人にも感じた人がいると思うのですが、タイトルを読んで「?」となりませんか?

記事を読み進めていくと更に「NSLog」が問題なのか??と混乱しませんか?

最初タイトルの印象が強すぎて、はてブコメントを読んでやっと正確に判断できました。

なので、コメントをもうちょい読みたいなーと思い、こういったサイトしました。

開発するために

  • Vim
    • ねおこんは使っていません。補完には、omni補完だけ使用しています
    • Emacsってなんですか?

それと、フリーターさんのとこに書いてあるものを参考にさせてもらってます

本当にありがとうございます

開発の流れ

Webサービスを作ったことがなかったのですが、HTMLCSSは知っていましたので、ほとんどVimコーディングし、ブラウザで確認するという普通の作業をしていました。

php勉強したことがなかったので、わからないことがあれば都度ネット検索していました。

JavaScriptでFeedを取得したり、PHPを使ってAPIからJSONを取得など、ファイルがまとまっていない感があります

実は、bootstrapで作ったナビゲーションバーのドロップボタンスマフォだと押せないんですよね。。

こういう問題があるときフレームワークを使ったのを後悔しますよね。

実に手軽に使えるbootstrapですが、なんとなく使うのはオススメしません。

ネット上には他にグリッドシステムだけや、違う素材を配布しているサイトがあるので、俺俺フレームワークを作ることをオススメです。(でも、まとまっているという観点でbootstrapは使いたいですよね。)

サーバーさくらインターネットホスティングサーバーを使用しています

開発のその後

初めて、こういったサービスを作ったのですが、小さい微調整に非常に時間がかかりますね。

見難い、見易いを考えながらコードを変更して、ブラウザで確認して・・・を繰り返すのは時間もったいないですね。どなたかいいノウハウをお持ちではないでしょうか?

みなさんも、こう立て続けにはてな関連のサービスが立ち上がると自分でも何か作りたくなりますよね。

思ったら作って便利な世の中にしましょう!えいえいおー!

2012-02-20

http://anond.hatelabo.jp/20120220161601

時代の流れってw

じゃぁ、何が組めるのが時代の流れなのか教えて欲しいなw

HTML5CANVASとか、AJAXJSONとか言うなよw、笑い死ぬから

ログイン ユーザー登録
ようこそ ゲスト さん