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

  • VirtualBox の仮想ディスクのサイズを変更する - Qiita

    Vagrant + VirtualBox を使用していて、 実際に動かしている途中で仮想ディスクのサイズが不足してくること、ありますよね。 うんうん。あるある。よくあるよくある。 VirtualBoxのGUIから仮想マシンを作成していたりすると分かりますが、仮想マシンのディスクにはいくつか形式があります。 Vagrantを使用していると仮想ディスクは VMDK 形式になりますが、実はこの形式、作成後のサイズ変更がサポートされていません。 サイズ変更をサポートしている形式は VDI です。 そこでVMDK形式の仮想ディスクを一旦VDI形式に変換し、サイズを変更した後でVMDK形式に戻せば 結果オーライ的に仮想ディスクのサイズを変更することが可能になります。 ざっくり手順 VMDK形式のディスクをVDI形式にクローン クローンしたVDI形式の仮想ディスクのサイズを変更 変更したVDI形式の仮想

    VirtualBox の仮想ディスクのサイズを変更する - Qiita
    tamu222i
    tamu222i 2017/09/29
  • sjisのcsvをfgetcsvで処理 - Qiita

    phpのfgetcsv関数はとても便利なものだが、元のcsvがsjisだったりすると、かなりはまるので注意が必要だ。 fgetcsv 文字化け で検索するといろいろヒットする。 例えば、以下のようにすればよいとする例もあるが、

    sjisのcsvをfgetcsvで処理 - Qiita
    tamu222i
    tamu222i 2017/09/27
  • PHP でどのように Exception/RuntimeException/LogicException を使い分けるか - Qiita

    PHP は各種プログラム言語の中でも比較的高級な (表現力が豊かで最適な記述を選ぶのに知識を必要とする) 例外モデルを持っていると言えます。そんな PHP の例外の各区分とその使い分けを整理し、PHP の例外モデルの設計意図を考察したいと思います。 PHP例外の分類 PHP の例外は Java とは異なり、(Error を合わせると) 合計 4 つの区分に分類されます。Java には 2 区分しかありません。(PHP では JavaError に相当するものは発生しません。PHPError は Java では RuntimeException の一種に分類されています) PHP Java

    PHP でどのように Exception/RuntimeException/LogicException を使い分けるか - Qiita
    tamu222i
    tamu222i 2017/09/27
  • CentOS6.xのlibcurlが古くてcurl: (35) SSL connect errorが発生する件 - Qiita

    決済サービス等のモジュールにアクセスする際、curlでリクエストを送る場合、CentOS6.xのyumでインストール出来るlibcurlは古く、'curl: (35) SSL connect error'が発生してしまいます。 (調べると7.36.0でsslv3のdefault設定は無効になっていました。) [vagrant@localhost ~]$ cat /etc/redhat-release CentOS release 6.7 (Final) [vagrant@localhost ~]$ yum info libcurl 読み込んだプラグイン:fastestmirror Loading mirror speeds from cached hostfile * base: www.ftp.ne.jp * epel: ftp.riken.jp * extras: www.ftp.ne

    CentOS6.xのlibcurlが古くてcurl: (35) SSL connect errorが発生する件 - Qiita
    tamu222i
    tamu222i 2017/09/26
  • Ruby 2.4.0 で json gem v1.8.3 をビルドできない問題 - Qiita

    起きたこと omniauth-twitter gem を入れようとしたら、以下のような感じで怒られる。 Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: /Users/nomura/repos/tsun-doc/vendor/bundle/ruby/2.4.0/gems/json-1.8.3/ext/json/ext/generator /Users/nomura/.rbenv/versions/2.4.0/bin/ruby -r ./siteconf20170103-627-1wq7y31.rb extconf.rb creating Makefile current directory: /Users/nomura/repos/tsun-doc/vendor/bun

    Ruby 2.4.0 で json gem v1.8.3 をビルドできない問題 - Qiita
    tamu222i
    tamu222i 2017/09/25
  • CentOS7から変わったネットワーク系のコマンド - Qiita

    CentOS7から、ifconfigやarp、netstatなどのよく利用しているネットワーク系のコマンドが非推奨となり、iproute2に置き換わってます。 まぁ、 yum install net-tools で、今まで通りのコマンドが使えるようにはなりますが、非推奨のものなので、後々消えてなくなるでしょう。 それなら、今のうちにiproute2のコマンドを覚えてしまう!ってことで、普段自分が利用しているものを中心にまとめてみました。 ifconfigの代わりは? ip addrですね。略してip aでも同じ内容が表示されます。 こんな感じに表示されます。少々表示のされ方が変わってますよね。。。まぁ、慣れるでしょう。 特定のインターフェースのみが見たい場合は、ip a show dev device名となります。 routeの代わりは? ip routeですね。略してip rでもOK.

    CentOS7から変わったネットワーク系のコマンド - Qiita
    tamu222i
    tamu222i 2017/09/08
  • Capybaraでハマらないために気をつけるべき4つのこと

    自分がCapybaraで一番ハマったのは、画面の初期化や、Ajaxやアニメーションなどの遅延を待たずに、どんどんclickなどを行おうとして意図しない結果になってしまうこと。 ブラウザから自分で試してみてもうまく行くので、自動テストをうまく行かせるためだけのデバッグ作業となり、作業のための作業、これは無駄以外のなんでもない。腹立たしい。 だから、情報共有。 findで要素が準備OKになるまで待たせる 家の でも書かれているが、Capybaraにはこういう非同期JavaScriptの問題への対処として、findや、have_content実行時にまだ要素が見つからない場合は、設定した時間(初期値2秒)待ってからリトライをしてくれる。 この機能を使って、clickする、have_xxx で検証するなどの前に、findでちゃんと存在するまでcapybaraに待たせる事が重要。 基的に非表示要

    Capybaraでハマらないために気をつけるべき4つのこと
    tamu222i
    tamu222i 2017/09/01
  • Selenium WebDriver、Firefox を使ってPDFを自動ダウンロード - Qiita

    Selenium WebDriver、Firefoxを使ってWebページを自動で遷移して、PDFをダウンロードするっていうのを作りたかったんですが、実現できるまでに大変だったので設定方法を備忘録として書いておきます。 基的にこのブログに全て書いてあるとおりです。 http://yizeng.me/2014/05/23/download-pdf-files-automatically-in-firefox-using-selenium-webdriver/ profile = Selenium::WebDriver::Firefox::Profile.new profile["browser.download.folderList"] = 2 # 0:デスクトップ、1: システム規定のフォルダ、2:ユーザ定義フォルダ("browser.download.dir"で定義) profile["

    Selenium WebDriver、Firefox を使ってPDFを自動ダウンロード - Qiita
    tamu222i
    tamu222i 2017/08/29
  • [ruby] webdriver を使って amazon.co.jp での購入履歴情報を取得する - Qiita

    課題 amazon.co.jp での今年に購入した電子書籍の電子領収書を一括で取得する。(MacOSX, firefox の環境で) 電子書籍を大量に購入していて、その購入領収書を提出する必要がある場合に利用する。 方法 ruby で selenium-webdriver をつかって firefox を自動操作して、 amazon の購入履歴ページ (2014 年分) の全画面の html ソースを取得する。 amazon のページにアクセスするための情報はコマンドラインの引数として渡す。 各購入品の領収書のページにアクセスして、スクリーンショットを取得する。 プログラムコードはこの記事の末尾に示す。 プログラムを実行すると、firefox が自動起動する。 自動で amazon へのログイン、購入履歴ページの閲覧、ログアアウト、firefox の終了が行われる。 実行後は、./scree

    [ruby] webdriver を使って amazon.co.jp での購入履歴情報を取得する - Qiita
    tamu222i
    tamu222i 2017/08/23
  • systemdでXvfbをデーモンとして起動させる - Qiita

    [Unit] Description=Virtual Framebuffer X server for X Version 11 [Service] Type=simple EnvironmentFile=-/etc/sysconfig/Xvfb ExecStart=/usr/bin/Xvfb ${OPTION} ExecReload=/bin/kill -HUP ${MAINPID} [Install] WantedBy=multi-user.target

    systemdでXvfbをデーモンとして起動させる - Qiita
    tamu222i
    tamu222i 2017/08/23
  • Selenium Webdriver で ウィンドウ切り替えを追う - Qiita

    Selenium Webdriver 小ネタ _target=blank で別ウィンドウ遷移時にSelenium Webdriverで追う方法について説明します。 使用言語:Ruby 結論 下記3行でウィンドウ切り替えできます。 window = driver.window_handles.last # ウィンドウ情報を取得 driver.close # 遷移元のウィンドウを閉じる。特に必要なければ記述の必要なし driver.switch_to.window(window) # 遷移先のウィンドウに遷移元のウィンドウ情報を移す Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful in

    Selenium Webdriver で ウィンドウ切り替えを追う - Qiita
    tamu222i
    tamu222i 2017/08/22
  • RSpecのshouldはもう古い!新しい記法expectを使おう!

    というように書くようになりました。 別にshouldを使った記法がなくなったわけではありませんが、 https://github.com/rspec/rspec-expectations のREADME.mdには、もう新しいSyntaxの説明しか載っていないし、今後はexpectの方を使っていくほうがいいでしょう。 http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax には、新しいSyntaxを導入した背景が説明されています。 簡潔に書くと、shouldだとBasicObjectを継承したクラスのテストを書くときに不具合が起こるみたいですね。 移行方法 基的には、上に書いたように、 foo.should を expect(foo).to に foo.should_not を expect(foo).

    RSpecのshouldはもう古い!新しい記法expectを使おう!
    tamu222i
    tamu222i 2017/08/22
  • 使えるRSpec入門・その1「RSpecの基本的な構文や便利な機能を理解する」 - Qiita

    はじめに RSpecは難しい、よくわからない、といったコメントをときどき見かけます。 確かにちょっと独特な構文を持っていますし、機能も結構多いので「難しそう」と感じてしまう気持ちもわかります。 (構文については僕も最初見たときに「うげっ、なんか気持ちわるっ」と思った記憶がありますw) しかし、RSpecに限らずどんなフレームワークでも同じですが、慣れてしまえばスラスラ書けますし、実際僕自身は「RSpecって便利だな-」と思いながらテストコードを書いています。 そこでこの記事では、僕が考える「最低限ここだけを押さえていれば大丈夫!!」なRSpecの構文や、僕が普段よく使う便利な機能をまとめてみます。 具体的には以下のような構文や機能です。 describe / it / expect の役割 ネストした describe context の使い方 before の使い方 let / let!

    使えるRSpec入門・その1「RSpecの基本的な構文や便利な機能を理解する」 - Qiita
    tamu222i
    tamu222i 2017/08/22
  • オブジェクト指向と10年戦ってわかったこと - Qiita

    この記事の内容 オブジェクト指向は難しい!わかった気になって実践すると詰みます... ウギャー この記事は10年以上オブジェクト指向と戦った筆者が、通常とは異なるアプローチでオブジェクト指向を解説したものです。 筆者はJavaを使って格的なシステム開発をしたことがありませんが、オブジェクト指向言語として最もポピュラーなJavaをベースにオブジェクト指向について解説させていただきました。 また、この記事の続編にあたります「なぜオブジェクト指向は難しいのか」を更に2年の時を経て執筆させて頂きました!是非こちらも一読していただけると嬉しいです。 オブジェクト指向三大要素の謎 オブジェクト指向三大要素ってありますよね。オブジェクト指向は「カプセル化」「継承」「ポリモーフィズム」の3つの要素で成り立つと言われています。最近では、この三大要素が語られる傾向は薄いようですが、一度は耳にしたことがある

    オブジェクト指向と10年戦ってわかったこと - Qiita
    tamu222i
    tamu222i 2017/08/17
  • まだまだ使うぞSelenium IDE - Qiita

    こんにちは! この期におよんでまだSelenium IDEの技術記事を書くクソバカは誰だ!!! 俺だよ!!!! 思ったより早く死にましたテヘッ WebExtensionsへの完全移行はFirefox 57からだとMozilla公式ブログに書いてあったので、もうちょっといけると思っていたのですが... Add-ons in 2017 | Mozilla Add-ons Blog 先日リリースされましたFirefox 55でSelenium IDEを起動してみたところ、 ウッ 動け、動け、動いてよ!! 「Table view is not available with this format.」ってなんなんだよ!!!! 単なるデグレっぽい 同じエラーメッセージは2013年から折々報告されているもので、GitHubにも2015年頃からのissueがあります。 なので、WebExtensionsへ

    まだまだ使うぞSelenium IDE - Qiita
    tamu222i
    tamu222i 2017/08/17
  • いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方 - Qiita

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

    いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方 - Qiita
    tamu222i
    tamu222i 2017/08/06
  • パスワードなしでSSHログインする簡単な手順 - Qiita

    これにより、id_dsa(秘密鍵)とid_dsa.pub(公開鍵)が作成される 公開鍵をログイン先サーバに転送

    パスワードなしでSSHログインする簡単な手順 - Qiita
    tamu222i
    tamu222i 2017/08/01
  • Docker コンテナと仮想マシン間の変換(お試しレベル) - Qiita

    Docker Advent Calendar 2015 23日目の記事です。。。が、まだ途中です。すみません。。。 概要 実用性は別にして、ふと、「既存の仮想マシン環境をコンテナとして実行できないか、また逆に、コンテナを仮想マシンに変換できないか」と思い立ったので、お試しレベルでやってみました。 仮想マシンから Docker イメージへの変換 仮想マシン上にはコンテナとして動作するのに必要なファイルが揃っているので(逆に余分なファイルが多い)、容量など考えずに単純に Docker イメージにするだけなら簡単です。 [お試し環境] 仮想マシン: CentOS7.1 (on Hyper-V) Dockerホスト: CentOS7.1 + Docker1.9.1 まずは、仮想マシン上のファイルを tar で取り出します。取り出し途中のファイルの整合性(停止点の確保)とかは考えてません。 # 不要

    Docker コンテナと仮想マシン間の変換(お試しレベル) - Qiita
    tamu222i
    tamu222i 2017/07/10
  • Google APIのAccess Tokenをお手軽に取得する - Qiita

    Google APIの各種リソースに対する大抵の操作はREST風かつOAuth2なAPIになっていて、Access TokenとAPIのURLさえわかっていれば、例えば次のようにcurlコマンドを使って簡単にAPIを実行できます。

    Google APIのAccess Tokenをお手軽に取得する - Qiita
    tamu222i
    tamu222i 2017/06/12
  • Zabbixのアラートをチャットワークで通知する - Qiita

    #!/bin/sh TOKEN="CHATWORK_TOKEN" ENDPOINT="https://api.chatwork.com/v1/rooms/${1}/messages" SUBJECT=${2} MESSAGE=${3} /usr/bin/curl -X POST -H "X-ChatWorkToken: ${TOKEN}" -d "body=[info][title]${SUBJECT}[/title]${MESSAGE}[/info]" ${ENDPOINT} 作成したスクリプトに実行権限付けるのを忘れずに。 メディアタイプの作成 Zabbixの「管理」->「メディアタイプ」を選択し、メディアタイプの作成から作成します。 [タイプ]と[スクリプトパラメータ]を下記のように設定します。特に、[スクリプトパラメータ]を設定するようになったようですので忘れずに。 ユーザ設定 任

    Zabbixのアラートをチャットワークで通知する - Qiita
    tamu222i
    tamu222i 2017/06/07