タグ

ブックマーク / hiroki.jp (18)

  • 元旦に実施される うるう秒の対策 まとめ | Act as Professional

    前回のうるう秒が2015年7月1日でした。 今回は2016年12月31日の最後にうるう秒が追加されます。日時間だと2017年1月1日の午前9時(正確には8時の最後に挿入)となります。 「うるう秒」挿入のお知らせ | NICT-情報通信研究機構2015年に実施されたときからまわりの環境は良くなっているので、うるう秒への対策簡単にとれるようになりました。このことについて、簡単にまとめておこうと思います。 ※ うるう秒について、詳しい解説が欲しい方は以前の記事を参照してください。 ー 閏秒を迎えるにあたってLinuxでは何を対策すべきか? うるう秒対策済のNTPに設定を向ける結論から言うと、うるう秒対策が施されているNTPサーバにntpdの設定を向ける。というのが最近登場した簡単な方法です。 11/30にGoogleがうるう秒対策済のPublic NTPを公開しました。 Public NTP

    元旦に実施される うるう秒の対策 まとめ | Act as Professional
    taka222
    taka222 2017/01/01
  • 4月からの電力自由化するので電力会社を比較して契約した | Act as Professional

    4月から電力自由化ということで、今まで電気とは無縁のイメージだった企業が電気を提供するという広告を目にするようになりました。我が家ではペットがいるためエアコンを24時間利用していたり、開発試験用のサーバもずっと稼動しています。そのため、電気が一瞬でも止まるようなことがあれば、非常に困ります。 今まで電気を提供してない事業者と契約して、少しでも停電になるようなリスクがあるくらいなら、多少料金が高くなったとしても、安定した東京電力のままでいいや。と、あまり電力自由化について調べもせずに考えていました。 日あらためて調べてみると、こんな考えは大きな誤解でした。 電力事業者を変更しても、停電が起きるリスクは現状と変らない現在、東京電力と電気の契約をしています。 これを新たに参入する事業者に変更しても、電力自由化の仕組みだと停電が起きるリスクは変りません。 今回の電力自由化の送電網は現在契約してい

    4月からの電力自由化するので電力会社を比較して契約した | Act as Professional
    taka222
    taka222 2016/02/22
  • 閏秒を迎えるにあたってLinuxでは何を対策すべきか? | Act as Professional

    2016/12/27 更新Googleなどの大手IT企業がうるう秒対策済のNTPサーバが公開したため、これを利用する内容などを以下にまとめました。 元旦に実施される うるう秒の対策 まとめ2016/07/08 更新2017/1/1に閏秒の実施が決定されました。対応はこの記事のとおりで問題なさそうです。 2015/06/24 情報追加(2015/06/29 更新)下記の対応に関わるntpdの比較的新しいバージョンにSLEWモードで動作していても、うるう秒が挿入されるバグが発見されました。[redhat] これによりntp-4.2.8p3-RC1以降のバージョンでないとSLEWモードで動作していてもうるう秒が挿入されます。RedHatはntp-4.2.6p5-3.el6_6という対応済みのバージョンを提供しています。Ubuntuでは今日現在12.04LTS, 14.04LTSの2バージョンはパ

    閏秒を迎えるにあたってLinuxでは何を対策すべきか? | Act as Professional
    taka222
    taka222 2015/01/09
  • Rails使いよspork, zeusからspringへ! | Act as Professional

    Rails application preloader といえば spork や zeus を使っている人もいるかと思います。 今後、期待できる preloader として spring を教えてもらいました。 springはzeusと類似していますが、springはrubyで実装されています。Railsに綿密に統合されているのが他のプリローダーと比較すると大きな特徴です。 Railsコミッターが開発していることからも、今後期待できるpreloaderです。 インストールGemfileにspringを追加します。 group :development, :test do gem 'spring' end$ bundleこれでgemが導入されます。 利用方法springの簡単な使い方です。 $ bundle exec spring Usage: spring COMMAND [ARGS] T

    Rails使いよspork, zeusからspringへ! | Act as Professional
    taka222
    taka222 2014/10/06
  • rubocopによる静的コード解析でRubyのコード品質を保つ | Act as Professional

    rubocopRubyの静的コード解析ツールです。このコード解析を通すことによって、一定のRubyの書き方に統一することができます。また、不要な変数やメソッド名が長すぎるなど、一般的にRubyとして読みやすいコードにするための警告もされます。 こういった警告はRuby coding style and best practicesとしてRuby coding style guideにまとめられおり、Rubyを書くのであれば基的にはRuby coding style guideを一読しておくことをおすすめします。英語が苦手であれば、翻訳された日語版も存在します。 なぜ静的コード解析をするのか?静的コード解析し一定の読みやすいコードに統一することによって、人間が誤読する確率を下げることにより、バグなどの混入させる確率を下げる効果があります。また昨今ではGitHubコードレビューをするよ

    rubocopによる静的コード解析でRubyのコード品質を保つ | Act as Professional
    taka222
    taka222 2014/07/28
  • 昔の自分に教えてあげたい、新人プログラマへ伝えていること | Act as Professional

    最近、この春に職業プログラマになった人達と話す機会に恵まれているので、共通して話すことを書いてみる。 大概、○○について、聞かせてください。とか、いろいろ聞いてくる人達は、羨ましいぐらい、すごく意識高い。 彼らは会社での仕事のプログラミングを上手にやりたい。ってのは、あたり前だし、 どうやってテストを綺麗に書くか? テスト書きながらプログラミングするってのをどう学ぶか? 綺麗な設計はどうやるのか? 仕事でコードを書いていくってのは、どういうことなのかとか? すごいコードはどうやって書くのか?とか、いろんな事を学びたくて、何から学ぶべきなのか見失っているのではないかというぐらい、やる気に満ちあふれている。人それぞれ、やる気の方向性や現在のスキルセットが違うから何をしたいのか、した方が良いのかは異なっている。 だけど、ざっくり共通しているのは、結局のところ「ある程度のプログラマとしての実力をつ

    昔の自分に教えてあげたい、新人プログラマへ伝えていること | Act as Professional
    taka222
    taka222 2014/06/01
  • dockerが正式サポートしたOS Xの環境を構築してみた! | Act as Professional

    正式サポートの概要DockerはこれまでもOS Xの上で動かそうと思えば、動かすことはできました。これはOS Xの上でVagrant(実稼働しているのはVirtualBox)などを利用した仮想マシンで通常のUbuntuやCentOSなどのLinuxを立ち上げて、そのLinux環境の中でDockerを稼働させるというものが中心でした。もちろん公式サポートはされていませんでした。 これはDockerそのものがLXC (Linux Containers) と呼ばれるLinuxのOSレベルでの仮想化技術を利用したものなので、Linuxの上でしか利用できなかったからです。よって、バージョン0.8からもOS Xの上でネイティブに動作するわけではありません。 では、どのようにして正式サポートしたのかというと、Dockerが専用の軽量仮想マシンイメージを用意し、OS Xからこの仮想マシンに対してDocke

    dockerが正式サポートしたOS Xの環境を構築してみた! | Act as Professional
    taka222
    taka222 2014/02/09
  • PHPを使っているすべての人が知るべき無料のPaaSサービス | Act as Professional

    先日発売されたsymfonyの執筆に携わらせて頂いたので、今回はPHPのPaaSホスティングサービスである cloudControl で、無料で symfony1.4 を稼働させます。きっと、cakePHPやCodeigniterも稼働させることができるのではないでしょうか。 cloudControlって? 1時間あたり1BoxというcloudControlで定義している独自の単位は無料で使えます。簡単に言うと、少ないアクセスのサイトだったら無料で使えます。それ以上のアクセスを提供するためにはunlockの手続き(有料)が別途必要です。 また、無料で提供しているアドオンが利用できます。その中にはMySQLがあるので、PHPMySQLで稼働するフレームワークは大抵稼働するのではないでしょうか。 cloudControl で symfony1.4 を稼働させるところまで、解説することにしま

    PHPを使っているすべての人が知るべき無料のPaaSサービス | Act as Professional
    taka222
    taka222 2011/03/29
  • いまどきのRubyとRailsの学び方 | Act as Professional

    code school という学習サイトがあります。現在は、Ruby on Railsに特化したコンテンツがありますが、確認する限りでは、jQueryやHTML5 & CSS3のコンテンツが近いうちに公開される予定です。 なにが、いまどきなのか? Ruby on Railsrails3に対応してる)が無料で学習できる Rails for Zombies をやってもらえば、すぐにわかるのですが、rails環境を一切つくることなく、Webブラウザだけで完結しているコンテンツなんです。 つまり、ブラウザにコードを打ち込んでいくと、動作する結果を返してくれるのです。環境作りに苦労することなく、学習に専念できるのです。 初心者向けのコンテンツだからこそ、こういった配慮は大事だなぁと考える。 Rails for Zombies は5章構成になっていて、1章ずつ動画で丁寧に説明されている。英語が聞き取

    いまどきのRubyとRailsの学び方 | Act as Professional
    taka222
    taka222 2011/03/28
  • プロとしての行為 Act as Proffesional

    1.一般的なコーディング規約に目を通し、エレガントなコードを知るエレガントなコードを書くためには、エレガントなコードを知らなければならい。その土台を築いているコーディング規約について、オープンソースではどのようなものが使われているのか理解しておこう。入社する予定の会社が採用している言語については必ず目を通しておこう。 PHPPEAR 標準コーディング規約symfony CodingStandards Perlperlstyle Ruby クックパッド株式会社のRubyコーディング規準 Matzスタイル NaClで採用している規約 Python PEP 8そして、あなたの身近にあるオープンソースのコードを実際に読んでみよう。この時点でコードの仕組みや設計が理解できなくても良い。コードがエレガントかどうか?を感じ取って欲しい。こう書いた方が、良いのではないか?など、考えてみよう。

    プロとしての行為 Act as Proffesional
    taka222
    taka222 2011/03/28
  • プロとしての行為 Act as Proffesional

    スーパーエンジニア達の習慣が大人気だったので、自戒の意も込めて、反面教師として成長しないエンジニアの悪習慣について僕の経験と視点からまとめてみる。 業務時間外での学びがない プロ野球選手は日々練習をして、試合という番で勝敗の結果を出して評価されるこれをエンジニアに置き換えると、どこかで練習をして、仕事という試合をして、ソフトウェアという勝敗の結果をつくりだす。プロ野球選手が試合を練習だと思って取り組んでいたら、結果を出せるのだろうか? 業務外で練習をして、番で良い結果を出せるように努力しよう。練習大事!! 時間をかければよいものができると信じているいくら時間をかけたって、バグのないエレガントなコードのソフトウェアはできない。効率的に仕様を満たしていくことが求められている。むしろ、時間をかけるべき所は上記で指している練習!! 参考:集中力を発揮して、生産性を高めるために知っておくべきこと

    プロとしての行為 Act as Proffesional
    taka222
    taka222 2011/01/19
  • 達人プログラマーに学ぶ リファクタリング | Act as Professional

    ガーデニングのメタファーはソフトウェア開発の現実にかなり近いものです。あるルーチンが大きくなりすぎたり、色々なことを実現しようとしすぎている場合、2つに株分けする必要があるのです。また、計画通りうまくいかないものは雑草を抜いたり剪定してやらないといけないのです。 こういったコード記述のやり直し、再作業、再設計を総称して「リファクタリング」と呼びます。 リファクタリングのきっかけDRYの原則に反している直交していない設計時代遅れの知識をつかっているパフォーマンスがわるいクラス、メソッドが長い名前がしっくりこない同じようなコピペコードがいくつも見られ、UIを直すとロジックを直して、DBもなおすとか。非推奨のメソッドを使っていたり。ループ分が多いし、やってることとメソッドの名前があっていないとか。みなさんも、思い当たるようなことはありませんか? タイミングとガン細胞の切除 きっかけを見つけたら、

    達人プログラマーに学ぶ リファクタリング | Act as Professional
    taka222
    taka222 2011/01/17
  • これはマネしたい!スーパーエンジニア達の習慣 | Act as Professional

    いままで勉強会に顔を出し、すばらしいエンジニアと数多く会うことができた。そして、スーパーエンジニアと共に仕事をすることもできたし、できている。そんなスーパーエンジニア達が持っていた習慣を僕の経験と視点からまとめてみる。 自分が使う道具を厳選して選んで手入れをしているエンジニアでいえばエディタやツールなど。皆が使っているIDEやエディタを何も考えずに使い始めたりしない。 厳選したエディタやツールを使って、手になじませるのである。手になじませるというのは、2つの意味がある。 1つは操作性に慣れること。呼吸をするように自然に、キーボードの上を駆け回る心地よいリズムを奏でるエディタを選ぶ。 2つめは、自分に合わせて拡張しているということ。プラグインのON/OFFだけではなく、オリジナルのショートカットを設定し、適切なハイライト、シンタックスのチェック、コーディングルールのチェック、様々な言語への対

    これはマネしたい!スーパーエンジニア達の習慣 | Act as Professional
    taka222
    taka222 2011/01/17
  • Twitter OAuthに必要なKEYをそろえる | Act as Professional

    TwitterAPIRubyでいじっていたので、書きました。 CONSUMER_KEYとCONSUMER_SECRETは事前に入手して、スクリプトの最初の部分を書き換えてください。 入手先 → http://dev.twitter.com/apps[Register new app]をクリックしてこんな感じで入力すればすぐに手に入ります。 gem oauthがインストールされていなければ、こんな感じでインストールしてください。 $ gem install oauthスクリプト require "rubygems" require "oauth" CONSUMER_KEY = 'XXXXXXXXXXXXXXXXXXXX' CONSUMER_SECRET = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' consumer = OAuth::Consumer

    Twitter OAuthに必要なKEYをそろえる | Act as Professional
    taka222
    taka222 2011/01/05
  • 5分でわかる Python を知らない人が Python の便利さを学べる記事をかいたよ | Act as Professional

    昨日はJavaScript版が出たので、あまり書いたことのない Python を勉強がてら書いてみました。 Python を知らない人に Python の話をして欲しいと言われてないけど、ブログを書きました。(*1) 難しい話は抜きにしたいんだけど、抜きにしちゃうとまったく訳わかんないから簡単に説明する。 今回は Python の psp ってのを使って元ネタ同様のことを実現する。 mod_pythonCGI が動くサーバなんて自分でつくらないとないだろうけど、その辺はどうにかしてもらう。 そんなこんなで、どうにかしてもらったら、 <%= と %> で囲めば動きます。 import ではじまるコードの部分とか事前に処理するところは <% と %> で囲んでください。 どうにかしてもらったサーバで example.html というファイルの拡張子を example.psp すれば良いだ

    5分でわかる Python を知らない人が Python の便利さを学べる記事をかいたよ | Act as Professional
    taka222
    taka222 2011/01/01
  • 達人プログラマーに学ぶ 絶え間ない結合化と容赦ないテスト | Act as Professional

    書いたコードの量が増えれば、増えるほど、比例してバグが増えていきます。 予期せぬバグはスケジュールに致命的な影響を与える。 手を加えたソースの量が増えてからバグを特定するのには多くの時間や労力を費やすことになります。 達人プログラマーはどうするのか?p.241 第8章 達人のプロジェクトより 早めにテスト、何度もテスト、自動でテスト 書いたコードが少ない段階で、少ないテストをして、小さなバグをできるだけ早く解決していく。製品コードとテストコードを同時に書いていくのです。仮にバグを埋め込んでしまったとしても、バグになっている箇所はすぐに特定できるでしょう。 このテストをあながた手を動かしてやっている暇はありません。 あなたは新たなバグを埋め込むために製品コードを書かなければなりません。絶対に自動化しましょう。 自動化してテストを何度も、何度も、繰り返しおこなえるようにしましょう。結合テストも

    達人プログラマーに学ぶ 絶え間ない結合化と容赦ないテスト | Act as Professional
    taka222
    taka222 2011/01/01
  • Rubyをはじめるなら「たのしいRuby」から | Act as Professional

    Rubyをはじめるなら、これからといわれるほど、 鉄板と思われる「たのしいRuby」をやっとこ読み終わる。 で、結局、やっぱり鉄板だと思う。C#やPerlをやってきた経験からいうと、 イテレータ条件式の判定同じ処理の構文が何種類もある(やろうと思ったらワンライナーで書ける)このあたりが、明確になる。 恐らく、読まなかったら「はぁ!?」という状態。 実際にRailsAPIのソースなどを読んでいると「はぁ!?」というソースがたくさん。 「なんだ、この書き方?意味わかんね。」という状態になる。 ぶっちゃけ、RubyRailsを扱う上で肝に銘じることは、 ソースを読むつもりで使うこと。ってのが前提にある。 少なくとも、やっていてしょっちゅうそういう状態になる。 まずは文法が何種類もあって、 この引数の渡し方ってなんだぁ?とか、 メソッドの記述の仕方が複数あったりする。 JavaやC#やPerl

    Rubyをはじめるなら「たのしいRuby」から | Act as Professional
    taka222
    taka222 2010/12/31
  • プロとしての行為 Act as Proffesional

    Ruby を知らない人に Ruby の話をして欲しいと言われてないけど、ブログを書きました。(*1) 難しい話は抜きにしたいんだけど、抜きにしちゃうとまったく訳わかんないから簡単に説明する。 今回は Ruby の erb ってのを使って元ネタ同様のことを実現する。 mod_ruby が動くサーバなんて自分でつくらないとないだろうけど、 その辺はどうにかしてもらう。 erubyが導入されていれば、ファイルの1行目に #!/usr/bin/eruby -McKuCutf-8 とする。(*2) そんなこんなで、どうにかしてもらったら、 <%= と %> で囲めば動きます。 どうにかしてもらったサーバで example.html というファイルの拡張子を example.rhtml すれば良いだけです。 <%= Rubyスクリプト %>拡張子を変えずに動かすこともできます。 .html ファイルで

    プロとしての行為 Act as Proffesional
    taka222
    taka222 2010/12/30
  • 1