今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...NTT DATA Technology & Innovation
Windows 10ユーザーがChromeやFirefoxなどの他社製ブラウザをインストールしようとすると、すでにMicrosoft製のブラウザが入っていることを知らせるありがた迷惑な警告が話題となっています。 ポップアップに激怒するユーザー Microsoftは10月に発表予定のWindows 10のアップデートのテストの最終段階にあるといわれていますが、テスターが奇妙な新ポップアップを目撃したとの情報です。 MicrosoftがWindows 10で迷惑な広告やポップアップを表示するのは以前から知られています。それが最近はライバル社のブラウザとの競争をさらに加速させているためか、他社製のブラウザをインストールしようとすると、Microsoft Edgeを使用するよう薦めてくるありがた迷惑なポップアップが新たに追加されたようです。 テスターのショーン・ホフマン氏は(@SeanKHoffm
python or jupyter上でデータをmatplotlibで表示してマウスとか範囲指定とか値の取得といったような手動で解析したりしたいときがあります。また適当な文章ですみませんがそんな時のメモです。私は天文データとか音楽用のコードを扱うのに使っていますが、そんな感じの適当なGUIのデータ解析ツールを作りたい時に便利です。参考ページはこれです。http://matplotlib.org/users/event_handling.html jupyterの場合は%matplotlib inlineしちゃうとできないんで、そのままか%matplotlib notebookとかしてください。 準備
こんにちは、アプリケーション基盤チームの青木(@a_o_k_i_n_g)です。 一般的な Web アプリケーションがそうであるように、サイボウズのグループウェアにも画像をサムネイルで表示する機能があります。サイボウズでは日々数万件やそれ以上のサムネイルを生成しており、それらは全て ImageMagick によって生成されていました。 そこで得た知見はこちらの記事で公開されています。 blog.cybozu.io しかし現在、サイボウズから ImageMagick は消え去りました。その理由と、我々が取った代替手段について紹介します。 ImageMagick を外した理由 言うまでもなく ImageMagick は優秀なツールで、画像変換に関する何らかのサービスやツールを作る場合には採用の第一候補になることでしょう。あらゆる画像フォーマットに対応し、出力画像をきめ細かに制御できる膨大なオプシ
MacをSierraにアップグレードした後、ラズパイにssh -Xで接続すると以下のエラーが出ていた。 Warning: untrusted X11 forwarding setup failed: xauth key data not generated はじめは気付かず、ssh越しにラズパイの画像をCLIで表示しようとすると動かず $ feh Pictures/image.jpg feh ERROR: Can't open X display. It *is* running, yeah? 一体なにがあった... 原因 エラーをググるとStackOverFlowに同様の現象を質問してる人を発見。 stackoverflow.com MacOSがSierraになってからxauthの場所が変更されたらしく、 どうやら ssh -XでXQuartzが起動してないようだ。 対処法 termna
Googleは、2018年7月24日~26日(米国時間)にサンフランシスコで開催したイベント「Google Cloud Next 2018」において、Google Cloud Platform(GCP)から“3つのハイブリッドクラウド”を発表した。 1つ目は、アクセンチュアとのパートナーシップによる、OracleワークロードをGCPで実行可能にするための専用ハードウェアとGCPのハイブリッドクラウド。2つ目は、オンプレミス版GKE(Google Container Engine)「GKE On-Prem」と既存のクラウド版GKEによるコンテナ基盤のハイブリッドクラウド。3つ目は、シスコシステムズとのパートナーシップによるハイパーコンバージドインフラ製品「Cisco HyperFlex」とGKEのハイブリッドクラウドだ。 Oracleが稼働可能な専用HWをGCPに閉域網接続したハイブリッドク
このテーマで書く前に、まず、最初に自分に多少の偏りがあることを認めておかなくてはなりません。 オブジェクト指向より、関数指向寄り オブジェクト指向のアプローチは有用だが、ただしそれを実現する手段はクラスと継承ではない。 階層化されたツリー構造(GUI/リレーショナルな参照構造)に埋め込まれる状態はコード品質を悪化させるので、できるだけ出現するべきではない。 ただし、状態は確実に存在する。だからこそ慎重に扱うべきだ、という派閥です アンチパターン: 特に理由もないクラスメソッドへの所属 何かのバリデータを実装したいとします。 その関数がどこに所属するかについて、よく見るこれらの実装は全部アンチパターンといっていいと思います export class Validator { static validate() {...} } export class Validator { validate(
column textql csvkit xsv visidata csvtotable daff tabview CSV(またはTSV)を処理するときにはcut, sort, awk, paste, joinといったコマンドを使うことが多いが、CSVの処理で使えそうなコマンドラインツールを簡単に試してみる。 テスト用のCSVデータは下記ページで作成した。 Mockaroo - Random Data Generator and API Mocking Tool | JSON / CSV / SQL / Excel column以外はGitHubのスター順で紹介している。 column stackoverflow.com columnはLinuxコマンドだが検索で結構ひっかかったので紹介。 以下のように見やすいように揃えて出力してくれる。 $ head -n5 test.csv id,fi
node { stage 'Run Script' dir("${APP_DIR}") { sh '/usr/local/bin/docker-compose exec app /app/script.sh' } } [Server] Running shell script + /usr/local/bin/docker-compose exec app /app/script.sh Traceback (most recent call last): File "<string>", line 3, in <module> File "compose/cli/main.py", line 61, in main File "compose/cli/main.py", line 113, in perform_command File "compose/cli/main.py", lin
Linux kernelを直接JavaScript上で動かした. つまり,JSLinuxのようにEmulatorをJavaScriptで作成し, その上でLinuxを動かすのではなく, JavaScriptで書かれたLinuxを生成し,それを動かす,ということである. LKL.js Architecture リポジトリは以下の通り. https://github.com/retrage/linux/tree/retrage/em-v2 なお lkl.js Demo にデモを用意した. SharedArrayBufferを有効にして試してみてほしい. Linux Kernel Library (LKL) ここでは,Linux kernelをLibrary OSの形態の1つであるAnykernelにする Linux Kernel Library (LKL)を利用する. LKLはLinux ke
TL;DR 分散システムにおいてキューを導入する場合、本当にキューが必要なのか再考すべき。そこが地獄の入り口だから。 システムの抽象 コンピュータの世界は、本来は0と1の信号の羅列が飛び交う無機質なものである。でも人類は信号だけですべてを語らず、様々な喩えを定義してきた。それはデスクトップ・ウィンドウ・マウスカーソルといったグラフィカルな表現に留まらず、パケットやカプセル化といった用語にロック・キュー・リスト・木などのアルゴリズムやデータ構造の世界にも自然に溶け込んでいる。これらはすべて人間の理解を助けるための喩え話に過ぎず、この喩えこそが人間のより直感的な理解をもたらす一方で、発想の制約を生み出してきた。 人間が大きなシステムを作るときも何らかの喩えを用いてシステム全体を整理する。アーキテクチャの「ポンチ絵」を描いて情報共有をするのは企業に勤めていれば経験した人も多いだろう。パワーポイン
Mackerelチームのエンジニアのid:itchynyです。 「mackerel-agentを入れるとloadavgが7時間ごとに上昇する」 先日、このような問い合わせを複数のお客さまから受けました。私も実験してみたところ、確かに再現しました。EC2 t2.microにmackerel-agentを入れて簡単なログ監視とプロセス監視を設定し、数日放置しました。 確かに、約7時間ごとにloadavgが上昇しています。この周期のcronの設定はしておらず、またmackerel-agent内部でも7時間ごとに行う処理はありません。しかし、プラグインを多く入れるほどloadavgのピーク値も上がります。 本エントリーでは、この現象の原因について説明します。 loadavgが上昇する原因を調べるには、まずloadavg自体がどう計算されているかを知る必要があります。 まずは、Linuxがloada
Mastodonインスタンスを停止するとき(410 Goneを返す) 結果 以下のようなページをユーザに見せつつ、連携している他のインスタンスに対しては410 GoneのHTTPレスポンスコードを返す。 ファイル .htaccess ErrorDocument 410 /index.html RewriteEngine on RewriteCond %{REQUEST_URI} !^/index.html$ RewriteCond %{REQUEST_URI} !^/gone.png$ RewriteRule ^.*$ "-" [G,NC] index.html <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>410 Gone - social.hyuki.net</title> <style> .
はじめに pythonのloggerを使ってログ出力をキレイにやりたいなー、と思って調べたら難しかった。 でも実際に使ってみると、何とかなった。 なのでこれからloggerを使う方向けに大雑把に理解した使い方を、サンプルと共に書き連ねます。 もっとよい使い方を知りたいのでツッコミ大歓迎です。 前提知識 logging…loggerの大本。これをいじると影響範囲が広すぎるので使わない。 logger…loggingの子分。1つのを使いまわす、子供も作る、複数作るなど使いやすいので基本的にこれを使う。 handler…loggerにログの出力先や出力するフォーマットに関係するもの。めっちゃ重要。 基本的には、 (1)ログを管理するloggerを作成 (2)ログ出力を管理するhandlerを作成 (3)任意のhandlerをloggerにセット。 という風に使っていきます。 上手い言葉で説明でき
久しぶりにansibleをやっているわけですが、.bash_profileに書いたPATHが反映されないなあ、と思って色々調べてみました。 どういう事が起きたか ansibleのドキュメントを見てみる 2通りの解決策 shellモジュールを使う時は必ずログインシェルとして実行する メリット デメリット ansible.cfgにexecutableを追加してしまう メリット デメリット 雑感 どういう事が起きたか 今回rbenvのplaybookを書いていて気づきました。 大まかにrbenvのインストールは以下の流れになります。 rbenvをgit cloneする。 ruby-buildをgit cloneする。 ~/.bash_profileにrbenvのバイナリへのパスとrbenvの初期化コマンドを追記する。 rbenv install 2.2.2する。 rbenv global 2.2
GMOペパボが正式リリースしたばかりの「ロリポップ!マネージドクラウド」は、GMOペパボ研究所の成果であるFastContainerを基盤技術として適用し、新しいアーキテクチャを作り上げました。これにより、Webサイトの負荷増大に対応してスケールする仕組みを、エンジニアではない利用者でも簡単に扱うことができます。 ロリポップ!マネージドクラウド 使う人は楽になり、基盤の開発者にとっては挑戦となる新サービス「マネージドクラウド」について、開発チームメンバーに話を聞きました。 左から、小田知央さん(おだ・ともひさ、技術部 技術基盤チーム プリンシパルエンジニア)、瀧口舞さん(たきぐち・まい、ホスティング事業部ホスティンググループ マネージドクラウドチーム リーダー)、小山健一郎さん(おやま・けんいちろう、ホスティング事業部 ホスティンググループ マネージドクラウドチーム シニアエンジニア) ※
前回の ブログ記事 では、Kubernetesの話と、 ThoughtSpot がKubernetesを開発インフラのニーズに合わせてどのように取り入れたかをご紹介しました。今回はその続報として、最近の興味深いデバッグ経験について少々駆け足になりますがお話ししていきます。本記事も「コンテナ化と仮想化はノットイコールである」という事実に基づいており、たとえcgroupの上限がどれも高くない値に設定されホストマシンで十分な演算能力が利用できるとしても、コンテナ化されたプロセス同士がリソースの競合を起こす場合があることを示したいと思います。 ThoughtSpotでは内部のKubernetesクラスタで 多数のCI/CDや開発関連のワークフロー を稼働させており、ある1点を除いては全てが順調でした。唯一問題だったのは、ドッカー化された製品コピーを起動すると、パフォーマンスが期待を極端に下回るレベ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く