タグ

ブックマーク / qiita.com (181)

  • I/O負荷の正確な状況はiowaitでは分かりません - Qiita

    さくらインターネットのアドベントカレンダー9日目として、サーバ屋らしく、運用に関するコマンドの使い方を紹介します。 サーバの負荷が高まってきたときに、vmstatやtopなどのコマンドで調査する事が出来ますが、I/O負荷をwa(iowait)によって判断する人も多いと思います。 ただ、結論から言うと、iowaitは正確にI/Oの負荷を表しているわけではありません。 これらを、実際に演習をしながら見ていきたいと思います。 iowaitとidle iowaitとはあくまでも、CPUが空いているのにI/Oがボトルネックになっているプロセスを示しているだけで、CPUの利用率が高いときにはI/Oがボトルネックになっていてもiowaitが上がりません。 同様に勘違いされがちなのが、id(idle)はCPUの空きを示しているというものですが、idleは必ずしもCPUの空き時間を示しているものではありませ

    I/O負荷の正確な状況はiowaitでは分かりません - Qiita
    Sixeight
    Sixeight 2017/12/12
    “いまどきPerlで申し訳ないですが・・・。”
  • dev.toがなぜinsanely fastを実現出来ているか - Qiita

    INSANELY FAST Qiitaを読んでる人なら https://dev.to をほとんどの人が見たはず。見てない人は見てきてください、速すぎて驚くはず。またmizchiさんがdev.toに書いた なぜ dev.to がこんなにも速く、こんなにも自分にとって感動的なのか - dev.to を見た人も多いと思う。個人的にHeroku, Railsを採用してここまで爆速なサイトを構築出来ていることは今までの常識を覆す衝撃な出来事だった。こんな新しい発見をもたらしてくれたdev.toには当に感謝してる。自分もこんなサイト作ってみたいなと思ってdev.toのことを色々調べてて少し知見がたまったので共有してみます。 この記事はOkinawa.rb Advent Calendar 2017 7日目の記事です。 Twitterやってるのでよかったらフォローしてください🙋‍♀️ @saboyut

    dev.toがなぜinsanely fastを実現出来ているか - Qiita
    Sixeight
    Sixeight 2017/12/06
  • リアル脱出ゲーム ~デフォルトシェルがvimになってしまったら~ - Qiita

    #学生LT [Part1] Advent Calendar 2017 初日は、いるやんが学生LTで喋りきれなかったネタをお送りします。 12/10 その他の脱出方法について追記しました。 皆さんはどんなシェルをお使いでしょうか。 自分好みのシェルがある方はさぞかし chsh コマンドにも造詣が深いことでしょう。 ところで、最近のエディタはどんどん進化していて、bashやzshのようなシェルなんて起動しなくとも、エディタさえあれば十分という方も多いのではないかと思います。(いいえ) そこで、例としてvimをデフォルトシェルにした後に、元に戻す方法を紹介します。 実験環境は Xubuntu 16.04 です。 これで安心していたずらできるね! アジェンダ # chsh -s /usr/bin/vim # chsh <ユーザ名> -s /usr/bin/vim 1, 2の合わせ技 -- 追記分

    リアル脱出ゲーム ~デフォルトシェルがvimになってしまったら~ - Qiita
    Sixeight
    Sixeight 2017/12/04
  • MacでDockerコンテナから同ホスト上に起動しているプロセスにアクセスする - Qiita

    はじめに 開発を行う際、自身のPCに色々(e.g. Java, Docker, Redis, etc...)起動するかと思います。 その中でも、ローカルに起動したDockerコンテナから、同ホスト上に Dockerを使わず 起動したもアプリケーションにアクセスしたくなりました。 OSがCentOSやUbuntuであれば、 - Docker コンテナ内からホストIPアドレスを知る - Windows + VirtualBox + Docker で動作しているコンテナからホスト OS へのアクセス から分かるアドレスへアクセスできるのですが、どうもMacだとうまく行きません。 筆者は基Macを使って開発しているので、「なんとかしたい」ということでなんとかしてみました。 環境 項目 value

    MacでDockerコンテナから同ホスト上に起動しているプロセスにアクセスする - Qiita
  • Pythonを書き始める前に見るべきTips - Qiita

    Pythonを使ってこの方さまざまな点につまずいたが、ここではそんなトラップを回避して快適なPython Lifeを送っていただくべく、書き始める前に知っておけばよかったというTipsをまとめておく。 Python2系と3系について Pythonには2系と3系があり、3系では後方互換性に影響のある変更が入れられている。つまり、Python3のコードはPython2では動かないことがある(逆もしかり)。 Python3ではPython2における様々な点が改善されており、今から使うなら最新版のPython3で行うのが基だ(下記でも、Python3で改善されるものは明記するようにした)。何より、Python2は2020年1月1日をもってサポートが終了した。よって今からPython2を使う理由はない。未だにPython2を使う者は、小学生にもディスられる。 しかし、世の中にはまだPython3に

    Pythonを書き始める前に見るべきTips - Qiita
    Sixeight
    Sixeight 2017/11/27
  • 阿部寛のサイトを高速化する - Qiita

    ちまたで阿部寛のサイトが早いと話題になってます。 dev.toと阿部寛のホームページどっちが速いですか? dev.toと阿部寛のホームページについてちゃんと計測させてくれ 阿部寛のサイトはベストを尽くしてるのか? それを調べるために、阿部寛のサイトを高速化させてみたいと思います。 目指すべきスピード 最速はローカルのファイルへのアクセスだと思うのでこれを目指したいと思います。 file:///C:/abe_hiroshi/index.html ChromeのDeveloper Toolでレンダリング完了が「173ms」でした。 まぁここまでは無理だな… 阿部寛のサイトはどんなもん? 速度はwebpagetest.orgで測ってみます。 レンダリング完了時間は「359ms」です。はえーな S3でホスティングしてみる サーバーを立てるほどでもないので、S3でWebホスティングしてそこにhtml

    阿部寛のサイトを高速化する - Qiita
    Sixeight
    Sixeight 2017/11/22
  • dev.toと阿部寛のホームページについてちゃんと計測させてくれ - Qiita

    Twitter見てたら、以下のツイートを見た。 数時間後、dev.toと阿部寛のホームページどっちが速いですか?というブログがTLに現れた。 GoogleのPageSpeed Insightsで測って阿部寛のホームページの方が早かったという結論付けてよいのかという疑問が浮かび、webpagetest.orgで計測することにした。 設定 阿部寛のホームページに関しては、Tokyoリージョンにあるものとする。 そして、dev.toはNY発らしいので、サーバーの設定をNYにして測定する。 The platform was created in 2016. The twitter account, @ThePraticalWeb 評価結果 Webpagetest - 阿部寛のホームページ Webpagetest - dev.to

    dev.toと阿部寛のホームページについてちゃんと計測させてくれ - Qiita
    Sixeight
    Sixeight 2017/11/22
  • もし、HTMLのテキスト周りでデザイナーからこんなお願いをされたら... - Qiita

    HTMLのテキストはPhotoshopのように融通が効かないから、デザイナーからの細かいお願いはだいたい断っている...なんてことありませんか? モダンブラウザは色んなプロパティが対応してきているので、できることも増えています。 今回は、知っているといざというとき便利なテキスト周りのCSSを集めてみました。 「日語、文字詰めできないかな?ほら、このカタカナとかキモい。。」 「Webで文字詰めだと?無理なんだよあきらめな!」なんていう時代はもうとうに過ぎ去っています。OpenTypeのフォントであれば、日語でもちゃんと文字詰めできるんです。 .class { -moz-font-feature-settings: "palt"; -webkit-font-feature-settings: "palt"; font-feature-settings: "palt"; } ↓こんなかんじで

    もし、HTMLのテキスト周りでデザイナーからこんなお願いをされたら... - Qiita
    Sixeight
    Sixeight 2017/11/21
  • さよならボイラープレート。s2sによる高速reduxアプリケーション構築 - Qiita

    まだアクションクリエイターを自分で書いているの? reduxとflowtypeを使ってフロントエンドアプリケーションを構築していると、ボイラープレートが多く、面倒だと感じることがありませんか? しかし、もはや、このAST時代の前には過去の悩みでしかありません。 型を書く。それが全てです。 型を書いて、定数を書いて、アクションクリエイターを書いて、一つ変更したら全て変更して、もしくはなんらかのハックを行って型付けして、なんてものは過去のことです。 これからは、アクションクリエイターの作成に5秒以上時間をかけたら怠惰でありましょう。そして、これはs2sの1プラグインでしかありません。 プラグインを組み合わせると以下のようなこともできます。 s2s (Source to Source) これを実現している仕組みをSource to Source(s2s)といいます。 ソースコードからソースコード

    さよならボイラープレート。s2sによる高速reduxアプリケーション構築 - Qiita
  • フロントエンドチェックリスト(日本語訳) - Qiita

    GitHubで公開されているフロントエンドチェックリストというドキュメントが、網羅されている内容が幅広く便利そうだったので、日語に翻訳しました。 日語版は、以下のGitHubリポジトリにあります。GitHub側と自動的に連携するようにしておりますので、誤訳や誤りなどがあれば GitHub のプルリクエストまたは Issue で報告していただけると幸いです。 https://github.com/miya0001/Front-End-Checklist 日語版への貢献方法 最終更新日時: 2017-11-19 03:50:47+09:00 (未翻訳) Front-End Checklist The Front-End Checklist is an exhaustive list of all elements you need to have / to test before lau

    フロントエンドチェックリスト(日本語訳) - Qiita
    Sixeight
    Sixeight 2017/10/24
  • 15週間でクソゲーを20本作って得たもの - Qiita

    5の「振り返り」は以下の項目を検討しておくと良いです。 Idea:アイデア。コンセプト。テーマ。元ネタ What went right:やってみて良かったこと。うまくいったところ。成功したところ。次回に生かせそうなこと What went wrong:ダメだったところ。うまく機能しなかったところ。問題点。改善すべき点 What I learned:学んだこと。効果的なゲームデザインの方法やツールの使い方、獲得したテクニックなど ちなみに最初にリンクを貼った、作ったゲームの各ページの下の方には、振り返りや作成にかかった時間などを記載しています(以下はノンフィールドRPG「OneWay RPG」を作った時の振り返り) Game A Weekで得たもの ということで「Game A Week」を行った結果、私が得たものです。 ゲームを作りながら技術検証できる ゲームを完成させたときの達成感を繰り返

    15週間でクソゲーを20本作って得たもの - Qiita
    Sixeight
    Sixeight 2017/10/03
  • macOS High SierraのcURLで手軽にPUSH通知が送れるようになった - Qiita

    macOSをHigh Sierraにアップデートしたら、cURLのバージョンが7.54.0になっており、さらにHTTP/2の利用ができるようになっていました。 iOS10からはAPNs Provider APIを利用したPUSH通知が受け取れていたため、pemファイルさえあればローカルのmacOSからiPhone実機へ向けたPUSH通知を送れます。 念のため、curlコマンドからnghttp2込みでビルドされているのを確認するのは-Vです。 $ curl -V curl 7.54.0 (x86_64-apple-darwin17.0) libcurl/7.54.0 LibreSSL/2.0.20 zlib/1.2.11 nghttp2/1.24.0 Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps p

    macOS High SierraのcURLで手軽にPUSH通知が送れるようになった - Qiita
    Sixeight
    Sixeight 2017/09/27
    べんり
  • HTTPで「418 I’m a tea pot」を実装してはいけない(2018/10/18追記) - Qiita

    418 I’m a tea potとは ステータスコード 418 I’m a tea potは、エイプリルフールに発行されたジョークRFCであるRFC2324「Hyper Text Coffee Pot Control Protocol」 で定義されているステータスコードです。 Googleでも 418 を返すURLがあります。 Error 418 (I’m a teapot)!? https://www.google.com/teapot 昨日、golangとnodejsにおいて、418 I’m a tea pot の実装を削除するIssue が投げられています。 golang: net/http: remove support for status code 418 I'm a Teapot nodejs: 418 I'm A Teapot #14644 Issue中でも書かれている通

    HTTPで「418 I’m a tea pot」を実装してはいけない(2018/10/18追記) - Qiita
    Sixeight
    Sixeight 2017/08/08
  • CotEditor を Swift に移行する - Qiita

    稿は Swift Tweets 2017 Summer で発表(ツイート)したものをまとめ、Qiita 用に追記・再構成1したものです。 発表概要 CotEditor プロジェクトの現主催者 1024jp です。CotEditor は昨年 2016 年に Objective-C から Swift に移行しました。今日はその話をします。 発表は、事前に以下のような概要を開示していました。 2004 年から脈々と受け継がれる総 Cocoa 製の macOS 用テキストエディタ CotEditor は、昨年 2016 年に Objective-C から Swift に 100% 移行しました。 Swift は魅力的な言語ですが、すでに Objective-C で 10 年超動いてるアプリケーションを誰に頼まれたわけでもないのにわざわざ Swift で書き直す意味は果たしてあるのでしょうか?

    CotEditor を Swift に移行する - Qiita
    Sixeight
    Sixeight 2017/07/24
  • TypeScriptのInterfaceとTypeの比較 - Qiita

    こういうコンパイルエラーにぶち当たった。 Interfaceだとコンパイルエラーになったのが、Typeなら問題なく通る。 declare function numMapToVoid(obj: {[key: string]: number}): void; // interfaceだとコンパイルエラー interface IObj { a: number } const iObj: IObj = {a: 1}; numMapToVoid(iObj); // エラー // typeだと問題なし type TObj = { a: number }; const tObj: TObj = {a: 1}; numMapToVoid(tObj); // OK これは不思議...というのがきっかけで、TypeScriptのInterfaceとTypeの機能上の違いを調べてみた。 比較まとめ TypeSc

    TypeScriptのInterfaceとTypeの比較 - Qiita
  • Firebase Notificationsをやめた4つの理由 - Qiita

    最近、Firebaseがいいみたいになってるけど、2017年4月時点では、あんまり良くないと思っています。 そんな記事です。 主にFirebase Notificationsについてです。 前提 全ての状況で良くないわけではなくて、以下の前提がある場合です。 技術者でない人、例えば企画がPush通知を送りたい。 ユーザをセグメント分けして、対象のセグメントだけに送りたい。 お金はかけたくない。 駄目だと感じたところ セグメントが上書きされない 2018/12/7追加 現在は改善されているようです。(すいません、自分で試してないですが。。) 詳しくはコメント欄をみてください。 下記に記述していた公式のFirebaseヘルプも更新されていて全く違う内容になっていました。 ほぼ、これに尽きます。 Firebaseではユーザの属性情報(例えば、職業とか性別とか)は、ユーザプロパティと呼んでいます。

    Firebase Notificationsをやめた4つの理由 - Qiita
    Sixeight
    Sixeight 2017/05/03
  • FirebaseをStaging環境とかDebug環境とかRelease環境で切り替えをする - Qiita

    はじめに Firebaseをアプリに実装していてDeployGateなどでテストをしているとRelease環境のAnalyticsが反応してしまって実際の生の完全なデータが取得できないので GoogleService-Info.plist を2つ取得してそれぞれの環境にわけてあげようという話です。 プロジェクト準備 Xcodeでプロジェクトを新しく作る Firebaseでプロジェクトを作る 普通にFirebaseとiOSアプリの設定をする スキームの設定 Xcode7 でスキームの設定をするこの記事を見るとわかります! 上記のところまでは省略します。 こんな状態まではセットアップしておく FirebaseにStaging用のプロジェクトを作る(必要ならDebug用も) Release環境と同じようにプロジェクトを作成し、 GoogleService-Info.plist をダウンロードする

    FirebaseをStaging環境とかDebug環境とかRelease環境で切り替えをする - Qiita
    Sixeight
    Sixeight 2017/03/09
  • Rails 5.1の変更点まとめ - Qiita

    はじめに 去る2017年2月23日、Rails 5.1.0.beta1が公開されました。 Rails 5.1.0.beta1: Loving JavaScript, System Tests, Encrypted Secrets, and more - Riding Rails Rails 5.1ではマイナーバージョンアップと言えど、かなり大きな変更点が多数入っているようです。 そこで上記公式ブログの内容を僕なりにまとめてみます。 おことわり この記事は公式ブログやpull requestの内容を読んで、筆者が個人的にまとめたものです。 実際に動かして試したりはしていないので、おかしな内容や誤解している内容が含まれている可能性もあります。 もし、「これは明らかにおかしい!」という内容を見つけた場合は、コメントや編集リクエストで優しく指摘してやってください。 サンプルコードについて この記事

    Rails 5.1の変更点まとめ - Qiita
  • Swiftのエラー4分類が素晴らしすぎるのでみんなに知ってほしい - Qiita

    これは Swift Tweets の発表をまとめたものです(次回開催はこちら)。イベントのスポンサーとして Qiita に許可をいただいた上で投稿しています。 ありがとうございました!Q&Aは他の人の発表中でも構わないのでリプを飛ばして下さい。 続いては僕 @koher の発表で、タイトルは "Swiftのエラー4分類が素晴らしすぎるのでみんなに知ってほしい" です。 #swtws — koher (@koher) 2017年1月14日 第 1 部: Swift の 4 種類のエラーについて あまり知られてませんが、エラー処理について、 Swift 2.0 設計時に Core Team がまとめた "Error Handling Rationale and Proposal" というドキュメントがあります。このドキュメントは、僕が去年 try! Swift で発表した際にも参考文献にしまし

    Swiftのエラー4分類が素晴らしすぎるのでみんなに知ってほしい - Qiita
  • LinuxのI/OやCPUの負荷とロードアベレージの関係を詳しく見てみる - Qiita

    大人気TBSドラマ、「逃げるは恥だが役に立つ」でも話題になったインフラエンジニアという言葉ですが、今ではインターネットインフラを知らないまま開発をするのも難しい状況になっています。クラウドが一般化されたからといって単にリソースの調達が簡単になっただけで、つまりハードウェアの知識が無くても何とかやっていけるようになっただけであり、インフラの知識が要らなくなったなどということは全くなく、むしろdevopsの掛け声とともに、ソフトウェア開発者にインフラを見なければならない新たな責務が課せられたという、なかなか痺れる状況なのだろうと思います。 そういった中で、先日のさくらインターネットのAdvent Calendar最終日に「いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方」という記事を書かせて頂きましたが、今回はLinuxサーバの「負荷」と、ロードアベレージに関して、掘り下げ

    LinuxのI/OやCPUの負荷とロードアベレージの関係を詳しく見てみる - Qiita