課題 Goでアプリケーションを作るとき、バージョン番号をコードに含めるのにいちいち書き換えてている…。 解決策 ビルドの引数に -ldflags "-X main.version=バージョン" をつける。 やりかた バージョンを代入する変数を一つ作る。
![Go言語: ビルド時にバージョン情報を埋め込みたい - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/b656f983ed7e01a8084b36b0ca31bffe3f0388ba/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9R28lRTglQTglODAlRTglQUElOUUlM0ElMjAlRTMlODMlOTMlRTMlODMlQUIlRTMlODMlODklRTYlOTklODIlRTMlODElQUIlRTMlODMlOTAlRTMlODMlQkMlRTMlODIlQjglRTMlODMlQTclRTMlODMlQjMlRTYlODMlODUlRTUlQTAlQjElRTMlODIlOTIlRTUlOUYlOEIlRTMlODIlODElRTglQkUlQkMlRTMlODElQkYlRTMlODElOUYlRTMlODElODQmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtY2xpcD1lbGxpcHNpcyZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTUwNjFhOGZmYjRmOTFjMWI1ODhhNDFhZTcyOGMwODRi%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwc3VpbiZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9NGFlNjk2NWUyOWFiNjg4MmRlNmViY2E4NDc2NWMxMjA%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D1fb1c3d6ce4b317feb86e6622d42ed00)
Python Practice Book Welcome to Python Practice Book. About this Book This book is prepared from the training notes of Anand Chitipothu. Anand conducts Python training classes on a semi-regular basis in Bangalore, India. Checkout out the upcoming trainings if you are interested. Table of Contents
golang には logger が星の数ほどあるのですが go言語におけるロギングについて — さにあらず コマンドラインオプションについて 分かり辛いので、僕の分かった事だけをメモしておきます。 ログの出力処理は glog.go#output を読めば大体分かります。 -logtostderr これを指定... http://blog.satotaichi.info/logging-frameworks-for-go その殆どがエスケープシーケンスを使って色を出しており、Windows で動かすと残念な表示になる物ばかりでした。 まさかログに色を付けたいという理由だけで ansicon を使うのは悲し過ぎるし、そもそも「ansicon 使ったら負けだと思ってる」ので、go-colorable というライブラリを書きました。 golang の logger はその殆どが標準パッケージの
他のホストのDockerコンテナには接続しづらい 1つのホストの上で複数のDockerコンテナを動かす場合、あるコンテナからあるコンテナに接続するためにはコンテナに付けた名前が利用できる。具体的には、コンテナの名前をもとにDockerが環境変数を提供してくれて、そこにアドレスとポート番号が入っている。しかし、複数のホストの上で複数のDockerコンテナを動かす場合、他のホストで動作しているコンテナに接続したいのであればこの方法は利用できない。単純に接続先のホストのアドレスとポート番号をコンテナ起動時に指定する方法もあるが、この方法では他のホストに接続する全てのコンテナに対して逐一指定する必要がある。 ホストごとにリバースプロキシを置く 他のホストのコンテナへ接続するためのリバースプロキシとなるコンテナを各ホストごとに設置する。これにより、他のホストのコンテナに接続したい場合でも、あたかもコ
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 mrubyを組み込む事によりRubyで設定を書く事ができるTrusterd HTTP/2 Web ServerのDockerイメージを作成・公開しました。 Docker環境のある方は、以下のコマンドで簡単にHTTP/2を喋るWebサーバTrusterdを動かす事ができます。 [program lang=”bash” escaped=”true”] sudo docker run -d -p 8080:8080 matsumotory/trusterd [/program] その後、HTTP/2クライアントであるnghttp(これはnghttp2をビルドして準備してください)コマンドで以下のようにアクセスすると、 [program lang=”
─質問1─ Ruby製サードパーティライブラリ、要はgemで、何が人気なのかってこと、手っ取り早く知りたいんですけど。 ─回答1─ RubyGems.orgのstatsページを見てください。 ─質問2─ えっ?これだけ?この辺は万年上位で固定でしょ。もうちょっと俺の知らないバラエティに富んだものに出会いたいんだけど。俺、Rails用ないし。 ─回答2─ カテゴリー別ならThe Ruby Toolboxがあります。 The Ruby Toolbox - Terminal Coloring ─質問3─ あんた、俺の質問ちゃんと聞いてるの?カテゴリー別なんて言ってないし。それに、ここのカテゴリーってなんか俺的に信用ないんだよね。取りこぼし多いっていうか..。俺のgem出てこないっていうか..。 ─回答3─ GitHubのTrendingでここ最近の人気リポジトリが分かります。 Trending
日本アニメ初の快挙!海外アニメ賞を受賞した『スキップとローファー』海外ライセンス部長&プロデューサーが語る、奮闘の舞台裏
今回は「重複データ」について解説する。例えば、売上表のようなデータの中には、重複したデータも存在する場合があるだろう。そういった場合、重複データを一つにまとめ、その合計金額を表示する「重複を除く抽出リストの作成」や、「重複データの削除」の2つのTipsについて解説する。 最初のTipsでは「フォーム」が登場するが、「フォーム」に関しては、記事「Excelに入力フォームを作成、コントロールを追加、表示、ボタンでイベント実行」を参照しておいてもらいたい。 Collectionオブジェクトとフォームで重複を除く抽出リストの作成 図1のように、「氏名」「お買い上げ金額」の表と「重複しないデータの抽出」ボタンがあり、「氏名」には同姓同名の人物が複数存在するとしよう。図1の各書式はExcelメニューの[ホーム]から設定している。
さくらVPSでサーバーを複数台借りたあと、ローカルネットワークを設定したときの覚書。 環境: CentOS 6.5 x86_64 さくらVPSは同じリージョン内のサーバー同士を無料でローカルネットワーク化できる。スイッチの追加、設定方法は公式ドキュメントを参考に。 ローカルネットワーク接続|さくらのVPS|さくらインターネット公式サポートサイト スイッチをeth1に追加したあとOSに認識させる必要がある。 # cd /etc/sysconfig/network-scripts/ # cp ifcfg-eth0 ifcfg-eth1 # vi ifcfg-eth1 DEVICE="eth1" IPADDR="192.168.0.1" NETMASK="255.255.255.0" ONBOOT="yes" TYPE="Ethernet" IPV6INIT="no" IPV6_ROUTER="
待望のDesktop Notificationですね node-webkit v0.10.1 released with desktop notification, fullscreen API: https://t.co/bVsyMeZ36z — Roger Wang (@wwr) 2014, 7月 30 ということで、待望の機能が実装されたようです。さっそく試してみました。 環境はMac OSX 10.8.5なので、google groupに貼られているリンクから最新のnode-webkitをDLしてセットアップ。 Google Groupはこれです 試しに通知してみる 最小限のコードですが、実装を確認してみます。index.htmlとpackage.jsonは以下のように。 <title>Sample node-webkit app</title> <meta charset="UT
HTML5によって、<audio>や<video>などメディアファイルを扱う機能が拡充され、JavaScriptからも音声ファイルが取り扱えるようになりました。 各ブラウザ毎に対応状況は異なりますが、これらの機能を有効活用するためAjaxリクエストによって音楽のバイナリファイルを取得し、再生するまでのJavaScriptをまとめてみました。 はじめに HTML5によって、<audio>や<video>などメディアファイルを扱う機能が拡充され、JavaScriptからも音声ファイルが取り扱えるようになりました。 ということで、各ブラウザ毎に対応状況は異なりますが、Ajaxリクエストによって音楽のバイナリファイルを取得し、再生するまでのJavaScriptをまとめてみました。サンプルは音声ファイルの受信、再生をCoffee Scriptで書いたものですが、バイナリファイルを取得した後の処理
All slide content and descriptions are owned by their creators.
『MarkeZine』が主催するマーケティング・イベント『MarkeZine Day』『MarkeZine Academy』『MarkeZine プレミアムセミナー』の 最新情報をはじめ、様々なイベント情報をまとめてご紹介します。 MarkeZine Day
JavaScriptの単体テスト環境構築のまとめ。 テストランナーとして「Karma」、テストフレームワーク・アサーションライブラリとして「Jasmine」を使う。 前提条件 下記が使用できること。 node npm 検証環境 MacOS X 10.9.2 package.json生成
簡易webサーバー構築 ~# V ��`" V # 起動 $ ruby -r webrick -e 'WEBrick::HTTPServer.new(:ServerName => "localhost", :DocumentRoot => "./", :Port => 8080, :MimeTypes => WEBrick::HTTPUtils::DefaultMimeTypes.merge({"js"=>"text/javascript"})).start' # 停止 $ ps aux | grep ruby $ kill -9 <pid> // reference doc is here! // http://www.ruby-lang.org/ja/old-man/html/WEBrick_HTTPServer.html
Phalconは自由度が高く、特にフォルダ構造などには規約はありませんが、参考として今回は生成されたフォルダ構造に触れながら、Phalconの設計に慣れましょう。 生成されたPhalconプロジェクト構造について簡単に解説します。 app Phalconの開発を進める上でのアプリケーションを格納するフォルダです。 app/cache Phalconで使われるテンプレートエンジンである、voltのコンパイル済みキャッシュが配置されます。 voltはtwigやjinjaに記述が似ているコンパイル型テンプレートエンジンです。 コンパイル時にPHPを生成しますが、この生成ファイルをcacheフォルダに保存しています。 他には、WebAPIなどから取得した結果を、一定時間ファイルシステムにキャッシュしたい場合などにも使えるでしょう。 app/config プロジェクト全体で使う、設定ファイルを配置す
生産年齢人口減少の危機 2010年に8000万人以上の生産年齢人口は、2030年に6700万人ほどになり、「生産年齢人口率」は63.8%(2010年)から58.1%(2030年)に下がる。つまり、人口の減少以上に、生産年齢人口が大幅に減るのである。(国内人口推移が、2030年の「働く」にどのような影響を及ぼすか) 直近の5年間(2015年~2020年)を見ても、7682万人から7341万人、341万人の生産年齢人口が減少する。この数字は、同時期の総人口の減少が、250万人の減少であることを考えると、それを上回る勢いで、生産年齢人口の減少が進むことになる。(参照:内閣府・平成25年版 高齢社会白書) この現実は、人を増やすことで、売り上げと利益を増やし、企業を成長させる「人数×単金×期間」の収益構造が、成り立たなくなることを示唆している。さらにこの事態に追い打ちをかけるであろうと心配している
概要 Dockerコンテナ内にmysqlサーバを立てます。 mysqlアカウントを作成したり、mysqlサーバを外部に公開することも行います。 動作確認を行った環境は、ホストOS, コンテナOSともにCentOSです。 そもそもDockerとは 仮想環境構築に docker を使う - apatheia.info を読んでください! Dockerfile さっそくですが、以下が Dockerfile です。 コンテナイメージを作成するために必要なファイルです。 # DOCKER-VERSION 0.3.4 FROM centos:6.4 # ここは自由に変えてください MAINTAINER Taro Tanaka # パッケージインストール RUN yum install -y mysql mysql-server # mysqlサーバのセットアップ RUN echo "NETWORKIN
HerokuとGithubを使った統一的なツール配布 Go言語ではクロスコンパイルがとても簡単で,複数プラットフォーム向けのバイナリをつくってそれを配布するというのがさらっとできる. 単純にやるなら, クロスコンパイルした各バイナリをzip等に固める Github Releaseやbintray,Dorone.ioなどにホストする そして,ユーザには自分のプラットフォームに合ったものをダウンロード/展開してPATHの通ったところに置いてもらう. 開発者からすると,すごい簡単.ホストするまで完全に自動化できる.でも,ユーザからすると若干めんどくさい. もっとツールを使い初めてもらうまでの敷居を下げたい. TL;DR 全プラットフォーム共通で以下のようにツールをインストールできるようにする.若干長いが1コマンド! $ L=/usr/local/bin/ghr && curl -sL -A "`
Android:もしもあなたのスマホに膨大な種類のアプリがインストールされているのならば、たまには整理整頓してみてはいかがでしょうか。『Easy Uninstaller』は、複数のアプリのアンインストール作業のみならず、そのアプリが残すファイルの削除も簡単にしてくれるアプリです。Easy Uninstallerには、アプリの削除後にそのアプリが残したファイルをクリーンアップする機能などが備わっています。また、このアプリの名前が示しているように、とても簡単に複数のアプリを選択して一気に削除するこができます。 不要になってしまったアプリを選択し、削除プロセスが完了すると、スペースの無駄でしかない、残存ファイルを削除するよう促されます。ちょっと前のデバイスをお使いなら、限られた記憶領域を最大限に活かすのには最適です。また、不要な残存ファイルを削除することは、プライバシーに関する懸念を払拭すること
サーバー向け軽量OS「CoreOS」正式版がこの7月にデビューした。CoreOSは、アプリケーションをOSごと簡単に初期導入できる今話題のOS仮想化ソフト「Docker Engine」に特化した専用OS。メモリーが1Gバイト程度のマシンでも十分試せる軽量さが売りの“クラウドOS”だ。Windows XP世代の中古PCであっても、その可能性を簡単に体感できる。実際にCoreOSのインストールから初期設定までを試してみた。 CoreOSは、OS仮想化ソフトの「Docker Engine」に特化したOS。Docker EngineはOSを仮想化して1台のマシンで複数のOSを同時に実行するためのツール群だ。アプリケーションとOSを合わせた実行環境(コンテナー)をイメージファイル化する機能を備え、アプリケーションの迅速かつ大規模な展開を可能にしている。開発元の米Docker社は、配布のためのクラウド
Class、Interface、Module-TypeScriptが提供する目玉機能を一挙紹介! 谷口慈行(Microsoft Student Pa...) クラス・インターフェース・モジュールは大規模な開発を行う際の強力な味方であり、TypeScriptの重要な機能の一つです。連載第3回目となる今回は、オブジェクト指向に欠かせないクラスについて紹介します。 クラスJavaScriptはプロトタイプベースの言語であり、静的なクラスではありません。しかし、多くのライブラリにて静的なクラスを再現する機能が実装され、利用されています。TypeScriptでは、静的なクラスが使用でき、多くのクラスベースの言語と同様のノウハウや実装方法を利用できます。 クラスを定義するには、 classキーワードを使用します。 class Person { private name: string; constru
こういの記事を定期的に書いていますが、以前のものは古くなっているので書いてみます。ウェブサイト、ブックマークレット、拡張機能(Chrome)から本当によく使っているものを無理やり数を増やすことなく厳選して紹介します。 実際にウェブサイトを作成する時にお世話になるであろう順番で紹介します。ウェブサイト、ブックマークレット、拡張機能(Chrome)ごとで分けていませんのでご注意ください。 I/O 3000 | Webデザインギャラリー 【ウェブサイト】 ギャラリーサイトって同じサイトが紹介されていることも多いので、あまり色々を見ません。最近はこちらをよく見ます。更新頻度も高く、カテゴリやタグ分けも使いやすくなっています。 とはいうものの、もっと色々見たいというときもあるので、そんなときは以下のサイトもよくみます。どれもきれいで見やすいサイトです。やっぱり無限スクロールがいいですね。 【S5-S
Railsアプリケーションのルーティングは、config/routes.rb1ファイルで最初は開発を始めると思います。 ただ、サービスを運用していくとルーティングは膨らみ、メンテナンスコストも馬鹿になりません。 そのため、ルーティングの設定をできるだけメンテナンスしやすく作っておくことでそのコストを下げようという試みです。 Railsのルーティングは、config/routes.rb がルーティングの設定ファイルにデフォルトで指定されています。 ただ、これは変更可能ですし、複数のファイルに分割もできます。 昨今のアプリケーションの用途は、Web、native(iOS、Android)、APIサーバ、と多岐にわたるので、 config/routes.rb config/routes/api/v1.rb config/routes/api/v2.rb config/routes/web.rb
@t_wadaさんが、データベース設計の素晴らしい資料をリンクしていたのでメモ。 下記の資料は、MySQLでソーシャルゲームのDB設計のお話らしいが、データモデリングの設計ノウハウが秀逸。 気になった点をメモしておく。 理解できたことをラフなメモ書き。 【元ネタ】 Twitter / Takuto Wada: 素晴らしい資料。"「スキーマ」「トランザクション」「インデックス」はもっと評価されるべき" / ソーシャルゲームのためのデータベース設計 http://htn.to/PzrnbR 【1】可用性や整合性に関する要求が意外と多い たとえ、SNSやゲームであろうが、課金体系になるとお金が絡むため、ユーザの要求のレベルも上がるし、事業者の責任も大きくなる。 データモデリングはアーキテクチャ設計につながる。 【2】派生関係 データベース設計(DOA)でも、派生関係(継承関係)はオブジェクト指向
よくあるツールなんだけど、なかなか希望に叶うものというと見つけにくく、どうせなら自分で書いたらいいかと思ったので書いてみた。やってみたら割とすぐ書けた。 MacRuby のインストールが必要。1ファイルにしたかったので、XCode なしで使っている。あんまり XCode なしでの作例がないが普通に NSApplication.sharedApplication を取得したらいいだけだった。 NSEvent.addGlobalMonitorForEventsMatchingMask:handler: は「システム環境設定」→「セキュリティとプライバシー」→「アクセシビリティ」で macruby を許可しないと使えない。これができるということは、すなわちキーロガーが実装できるということなので、必要なときだけ許可するほうがいいと思う。 #!macruby framework "Cocoa" cl
アトラクションルームクラス。ルームに人を追加するaddメソッドを持つ。キャパシティは合計20あり、男性の大人は3、女性の大人は2、子供は男女とも1を消費する。キャパシティがいっぱいになったら満員で、それ以上は人を追加できない package spockexample; import org.junit.Before; import org.junit.experimental.runners.Enclosed; import org.junit.experimental.theories.DataPoints; import org.junit.experimental.theories.Theories; import org.junit.experimental.theories.Theory; import org.junit.runner.RunWith; import stati
KAIZEN platform Inc. Senior Technology Advisor 伊藤直也氏(@naoya_ito) 2002年に新卒入社したニフティでブログサービス『ココログ』の開発担当となり、一躍有名になる。その後、はてなで『はてなブックマーク』など各種サービスを立ち上げ、2010年にグリーへ入社。2012年に同社を退職して以降は、フリーランスとしてベンチャーの技術顧問などを請け負う。自身のブログ『naoyaのはてなダイアリー』が人気 「Webアプリの実装で差別化は無理」という考えが変わった 現在、KAIZEN platform Inc.をはじめ複数社の技術顧問を務めている伊藤直也氏。「普段から、アウトプットの目的なく技術の勉強をすることはほとんどない」という性分から、今年上半期は「顧問としてベストプラクティスを提供するために知っておくべき領域」にフォーカスして情報収集を
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く