ヘッドライトの黄ばみがサッとキレイに! メッキ・ホイール・シートにも使えるマルチ過ぎなお手軽クリーナー「ウルトライト」
PostgreSQL で簡易に MQ - Mi manca qualche giovedi`? を読んで、こりゃ素晴らしいと思ったので Perl モジュール化しました。 simple message queue using PostgreSQL. http://github.com/fujiwara/perl-queue-q4pg-lite/tree/master 割と簡易な Message Queue ということで、Lite って名前に。pg_advisory_lock() を使用してるので、PostgreSQL-8.2 以降でないと動きません。 インターフェースは Queue::Q4M とほとんど同じ……というか、コード自体を半分ぐらい Queue::Q4M から頂いています。 use Queue::Q4Pg::Lite; my $q = Queue::Q4Pg::Lite->conn
今回は技術トピック。 アマゾンWebサービスから「Simple Queue Service (Beta)」がベータリリースされた。 キュー(待ち行列)というのは、要はイベントが発生する頻度についてヒマなときとピークのときで差が激しい場合、それを平準化するためのバッファのことである。 ただのバッファだから、性能要件から言っても根本的なスループットの不足を補うものではない。そう言ってしまえばそれだけなのだけれども、応用次第で性能要件を超えたところで味のある技術でもある。 単純なものではWebサーバに実装されているキュー(ApacheにおけるListenBacklogディレクティブ)がいい例である。アクセスが集中しているとき、プロセス(あるいはスレッド)のプール数が足りなければ、とりあえず溢れたリクエストはキューに突っ込んでおいて、順番が回ってきたらそれを処理してレスポンスを返すし、いつまで待っ
July 23, 2014 Volume 12, issue 7 PDF The Network is Reliable An informal survey of real-world communications failures Peter Bailis, UC Berkeley Kyle Kingsbury, Jepsen Networks "The network is reliable" tops Peter Deutsch's classic list, "Eight fallacies of distributed computing" (https://blogs.oracle.com/jag/resource/Fallacies.html), "all [of which] prove to be false in the long run and all [of wh
2019年3月19日、LaraVue勉強会が主催するイベント「Laravel/Vue.js勉強会#8 オールスターズ」が開催されました。LaravelやVue.jsを用いて開発を行っている各社が一堂に会し、互いの知見を共有する本イベント。第8回となる今回は、過去に登壇した企業のエンジニアたちがLTを行います。プレゼンテーション「Laravel Queueの運用管理」に登壇したのは、株式会社オープンロジCTOの五十嵐正人氏。講演資料はこちら Laravel Queueの運用管理 五十嵐正人氏:オープンロジの五十嵐です。よろしくお願いします。Vueだったりフロントの話が多いなか、サーバサイドの話をします。 「Laravel Queueの運用管理」といって、先月オープンロジでLaravelの勉強会させていただいた時も少し話したんですが、その続き的な内容の話をします。 まずは僕の紹介ということで、
昨年構築してからずっと安定稼働していたfluend(td-agent)が年明けくらいから下記のエラーが出て連日停止してしまって、 ちょっとハマったのでメモしておく。(ハッキリとした原因は掴めてないですが) 利用しているtd-agentのバージョンはtd-agent-1.1.18-0.x86_64。 現象 fluent.logには下記が出ていて、機能が停止している。 2014-01-09T20:28:59+09:00 fluent.error {"error":"#<Fluent::BufferQueueLimitError: queue size exceeds limit>","error_class":"Fluent::BufferQueueLimitError","message":"forward error"} 2014-01-09T20:28:59+09:00 fluent.w
ファームウェアエンジニアの中林 (id:tomo-wait-for-it-yuki) です。あけましておめでとうございます。 今年の目標はNature Remoのファームウェア開発にRustを導入すること、です。そこで引くに引けない状況を作り出すためにRustに関するブログエントリを書き、既成事実を積み上げていきます。 ぶらり組込みRustライブラリ探索の旅、と題して組込みRustで使えるライブラリをゆるく紹介していくシリーズをやりたいと思います。第一弾はBBQueueです。 BBQueue 本エントリ内で紹介する使い方や内部実装は、v0.5.1をもとにしています。 github.com https://docs.rs/bbqueue/0.5.1/bbqueue/ 特徴 BBQueueはno_stdで使えるだけでなく、スレッドセーフで、排他制御なしに使える Single Producer
【参考としてAWS SDK for Ruby V2を利用する場合は、こちらを参考にしてください。】 最近メタボリック症候群になりました。現実を受け止め、筋肉SEを目指してトレーニング中の、どうも千葉です。 今日はSQSについてのハンズオンです。 SQSとは、メッセージキューを提供するサービスで、バッチ等非同期処理時が実施可能になります。 今日はAmazon SQSを使って、キューの登録・取得・削除等をやってみたいと思います。 言語は、最近rubyを使っているので、「AWS SDK for Ruby」を使用します。 おそらく、Java・PHP・Python等でもAWSのSDKがあるため、同じような感じで実行できるのではないかと思います。 料金 お金取られない範囲でやりたい方も多いはずなので、一応記載しておくと無料のはずです。 ユーザ登録後の無料期間にかかわらず(無料期間以外でも)2014年1
いまコーディング中の案件で、Task Queueにぴったりハマる要件があったので、飛びついてみました。 課題:Datasource上の大量のデータをクライアントにダウンロードしたい。30秒内では終わらないので複数のリクエスト/レスポンスに分割してダウンロードする実装にした。しかしデータ量によっては何10分もかかってしまう。 原因:データ量の多さもあるが、それを取得するためのDatastoreのクエリ、および関連エンティティの取得にもっとも時間がかかっている 書こうとしているソリューション:クエリと関連エンティティ取得をTask Queueのタスクに分割して並列処理(map)し、取得したデータを集約(reduce)してクライアントに渡す …んん、これってMapReduceではないですか。1つのリクエストでは重い処理は、たくさんのタスクに細切れにして、キューにどんどん入れる。App Engin
Task Queueの最新情報! このページでは、Task Queueの簡単な使い方を解説します。2011/2/08の最新情報です。 2010/12に正式なバージョンが発表されたため、それより前に書かれた情報はあんまりあてにならないです。 間違いだらけの他サイトの情報に終止符を打ちます! このページの内容で分からないところとかがあったら、@ts_3156 に何でも聞いてください。 「このコードのここの意味が分からない」とか、何でも大丈夫ですよ(^-^) Task Queueのおさらい Task Queueとは、Cronのようなものです。定期的にプログラムの実行を行ってくれます。 Cronとの違いはこんな感じです。 Threadクラス代わりに利用するのが便利です。 Memcachedと併用することで、非同期の並列処理をGAEで実現することができます。 Google公式のリファレンス資料 正式
Amazon SQS (Simple Queue Service)はAmazonが提供しているメッセージング・ウェブサービス。 Amazon Simple Queue Servicehttp://aws.amazon.com/sqs/自分の周りでは実際に使っているっていう人を聞いたことがないし、ぐぐっても日本語の情報はそんなに出てこない。たぶん、 メッセージング・サーバーが北米だかヨーロッパにあるんだか分からんが、わざわざそんな遠方にある(かもしれない)サーバーを使ってメッセージングする必要なくね? そもそもEC2を使うならば、EC2のインスタンスに自前でSTOMPやAMQP等のメッセージング・サーバーを立てればよくね?みたいな、誰もが思う理由で日本では使われないんだろうけど。それでも前々から「一度は触ってみなくてはいかんな」と思い、ようやく触ってみた。その感想を先に書いておくと、APIは
Another Solution to Animation Queue Buildup in jQuery Or: Why do hover animations continue after I stop hovering? Over at learningjQuery.com, Brandon Aaron published a quick tip on how to prevent animation queue buildup in hover animations. Since I was not satisfied with his solution, I tried to find another. After taking some wrong paths and learning a lot about jQuery's animation (queue) system,
全国1,000,000人のSTLファンのみなさんに朗報です。 STLのqueueとかstackとか使いにくくないですか? あれって、中身はlistとかqueueとかvectorのくせに使いにくくないですか? 触れるインターフェイスが少なすぎ、とか思ってないですか? 渡したコンテナを触れないときどうしてますか? 1.渡すコンテナを独自で作成し、インターフェイスは実装し中身は気合いでいじる できますが、queueやstackで渡されるコンテナは「コピー」なので相当醜いことになります。却下。 2.queueやstackをprotected継承してインターフェイスを拡張する 正解!! 移植性はないけど正解!! 移植性がないのはSTLには環境によって独自の実装があるからです。 しかし、多くの場合ちょっと書き換えるだけでこのテクニックが使えます。 これを使うと、 swapができるqueue(シュリンク
最近Redisに興味があったんで 色々な使い方を検討してるんですが、その中でRedisをつかったJob Queueを思いついたので実装してみました。 ちなみにRedisをつかったJob Queueは既出で、githubなんかで使われている resqueというのがあります。 まぁ通常のJob Queueだったら正直別にRedisつかわなくていいのでちょっと違う感じで実装してみました。 # 個人的には普通のQueueだったらQ4MとかQudoとかTheSchwartzでいいとおもう。 # こんなところで無駄にRedisとか使うメリットないわ。 通常JobQueueだと1個ずつjobをとりだして(dequeue)処理を行うと思います。 ただ、ケースによってはある一定の個数のjobをまとめてdequeueして処理を行いたい時があります。 私は普段業務では、Q4Mを多用しているんですがQ4Mにはそう
We’ve just open-sourced Solid Queue, a new backend for Active Job that we use in HEY to run about 1/3 of our roughly 18 million jobs per day. We’ll be moving more jobs in the coming days until we run HEY exclusively using Solid Queue. Besides regular job enqueuing and processing, Solid Queue supports delayed jobs, concurrency controls, pausing queues, numeric priorities per job, and priorities by
qmail-qstatのプログラムで、現在 キューにたまっているメールの数を表示することができます。 # /var/qmail/bin/qmail-qstat messages in queue: 80461 messages in queue but not yet preprocessed: 0 それで、 messages in queue: 80461 は、「キューの中にある数」かと思われますが、 messages in queue but not yet preprocessed: 0 はなんなの? 直訳だと、「メッセージはキューの中です。しかし、まだ前処理されていません。」となると思われます。 前処理とは何でしょうか。 ということで、調べてみました。 メイルキューの構造 INTERNALS 上記によると、 キュー中のメッセージはユニークな番号(例えば457とする。)によって区別さ
goqite (pronounced Go-queue-ite) is a persistent message queue Go library built on SQLite and inspired by AWS SQS (but much simpler). $ go get github.com/maragudk/goqite See goqite on Github Don't like queues? Get the Skip function to skip the queue for your messages! Example package main import ( "context" "database/sql" "fmt" "log" "time" _ "github.com/mattn/go-sqlite3" "github.com/maragudk/goqi
Pasta with Meat Sauce| Beef with homemade Tomato paste, Bell pepper paste and Worcestershire sauce Pasta 牛肉とトマトの特製ソースパスタ| 手作りのウスターソースをベースに、トマトペーストや パプリカペーストを加えて作る自家製トマトソース。 ウスターソースの材料は梅シロップや梅酒に使った梅のペースト、 鉢植えのハーブ類や買ってきた香味野菜、 余った果物の砂糖漬けシロップやタマリンド、 ドライイチジク、デーツ、ローレル、シナモン、 ブラックペッパー、クローブ、クミン、塩…など。 その時々で材料は多少変化するけど、この酸味と甘味のある スパイシーなソースをウスターソースと呼んでいるのです。 このウスターソースをベースにいつものパプリカペーストや トマトペースト、フレッシュなトマト、牛肉、タマ
http://lucille.atso-net.jp/svn/angelina/algo/lock-free/ [EN] Here’s my implementation of Simon Doherty, Maurice Herlihy, Victor Luchangco and Mark Moir, Bringing practical lock-free synchronization to 64-bit applications. PODC 2004. pp. 31–39. http://www.cs.brown.edu/research/projects/transactional_memory.html – [JP] 64-bit 対応な lock-free queue を実装してみました。 この論文の特徴は、 o 64-bit 対応 o スレッド数をあらかじめ知ら
砂鍋獅子頭 Sha Guo Shizi Tou|Earthen pot stew of Pork dumplings and Vermicelli 獅子頭鍋| ガパオライスとパッタイの合間に炊き込みご飯という 夏と秋の入り混じったメニューが続く我が家ですが そろそろ鍋物やグラタンといった熱々メニューも開始。 豚バラ肉を少し粗めに刻んで、おっきな肉団子に。 それをこんがりキツネ色になるまで素揚げして 大根や白菜と一緒に土鍋でくつくつ煮込む中華料理。 味付けは醤油+紹興酒+塩+砂糖+仕上げのゴマ油とシンプル。 だけど、これがとんでもなく旨いのです。 肉団子だけでも、スープだけでも、どうすんのってくらい。 味の染み込んだ野菜もキノコも春雨も全てが旨いのです。 味の決め手は肉団子。 肉団子自体がダシ本体なので、市販の挽肉じゃなくて 豚バラ肉のブロックを半解凍して包丁で、 やや粗挽きの3mm角くらい
This example replaced a specific div with a the jQuery uploader queue widget. It will automatically check for different runtimes in the configured order, if it fails it will not convert the specified element. <div id="uploader"> <p>Your browser doesn't have Flash, Silverlight or HTML5 support.</p> </div> <script type="text/javascript"> // Initialize the widget when the DOM is ready $(function() {
AWSのサービスはどれも良く考えられていて好きですが、そんな中で使えば使える程に良さが解ってくるサービスとしてAmazon Simple Queue Service(SQS)があります。その名の通り、シンプルなキューサービスです。その分、可用性が高く、上手く使いこなせば様々なサービスの可用性を低コストで上げることが出来ると思います。 一例で言えば従来型のシステムでは、可用性を上げる肝はデータベースにあったかと思います。もう少し言うと、参照系ではなく更新系の部分。もっとはっきり言うと、お金掛けてOracleRAC使えば一定の可用性は確保できるよねぇってアーキテクチャが多かったと思います。この更新系の部分をキューを使うことにより、コストを下げることと可用性を高めることに可能なのではないでしょうか?キュー+MySQL+レプリケーションみたいな構造です。もちろん書き込みの順番等、アプリ側で考慮する
iPhoneアプリ内で、データ構造としてqueueを利用したい場合、それそのものなクラス(例えばJavaにおけるjava.util.Queueの実装クラス)は存在しないようです。ただ、Cocoa FoundationフレームワークのNSMutableArrayを利用すると、容易に実装できます。 ※ちなみにリスト1のQueueクラスはマルチスレッド対応をしてあります。 リスト1. queueの実装 //Queue.h @interface Queue : NSObject { NSMutableArray *queue; int maxSize; } - (id)initWithSize:(int)maxSize; - (id)dequeue; - (void)enqueue:(id)anObject ; - (int)count; @end //Queue.m @implementatio
News, notes, tips and tricks from the Google App Engine Team Today we are happy to announce the 1.3.5 release of the App Engine SDK for both Python and Java developers. Due to popular demand, we have increased the throughput of the Task Queue API, from 50 reqs/sec per app to 50 reqs/sec per queue. You can also now specify the amount of storage available to the taskqueue in your app, for those with
Amazon SQS と Kinesis はどう違うのか?~ユーザが求めるキュー(queue)の姿~|AWSを使い倒せ どちらも広義なキュー(queue)。でもキューに期待するものが違う。 こんにちは。技術チームの岩谷です。最近、とあるかたから「Kinesisというキーワードを聞くけど、SQSに似ていませんか?違いは何なのでしょう?」という質問をいただきました。 SQSとKinesis、この両者は共にAWSのクラウドサービスで「広義のキューサービス」という意味では共通点があります。すなわち、 データを投入する データを取り出す、またその際に順序性を制御する仕組みが備わっている 取出したデータは、即座もしくは短寿命で消去される データの「投入→取出」の動作がセットで利用される。 という利用方法は共通しています。これは「データの待ち行列」である「キュー」の概念と一致しています。しかしこの両者の
Amazon Web Services ブログ AWS Lambda がサポートするイベントソースに Amazon Simple Queue Service を追加 Amazon Simple Queue Service (SQS) を使って AWS Lambda 関数をトリガーできるようになりました。これは私が個人的に 4 年以上前から楽しみにしてきた、重要な機能を提供する特別なアップデートです。皆さん、試用を待ち望んでいることでしょうから、昔話に興味のない方は下記を飛ばしてもらって結構です。 SQS は当社が立ち上げた初めてのサービスで、14 年前の 2004 年、AWS より公開されました。ご参考に、2004 年当時と言えば、商用ハードドライブは最大でも約 60 GB、PHP 5 が現れ、Facebook がちょうど開始したところ、テレビ番組のフレンズはシリーズが終了、Gmail は
今回は、Audio Queueを使ってみよう。Audio Queueは、Audio Toolboxフレームワークの中において、主役と呼べるライブラリだ。柔軟なオーディオの再生が可能になる。 楽器アプリを実現するためのライブラリとして、前回はSystem Sound Serviceを使った。今回のAudio Queueがこれと大きく異なるのは、再生音の繰り返しの有無である。Audio Queueを使えば、任意のポイントで繰り返し再生を行う事ができるようになるのだ。これにより、楽器アプリの表現力は大きく広がる事になる。 Audio Queueとバッファ Audio Queueの特徴は、名前の通り、音データをキューイングすることだ。音データを格納するためのバッファを複数用意して、そこにデータを格納してキューを作成する。バッファへのデータの格納は、アプリケーションへのコールバックで行われる。 Au
他サイト様の引用ばっかりで恐縮ですが、説明がわかりやすかったのでこちらにメモっておきます。 dispatch_get_global_queue と dispatch_queue_create の違い (Nacho4d - programming notes: December 2010 より) メインキュー : メインスレッドで実行 dispatch_queue_t main = dispatch_get_main_queue(); グローバルキュー : バックグラウンドで実行 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0); プライベートキュー : バックグラウンドで実行、名前付きのキュー dispatch_queue_t queue = dispatch_queu
Q4M (Queue for MySQL) is a message queue licensed under GPL that works as a pluggable storage engine of MySQL 5.1, designed to be robust, fast, flexible. It is already in production quality, and is used by several web services (see Users of Q4M). To start using Q4M, download either a binary or source distribution from the install page, and follow the installation instructions. A small tutorial is
March 6, 2021 Volume 19, issue 1 PDF The SPACE of Developer Productivity There's more to it than you think. Nicole Forsgren, GitHub Margaret-Anne Storey, University of Victoria Chandra Maddila, Thomas Zimmermann, Brian Houck, and Jenna Butler, Microsoft Research Developer productivity is complex and nuanced, with important implications for software development teams. A clear understanding of defin
Queueを使うとワーカースレッドが簡単に作れます。 ワーカースレッド(=仕事をするスレッド)は、キューから順番に仕事を取り出して実行するスレッドです。 これとは別に定期的に仕事を積むスレッドがいて、 ワーカースレッドは↑から仕事が積まれた場合にそれを取り出して実行します。 仕事がなければ、積まれるまで待つという動作をします。 ここで、キューへの仕事の追加と、キューからの仕事の取得は、別のスレッドで行われるため、同期制御が必要になります。 Queueを使うと、仕事を積む人とワーカースレッドの同期制御が内部で隠蔽されるため、外側での同期化なしにワーカースレッドを作ることができます。 QueueのAPIはpopとpushがあります。(他にもあるけど) Queue#popで要素を取り出します。このとき、queueが空の時、呼出元のスレッドは停止(ブロック)されます。 Queue#pushで要素を
News, notes, tips and tricks from the Google App Engine Team With release 1.2.3 of the Python SDK, we are psyched to present an exciting new feature - the Task Queue API. You can now perform offline processing on App Engine by scheduling bundles of work (tasks) for automatic execution in the background. You don't need to worry about managing threads or polling - just write the task processing code
This document describes the current stable version of Celery (5.4). For development docs, go here. Celery - Distributed Task Queue¶ Celery is a simple, flexible, and reliable distributed system to process vast amounts of messages, while providing operations with the tools required to maintain such a system. It’s a task queue with focus on real-time processing, while also supporting task scheduling
« 高速なCometサーバを書いてみた件 | メイン | Parallel::Prefork - Perl でマルチプロセスなサーバを書く方法 » 2008年03月19日 Q4M (Queue for MySQL) 0.3 リリース MySQL 上で動作するメッセージキュー「Q4M」のバージョン 0.3 をリリースしました。今回のバージョンアップで、以下の機能が追加になっています。 メッセージリレー機能 Q4M テーブルに挿入されたメッセージを、別のサーバで動作する MySQL に転送できるようになりました。サーバが落ちたりネットワークが切断された場合でもメッセージの喪失や複製が発生しないように設計されています。 例えば Pathtraq の場合、サービス本体と本文解析システムは、それぞれ物理的に離れたロケーションで運用されています。そして、両者間の情報交換のために Q4M のメッセージリ
2006年06月24日20:30 カテゴリLightweight Languages一日一行野郎 C - tailとqueue どうせなら、もう少し潰しがきくように書いてみた。 はこべにっき# - C言語でtailっぽいものを書く また,明日学科のC言語のテストがある.C言語なぞ普段まったく使わないもんだから,思い出さねば.てことで,10行固定版tailを書いてみた.以下のソース.まずは、main()の方から。再発明だけでは芸が無いので、行数もオプションとして指定できるようにしてみた。 tail.c #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_CHARS_IN_LINE 1024 #include "queue.h" char *new_string(const char *str){ cha
どこかでそんなことが出来るよと言うのを読んだ。 TumblrのQueueのページには、 The queue lets you stagger posts over a period of hours or days. It's an easy way to keep your posting frequency consistent and your tumblelog active. (Queueは一定期間ごとのPostを調整しPostを定期的に行うようにすることで、あなたのTumblrを活性化するのに役立ちます) と書かれている。確かに僕のPostには殆ど緊急性はないし、おまけにPost数も結構多いので、一気にバラバラとPostするよりかは、貯めておいて少しずつ出していく方が良いかもなぁと思う。 ので、やってみた。
December 3, 2013 Volume 11, issue 10 PDF Making the Web Faster with HTTP 2.0 HTTP continues to evolve Ilya Grigorik HTTP (Hypertext Transfer Protocol) is one of the most widely used application protocols on the Internet. Since its publication, RFC 2616 (HTTP 1.1) has served as a foundation for the unprecedented growth of the Internet: billions of devices of all shapes and sizes, from desktop compu
April 30, 2018 Volume 16, issue 2 PDF C Is Not a Low-level Language Your computer is not a fast PDP-11. David Chisnall In the wake of the recent Meltdown and Spectre vulnerabilities, it's worth spending some time looking at root causes. Both of these vulnerabilities involved processors speculatively executing instructions past some kind of access check and allowing the attacker to observe the resu
Pull request merge queue is now generally available! merge-queuepull-requestsvelocity July 12, 2023 Today we are announcing the general availability of pull request merge queue! 🎉 Merge queue helps increase velocity in software delivery by automating pull request merges into your busiest branches. Before merge queue, developers would often need to update their pull request branches prior to mergi
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く