「ポーリング」を含む日記 RSS

はてなキーワード: ポーリングとは

2017-03-29

メルカリ一生懸命数百円安くなるのをポーリングして待ってるときに、お菓子我慢すれば数百円とかすぐじゃんって思って、ばかなことしてるなあ俺って思った

2015-08-04

あるよ

http://anond.hatelabo.jp/20150804090844

赤外線リモコンPCから設定すれば、crontabでの自動操作とかセンサー連動のプログラムとか、だいたい何でもできるよ

割と前から出てた http://bit-trade-one.co.jp/BTOpicture/Products/005-RS/

内部の保持メモリ量が少なすぎてDAIKINリモコンとかに対応してなかったのと、電灯のリモコンとかをうまく検知できなかった

おすすめhttp://getirkit.com/ のほう これは安定して動いてる ロングポーリングを使ってるんで

firewall越しに外部から操作もできるし、IFTTTとも連動できるよ

2015-02-03

任せてやらねば、人は育たず。

仕事を任せる」という言葉意味は「君一人が担当者なので、君がいなくなると仕事が止まる組織を作り上げる」ことではない。「任せる」とはなんだろう。信じる、に近い。しかし、信じてはいけない。ポーリング必要だ。進捗どうですか? は任せているから出てくる言葉だ。任せていないのなら、こうやれ、あれやれ、と指示を出すからだ。これまで何社、何人も上役に接したが、任せるのが上手な人は少なかった。任せすぎが任せないかのどちらかだった。

私も、任せたり、任せられたりする位置になった。任せるのは苦手で、任せられるのは負担に思う。責任感、がいまだによくわからない。他人に求められるのは、すこし、気が重くて、けっこう、負担だ。じぶんでやってしまうと、自分でできる量しか作業ができない。だからどうしようもなく任せなければならない。だから任せるための準備をする。ちゃんと任せられるように。任せてくれた人には、こまめに報告をする。任せてくれてありがとう、って気分で。こうだから任せて安心してね、って思って。できれば。

ライフハッカー読者とか、意識高い系の人はリーダーを目指してるんだろう。大勢を使って目的を達成したい人がより理想自分を目指す行動が、ライフハックだったり、啓蒙だったり、啓発だったり、意識高いなのだろう。

私は、そういうのは、苦手だ。

ライフハッカー記事とか、自己啓発本とか、には、「職場雰囲気をよくする」方法を見かけない。効率化を追及するばかりで、居心地のいい雰囲気を作ろう、みたいな記事はでてこない。歓迎されないのだろうか。任せられた時に負担に感じない職場づくりだったり、任せられたいと思える関係を作るとか、言葉遣いのほうが、意識高い系よりよほど大切だ。

話がそれたけど、私は任せられたくないんだよ。

2014-03-15

IIJ GIOが驚くほどクソ

国内クラウド大手IIJ GIOが驚くほどクソっていう話を書きます

IIJ GIOとは

クラウドならIIJ GIO(ジオ)- IIJの高品質クラウドサービス にあるように、クラウド上にいろんなサービスを乗せてくれるヤツです。

まぁAWSでいいじゃんって話が出ると思うので、AWSとの違いをまとめてくれた方がいましたので紹介します。IIJ GIO にあって AWS にない(なさそうに見える)10のサービス - yoshidashingoの日記 なお、このエントリー以降にAWS進化していて、中国リージョンの開設やVDIサービス提供アナウンスされています

なんでIIJ GIOを選ぶの?

一つには国内ベンダーっていう安心感ですかね。どこに登記されてるとも知れないAWSに任せると、いきなり「今度このへんのラックメンテするからEC2インスタンス落ちるよ」みたいのがあったりしますしね。

あとは、運用監視サービスをやってますAWSだとCloudWatchみたいな簡易なやつしかないですが、GIOだとアプリログとかポート監視もやってくれます。まぁAWSでもサードパーティ運用をやってくれる会社はありますが。

ところが…

残念ながら、上記の「選ぶ理由」はどれも裏切られます

不定期メンテ普通にありますし、ろくに通知もないです(電話1本とか)。内容も、ネットが切れるとかサーバを落としてくれとか割りとデカめです。国内ベンダーからちゃんとしてるだろうというファジーな期待は裏切られます

運用監視サービス、これがまたゴミです。監視カスタマイズなんかお願いしようものなら「これが仕様なんで…」と突っぱねられますポーリング間隔ですらカスタマイズできません。あと運用。「このアラートは即電話ね」と決めていても、24/365対応している現場人間適当バイトなので、ろくに伝わっていなくて見逃される、みたいのもザラです。

結論

AWSサードパーティ運用サービスが安くて安心

2013-04-30

