dempatowのブックマーク (41)

  • docker composeでGoの開発環境を構築する - fine, later feeling

    この記事はTokyoSWアドベントカレンダー6日目の記事です。 業務では開発環境にDockerを使っていますが(といってもMySQLコンテナを立ててるだけ)、一から自分で設定したことはないので勉強のため導入してみようと思います。 ※Dockerの概要には触れません docker for macを入れる 開発環境はMacを想定してます。 少し前までならVirtualBox上にLinuxを乗せて更にそこにDockerを入れてコンテナを乗せて…というふうにやってましたが、その時代は終わりました。 今はMac/Win向けに公式が出してくれているのでそれを使います。 これでVirtualBoxともオサラバです。 docker for macを入れるとメニューバーにdockerちゃんのアイコンが表示され、 docker/docker-machine/docker-composeのコマンドが使えるように

    docker composeでGoの開発環境を構築する - fine, later feeling
    dempatow
    dempatow 2017/07/02
  • golangでtemplate(html)の確認 - m_shige1979のときどきITブログ

    ページを表示する際はテンプレートを使用する 標準では"text/template"と"html/template"が存在する ※他にもあるかもしれないけどあとでやる 参考 Go言語でhttpサーバーを立ち上げてHello Worldをする - Qiita template - The Go Programming Language golanghtml/template でのテンプレートの継承と、HTML エスケープしないで変数を出力する方法 (Django, Jinja みたいに) - Qiita [Go言語] templateパッケージでtwigとかのextends的なあれをやるにはどうしようか - Qiita シンプルなテンプレート 構造 $ tree . ├── main.go └── templates └── index.tpl $ templates/index.tpl

    golangでtemplate(html)の確認 - m_shige1979のときどきITブログ
    dempatow
    dempatow 2017/06/29
  • Go言語でお手軽スクレイピング | LINKBAL Blog

    準備 今回は下記のパッケージを利用させていただいております。 https://github.com/PuerkitoBio/goquery パッケージインストール [code lang=text] go get github.com/PuerkitoBio/goquery [/code] ソースコード 実行結果 さいごに 非常に簡単にスクレイピングを行うことができました。 Go言語は並列処理が強みの一つなので、並列でスクレイピングすることにより、 時間を短縮することができますね。(用法用量は守って正しく…) 弊社ではエンジニアを大募集しております。 ご興味ある方はこちらからお問い合わせください。 http://linkbal.co.jp/recruit/ ※ 著作権注記 The Go gopher was designed by Renee French. (http://reneefre

    Go言語でお手軽スクレイピング | LINKBAL Blog
    dempatow
    dempatow 2017/06/02
  • rmagick の 失敗原因と解決方法をまとめてみた - 放浪エンジニアのLog

    2017 - 01 - 21 rmagick の 失敗原因と解決方法をまとめてみた IT mac rails rmagick ImageMagick Rails の新環境を整えている際に発生した rmagick 入らない問題について結構はまったので、調べた内容をまとめました。どこかで誰かの役に経てれば嬉しいです。 また、rmagick は調べてみると沢山の人が様々な原因で install 失敗しているみたいなので、記事の下の方に失敗原因別に対象方法をまとめました。 ちなみに、私が install 失敗していたときの特徴ですが ImageMagick 7. x 系である [ checking for wand/MagickWand.b ]と表示された wand/MagickWand.h file not found (ファイルは存在するのに...) 画像のようなエラーが表示 でした。 失

    rmagick の 失敗原因と解決方法をまとめてみた - 放浪エンジニアのLog
  • Docker Composeで開発環境を作る - KAYAC engineers' blog

    Docker Composeはいいぞ! この記事はTech KAYAC Advent Calendar 2016の15日目の記事です。 こんにちは この6月にKAYACに中途入社し技術部でゲームのサーバーサイドを担当しているひだかです。 新卒でも中途入社でも研修などを終え実務に入った時に一番最初に悲しい思いをするのは開発環境構築の作業ではないでしょうか? 実際に私もあまり整備されていないドキュメントを何度も見て、長い時間をかけやっと構築完了したと思ったらミドルウェアのバージョンが違うとかで序盤からやり直しということがありました。 知らない言語やOSやミドルウェアやフレームワークやモジュール群を前に新人はあまりにも無力です。 そんな時はInfrastructure as Codeです。Dockerを使うのです。 誰でもボタンポチーで開発環境を立てられるDockerを使うのです。 幸いなことに

    Docker Composeで開発環境を作る - KAYAC engineers' blog
    dempatow
    dempatow 2017/02/26
  • AWSで秘密鍵をなくした、削除してしまった場合の対処法 | 眠らないブログ

    対象のEC2インスタンスからAMIを取得AMIとは Amazon マシンイメージ(AMI)は、クラウドの仮想サーバーであるインスタンスの起動に必要な情報を提供します。インスタンスを起動するときに AMI を指定します。AMI からは、必要な数のインスタンスを起動できます。必要に応じて、異なる種類の AMI からインスタンスを起動することもできます。 つまりこれがあれば、同じ環境を構築することができます。 インスタンス→鍵をなくした対象のサーバー→アクション→イメージ→イメージの作成 これでAMIが取得できます。 作成にちょっとだけ時間がかかります。

    AWSで秘密鍵をなくした、削除してしまった場合の対処法 | 眠らないブログ
    dempatow
    dempatow 2017/02/24
  • ActionView を単体で使ってみる | そんなこと覚えてない

    誰が興味があるのか謎ですが、ActionView を単体で使ってみようと思います。 意外にも Rails の仕組みとか見えてくるかもしれません。 Rails 4.1 ぐらいから ActionPack から独立した記憶があります。どうでしたっけ。 テンプレートを使いたい時には erb, haml, slim などを単体で利用すればいいのであまり使う機会はないかもしれません。 雑感では、 layout 機能を使いたい インスタンス変数で値にアクセスしたい Rails が提供するビューヘルパーを使いたい あたりがメリットかと思います。 この記事のために作成したコードはこちらにおいておきます。 補足の部分は読み飛ばせるように書いているつもりです。 利用したRailsのバージョンは 4.1.4 です。 1 Hello, world まずは使ってみます。 ActionView::Base.new.re

    dempatow
    dempatow 2017/02/23
    “options end”
  • 自分のsshのpassphrase忘れた愚か者がクラックする話 - ビットの海

    タイトルそのまんまなんだが... 想定する環境 homebrewが使えるMac John the Ripper導入 brew install john もし、opensslが入っていなかったら入れておく brew install openssl ssh-privkey-crack.cを拾ってきてコンパイル curl -O https://raw.githubusercontent.com/Boran/lusas/master/ssh-key-crack/ssh-privkey-crack.c cc -I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib -o ssh-privkey-crack ssh-privkey-crack.c -lssl -lcrypto chmod +x ssh-privkey-crack いざ解

    自分のsshのpassphrase忘れた愚か者がクラックする話 - ビットの海
    dempatow
    dempatow 2017/02/23
    “私の場合は、いくつか候補があって、どれかわからんかったので、候補ファイルを別途つくってそれを食わせてなんとかしました。”
  • Golangのcontext.Valueの使い方

    Go1.7でcontextパッケージが標準パッケージに入りしいろいろなところで使われるようになってきた.先日リリースされたGo1.8においてもdatabase/sqlパッケージなどでcontextのサポートが入るなどますます重要なパッケージになっている. “Go1.7のcontextパッケージ”で書いたようにcontextは「キャンセルのためのシグナルの受け渡しの標準的なインターフェース」として主に使われる.ある関数やメソッドの第1引数にcontext.Contextが渡せるようになっていればキャンセルを実行したときにその関数は適切に処理を中断しリソースを解放することを期待する.これはパッケージの作者とその利用者との間のある種の契約のようになっている(パッケージ側でgoroutine作るなというパターンもここで効いてくる). これだけではなくcontext.Contextインターフェースに

  • Goで使える10のテクニック | POSTD

    ここでは、私がたどりついた最善のやり方を紹介しましょう。個人的に過去数年にわたって大量のGoコードと付き合ってきた経験から集めたものです。これらは全て非常にスケーラビリティがあると思っています。私が、スケールする、と言うときは次のような意味があります。 アプリケーションが求める環境は、アジャイル環境の中で変化していきます。開発の3、4か月後に、全てをリファクタリングする必要が出てくるなど、考えたくもないはずです。新しい機能は簡単に追加できなくては意味がありません。 あなたのアプリケーションは多くの人々によって開発されます。可読性が高く、維持しやすいものでなくてはなりません。 あなたのアプリケーションは大勢の人々に使われます。バグは容易に特定でき、修正できなくてはなりません。 長期的にみるとこれらのことが重要になる、ということを私は今までに学んできました。小さなことであっても、多数に影響しま

    Goで使える10のテクニック | POSTD
    dempatow
    dempatow 2017/02/14
  • [Go言語]structにinterfaceを埋め込んで,動的に入れ替えるパターン - Qiita

    正直,何に使えるのよくわかりませんが,以下のようにすると動的にinterfaceの実装方法を変更できることに気づきました. structの匿名フィールド(埋め込み)として,interfaceを設定すると,そのstructも埋め込んだinterfaceを実装していることになります.埋め込んだinterfaceは匿名フィールドなので,型名でアクセスして入れ替えることができます. 以下の例では,fmt.Stringerインタフェースの実装を動的に変更しています. Go Playgroundで実行する package main import ( "fmt" "strings" ) type StringerFunc func() string func (sf StringerFunc) String() string { return sf() } type Person struct { fm

    [Go言語]structにinterfaceを埋め込んで,動的に入れ替えるパターン - Qiita
    dempatow
    dempatow 2017/02/14
  • Go言語の型とreflect

    最近型ではまることがたびたびあったのでまとめてみました。 主に下記についてまとめています。 型とインターフェース 代入のルール 型の変換 型アサーション reflectパッケージの使い方 インターフェースの実装などについては触れていません。 型とインターフェース 名前を持つ型と名前を持たない型 型には名前のある型(named types)とない型(unnamed types)がある。 代入の可否など名前の有無で動作に違いのあるケースがある。 ざっくりいえば、英数字で表されているものが名前のある型、括弧やアスタリスクなどの記号を使って表されている型が名前のない型 名前のある型 下記のようにtypeを使って宣言されている型は名前のある型。

    Go言語の型とreflect
    dempatow
    dempatow 2017/02/14
  • Go言語で東京メトロAPIを叩く - Qiita

    東京メトロがWebAPIで色々な情報を提供しているようなので早速使ってみました。 東京メトロ オープンデータ 開発者サイト 元々はコンテスト用に公開してたAPIがそのまま使えるようになったみたいですね。 ユーザ登録 APIの利用にはユーザ登録が必要です。登録は無料です。 申請内容の確認から登録まで最大で2営業日ほどお時間を、とありましたが自分が登録した時は数分で完了しました。 アクセストークンの取得 登録が完了したら1個デフォルトのアクセストークンが発行されていると思いますので、今回はそれを使ってアクセスしてみましょう。 ログインして「アクセストークンの確認・追加」から確認できます。 いざデータ取得 今回は運行情報を取得してみます。 → API仕様: 列車運行情報 odpt:TrainInformation package main import ( "encoding/json" "fm

    Go言語で東京メトロAPIを叩く - Qiita
    dempatow
    dempatow 2017/02/14
  • Go言語での構造体実装パターン

    Go言語での構造体実装は、埋込や独自コンセプトのインターフェースといったGo言語独自の機能を理解して行う必要があります。 今年からGo言語を始めましたが理解が曖昧なままだと実装に迷うことが何度かありました。今回よい機会なので、Go言語での構造体実装パターンとしてまとめてみることにしました。 構造体実装パターン 実装パターンの洗い出しとして、GoFデザインパターンをGo言語で実装する手法をとりました。 その中で繰り返し現れる実装をGo言語での構造体実装パターンとしてまとめてみました。 コンストラクタ関数 エクスポートによるアクセス許可 インターフェースによるポリモフィズム 構造体によるポリモフィズム 構造体によるサブクラス・レスポンシビリティ 構造体による移譲 関数による移譲 以下、それぞれのパターンを解説していきます。 コンストラクタ関数 Go言語には構造体のコンストラクタがないため、構造

    Go言語での構造体実装パターン
    dempatow
    dempatow 2017/02/10
    g
  • 焼肉ドットコム | 東京の焼肉店探しなら

    「焼肉ドットコム」 東京の焼肉店探しなら焼肉ジャンボ白金店/白金・西麻布 薄切りのサーロインをサッと炙って卵に絡めて頂く「名物 野原焼き」は絶対に外せない一品です!

    dempatow
    dempatow 2017/02/09
  • 特定キーワードをハイライト表示してコマンド実行前に注意喚起する(iTerm2) | DevelopersIO

    Mac用のターミナルエミュレータ iTerm2 には、 正規表現にマッチした文字列が表示されたことをトリガーにして何かを実行する、という機能があります。 Triggers - Documentation - iTerm2 - macOS Terminal Replacement この機能を使えば、 意図しない危険なコマンドを実行してしまう前に警告を出せる のではないか、 と思って設定してみました。 想定するケース 例えばaws cliには大量のコマンド・サブコマンドがあるわけですが、 そのサブコマンドのうち、 現在の情報を取得する「describe-」プレフィクスをもつもの リソースを削除する「delete-」プレフィクスをもつもの この2つは、特に前者は頻繁に使いますし、 一方で後者は、(権限さえあれば)警告なしに 不可逆な 変更を加えてしまいます。 落ち着いて作業していれば、普通は見間

    特定キーワードをハイライト表示してコマンド実行前に注意喚起する(iTerm2) | DevelopersIO
    dempatow
    dempatow 2017/02/07
  • Webサーバー向けのベンチマークツールを使ってみよう(後編)――Apache Jmeterとwbench | さくらのナレッジ

    今回はWebサーバーに対するある特定のパターンでのアクセスによって発生する負荷を調べたい、といった場合に有用な「Apache Jmeter」と、クライアントでのJavaScriptの実行時間までも含めたWebページのロード時間を測定できる「wbench」を紹介する。 グラフィカルにテストシーケンスを作成できる「Apache Jmeter」 記事前編ではWebサーバーの負荷テストを行える「Apache Bench」や「Siege」といったツールを紹介した。Apache Benchは手軽さが、またSiegeでは複数のURLを対象にテストを実行できる点が特徴だが、これ以外にもWebサーバーのテストに活用できるツールはいくつか存在する。今回紹介する「Apache Jmeter」もその1つだ(図1)。 図1 Apache Jmeterのメインウィンドウ Apache Jmeter(以下、Jmeter

    Webサーバー向けのベンチマークツールを使ってみよう(後編)――Apache Jmeterとwbench | さくらのナレッジ
    dempatow
    dempatow 2017/01/24
  • ProxyCommandを使って踏み台(Bastion)経由で直接ssh/scpする | DevelopersIO

    自分の作業環境の作り直しをしているのですが、 たまに理解が怪しくなるので、確認ついでにここに吐き出しておこうと思います。 背景 「リモート環境にあるホストAにsshあるいはscpするためには、 踏み台(Bastion)となるホストXに一度SSHログインしないとならない」 というケース/環境はそこそこ多いと思います。 これがsshなのであればまあ、ssh X -> ssh Aとするだけなのでそこまででもありませんが、 scpだった場合は概ねこんな手順になりますよね。 まずssh XとしてホストXにログイン ホストX上でscp -p A:/path/to/datafile ~/(オプションはお好み) コピーが終わるのを待ってから、Xからログアウト scp -p X:~/datafile . コピーが終わるのを待ってssh X rm ~/datafile これで何が困るかというと、 コピー(sc

    ProxyCommandを使って踏み台(Bastion)経由で直接ssh/scpする | DevelopersIO
    dempatow
    dempatow 2017/01/24
  • Elasticsearchで簡単な検索をしてみる | LINKBAL Blog

    リンクバルの井上です。 システムのデータの規模が大きくなるにつれて必ず問題になるのが検索パフォーマンスかと思います。 今回はその改善で利用されるLuceneベースの全文検索・解析ができるElasticsearchで簡単なユーザ検索をしてみます ##ElasticSearchとは? Elastic社提供のLuceneベースのマルチテナント・スキーマレスで クラウドに最適化されたサーチエンジンサーバー ##ElasticSearchの導入メリット ・全文検索が高速 ・導入しやすい ・プラグインが豊富 ・RESTfulAPI ・データの可視化が簡単(Kibanaの導入) ##ElasticSearchを入れる ###Javaのinstall [code lang=text] brew install java [/code] ###ElasticsSearchのinstall 今回は最新の5.0

    Elasticsearchで簡単な検索をしてみる | LINKBAL Blog
    dempatow
    dempatow 2016/11/30
  • エンジニアブログ まとめ - Bing

    結果がありません: エンジニアブログ まとめスペルを確認するか、別のキーワードを試してみてください Ref A: 657048c2d12d4bab8d3e69d42d569e8e Ref B: PUSEEAP00011B7F Ref C: 2023-12-06T10:11:14Z

    エンジニアブログ まとめ - Bing
    dempatow
    dempatow 2016/10/04
    “テックブログ速報 - ITエンジニアの情報収集なら「テク速!」”