タグ

articleに関するakimasa2000のブックマーク (694)

  • ASCIIコードの秘密 - ザリガニが見ていた...。

    当はエスケープシーケンスのことを調べていたのだが、その前にASCIIコードについて調べることになってしまった...。文字コードの基として知っているつもりだったASCIIコードについて、あらためて見直してみると、実は当の意味をよく分かっていなかったことに気づいた。 ASCIIコード表 ASCIIコードは、7ビット(2進数7桁)の文字コードであり、全部で128のコードが定義されている。 最も基的な文字コードであり、その他多くの文字コードはこのASCIIコードと互換性を維持している。 00 10 20 30 40 50 60 70 00 NUL DLE SP 0 @ P ` p 01 SOH DC1 ! 1 A Q a q 02 STX DC2 " 2 B R b r 03 ETX DC3 # 3 C S c s 04 EOT DC4 $ 4 D T d t 05 ENQ NAK % 5

  • glibcを更新しても大丈夫な「正しい」タイムゾーンの設定方法 (2/3追記あり) - めもおきば

    RHEL, CentOS, Amazon Linux (6以前) /etc/localtime を /usr/share/zoneinfo 以下から上書きしたりシンボリックリンク張ったりという手法が横行していますが、 /etc/localtime は glibc パッケージに含まれるためパッケージを更新すると上書きされてESTとかに戻ってしまうわけです。 当然ながら、ディストリビューションとして正しい設定方法が用意されているので、こちらを使います。 /etc/sysconfig/clock にタイムゾーンを書きます。*1sudo sed -i -e "s/^ZONE/#ZONE/g" -e "1i ZONE=\"Asia/Tokyo\"" /etc/sysconfig/clock tzdata-update を実行します。sudo /usr/sbin/tzdata-update これだけで

    glibcを更新しても大丈夫な「正しい」タイムゾーンの設定方法 (2/3追記あり) - めもおきば
  • Nyle Engineering Blog

    OpenAIWhisper文字起こし25MB制限を解決するPHP, Laravel, ffmpegを使ったファイル分割の例 OpenAIAPIを使った音声の文字起こしは、今や多くのアプリケーションで利用されています。この記事では、特にWhisper文字起こしの25MB制限に焦点を当て、PHP, Laravel, ffmpeg

    Nyle Engineering Blog
  • Reverse Proxy がなぜ必要か - naoyaのはてなダイアリー

    フロントエンジニアに知ってもらいたいリバースプロキシの重要性 | RickyNews この記事が目に入って読んでみた。なるほど、昨今は Reverse Proxy は便利な L7 ルーター的なものとして認識されているのだな、と思った。URL の Rewrite や、VirtualHost 云々。確かに Reverse Proxy の便利な側面ではある一方、それらは Nginx などの Reverse Proxy でなければ実装が不可能かと言えばそんなことはないものでもある。 自分は Reverse Proxy はもうすこしサーバー/インフラ的な側面でその役割を捉えている。今更何をというものでもあるが、昼休みがてら時間があるので簡単に書いてみよう。 Reverse Proxy はWebシステム全体のリソース最適化のためのパーツ Reverse Proxy のインフラ的な視点での役割は「Web

    Reverse Proxy がなぜ必要か - naoyaのはてなダイアリー
  • UbuntuのSSDをより高速化させる - ゴミ箱の中のメモ帳

    皆さん、trimしてますか? 現在SSDを使われている方は、HDDからSSDに変更し、その速度の違いからHDDには戻れないという方が多いかと思います。ですが、その快適なSSDにも幾つかの罠があります。 壊れたら直せない 書き換え寿命がある プチフリがある 容量単価が高い HDDに戻れない 致命的な順に私が思うSSDの欠点はこのようなものになります。HDDはシークヘッドが壊れたとしても、制御基板が壊れたとしても、プラッタの一部が壊れたとしても専門の業者はクリーンルームで部品交換を行うことができるようですが、SSDは壊れたら基的に修理することができません。壊れたら終わりです。HDDなら異音から故障時期を察する能力も得を積めば会得可能ですが、SSDは無音のためこの得を積むことができません。 SSDは可動部品が無いためHDDに比べると故障確率は少ないのですが、HDDに比べると書き換え寿命があり、

    UbuntuのSSDをより高速化させる - ゴミ箱の中のメモ帳
  • Big Sky :: clib の使い勝手にマジ感動した

    C言語でアプリケーションを書くのは他の言語と比べて少し気合が必要ですよね。例えば HTTPからデータを取得する 取得したデータを json パースする 結果の一部を色付きで表示する こんな場合、C言語プログラマは 「HTTP か、じゃぁcurlかな」 「JSON か、parson かな」 「色表示か...エスケープシーケンスでもいいけどWindowsがなー...」 といった事を考え、そこから curl や parson といった資材の調達を始める事になります。途中で新しい機能を追加したくなり、それを外部ライブラリに頼る場合だとその都度資材を調達する必要があり、思考を停止しなければなりません。 この辺は rubyperl、nodejs、golang 等の様に、ちょっとした手間だけで済ませたい物です。 またC言語の場合、ヘッダファイルはシステムの include フォルダに提供元が期待す

    Big Sky :: clib の使い勝手にマジ感動した
  • sshによるユーザ列挙攻撃"osueta" - ろば電子が詰まつてゐる

    ものすごく遅いレポートですが、先日、ゆるふわ勉強会こと さしみjp ささみjpの#ssmjp 2014/06 に参加させて頂きました。 この中で、@togakushiさんの発表「OpenSSH User EnumerationTime-Based Attack と Python-paramiko」が面白かったのでそのメモです。 osuetaとは何か OpenSSHでは、パスワード認証の際に長い文字列(目安で数万文字)を与えると、存在するユーザと存在しないユーザの場合で応答速度が変わってきます。環境によりこの時間差は結構違うようですが、私の試した範囲では、 存在するユーザの場合は数十秒 存在しないユーザの場合は数秒 で応答が返りました(この応答速度は目安です、もちろんマシンスペックによって違うでしょう)。これにより、複数のユーザでsshログイン試行をおこない、その応答時間を計測することでユー

    sshによるユーザ列挙攻撃"osueta" - ろば電子が詰まつてゐる
  • Tumblrの省メモリーな無限スクロール - 記録

    無限スクロールまたはauto pagingと呼ばれるUIには、読み終えたコンテンツがどんどん画面の上のほうに溜まっていってメモリーをい潰すという問題がある。 なかでもTumblrは画像などのコンテンツが多いため、ダッシュボードダイバーたちは無限Tumblrユーザースクリプトなどのユーザースクリプトをインストールして、読み終えたコンテンツを定期的にページ上から自動削除するといった対策を講じていた。 ところが最近のTumblrのダッシュボードでは、ポストが画面外に出るとその中の要素が一時的にページから削除され、画面内に表示されると要素が再度復元されるようになっている。どうやらこれによって無限スクロールによるメモリーの圧迫が抑えられているらしい。 関連するコードはhttps://secure.assets.tumblr.com/assets/scripts/dashboard.jsの/*! s

  • FirefoxOSを試した:SDカードを利用する - きままなたぐりぶろ(日記)

    前回にひき続いてFirefoxOSを試した話。 実機はGalaxy Nexusしか試せるものがないので、あと頼りになるのは Firefox OS Simulatorだ。 すでに設定が織り込み済みなのでハードの設定的なことはできないようだが、それ以外は ほぼすべてSimulatorで確認できそうなのでこれからも活用する。 ※今回SDカード読み書きを試したテストアプリはこちらです。 他のテスト内容が入っていますが気にしないでください。 ご興味がありましたらお試しください。ものすごく簡単なレベルのサンプルです。 test-my02.zip SDカードを試す 今回はSDカードを試した。これが使えるのと使えないのでは大違いだ。 AndroidはSDカードスロットありなしバラバラだが、内蔵ストレージとしてユーザーが自由に使える領域が 必ず確保されている。 iOSは共通的なストレージ領域はなく、あくまで

    FirefoxOSを試した:SDカードを利用する - きままなたぐりぶろ(日記)
  • サーバーさんに本気を出してもらうために憶えておきたい設定項目

    cpuspeed がオンだと.... — はせがワン (@hasegaw) 2014, 5月 29 ミドルウェアのスループットを測ろうと思ったのですが cpuspeed などの設定をぜんぜんやっていませんでした。。。 経験上、チューニング過程でいじりたくなるようなパラメータを思い出してみます。 パワーマネジメントに関する設定はオフにする UEFIやBIOSにはパワーマネジメント設定がありますが、これらを無効にするとプロセッサなどが無条件で定格クロックで走り続けます。ピーク性能を高めたり瞬発力を上げるためにはパワーマネジメントはオフにします。当然ながらベースの消費電力やファンの騒音は増えますが、かわりにいくらかピーク性能の向上が見込めます。 Hyper Threading はレイテンシーとスループットのトレードオフ Hyper Threadingは、たぶん、コア内でパイプラインを取り合うから

  • TEX Yoda - Neal Sato's blog

    「ヲチモノ- トラックポイント搭載のコンパクト・メカニカルキーボード『TEX Yoda』」の記事を見た瞬間に背中に電気が流れたと思ったよ。そのブツが届いたので簡単にレポート。 メーカーはTEX Electronics Co., Ltd。FBのページはこっち。 注文時のスペックは以下の通り: Switch Type: Black Switch Aluminum case color: Grey Keycap Type: Black - Laser print お値段:$259.00(USD) 最近はUNICOMPのEnduraProを使っていたのだが、こいつの音がハンパなくうるさい!バックリングスプリングのシャコーン!シャコーン!と響くキーボードは打っていると気持ちいいだが、どうもこの音が気になってしょうがなかった。そんな中、こいつと出会ったので即買う事にしてみた。 使ってみた感想は以下の通

    TEX Yoda - Neal Sato's blog
  • 統計解析ソフト「R」を使う--環境構築と利用方法の基本

    印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます これまでの連載の中でデータ分析における注意点や可視化方法などを説明してきました。いよいよ心構えはできたということで、実際のデータを分析していきましょう、と言いたいところですが、まずはデータを分析する環境を整える必要があります。そこで、今回は近年非常によく活用されるようになったオープンソースのツール「R」の使い方を解説していきます。 Rをダウンロードする まずはこちらからご自身のPC環境にあったRをダウンロードしましょう。Rはフリーのソフトウェアなので、特に費用はかかりません。原稿執筆時点(4月)では3.1.0が最新のバージョンになっています。その際、CRANのミラーサイトの選択をする必要があります。日ではミラーサイトが複数あり、Hyo

    統計解析ソフト「R」を使う--環境構築と利用方法の基本
  • [メモ] Apache+mod_sslでSIGBUSが発生した件

    @hirose31さんと、Apache HTTPDからHTTPSでファイルダウンロード中にサーバプロセスがSIGBUSで死ぬって件にぶちあたり、 「OpenSSLの中でmemcpyがSIGBUSしてます」「な、なんだってー!」 って調べたのですが、理由は以下のとおりだった。 HTTPSの場合、デフォルト設定だとファイル読込にmmap(2)が使われる mmapされたファイルのサイズが変更されてもApacheはそれを検知しようがない そして、ファイル末尾以降のデータを読もうとするとセグメンテーションエラー(SIGBUS)が発生し、Apacheのサーバプロセスは異常終了する HTTPの場合は、ローカルファイルシステムの場合sendfile(2)が使われるので、ファイルサイズが変更になってもApacheは異常終了しない ただし、mod_deflateのような出力フィルタを使っている場合は、HTTP

  • DynamoDBやSQSといったAPIを高頻度に使うときに忘れずにセットしておきたいカーネルパラメータ - aws memo

    DynamoDB, SQSなどは、Linux内部から高頻度に HTTP APIを叩きに行くことになる。( Fluentdやら、memcachedやらも同じかも) 通常のLinuxのカーネルパラメータ設定で、番環境や、負荷テスト環境に使うと、おそらくネットワーク障害のような状況に陥るはず。 その時、「DynamoDBの IOPS不足?」「 SQSのAPI スロットリング?「AWSの限界?」と思う前に、これチェック! netstat -an この結果に、大量のTIME_WAITが表示された場合は、 エフェメラルポートが枯渇して socket作れない状態に陥っている。つまり、DynamoDBやSQSまでパケット届いていない状態なのでAWS側は原因ではない。 ということで、エフェメラルポートを最大限使うようにカーネルパラメータを設定しておくことを忘れないようにするためのメモ。 $ sudo cp

    DynamoDBやSQSといったAPIを高頻度に使うときに忘れずにセットしておきたいカーネルパラメータ - aws memo
  • Docker 使ってたらサーバがゴミ捨て場みたいになってた話 #immutableinfra - ゆううきブログ

    Immutable Infrastructure Conference #1 : ATND でLTしてきた。 内容はきれいにゴミを捨てましょうという話以上のものは特にない。 背景の説明が少し雑だったので補足すると、Jenkins のジョブスクリプトで、git push する度に docker run していたら ゴミがどんどんたまっていったという感じ。 1 push あたり、アプリコンテナ、DBコンテナとか合わせて3コンテナぐらい起動してるから開発が活発だと、どんどんゴミがたまる。 さらに補足すると、Device mapper がらみのゴミは、aufs 使うとかなり解決できそうな感じはしてる。 (Device mapper だとブロックデバイスレベルでイメージ差分を表現するので、デバイス毎(差分)毎に mount が走るみたいな実装になってるけど、aufs だとファイルシステム単位で複数の

    Docker 使ってたらサーバがゴミ捨て場みたいになってた話 #immutableinfra - ゆううきブログ
  • 皮膚からグルコースを測定して自動的にカロリー摂取量の計算が可能となるリストバンド型デバイス「GoBe」 - DMM 3Dプリント × THE BRIDGE

    HEALBEは、身につけるだけでカロリー摂取量を自動的に測定することができるリストバンド型のデバイス「GoBe」を開発中だ。クラウドファンディングサイトindiegogoで支援を募集しているが、既に目標の10万ドルに対し75万ドルの調達に成功している。小売価格は299.99ドルとなる見込み。 GoBeは手首に装着して皮膚からグルコース量を測定することで、カロリー摂取量を計算することができる。従来のカロリー計算アプリにあるような、商品のバーコードをスキャンしたり事の写真を撮ったりといったことをする必要が無い。 そのため、推測ではない正確なカロリー摂取量を自動的に測定することが可能とのこと。 圧力センサー、インピーダンスセンサ、加速度計を搭載しており、ジョギングや水泳などの活動中の心拍数、カロリー消費量、代謝率の測定が可能。水分補給レベル、ストレスレベル、睡眠の状態を測定することもできる。

    皮膚からグルコースを測定して自動的にカロリー摂取量の計算が可能となるリストバンド型デバイス「GoBe」 - DMM 3Dプリント × THE BRIDGE
  • Camo - GitHubでも使われている画像プロキシ

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました 最近のWebサービスではSSLを常用するようになっています。しかしそんな中、意外と厄介なのが画像などの外部リソースです。HTTPSに入っていない外部リソースを参照しようとすると全てがSSLでないといった注意が出てしまいます。 そこで使ってみたいのがCamoです。GitHubでも使われている小さな画像プロキシになります。 Camoのデモ これはCamoがSSLになっており、プロキシとしてFlickrの画像を取得している形になります。Camoは5MBまでの画像を取得可能で、Googleチャートをサポート、リダイレクトした画像も取得できます。 URLのフォーマットは次のようになります。 http://example.org/<digest>?url=<image -url> http:/

    Camo - GitHubでも使われている画像プロキシ
  • パスワードとmemset関数 - yohhoyの日記

    C言語プログラム上で高機密性情報(パスワード文字列など)を消去するケースで、memset関数の単純利用では機密情報がメモリ上に残存してしまい、セキュリティ上の脆弱性につながる可能性がある。 void secure_operation() { // パスワード文字列を取得 char passwd[128]; get_password(passwd, sizeof(passwd)); //... // メモリ上の高機密データを消去... memset(passwd, 0, sizeof(passwd)); // ?? } 上記コードではパスワード文字列が格納された変数passwdを使用後にゼロクリアしているが、コンパイル時の最適化によりmemset関数呼び出しが削除される可能性がある。この(プログラマの意図に反する)最適化は、C言語の言語仕様上も許容されるコンパイラの振る舞いとなっている。*1

    パスワードとmemset関数 - yohhoyの日記
  • Tips - 静的リソースのURIに?をつけるべからず : 404 Blog Not Found

    2014年03月14日20:00 カテゴリTipsCode Tips - 静的リソースのURIに?をつけるべからず Webを支える技術 HTTP、URI、HTML、そしてREST 山陽平 であればなおのことこの実装はNG。 ブラウザのキャッシュを利用できれば、余分なリクエストを減らすことができます。はてなブログでは、なるべく長い間ブラウザにキャッシュを保存するために、JavaScriptなどの一部の種類のファイルのレスポンスに、以下のようなヘッダを指定しています。 はてなブログにおけるページ表示速度改善の取り組みについて - Hatena Developer BlogはてなブログではJavaScriptを配信する際には、上記のURLのように、?よりあとの部分にabc078624b2a746c618156847827166bのようなバージョンIDを付与しています。JavaScriptが変更

    Tips - 静的リソースのURIに?をつけるべからず : 404 Blog Not Found
  • 壁を越えろ!WebRTCでNAT/Firewallを越えて通信しよう

    こんにちは!がねこまさしです。前回は複数人の同時通話まで実現しました。社内で使うには十分なレベルです。 しかし格的な企業ユースとなると、まだまだ障害があります。会社と家、自社と別の会社さんなど、実際に通信しようとするとNATやFirewallといった壁が立ちはだかります。 NATを越えよう NATの役割は NAT(+IPマスカレード)は企業だけでなく、一般家庭でも使われています。ブロードバンドルーターやWiFiルーターでは、1つのグローバルIPアドレスを、複数のPCやデバイスで共有することができます。このとき、NATには2つの役割があります。 インターネットにつながったグローバルなIPアドレスと、家庭内/社内のローカルなネットワークでのIPアドレスの変換 複数のPC/デバイスが同時に通信できるように、ポートマッピングによるポート変換 WebRTCでNAT越しに通信すること考えてみましょう

    壁を越えろ!WebRTCでNAT/Firewallを越えて通信しよう