Googleさんの感度が、エンジニアとしていじめたいくらい良いのはなぜ?

わずスクショに撮っちゃったんだけど、『はてな匿名ダイアリー』のエントリの題名で

携帯から検索をかけたら、「48 secs ago」という表示が題名の後に表示された。

投稿日が何時間前だったのかを知らせる左下の小文字が、だ。

yahooリアルタイム検索で、自分Twitter投稿内容がどれくらいで反映されるのか

セルフ検索にかけてみたことはあるけど、一分以上はかかっていたと思う。

yahooリアルタイム検索で、専用サーバーだか線だか引っ張ってきて特殊なAPIを叩いてるだろうことを考えると、

上記の一般検索で「48 secs ago」というのはなんか、もう、異次元入ってる。OpenGrokよりわかんない。

クローラーでやっている技術的内容が全く想像できない。論文とか検索したら出てくるのかしら。

たまたまタイミングがあったにせよIFに普通「secs」を用意する?

大学情報系の講義を取っていた時、教授が自信満々に

Twitterリアルタイム性を求めるソーシャルサービスが出てきても

 Googleなどの従来型インデクサーが即時検索を可能にするとは思えない。

 従って技術イノベーションが起きるとすれば、これからレコメンドエンジンだっ!」と

言い放っていたのがちょうど四年前あたりだったと思う。。。四年であの教授は形にできたのかしら。

Googleは多分地味だけど確実に本業進化してるんだと思う。あんまり話は聞かないけど。

はてな匿名ダイアリーエントリタイトルが、特に変わった言葉がなくても

Googleの上位に来やすいのは、「はてな匿名ダイアリー」を一つのブログとしてみたときPV数の多さ、

ぐらいしかSEO対策をしたことがない素人には想像つかない。それを思えば、PVが多いところに

ある程度ウェイトを置いてポーリング監視っぽいことをしてるのかなとも思えたが、

星の数ほどあるウェブサービスをして、それはないと個人的には思う。

はいえ、ここはあんまり上等ではない形態素解析による単語判定、データベース化、シーケンサーごにょごにょプロセス

わずか数十秒でユーザーにまで反映。。。Google技術こえーまじこえー。

2012-06-23

キスで学ぶPush実装技術

彼女MacBookを並べてコーディング

ようやくRailsの開発を一人で出来るようになった彼女が、俺に突然質問を投げかけた。

「ねぇ、WebサービスPushってどうやって実装するの?」

「一般的には3つの方法がある。」と俺は答えた。

クールな順にWebSocket、次にコメット最後ポーリングだよ」

彼女は目を輝かせながら「それでそれで?!」と説明を求めてくる。

ポーリングは、一定時間ごと、たとえば3秒ごとにAjaxサーバリクエストを送って新着の情報が無いか問い合わせて、もし新着があれば処理を、なければスルーして次の問い合わせに備えるPush通知の実装だ。手軽に実装できる反面、新着がない多くの時間常にリクエストを送り続けることになるので無駄が多い。大規模なサービスで実装すれば、それだけでDDoSっぽくなっちゃう。また、リアルタイムも厳密には実現できなくて、MAXポーリング間隔分のラグが発生してしまう。小規模なサービスで、とりあえず実装するにはオススメかな。」

なるほどなるほど、と彼女は頷く。


コメットは?」

コメットポーリングを改良したもので、ブラウザからリクエストが送られてきた時点ではサーバはすぐにレスポンスを返さずに、処理中ってことでコネクションを張ったまま一定時間つんだ。それで、なにか新着があったタイミングで、昔送られてきてたリクエストレスポンスを返す。そうすると、新着があったタイミングレスポンスを返すタイミングになるので、レスポンスはほぼリアルタイムになる」

「なるほど!すごい!!!

「頭の良い実装だよね。Facebookの通知なんかはコメットだよ。ただ、コメットも万能じゃない。まず、レスポンスはいつまでも待てるものではなく、待たせすぎちゃうとタイムアウトなっちゃうんだ。だから一定時間ごとには何もなくても"進捗はなかったよ”というレスポンスを返してあげなきゃいけない。また、サーバコネクションを常に割り当てないといけないので、IOをブロックするようなサーバだとリソースを食い過ぎて耐えれ無くなっちゃうから大規模な運用には金がかかっちゃうんだ。所詮HTTPを使ったごまかしでしか無い。オーバーヘッドが大きいんだよ。」

「な、なるほどー」

少し話が小難しくなったためか、一生懸命理解しようと彼女が頑張っている。かわいい

