タグ

marmotteのブックマーク (1,706)

  • あなたはどこまで解き進められる? 「FizzBuzzダンジョン」でコードパズル

    はじめに いつもは「マンガで分かるプログラミング用語辞典」を描いている、クロノス・クラウンの柳井です。JavaScript大好きで、「マンガで分かる JavaScriptプログラミング講座」を書いたりもしています。そして最近は「CodeIQ」というサイトで、さまざまなプログラミングの問題を出題しています。 今回は、その「CodeIQ」で出題して人気のあった「FizzBuzzダンジョン」という問題のさまざまな解法を紹介しようと思います。私自身も勉強になり、コードを読むことを楽しめましたので、プログラマーの方々はきっと楽しめると思います。 「FizzBuzz問題」とは、3の倍数のときは「"fizz"」、5の倍数のときは「"buzz"」、共通の倍数のときは「"fizzbuzz"」、その他は「数値」を戻すという単純な処理です。ループ処理と分岐処理を理解していればコードを書けます。 「FizzBuz

    あなたはどこまで解き進められる? 「FizzBuzzダンジョン」でコードパズル
    marmotte
    marmotte 2013/12/25
    後でやってみるかな… JSあまりよくわかってないしw
  • Mac で Vagrant を GUI で操作できる「VagrantX」をリリースしました

    Shin x blog Advent Calendar 2013 の最終日です。 12/1 から毎日書いてきた Shin x blog Advent Calendar 2013 ですが、いよいよ今日が最終日です。 今日は、クリスマスということで、ささやかながらちょっとしたプレゼントを用意してみました:D VagrantX GUI で Vagrant が利用できる VagrantX というツールをリリースしました。 http://shin1x1.github.io/vagrantx/ Vagrant は、とても良いツールなのですが、いかんせんターミナル(黒い画面)で操作するものなので、それに慣れていない人にとっては、少し敬遠されている面があります。Vagrantfile を自分で書くような人はターミナルでどんどん使うべきなのですが、用意された Vagrantfile をただ使うだけであれば、

    marmotte
    marmotte 2013/12/25
    ほぅ…面白い。 とはいえ、個人的にはcliで利用できるので、vagrantを利用しているわけだが…
  • マイクロソフト「Cloud OS Network」開始、Windows Azure中心のクラウド戦略から方向転換

    マイクロソフト「Cloud OS Network」開始、Windows Azure中心のクラウド戦略から方向転換 米マイクロソフトは、Hyper-V、Windows Server、System Center、Windows Azure Packなどのマイクロソフトテクノロジーを採用したクラウドサービスを提供するパートナーを集めた「Cloud OS Network」を発表しました。 マイクロソフトがWindows Azureを発表してからずっと、同社のクラウド戦略はWindows Azureを中心に語られてきました。しかし今回発表された「Cloud OS Network」は、同社のクラウド戦略の大きな方向転換を示すものとなります。 Windows Azureに代わって新しく同社のクラウド戦略の中心になったのが「Cloud OS」というビジョンです。このCloud OSとは、マイクロソフトのテ

    マイクロソフト「Cloud OS Network」開始、Windows Azure中心のクラウド戦略から方向転換
  • vagrant-serverspec で TDD ライクにサーバ構築を行う

    Shin x blog Advent Calendar 2013 の 24 日目です。 先日リリースされた vagrant-serverspec を使って、テストドリブンなサーバ構築を行ってみました。 vagrant-serverspec は、サーバ、インフラの状態をテストするツール serverspec を Vagrant のプロビジョナとして実行できるプラグインです。これを使うことで、vagrant コマンドから、serverspec のテストを実行することができます。 詳しくは、@ryuzee さんの下記エントリを参照して下さい。 vagrant-serverspecを使ってプロビジョニング結果をテストする | Ryuzee.com 仕様 今回構築するサーバの仕様は下記です。PHP 5.5.x をインストールして、ビルトインサーバを起動するというものです。(※ちなみにビルトインサーバ

    marmotte
    marmotte 2013/12/25
    後でよむ
  • 僕が考えた最速・最小投資でRubyを学ぶ方法またはステマ乙

    そろそろ軽くRubyをやってみたいけどなんか情報多すぎてどこから手を付けたらいいかわからない、リファレンス的なものとか言語論的なものとかコミュニティー的なものとかの情報は結構あるけど、もっとカジュアルでかと言ってどの言語でも使いまわせる的な説明じゃなくRubyらしさが浮き出てるようなもので、しかもちょっとしたCLIツールとかWebアプリとかを作れる程度に理解の手助けをしてくれるものがほしいけど、今の段階で大枚叩きたくないしという人向けに僕がRubyの道案内を致します。 ステップ1(所要時間:0〜10分、投資額:0円) あなたのコンピュータでRuby2系を使えるようにします。 Macなひと => Mavericksをインストールする。 Windowsなひと => RubyInstaller for WindowsRuby2系をインストールする。 Linuxなひと => ご自由に。 ターミナ

    僕が考えた最速・最小投資でRubyを学ぶ方法またはステマ乙
    marmotte
    marmotte 2013/12/25
    悔しいが、chef、vagrant、fluentなどなど、インフラ界隈でrubyの方がPythonよりも台頭していると思う。 カタコト程度には書けるようになっておかないと…
  • route53をAWS CLIで切り替える~マネジメントコンソールも使えないこんな世の中じゃ~ | Engineer's Blog

    12/23(月) 16時前にただならぬアラートが来だした。 影響ドメイン等からcloudfrontの可能性を疑い、twitterで検索すると、やはりそうらしい。 急いで家に帰り、キャッシュのパージ等を試してみるも、復旧しない。 nslookupをすると、結果が返ってきたり、返ってこなかったり、遅かったり。 どうやら、cloudfrontのドメインがroute53で引けなくなっているようだ。 上司相談し、cloudfront経由のドメインをオリジンサーバへ向けることにした。 しかし、AWSのマネジメントコンソールもcloudfrontを使っているらしく、死んでいる。画面が真っ白だ。 自分の頭も一瞬真っ白になった。 すこしうろたえたが、AWS CLIで切り替えればいいかと思いついた。 ちょうど自分のサーバにインストールしてあるし。 備忘も兼ね、簡単な使い方を残しておく。 ゾーンIDの確認

    route53をAWS CLIで切り替える~マネジメントコンソールも使えないこんな世の中じゃ~ | Engineer's Blog
  • パソコンの電源鳴きから4096ビットのRSA秘密鍵が解析される | スラド セキュリティ

    イスラエル・テルアビブ大学の研究チームが、GnuPGが暗号文を処理する際に変化するパソコンの「電源鳴き」を取り込んで処理することで、4096ビットのRSA秘密鍵を1時間以内に解析できたそうだ(RSA Key Extraction via Low-Bandwidth Acoustic Cryptanalysis、 論文PDF、 Hack a Dayの記事、 家/.)。 多くのCPUでは与える命令や結果によって消費電力、発熱、発するノイズなどが変化し、これを観察することで実行中の命令やデータを外部から推測することができる(サイドチャネル攻撃と呼ばれる)。通常この攻撃はスマートカードや小さなセキュリティチップなどに対して行われるが、このチームでは過去に処理するRSAキーによってPCの発する音が変化することを発見していた。 今回の実験では主に高感度マイクを標的PCの排気口に向け、アンプやデータ収

    marmotte
    marmotte 2013/12/24
    キータイピング音で入力文字を分析するというのあったが、電源音からRSAキーを解析するとは…
  • Docker コンテナにアプリケーションを立てて Graphite でいい感じに可視化するまで - wtatsuruの技術方面のブログ

    このときにやった可視化部分の話。急いで作ったのでいろいろ雑な部分が多い。 開発合宿でDockerとMesosを使っていい感じにリソース提供とデプロイするやつを作ってた - wtatsuru's blog はじめに 元のやつから内部情報を削ったサンプルを置いておきます。適当にサーバ名など修正すれば使えるかもしれません。 https://github.com/tatsuru/docker-sample-app 全体の仕組みについてはここの図がわかりやすいと思います Docker + Mesos + Marathon + Graphite + Fluentd + Sensuを組み合わせたデプロイ管理ツールの話 - ゆううきブログ やりたいこと 目的はアプリケーションの現状を俯瞰できるダッシュボードを作ること。 それぞれのDockerコンテナは短命なので、下記の情報をうまく集約してやる必要がある。

    Docker コンテナにアプリケーションを立てて Graphite でいい感じに可視化するまで - wtatsuruの技術方面のブログ
  • Oracle/MySQL/PostgreSQLにおけるサブクエリを含むDMLの非互換性 - SH2の日記

    JPOUG Advent Calendar 2013の23日目です。比較的簡単なDMLでもRDBMS間の非互換性が出てしまうという怖い話をします。 +----+------+ | id | data | +----+------+ | 1 | a | | 2 | b | | 3 | c | +----+------+BEGIN; -- IDが最も小さいレコードをロックする SELECT id, data FROM q WHERE id = (SELECT MIN(id) FROM q) FOR UPDATE; (何らかの処理) -- 処理が終わったので削除する DELETE FROM q WHERE id = (1つ目のSQLで取得したID); COMMIT;IDが最も小さいレコードをロックし、何らかの処理を行って、最後にそのレコードを削除します。IDが最も小さいレコードを取得するというの

    Oracle/MySQL/PostgreSQLにおけるサブクエリを含むDMLの非互換性 - SH2の日記
  • Python でシェル経由でコマンド実行するときのバッドノウハウ - methaneのブログ

    PHPだってシェル経由でないコマンド呼び出し機能が欲しい コマンド実行でシェルが怖いなら使わなければいいじゃない どちらの記事でも Python の subprocess を使ってシェルを介在せずにコマンドを実行する方法が紹介されています。 シェルを介在すると、エスケープの問題考えるのが面倒だったり、 kill してみたらシェルだけ殺して肝心のコマンドがずっと残ってるというアホみたいな問題を避けられるのでお勧めです。 いい子はこれを使いましょう。 この記事ではどうしてもシェルの機能が使いたい場合や、 subprocess の PIPE の組み立てが面倒な場合のための、バッドノウハウを紹介していきます。 ちなみに、バッドノウハウと呼んでるのは、安全安心 one size fits all ではなく、メリット・デメリット・やり方をいちいち調べないといけなくて、しかもその調べる行為がほとんどコン

    Python でシェル経由でコマンド実行するときのバッドノウハウ - methaneのブログ
  • グリーのインフラに Chef を導入した話 | GREE Engineering

    類似のソフトウェアとして、Puppet や Ansible といったものもあります。こういったインフラ自動化まわりのソフトウェアについてはペパボの宮下さんの インフラ系技術の流れ が参考になります。 Chef in グリー さて、グリーでのChefまわりの構成をご紹介します。下図が全体の構成です。 開発環境 開発は各個人のマシン上で仮想マシンを立ち上げて行なっています。クックブックの開発では、クックブックを開発する人が serverspec でテストを書くようにしていて、構築後のサーバが期待通り動くことをテストしています。一つのクックブックでも設定値などの条件によって動作が変わってくるため、test-kitchen を用いて複数の条件(ランリストやノードのアトリビュート(以下、「アトリビュート」)などの組み合わせ)でテストを行っています。 また、一部仮想マシンを使う必要がないテスト(att

    グリーのインフラに Chef を導入した話 | GREE Engineering
    marmotte
    marmotte 2013/12/23
  • Ruby on Rails 4.1 Release Notes — Ruby on Rails Guides

    Highlights in Rails 4.1: Spring application preloader config/secrets.yml Action Pack variants Action Mailer previews These release notes cover only the major changes. To learn about various bug fixes and changes, please refer to the changelogs or check out the list of commits in the main Rails repository on GitHub. 1 Upgrading to Rails 4.1If you're upgrading an existing application, it's a great i

    Ruby on Rails 4.1 Release Notes — Ruby on Rails Guides
    marmotte
    marmotte 2013/12/20
    ふむ
  • TechCrunch | Startup and Technology News

    After Apple loosened its App Store guidelines to permit game emulators, the retro game emulator Delta — an app 10 years in the making — hit the top of the…

    TechCrunch | Startup and Technology News
    marmotte
    marmotte 2013/12/20
    これいいなぁ… それはそうと、Raspberry Piのメモリもう少し増えないものか
  • フェイスブックやグーグルが光ファイバーケーブルを買い漁っているそうな

    通信業界の勢力図が書き換わる日も近そう。 フェイスブックやグーグルが世界を牛耳りはじめてなんたらかんたら…なんて誰かが言っているのを聞いて、そうは言ってもたかがウェブサイトじゃんって思っていませんでした? なんだかそんなことも言ってられなくなってきたようですよ。フェイスブック、グーグル、アマゾン、マイクロソフトといった巨人たちが、インターネットのインフラ設備を買収し始めています。 ウォール・ストリート・ジャーナル紙によると、これらの企業は時間をかけてかなりの割合のインフラを買収してきたとのこと。これまでケーブルを支配してきた従来の通信会社は、当然のことながらこの動きにとてもナーバスになっています。 巨人たちが買い占めているケーブルの規模はかなりもの。グーグルは最近ちょっと怖いロボット軍を買収したのに加え、今では10万マイル(約16.1万km)を越える自社専用光ファイバーを所有しています(参

    フェイスブックやグーグルが光ファイバーケーブルを買い漁っているそうな
  • vagrant-configspecを使ってプロビジョニングする - KAYAC engineers' blog

    @nobu_ohtaです。 teck.kayac.com Advent Calender 2013 19日目のエントリです。 今回、advent calendarを口実にvagrant-configspecをリリースしました。 インストールは vagrant plugin install vagrant-configspec です。 コード自体は https://github.com/ankoromochi/vagrant-configspec で公開しています。 動機 configspecを触ってみたかった。 mizzyさんのブログで紹介されているように、immutable infrastructureという文脈で出てきた、冪等性や依存関係をあまり気にしない感じのconfiguration management tool。 同じくmizzyさんが作者のサーバの状態のテストを行うserve

    vagrant-configspecを使ってプロビジョニングする - KAYAC engineers' blog
  • InnoDBのREPEATABLE READにおけるLocking Readについての注意点

    日は、MySQL Casual Advent Calendar 2013の20日目である。というわけでカジュアルに小ネタを紹介しよう。 MVCC - Multi Version Concurrency Controlご存知の通り、InnoDBはMVCCを実装している。そのため、分離レベルがREPEATABLE READの場合には、行にロックをかけることなく、一貫した読み取りが可能になっている。 もし、あるトランザクションT1開始後に、別のトランザクションT2によって同じ行が書き換えられてしまった場合には、T1はロールバックセグメントにある古いバージョンの値を読み取ることができるので、T1内で実行したSELECTは常にT1開始時点のデータを参照することができるのである。大事なのでもう一度言うが、REPEATABLE READにおける単純なSELECTでは行ロックは必要ない。 Lost Up

    InnoDBのREPEATABLE READにおけるLocking Readについての注意点
  • Scalaを使い始めてから半年だけど印象をまとめてみる - ぽにくすじゃないブログ

    2013-12-19 Scalaを使い始めてから半年だけど印象をまとめてみる Scala 僕はScalaを使い始めてだいたい半年というところです。業務で使ってるんですが、最近になってやっと楽しさが少しわかり始めたところで印象をまとめてみました。主観性が高いので異論・反論のある人も多いかもしれません 覚えることが多い ※個人差があります Scala は様々な文化のごった煮なところがあるため、様々な文化を知ってないとツライです。よく better Java として簡単に使えるよという甘言をささやく人がいますが、better Java として使うにはそもそも Java の知識が必要なわけですし、better Java なコードを書いてると、「varやミュータブルコレクション使っていいのは小学生までだよね」とか「while文なんて普通使わない」とか「Enumerationじゃなくて代数型データ構造

  • あなたの子どもを起業家に育てる(かもしれない)オモチャ8点 | ライフハッカー・ジャパン

    Inc.:若き起業家向けに、ゲームやソフトウェア、教育プログラムなどを開発する企業が増えています。若い世代といっても、20代ではありません。そう、10代もしくはそれ以下を対象に、ビジネスやテクノロジーのいろはを教えるツールが続々と登場しているのです。 起業家の卵が将来の競争に向けて幸先の良いスタートを切れるよう、小さなころから始めたい8つのオモチャを紹介します。 Kanoキット 以前ライフハッカーでも紹介した組み立て式小型コンピューターキット「Kano」。クリエイターの甥っ子(7歳)による「レゴみたいにシンプルで楽しいコンピュータが欲しい」という言葉にヒントを得て誕生したそうです。 子ども達は、Kanoコンピュータを組み立てるだけでなく、それを使ってプログラミングやゲームをすることができます。Kanoはクラウドファンディングサイト「Kickstarter」でキャンペーンを行い、目標である1

    あなたの子どもを起業家に育てる(かもしれない)オモチャ8点 | ライフハッカー・ジャパン
    marmotte
    marmotte 2013/12/19
    羨ましい時代になったもんだ
  • Scalaコードでわかった気になるDDD | GREE Engineering

    みなさん、こんにちは。グリーのかとじゅん(@j5ik2o)です。 このエントリは GREE Advent Calendar 2013 の 18日目の記事です。よろしくお願いします。 私がグリーに入社してやっていることは、プログラミング言語 Scalaとドメイン駆動設計(以下、DDD)の布教活動です。布教活動といっても宣伝するだけでは具体性に欠けるので、実際に開発チームに入ってScalaやDDDの技術支援を行っています。エントリでは、Scalaを用いたDDDの設計と実装をどのように行っているかを、DDDを知らない人でもできるだけわかりやすく説明したいと思います(Scalaわかっていると読みやすいですが、あんまり複雑なコードは出てこないのでなんとなく読めるのではないかと思います)。なお、DDDの実践例は他にもあります。一例だと思って読んでいただければ幸いです(先日のSNSチームでのドメイン駆

    Scalaコードでわかった気になるDDD | GREE Engineering
    marmotte
    marmotte 2013/12/18
    後でゆっくり読む
  • GitHub に登録した SSH 公開鍵は全世界に公開されている | 774::Blog

    意外と知らない人がいるようなのでブログに書いておきます。 GitHub のアドレスのあとに .keys を付けるとその人の SSH 公開鍵が表示される。 たとえば id774 さんの公開鍵であれば https://github.com/id774.keys を参照すれば良い。 ぜひ自分のアカウントで試してみて欲しい。 新規に用意するサーバーの ~/.ssh/authorized_keys に上記アドレスを wget したものを置いて適切なパーミッションを設定しておけばすぐに公開鍵認証ができるというわけである。 もうそろそろ公開鍵をメールで送ってくれとかいう文化が滅亡して GitHub から勝手に公開鍵を持っていくのが常識な世界になってほしい。

    marmotte
    marmotte 2013/12/16
    後で試してみる