タグ

2017年2月13日のブックマーク (18件)

  • やっとDocker for Macで開発用データベースの運用をはじめた - Copy/Cut/Paste/Hatena

    Docker通り越して次の楽技術こないかなー」と思っていたのですが、やはり当分こなそうなので重い腰を上げてDockerを使いはじめました。 遅すぎですね。 前提 自分は「主にPHPer」ですが、PHPプロジェクトは大抵がごく普通のLAMPやLAPPなので(環境依存が少ない)、開発時はVagrantでもDockerでもなんでも良いです。 ただ、個人的にPHPはビルトインサーバブームがきているので、「アプリケーション側はホスト上のビルトインサーバ」「データベース側をDocker」にする形で構築することにしました。 「Dockerは永続的データが不得意?」というのは遥か昔の話だったようで、MySQLもPostgreSQLもデータ領域は(公式Dockerイメージでは)デフォルトでホスト側にマウント( VOLUME )するようになっていました。これは便利だった。 使い方 Docker for M

    やっとDocker for Macで開発用データベースの運用をはじめた - Copy/Cut/Paste/Hatena
  • DbFitでDBをTDDする - Architect's Log

    DbFitは、DBのテストを自動化するフレームワークです。FitNesseという受け入れテストのフレームワークを使って作られています。 DbFit: Test-driven database development メジャーなDBは一通り対応しています。 Supports all major DBs Out-of-the-box support for Oracle, SQL Server, MySQL, DB2, PostgreSQL, HSQLDB and Derby. インストール Getting Started JREのインストール DbFitのダウンロード 適当なフォルダでzipを展開する DbFitの開始 startFitnesse.batを実行すると、コマンドプロンプトが立ち上がりDbFitが実行されます。 http://localhost:8085/ にアクセスすると、Db

    DbFitでDBをTDDする - Architect's Log
  • UIセンスが壊滅的なエンジニアがそれっぽいwebアプリを作るために使った無料UIライブラリをまとめておく - Qiita

    仕事の傍ら、暇つぶしとかでwebアプリを構築したりするわけですが、どうにもUIセンスがなさすぎて、カッコイイサイトとかを参考に真似したりしても、なぜか自分でアレンジするととてつもなくダサくなる、ということを繰り返してきました。 で、もうこうなったら自分で考えずに、すべてライブラリに頼ろう!と思ってwebサイトを構築した時に使ったcssやjsのフレームワーク、ライブラリなんかを、簡単なコメント添えてまとめておこうと思います。 css自分で一切書かなくても、このぐらいのUIまではいけそうです。 フレームワーク Bootstrap ベースはtwitter bootstrapの恩恵に授かります。 GoogleMaterialDesignLiteも見た目はかっこいいんですが、色々コンポーネントがたりなかったりして、結局いくらか自分でデザインしないとどうにもならなくなる印象です。 jQuery 今更書

    UIセンスが壊滅的なエンジニアがそれっぽいwebアプリを作るために使った無料UIライブラリをまとめておく - Qiita
  • Goの勉強がてらにssh先を登録しておいて、選択して接続するツール作ってみた - Qiita

    Goでコマンドラインツール作ってみようと思い立ったので、最近ssh先が多くてわちゃわちゃしてきたなというのもあって、ssh先を保存しておいて、一覧から選択してsshするツール作ってみました。 github 使い方 以下でインストールして

    Goの勉強がてらにssh先を登録しておいて、選択して接続するツール作ってみた - Qiita
  • java.util.ListIteratorのnextとpreviousの振る舞いメモ - torutkのブログ

    JavaFXでページめくりをするUIを作るにあたって、その処理の中で、ページ名を格納したListからlistIteratorを取得し、ページめくり操作のUIとして用意した[前へ]、[次へ]ボタンを押すと、listIteratorのprevious、nextで次のページ名を取得する実装をしてみました。 すると、[次へ]でいくつかめくった後に[前へ]を押すと、1回目はページが前に戻らず2回目にページが前に戻るという現象が生じました。 ここで、既にListIteratorの振る舞いを分かっている人は、「あっ、やっちまったね」とすぐに分かるのかと思います。 さっそく、挙動を確かめるべく、JDK 9のREPL環境であるjshellで振る舞いを確かめてみます。 C:\Users\torutk>jshell | JShellへようこそ -- バージョン9-ea | 概要については、次を入力してください:

    java.util.ListIteratorのnextとpreviousの振る舞いメモ - torutkのブログ
  • Function Multiversioning - Using the GNU Compiler Collection (GCC)

    7.8 Function Multiversioning With the GNU C++ front end, for target i386, you may specify multiple versions of a function, where each function is specialized for a specific target feature. At runtime, the appropriate version of the function is automatically executed depending on the characteristics of the execution platform. Here is an example. __attribute__ ((target ("default"))) int foo () { //

  • Union Findアルゴリズムの様々な実装とパフォーマンス計測 - $shibayu36->blog;

    CourseraにAlgorithms Part1という授業があり、これが非常に評判が良いので、会社で勉強会をしている。Week1にUnion Findというアルゴリズムが出てきて、その実装パターンがいくつかあった。それぞれ計算量が違うらしいのだけど、速度がどのように変化するか試したかったので、実装してパフォーマンス計測をしてみた。それぞれの実装の詳しい説明が知りたかったら、https://www.coursera.org/learn/algorithms-part1 を見ると良い。 Union Findとは何か 二つのノードを繋いでいき(Union)、あるノードとあるノードがつながっているか(Find or Connected)を判定するアルゴリズム。 例えば、union(1,6)、union(5,6)、union(2,7)、union(3,8)、union(4,9)、union(8,9

    Union Findアルゴリズムの様々な実装とパフォーマンス計測 - $shibayu36->blog;
  • 【単位超入門】ピクセル、ドット、PPI、DPI、解像度、メートル、インチ、ポイント - Qiita

    記事の最後に 変更履歴 を記載しております。 はじめに この記事は、HTML / CSSの知識はあるけど、ピクセルなどの各単位についてあまり理解していない初学者向けの内容です。 私自身未熟ですので説明に誤りがあるかもしれません。 誤りがあれば、ご指摘ください ((_ _ (´ω` )ペコ 第1章 メートルとは 第2章 インチとは 第3章 ポイントとは 第4章 ピクセルとPPIについて 第5章 ドットとDPIについて 第6章 解像度とは 今回、調べて記事をまとめるのに結構な時間を費やしました。 単位について理解を深めたいと考えている方の一助になれば嬉しいです。 第1章 メートルとは 私たちはメートルという単位を使って、長さを表すことができます。 先人の方々がメートルという単位を定義し、普及させてくれたお陰です。 最初は、このメートルという単位がどのように誕生したのか簡単に見ていきましょう。

    【単位超入門】ピクセル、ドット、PPI、DPI、解像度、メートル、インチ、ポイント - Qiita
  • Pythonで学ぶ 基礎からのプログラミング入門(36) Pythonのコーディング規約「PEP8」

    今回はコーディング規約について学びます。今までの回では特に断らずに変数やクラスに名前を付けたりしていました。また、インデントなども特に深い説明はしていません。 自分ひとりでコードを書くのであれば、自分にとってわかりやすいものをつけてかまいません。初心者のうちは細かい制約にこだわるよりも、コードを書くことのほうが上達への近道だからです。ただ、自分が書いたプログラムをほかの人が読んだり、自分もほかの人のコードを読む機会が増えたりするのであれば、少し事情が変わってきます。 多くの人がひとつのプログラムを作る場合、個人個人が自分の好き勝手にコードを書くと、スタイルがバラバラになってしまい、コードの品質を維持できなくなってしまいます。そのため、「このようにしましょう」というルールを設けて、それにしたがってコードを書きます。そのルールが「コーディング規約」と呼ばれているものです。 コーディング規約はル

    Pythonで学ぶ 基礎からのプログラミング入門(36) Pythonのコーディング規約「PEP8」
  • Python Tips: リストから重複した要素を削除したい

    Python で、リストから重複した要素を取り除き、ユニークな要素だけのリストを得る方法をご紹介します。 早速ですが、いちばんカンタンで Python らしい書き方は set を使うパターンでしょうか。 li = [3, 4, 3, 2, 5, 4] li_uniq = list(set(li)) # [2, 3, 4, 5] いったん set にしてからリストに戻すことで重複要素が自動的に削除されます。 ただしこの方法だと要素の順番が変わることもあるようです。要素の順番を保ちたい場合には、普通に for ループを回す形になります。

    Python Tips: リストから重複した要素を削除したい
  • Pythonでの正規表現の使い方 - Qiita

    正規表現の検索演算子やパターンや検索自体のルールはPerlPHPとほとんど変わりないみたいですが。 正規表現の関数の使い方などは全然違うので、自分の勉強&整理の為に書いておきます。 正規表現の検索演算子などには言及しません 初期設定 以下のライブラリーを読み込むことで、正規表現が使えるようになります。 正規表現を使うためには、2つ方法があります。 一つは、事前に検索するパターンをコンパイルしておく方法です。 この方法を使うと、同じパターンで何度も検索する場合に、毎回パターンを指定する必要なく、高速に検索することが出来るようになります。 http://docs.python.jp/3/howto/regex.html#compiling-regular-expressions それから、パターンの最初にrを付けることをを勧めします、付けなくても基的には大丈夫ですが、付けることによって文字

    Pythonでの正規表現の使い方 - Qiita
  • 深層ニューラルネットワークを用いたスケーラブルなベイジアン最適化 - Qiita

    Randomly query a set of initial points... Complete initial dataset acquired Performing optimization... 0.100 completion... 0.200 completion... 0.300 completion... 0.400 completion... 0.500 completion... 0.600 completion... 0.700 completion... 0.800 completion... 0.900 completion... 1.000 completion... Sequential gp optimization task complete. Best evaluated point is: [-0.31226245 3.80792522] Predi

    深層ニューラルネットワークを用いたスケーラブルなベイジアン最適化 - Qiita
  • Golangで「エラトステネスの篩」で「2.1秒で百万個」の素数を計算できる「無限シーケンス」を作ってみた - Qiita

    ※ タイトルは2.1秒となっていますが、0.96秒を達成しました。詳しくは「追記の章」を参照。 はじめに C#で「エラトステネスの篩」で「2.6秒で百万個」の素数を計算できる「無限シーケンス」を作ってみた - tail-islandを参考に、Golangのチャネルとgoroutineとクロージャをそれぞれ用いた無限素数ジェネレータを実装してみました。タイトルは元記事のオマージュです。 みなさんご存知のエラトステネスの篩は、自然数のリストから素数の倍数を消していくものだと思います。無限に素数を生成するためには遅延評価などを使って無限に素数の倍数を消していく必要があります。しかし、遅延評価がデフォルトではないGolangでは、自然数リストを有限にしか持つことができないため、決め打ちの値までしか素数を生成できませんでした。そこで、今回実装した無限素数ジェネレータは、素数の奇倍数と素数の2倍の数を

    Golangで「エラトステネスの篩」で「2.1秒で百万個」の素数を計算できる「無限シーケンス」を作ってみた - Qiita
  • 処理が終わったらSlackで通知してくれるようにShellとPythonでスクリプトを書く - Qiita

    背景 仕事で頻繁にデータの取得や加工、分析の実行をサーバーのLinux環境で処理させることがある。 処理が終わったかどうかはターミナル上でpsで確認するが、いちいち確認するのが手間。 処理がこけている場合の対処を迅速に行いたい。 よくある方法として、メールやSNSなどでメッセージをPOSTすることで検知する。 私の職場ではSlackでのコミュニケーションが主流となっている。 目的 SlackでメッセージをPOSTすることで処理が終わったかどうか判断する。 前提 Slackアカウントは既に作成済みを前提とする。 環境 ubuntu 14.04 Python 3.5.2 SlackにメッセージをPOSTするApps & Integrations Slackには様々なApps & Integrationsがあるよう。 今回はその中でもよくネットと見かける以下2つの方法でメッセージをPOSTする方

    処理が終わったらSlackで通知してくれるようにShellとPythonでスクリプトを書く - Qiita
  • C++のちょっとしたアプリでさっと使いやすい簡易ロガーの実装例 - Qiita

    小さなサンプルアプリ作る ↓ でもまあロガーくらい入れて作りたい ↓ boost::log入れるのめんどくさいしちょっとしたやつ ↓ 気づけばいつものロガーコードを書いている //↓これを定義すると easy_logger は LOGI などで何も出力しなくなります。 //#define DISABLE_USAGI_LOG_EASY_LOGGER #include <usagi/log/easy_logger.hxx> #include <thread> #include <random> auto main() -> int { // 単純な使い方 LOGI << "test1"; // 複数の operator<< で繋いでも綺麗に出力されます。 LOGD << "test2 multiple output operators in the one line " << 12345 <<

    C++のちょっとしたアプリでさっと使いやすい簡易ロガーの実装例 - Qiita
  • 私が購入したい銘柄 : サラリーマンが株式投資でセミリタイアを目指してみました。

    2017年02月10日06:00 私が購入したい銘柄 カテゴリ株日記 Trackback(0) 私は自分自身のことを割安成長株投資家だと思っていますが、どんな銘柄が投資対象としたい銘柄かというと、以下のような銘柄です。 ・PERは10倍程度(成長率が高ければ15倍弱まで許容) ・増収増益傾向であること(今期業績見通しも含めて) ・ストックビジネスが主力であること ・配当性向30%以上を公約していること ・決算説明資料を少なくとも半期ごと公開していること これらを全部満たしている銘柄なら最強です。 三機サービスは最初に購入の際、これらの条件をすべて満たしていました。 上場している全銘柄からこれらの条件を満たす銘柄を探し出すのは人力では無理ですので、私は直近IPO銘柄などターゲットを絞っているわけですが、最近中小型株も過熱気味ですので、私の投資尺度に当てはまる銘柄が当に見つからなくなってきま

    私が購入したい銘柄 : サラリーマンが株式投資でセミリタイアを目指してみました。
  • 【小技特集】もっと使いこなす!おすすめタスク管理ツールTodoistの活用法12連発

    小技を制してラクしよう。 タスク管理ツールTodoistは、直感的に利用できるシンプルさが魅力のひとつ。WEBでもアプリでも、誰でも無料ですぐに使い始めることができるので、細かーい部分まで網羅した説明書もありません。でもやっぱり、「使いこなす」までには少しだけ時間がかかりますよね。 このサイトでは、これまで基的な使い方からちょっとした応用例などを紹介してきましたが、ここでは【意外と知らないかもしれない&知ってるだけでちょっと得する、オイシイ小技たち】を紹介します。「ほーっ、使えるやんかコレ」、な小技があればぜひ活用してみてください。

    【小技特集】もっと使いこなす!おすすめタスク管理ツールTodoistの活用法12連発
  • Dotfilesでバックアップ不要な開発環境 - Solist Work Blog

    ArchLinux仕事をするようになって結構な年月が経過したので、 ArchLinuxをメイン環境にしている現状について書いてみようと思います。 一般的にArchLinuxは玄人向けで普通の人が使うディストリビューションではないと言われているようです。 コマンドラインでの作業が必須になるので一般人には勧められないですが、ソフトウェアエンジニアが開発環境にするディストリビューションとしてはオススメできます。 何か必要になったらたいていのものはパッケージ1で揃います。 ArchLinuxを使うようになってプログラムを自前でビルドすることはほとんどなくなりました。 これは当に楽で何かを始めるときに億劫になることがほとんどなくなります。 Arch Linux ArchLinuxのパッケージの最新安定版はユーザー数が少ないので、変な使いかたをするとバグがでることもあります。 それは開発元の最新の

    Dotfilesでバックアップ不要な開発環境 - Solist Work Blog