タグ

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

  • 【ELB】AWS ELBの負荷テストをJMeterServer群でやる【負荷テスト】 - Qiita

    更新履歴 2014/2/17 コメント頂いた内容を反映、誤字を修正 なぜELBの負荷テストはJMeterクライアント(GUI)1台からではだめか。 当初、ELB配下に、AZ-Aに2台、AZ-Cに2台の合計4インスタンスがある構成で、自分の開発マシンでJMeter(GUI)を動かして負荷テストをしていたのですが、なぜか、AZ-Aの2台にしか負荷が入っていない。 ググっていたら、AWS Japanの公式スライドを発見 http://www.slideshare.net/AmazonWebServicesJapan/20130612-aws-meisterregenerateelbpublic ↑のp49に、 「都度DNS解決を行うツールが望ましい」 とあります。 なるほど確かに、JMeterはDNSキャッシュしてしまっているようです。↓ https://twitter.com/just_do_

    【ELB】AWS ELBの負荷テストをJMeterServer群でやる【負荷テスト】 - Qiita
  • RailsのCSVのところをRustで処理したら早かった - Qiita

    背景 RailsCSVを返す時、10万データくらいのものを普通に処理するとメモリをい潰したり、処理が遅かったりする。 そこで解決策を探していたら、RustRailsの代わりにCSVを作るという素晴らしい記事に出会った。 この記事はPostgresやNginxを使ってたが、私はMySQLを使っており、Railsのアプリケーション内で完結したかったので、参考にしながら試験的に作って見た。 お断り Railsをすでに理解していることを前提に進めます。 初心者の方へ環境構築周りを最後の方におまけとして書いておきますので参考にしてください。 筆者はRust初心者ですのでアドバイスを頂けるととても助かります。 環境 Ruby 2.3.3 Rust 1.14.0 Rails 5.0.1 Gemfileは基デフォルト source 'https://rubygems.org' git_source

    RailsのCSVのところをRustで処理したら早かった - Qiita
  • 文系人間のJava再入門0: プログラミングという行為に対する理解 - Qiita

    プログラミングの学習速度が当に十人十色問題 学校の授業でJavaを習ってみたけどなんだかよくわからないという話を聞きます。プログラミング言語の初期の初期の段階でつまずいてしまう理由を日々悶々と考えた結果を改めて吐き出す記事です。 プログラミングを学びだしたけど,正直全然わからないという学生の助けになればと思います。思いのほか長い文章になってしましました。 私 英語のできない文系(専攻は哲学でした) 最近はElixirとRustを自習中 Javaも好き 趣旨 計算機システムがよくわからなかったり,アルゴリズムがよくわからなかったりしても,想像力で何とかしていたあの頃を思い出しながら,「こんな理解の方法があってもいいんじゃない?」とゆるく提案する。 文系は文系なりの方法でプログラムと向き合う Hello World 多くの言語のサンプルなどで最初に触れるのはこの「文字列を出力する」という処理

    文系人間のJava再入門0: プログラミングという行為に対する理解 - Qiita
  • AWS ECSでDockerコンテナ管理入門(基本的な使い方、Blue/Green Deployment、AutoScalingなどいろいろ試してみた) - Qiita

    AWS ECSでDockerコンテナ管理入門(基的な使い方、Blue/Green Deployment、AutoScalingなどいろいろ試してみた)AWSDockerECS はじめに Docker番環境で利用するに当たり、私レベルではDockerのクラスタを管理することはなかなか難しい訳です。凄くめんどくさそうだし。 ということでAWS ECS(EC2 Container Service)ですよ。 記事書くまでも無いかなと思ったんですけど意外と手順がWEBにない(気がしました)。ということで、今回は社内でハンズオンでもやろうかと思って細かく書いてみました。 こんな感じのシナリオをやってみたいと思います。 Dockerのイメージを用意する ECSの使い方の基 コンテナのリリース Blue/Green Deployment AutoScaling/ScaleIn 前準備:Docker

    AWS ECSでDockerコンテナ管理入門(基本的な使い方、Blue/Green Deployment、AutoScalingなどいろいろ試してみた) - Qiita
  • LinuxのI/OやCPUの負荷とロードアベレージの関係を詳しく見てみる - Qiita

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

    LinuxのI/OやCPUの負荷とロードアベレージの関係を詳しく見てみる - Qiita
  • いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方 - Qiita

    さくらインターネット Advent Calendar最終日は、硬派にLinuxのメモリに関する基礎知識についてみてみたいと思います。 最近はサーバーを意識せずプログラミングできるようになり、メモリの空き容量について意識することも少なくなりましたが、いざ低レイヤーに触れなければいけないシチュエーションになった際に、OSを目の前に呆然とする人が多いようです。 基的にLinux のパフォーマンスについて、メモリをたくさんつめばいいとか、スワップさせないほうが良い とか、このあたりは良く知られたことだと思います。 ただ、なんとなく ps コマンドや free コマンド などの結果を見るだけでなく、もう少しメモリのことについて掘り下げてみてみたいと思います。 メモリとキャッシュ Linux におけるメモリの状態を大きく分けると「使用中のメモリ」「キャッシュ」「空きメモリ」「スワップ」の 4 つに分

    いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方 - Qiita
  • Linuxの不揮発メモリ対応について - Qiita

    (2019/6/12追記) 今なおこの記事を参照してくれる方がいらっしゃるのですが、現在は以下のスライドのほうが情報が新しいです。 記事は残しておきますが、新しい情報はこちらをご参照ください。 https://www.slideshare.net/ygotokernel/nvdimmlinux-137104084 はじめに Linux Advent Calendarの24日目の記事として不揮発メモリの状況について記載したいと思います。今回はkernelのソースの中とかのあまり技術的に深いところは突っ込まず、概略レベルです。(深いところはまだまだ勉強中の身です)。間違いなどがあればご指摘いただけると幸いです。 不揮発メモリとは これまでPCやサーバなどで主記憶装置といえば、電源を停止させたり再起動させるとデータがクリアされる揮発性のRAMが使われて来ました。この主記憶としてのメモリが不揮発

    Linuxの不揮発メモリ対応について - Qiita
  • 大規模Webアプリケーションにおける複雑性とアーキテクチャ設計に関する一考察 - Qiita

    Webアプリケーション開発についての知見を、自分の経験と知識をベースに整理してみようという試みです。 いわゆるサーバサイドにスコープを絞り、フロントエンドは対象外です。筆者は普段、オブジェクト指向言語で書いているので、記事でもその前提(RubyPHPPythonJavaScalaあたりを想定)になっています。 では、編をどうぞ。 ソフトウェア開発は複雑さとの戦い 『人月の神話』では、ソフトウェアの質的な困難性について4つの性質をあげている。その中で最初に出てくるのが「複雑性」である。『新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡』なんか読んでもらえると、ソフトウェアの複雑性と戦うために、人類が生み出してきた発明の数々が説明されている。 では、複雑さとは何か?もう少し掘り下げて考えてみよう。 複雑さの正体 Webアプリケーションが複雑になる

    大規模Webアプリケーションにおける複雑性とアーキテクチャ設計に関する一考察 - Qiita
  • 【非エンジニア・QA向け】なんちゃってQAのススメ - Qiita

    記事はGoodpatch Advent Calendar 2016 の20日目の記事です! Goodpatchで唯一QAの肩書をいただいているenpipiと申します。 普段は社内SEとして活動しておりますが、Prottの大幅な改修時などスポットでQAとして参加しています。 専任のQAがいれば良いのですが、ディレクターや手が空いている人がQA的なことをしているチームも多いのではないでしょうか。 記事では、非エンジニア・QAに向けた簡単なQAのコツについて紹介します。 スタンスの話 QAは、平たく言えばサービスの品質に責任をもつ仕事です。 しかし、片手間でQAをやる場合や専任じゃない人に同じ責任を求めるのは酷です。 バグを絶対に出さないと意気込むよりも、エンジニアがやらなくても良い仕事を引き受けて、開発に集中してもらう環境を作るくらいで考えている方がモチベーションを保てると思います。 テス

    【非エンジニア・QA向け】なんちゃってQAのススメ - Qiita
  • PHP7.2の新機能 - Qiita

    PHP7.3.0 / PHP7.3.0α1 / PHP7.2 / PHP7.1 つい先日PHP7.1.0が出たばっかりですが、早くもPHP7.2に取り込まれる機能が幾つか決まってるみたいなので見てみます。 Convert numeric keys in object/array casts 賛成21/反対1で受理。 配列のキーに数値型文字列を入れた場合、自動的に数値になります。

    PHP7.2の新機能 - Qiita
  • PHPExcelでエクセル出力入門 - Qiita

    PHPExcelの後継PhpSpreadsheetを使おう PHPExcelは非推奨となったため、これからExcel出力を始める場合はPHPExcelの後継であるPHPOffice/PhpSpreadsheetを導入することを推奨する。 PHPExcelでエクセルを出力する方法を紹介していきます。なお、ここで紹介するPHPコードはGitHubのsuin/phpexcel-playground: PHPExcelの遊び場で公開しています。 PHPExcelとは? PHPExcelとは、Excel95、Excel2007等のエクセルファイルを読み書きすることができるピュアPHPのライブラリです。WindowsExcelが必要ないため、Linux環境だけで完結するのが特徴です。 PHPExcelのインストール Composerでインストールする date_default_timezone_se

    PHPExcelでエクセル出力入門 - Qiita
  • 稼働中のバッチを監視したくなったら Mackerel Custom Metrics が便利 - Qiita

    この記事は Mackerel Advent Calendar 2016 の 12/13 日の記事です。 はじめに 皆さんは golang で書かれたプロセスの監視はどの様に行われているでしょうか。builderscon 2016 でも登壇された Dave Cheney 御大の gcvis をお使いでしょうか。 確かに gcvis は便利なのですが一つ悩ましい点があり、gcvis 自信がプロセスを起動しないといけないという点にあります。作り上致しかたないのですが、コマンド引数にて起動するプロセスを指定する仕様になっています。つまり起動には gcvis が必要になるのです。監視の際にアプリケーションを止められるのならばいいのですが、そうでないときは使えない事もあります。 ところで昨日 golang で書かれたプロセスを監視/操作するためのツール「gops」をご紹介しました。 この gops で

    稼働中のバッチを監視したくなったら Mackerel Custom Metrics が便利 - Qiita
  • 次世代監視の大本命! Prometheus を実運用してみた - Qiita

    こんにちは!freeeでインフラゾンビをやっている @sugitak です。ゲームではレベルを上げて物理で殴る派です。 freee ではたまにインフラエンジニアの数が減るのですが、その減ったインフラエンジニアはインフラゾンビへと進化し、社内を闊歩します。インフラゾンビは主に開発チームに所属して、アプリっぽいインフラの仕事をインフラからアプリ側へと持っていきます。デプロイとか、Dockerとか、Jenkinsとかの、いわゆる DevOps 系のところですね。こうすることで開発者は手を出せるものの自由度が増えるし、インフラはより来のインフラとして純度を上げていける、 so, win-win ってわけです。 さて、そんなわけで監視です。freee Engineers Advent Calendar 2016の9日目の記事として、 Prometheus による監視が最高なのでみんなもっと使おうと

    次世代監視の大本命! Prometheus を実運用してみた - Qiita
  • Go でツール書くときの Makefile 晒す - Qiita

    Go でツール書くときはタスクランナーとして make を使っています。ビルドだけじゃなくて、テストや配布用パッケージ作成も一括して make でやっています。 今回は整理も兼ねて、自分が普段どういう Makefile を使っているのか解剖していきます。 なぜ make を使うのか ビルドフラグ覚えるのが面倒だから、make は (Windows を除く) 大半のプラットフォームに入っていて使いやすいからというのが理由です。script/build みたいにシェルスクリプトを複数用意するのでもまあ良いと思いますが…。大半の Go プロジェクトは Makefile 置いてありますね。 make を使った開発フロー 基的には、リポジトリを git clone / go get -d した後に以下のコマンドを打てばアプリケーションをインストールできるようにしています。 $ cd $GOPATH

    Go でツール書くときの Makefile 晒す - Qiita
  • GoでのWebアプリケーションの組み立て方 - Qiita

    はじめに 11月末に何故かアドベントカレンダーの一日目が空いていたので急遽この記事を作成することになりました。急いで書いたので不備などありましたらすみません。 新しい職場に転職後、業務としては初めてGoでWebアプリケーションを作成しました。 スクラッチで書かせてもらえたので、試行錯誤しながら一通り組むことができました。 また経験豊富な同僚からもアドバイスいただいたこともあり、 かなりGoのWebアプリの組み方について知見がたまりました。 そこで、MVCアプリケーションを組む上でどのような構成にしたらよいかについて、 特にコントローラ層を中心に自分の考えを紹介したいと思います。 MVCの設計 元々Rails等を書いていたので所謂WebのMVC(Model2)をベースに考えます。 View 書いたWebアプリケーションはAPIサーバだったので、実はあまりここについて出せる知見はありません。

    GoでのWebアプリケーションの組み立て方 - Qiita
  • プログラミングでよく使う英単語のまとめ【随時更新】

    プログラミングでよく使う英単語のまとめ【随時更新】 随時追加、整理していきます。 名前をつけるときには、名詞、動詞の違い、複数形、過去形などに注意しましょう。 オブジェクト指向では、クラス名は名詞、メソッドは動詞とします。 使ってはいけない言葉 get / set アクセサ (getter / setter) やプロパティによく使われている。 それ以外に使うと混乱を招くのでよくない。 get は軽量な処理と考えるので、中に重い処理は書いてはいけない。 単純な取得/設定以外で使いたくなったら他の言葉を考える。 load, save, commit, store, enable, disable, fetch, register, configure, add, etc... check 意味が広すぎて何をしているかわからない。 できるだけ別の言葉を使う。 具体的に何をしているかに分解して考え

    プログラミングでよく使う英単語のまとめ【随時更新】
  • コンパイラのリミッタが外れつつある今、null安全は必須なのかもしれない - Qiita

    三行で頼む コンパイラが斜め上の最適化をするようになったからnull安全ないと怖いよね 一行で終わっちゃった。 文 最近、ツイッターを見ていると、プログラマの間でnull安全という言葉がバズっていますね。私も次のようなエントリを楽しく眺めていた訳です: null安全でない言語は、もはやレガシー言語だ null安全はいいぞ。だって、型安全はいいぞ。 null安全を誤解している人達へのメッセージ さてそんな中、少しだけ私の心に留まったエントリがこれです: null安全な言語は、当にゼロコストか これを読んで、私がまず直感的に思ったのは、むしろもはやnull安全のない言語はダメかもしれないということでした。こう書くと、このエントリの内容を否定してると誤解されるかもしれませんが、全くそんなことはありません。このエントリの筆者さんもnull安全の有用性を否定しているわけではないですし、私も古いタ

    コンパイラのリミッタが外れつつある今、null安全は必須なのかもしれない - Qiita
  • null安全でない言語は、もはやレガシー言語だ - Qiita

    これらは、表中の「リプレース対象言語」に挙げたように、多くのメジャー言語に対する代替手段でもあります。 Java の代わりには Kotlin や Ceylon が、 JavaScript には TypeScript や Flow が、 Objective-C には Swift が、そして PHP には Hack があります。 Python は自身に null 安全 を取り込みました。 Crystal は直接 Ruby と連携して使えるわけではありませんが、 Ruby 風の null 安全 な言語です。 RustC++ の代替を目指して開発され、 Firefox の一部で C++ のコードを置き換えるのに使われています [^100] 。 null が引き起こしてきた数々の問題を考えると、僕は、 null 安全 は GC (やその他の安全なメモリ管理手法)に匹敵するプログラミング言語の進

    null安全でない言語は、もはやレガシー言語だ - Qiita
  • Amazon Linuxがコンテナ化されたので、Macで動かしてみた。 - Qiita

    cloudpack大阪の佐々木です。 Amazon Linuxがコンテナ化され、ECSでもオンプレのDockerでも動かせるようになったようです。 https://aws.amazon.com/jp/blogs/aws/new-amazon-linux-container-image-for-cloud-and-on-premises-workloads/ 早速やってみます。 AmazonLinuxコンテナはECR上に保存されているので、ECRへのログインコマンドを取得します。リージョンはap-northeast-1でも取得できました。

    Amazon Linuxがコンテナ化されたので、Macで動かしてみた。 - Qiita
  • GetWildのカレンダー | Advent Calendar 2016 - Qiita

    GetWild駆動開発。 GetWildやTM NETWORKにちなんだ何かを駆動に開発していきましょう。 "Hello World"の代わりに、"Get Wild"を出力するも良し。 大事なのはハートです。 アスファルト タイヤをきりつけながら 暗闇走り抜ける 気持ちでカレンダーを埋めていくことです。 コツとして、関数名やメソッド名はGetWildAndToughを使いましょう。

    GetWildのカレンダー | Advent Calendar 2016 - Qiita