2015年6月30日のブックマーク (11件)

  • なぜ iPhone の画像は Android の画像よりもずっと高品質なのか - Qiita

    AndroidiPhone との比較は多くの点で議論されており、どちらがより良いかは、Android の画像の質は iPhone とくらべてずっと劣るという点を除けば、未だ結論が出ていません。Facebook、Twitter、Instagram 等どれを使っていても、写真をとって、フィルタをかけて、ソーシャルネットワーク上に公開すると、いつも Android から投稿される写真は画質が劣化しています。しかし何故でしょう? 私達は昨年の間調査をし、そしてついに、Google が犯したほんのちょっとしたミスが原因であることを突き止めました。それは当にちょっとしたミスでしたが、その影響はすべての画像を扱うアプリケーションに波及するほど大きく、現在に亘っても影響が続いています。 問題は、libjpegです。 libjpegといえば、数多くのオープンソースプロダクトでも使用されており、And

    なぜ iPhone の画像は Android の画像よりもずっと高品質なのか - Qiita
    delphinus35
    delphinus35 2015/06/30
    何か翻訳っぽいなあ、と思ったら翻訳だった。マジかこれ。
  • Rubyのexpect.rbの使い方

    SSHでつないで何か操作を行ったり、パスワードの入力を自動化したり、対話形式のプログラムをプログラム中から利用する場合は、expectモジュールを使用するのが一般的です。 Rubyは標準ライブラリ中にexpect.rbが存在していますが、IO#exceptとしてIOのメソッドとして定義されていて、このままでは扱いにくいので、仮想端末を扱うPTYライブラリとあわせて使用します。 require 'pty' require 'expect' module Expect def spawn(cmd) puts "CMD: #{cmd}" if $expect_verbose PTY.spawn(cmd) do |r,w,pid| @input_stream = r @output_stream = w @child_pid = pid PTY.protect_signal do yield en

  • Webシステムにおけるデータベース接続アーキテクチャ概論 - ゆううきブログ

    先月投稿した2015年Webサーバアーキテクチャ序論では、Webサーバアーキテクチャを学ぶ道のりと代表的な実装モデルの概要を紹介しました。 今回は、前回同様、主に新卒Webエンジニア向けに、Webアプリケーションサーバとデータベースサーバ間の接続管理モデルと運用事情について紹介します。 データベース接続の永続化やコネクションプーリングとは何なのか、なぜ必要なのかといったことが主な話題です。 背景 データベース接続の永続化とはなにか データベース接続のオーバヘッド データベース接続の永続化手法 コネクションプーリングとはなにか コネクションプーリング: ドライバ型 コネクションプーリング: プロキシ型 コネクションプーリング全体について PostgreSQLMySQL 参考資料 まとめ 背景 2015年Webサーバアーキテクチャ序論では、Webサーバアーキテクチャの話とWebアプリケーショ

    Webシステムにおけるデータベース接続アーキテクチャ概論 - ゆううきブログ
  • 2015年Webサーバアーキテクチャ序論 - ゆううきブログ

    2023年03月31日追記:この記事を基に、@sadnessOjisanさんより、コードレベルにより踏み込んだ、かつ、グリーンスレッドベースの新しいWebサーバアーキテクチャも含めて整理された記事 Webサーバーアーキテクチャ進化論2023 | blog.ojisan.io が公開されました。 主に新卒のWebエンジニア向けに、古典的なWebサーバアーキテクチャを学ぶ道のりと代表的な実装モデルの概要を紹介します。 この辺りの話題がWeb界隈で流行っていたのは数年以上前というイメージですが、Webサービスは相変わらずWebサーバの上で動いているので、流行り廃り関係なく学ぶべき内容だと思っています。 また、HTTP/2がいよいよRFC化し、既にh2oやtrusterdなどのHTTP/2のサーバ実装があり、今後Webサーバアーキテクチャを再訪することが増えるような気がしています。 ところが、We

    2015年Webサーバアーキテクチャ序論 - ゆううきブログ
  • コード補完に対応したバッチファイルの統合開発環境「VisualBat」v1.1.0

    コード補完に対応したバッチファイルの統合開発環境「VisualBat」v1.1.0
  • たぶん使わないであろうBashのデバッグ方法 - harry’s memorandum

    http://d.hatena.ne.jp/dharry/20101121/1290273723 とりあえずBash好きなので、前に覚えたことの復習も兼ねてもう一回書いておきます。 setでデバッグ ’-x’, ’-v’ デバッグは基ですよね。オプションつけて実行するとスクリプトがストリーキングになります。 $ cat foo.sh for x in `seq 2`; do echo $x done $ bash -x foo.sh ++ seq 2 + echo 1 1 + echo 2 2 でもストリーキング愛好家の中には一部だけ露出したいという人もいます。そんなフェティシズムをお持ちでしたら内部で set をすれば OK です。 $ cat foo.sh [ ${1}x = "-dx" ] && \ set -x for x in `seq 2`; do echo $x done

    たぶん使わないであろうBashのデバッグ方法 - harry’s memorandum
  • ttyについて ttyやptsってなんぞ? - それマグで!

    PCにシリアルコンソールでログインできるように設定した。シリアルコンソールを使えばNICの設定などでもあわてずに利用できる。便利。シリアルコンソールでつかうmgetty mingettyのttyってなんだろう ttyとは、 どうやら、標準出力の接続先デバイス事のらしい。一般的にはpts、RS232C経由などはttyS0が標準出力の接続先になっていて、中継しているプログラムがmgetty。 図で表すと PC----ssh------/dev/pts/1--sshd----bash #ssh が接続されている PC----rs232c---/dev/ttyS0--mgetty--bash #rs232c が接続されている とttyなど仮想端末経由になっている。コレ今はよく解ったけど、ずっとよく解らなかった。 私が理解できるようになるまで、次のプロセスがありました。 2ヶ月前 先輩に訊いてみた

    ttyについて ttyやptsってなんぞ? - それマグで!
  • What is the difference between `git fetch origin` and `git remote update origin`?

    It makes no difference when used like this. remote update is a very high-level command - it supports grouped remotes (remotes.<group> = <list>), and updating all remotes (except those with remote.<name>.skipDefaultUpdate set), but not any of the more specific options of fetch. Under the hood, though, it does the exact same thing as fetch with the default options. The answer recommending remote upd

    What is the difference between `git fetch origin` and `git remote update origin`?
    delphinus35
    delphinus35 2015/06/30
    git fetch --all ≒ git remote update / うーむ。よくわからん。
  • bash によるオプション解析 - Qiita

    すこし記事が長いため、簡単なアウトラインを書いておきます。要点だけ掴みたい場合は、最終項の「まとめ」を読むのがいいかもしれません。 コマンドライン引数の一般的な解析手法 それぞれの特徴 〜 getopt と getopts の違い getopts(メリット・デメリット) getopt(メリット・デメリット) 自前で解析しちゃう(唯一のデメリット) まとめ ============================= コマンドライン引数を処理する一般的な手法として、 getopts getopt shift などで自力で解析 といった具合に、上から順に考えつくかと思います。getopt(3) は UNIX において、コマンドの引数を処理する一般的な C 言語のライブラリ関数です。それを用いて実装されたコマンドが getopt(1) です。Bourne シェル系だと内部関数になりますが、同系統の

    bash によるオプション解析 - Qiita
  • bash スクリプトの先頭によく書く記述のおさらい - Money Forward Developers Blog

    こんにちは。 マネーフォワードでアグリゲーション開発を担当しています中川です。 今回のブログは、私が bash スクリプトを書く際に心がけている事のおさらいをします。 知ってて当たり前のことかも知れませんが、意外と理解されていないアレです。 では、私が bash スクリプトを書く際によく使う記述を一つずつ紹介します。 2種類の shebang シェルスクリプトの一行目に必ず記述する #! で始まる行を shebang と言います。 bash スクリプトの shebang は、bash を絶対パスで指定する方法と、env を使って指定する方法の二種類あります。 bash を絶対パスを指定する方法 #!/bin/bash env を使ってを指定する方法 #!/usr/bin/env bash 前者は /bin/bash が使われます。 (/bin/bash が存在しなければスクリプトの起動時に

    bash スクリプトの先頭によく書く記述のおさらい - Money Forward Developers Blog
  • `set -e` しているときにコマンドの戻り値を得る - Qiita

    次の書き方だと ./xxx.sh が 0 以外のときにそこで終了してしまうので case の後が実行されることはありません。 set -e ./xxx.sh $1 case $? in 1) echo one ;; 2) echo two ;; *) echo unk ;; esac echo end

    `set -e` しているときにコマンドの戻り値を得る - Qiita