「そこでWebSocketの登場だ。WebSocketは厳密には違うんだけど、HTML5関連の新しい技術で、ネトゲで使うTCP/IPセッションのようなコネクションをサーバ側と張ることができる技術なんだ。しかNATとかも超えてくれる便利な技術。これがあればリアルタイムWebの実装はすごく簡単になるんだけど、まだ新しい技術というのもあるし、対応してるサーバライブラリの不足や、プログラミングスタイルイベント駆動になるという変化もあって、まだまだ一般的にはなってない。対応してるブラウザ最近まで多くはなかったしね。やっとiPhoneでも使えるようになったし、スマフォWebでも普通に使えるようになってきた。これからが楽しみだね。」

「うーんと、うーんと、つまり

彼女今日得た知識のまとめに入ったようだ。一生懸命Web技術を学ぼうとしている健気な彼女に、僕は心がキュンとなった。

「そう、つまり…」

僕は彼女の頭に手を回し、クイっと自分の顔を近づた。

びっくりして目を見開いている彼女

そんな彼女に向かって、連続5回キスをした。


「チュッ、チュッ、チュッ、チュッ、チュッ、」

「これがポーリング。」


今度は自分の顔を少し傾け、舌を入れる深いキス


「チュポッ…」


彼女の頬は少しだけ赤く染まっていた。


「これがWebSocket、そして…」


最後に僕は彼女の顔を両手でホールドし、8秒くらいの長い、とても長いキスをした。

彼女の顔は真っ赤に染まり、目は少しだけトロンとしていた。


「これがコメット。わかったかな?」



彼女はとても恥ずかしそうに「はい…////」と返事をした。


「よし、じゃあコーディングに戻ろう。」



コーディングを始めた5分後、彼女がおもむろに呟いた。



「私、コメットがいいな。。。////」


東京は快晴、今日も絶好のペアプロ日和だ。

2010-08-08

http://anond.hatelabo.jp/20100806225421

上司ほうれん草 しってる?

報告するよう促す。

連絡するよう促す。

相談されやすい空気を作る。

自分の席で連絡待ってるってどんだけ?

昔は俺も相手を信じて報告するだろうと思ってたけど、かなりでかい会社リーダーたちでも、悪い連絡なんて遅い時がある。

それで、仕事に穴を開けかけた時いらい、反省して。

報告なんて信じないというポリシーを貫くことにしている。

自分で定期的にポーリングして、様子見て、どう?って聞くようにして、内容見て確認するようにしてる。

でないと、介入が遅れて、大変なことになる。

いいか悪いかは別として、上に立つなら、もう、そうするしかない。

そう思うと、連絡が定期的にやってきて、その内容が正しいひとって、どんだけありがたいかと思う。

2010-05-01

Javaから呼び出し元のJRuby環境を利用する

Tomcat上のJRubyから呼んだJavaプログラムから呼び出し元のJRuby環境(Runtime)を使いたいときにどうすればいいのか?

方法が1つわかったのでメモ

(追記2:こんなめんどいことしなくてもJRuby.runtimeで取れたみたい)

イメージ的には以下の感じ

Java

↑↓

JRuby(on Rails)

Java(Tomcat)

※注意:warblerでwar化したRailsアプリ場合

JRubyは1.4.0、jruby-rack.jarは0.9.7、warblerは1.0.1

プログラム

まずは必要なクラスをimport

import org.jruby.Ruby;
import org.jruby.rack.PoolingRackApplicationFactory;
import org.jruby.rack.RackApplication;
import org.jruby.rack.RackServletContextListener;

ServletContextをどっかから取ってくる(Listener作ってfieldに埋めるとかして)(追記:$servlet_contextで取れる[JRuby-Rack使うから])

ServletContext context;//=~~~

warblerでwar化するとweb.xmlRailsServletContextListener(extends RackServletContextListener)が登録される。

そのListener起動時にFactoryがServletContextに登録されるので、それを取得する

PoolingRackApplicationFactory factory = (PoolingRackApplicationFactory)context.getAttribute(RackServletContextListener.FACTORY_KEY);

PoolingRackApplicationFactoryapplicationPoolを取ってくる

(protected fieldなのでリフレクションを使用)

Field poolField = factory.getClass().getDeclaredField("applicationPool");
poolField.setAccessible(true);
Queue<RackApplication&gt; pool = (Queue<RackApplication&gt;)poolField.get(factory);

poolからRubyランタイムを取得

RackApplication ap = pool.peek();
Ruby ruby = ap.getRuntime();

呼び出しもとのJRuby環境を使ってRubyコードを実行できる

ruby.evalScriptlet("p 'test'");
memo

実際に使うときは、applicationPoolにちゃんと入っているかなどのチェックが必要になる。

初期化タイミングなどが影響して取得できない場合、Threadなどを使ってポーリングして入っているか確認する

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