タグ

hama_DUのブックマーク (500)

  • イミュータブルデータモデルへの取り組み with Ruby on Rails - リサーチ・アンド・イノベーション 開発者ブログ

    こんにちは。リサーチ・アンド・イノベーションの中村(konk303)と申します。 いわゆる「railsおじさん」的な立場で、主にサーバーサイドの開発をしています。 Introduction 稿ではQiitaのイミュータブルデータモデルと webアプリケーションにおける現実解にインスパイアされて、弊社でのイミュータブルデータへの取り組み(とその苦しみ)を紹介したいと思います。 qiita.com イミュータブルデータモデルとは? まるっと引用。 イミュータブルデータモデルと webアプリケーションにおける現実解 - Qiita 詳細はリンクに譲りますが、「履歴を全て残すようなデータ設計にし、 UPDATE を廃することで情報の追跡可能性を確保、堅牢な設計にする」モデリング手法です。 原則この手法に従うと、そうそう汚いモデルにはならないという優れもの(雑) です。イベントが起こる度に新規レコ

    イミュータブルデータモデルへの取り組み with Ruby on Rails - リサーチ・アンド・イノベーション 開発者ブログ
  • 次世代バックグラウンドジョブシステム Faktory を試す - リサーチ・アンド・イノベーション 開発者ブログ

    リサーチ・アンド・イノベーションの浜田(hamadu)と申します。 いつものお買い物がちょっとお得に、家計簿にもなるポイントアプリ「CODE」のサーバサイド、およびAndroidアプリの開発を担当しています。 序 CODE ではバックグラウンドジョブシステムとして、Sidekiq を採用しています。その作者、Mike Perham 氏が新しい仕組みを作っていました。その名も Faktory。Sidekiq と違いワーカーが言語に依存せず、また体はGoで書かれているためスケールするのがウリのようです。まだまだ開発中で、プロダクションで使うには厳しい印象を受けますが、今後Sidekiqを置き換えうるプロジェクトになるのではと思います。 稿では簡単に仕組みの紹介をして、Rubyでジョブを投げるClientと、ジョブを処理するワーカーをそれぞれ実装してみました。 ソースコードは faktory

    次世代バックグラウンドジョブシステム Faktory を試す - リサーチ・アンド・イノベーション 開発者ブログ
    hama_DU
    hama_DU 2018/02/14
    実績解除: 会社のエンジニアブログを書く
  • マラソンマッチで最初の12時間にすべきこと - hama_duのブログ

    Competitive Programming Advent Calendar 2015 14日目の記事です。 マラソンマッチ関連の記事を書くに当たって、マラソンしてる時の感覚を思い出すため一昨日 マラソンマッチの過去問 を12時間やってみました。 その結果改めて気づいたことと、普段マラソンマッチに取り組む際に気をつけていることをまとめたのが以下の文章です。読者に何かしらの気付きが与えられれば幸いです。 また、偶然にも TCO15 Marathon Finalist である takapt氏 の記事も日発表(Topcoderマラソンマッチの探索問題で重要なこと) なので、合わせてご覧ください(多少のネタ被りがあるかもしれませんが、ご容赦ください。) 問題文を読み、ビジュアライザを改造する 問題文を読んで、ルールを理解します。合わせてビジュアライザのコードも斜め読みします。 そして、早速ビジ

    マラソンマッチで最初の12時間にすべきこと - hama_duのブログ
    hama_DU
    hama_DU 2015/12/15
    新規性はslackを使うこと
  • マルチエージェントシステム入門 - Qiita

    Machine Learning Advent Calendar 2015 11日目の記事です。 記事では、エージェントと強化学習の概念を説明し、簡単なマルチエージェントシステムのモデルを与え、実装例とシミュレーション実験の結果を示します。 概念の説明 エージェントとは、概念の一つです。周囲から何かを知覚、その情報を元に周囲に対して働きかけるものを全てエージェントと呼びます。我々人間もある意味エージェントと考えることができます。目や耳から情報を受け取って、自身が置かれている環境に対して動作をすることができるからです。お前がエージェントになるんだよ! マルチエージェントシステムとは、その名の通り複数のエージェントから成るシステムです。マルチエージェントシステムでは、各エージェントは他のエージェントや環境と通信しながら動作を行います。エージェント同士が協調することで、単一のエージェントでは達

    マルチエージェントシステム入門 - Qiita
    hama_DU
    hama_DU 2015/12/11
    なんか中途半端な記事になってしまった(大反省
  • Goで型を挿げ替え可能なデータ構造ライブラリを作る - Qiita

    Go Advent Calendar 2015 その2 の 11日目の記事です。 Go Advent Calendar 2015 の日の記事 → Golangで画像をglitchできるライブラリの紹介 Go Advent Calendar 2015 その3 の日の記事 → Goのインタフェースがパフォーマンスに及ぼす影響 最近Goで書かれたアルゴリズムとデータ構造のライブラリを読み漁っていて、型と振る舞いを挿げ替えできるライブラリを作る方法を学んだのでノウハウを記事にしました。今回は題材として点更新+区間参照のシンプルなセグメントツリーを扱います。 まずセグメントツリーの概要を述べ、愚直な実装を示した後にそれを汎用化します。 セグメントツリーとは 数値が格納された配列をイメージしてください。配列は、単一要素に定数時間でアクセスでき、参照/更新のコストは共に $O(1)$ です。 しかし

    Goで型を挿げ替え可能なデータ構造ライブラリを作る - Qiita
    hama_DU
    hama_DU 2015/12/11
    Go:アルゴリズム=3:7ぐらいの記事
  • Rubyで実装して楽しむ古典データ構造再入門(平衡木編) - hama_duのブログ

    Competitive Programming Advent Calendar 2014 7日目です。 今回は古典的なデータ構造をRubyで実装してみます。 まず通常の木、二分木からはじめ、その次に二分探索木、そして二分探索木に少し機能を加え高性能にした平衡二分探索木を扱います。 冒険の地図 木 二分木 二分探索木 平衡二分探索木 ランダム挿入二分探索木 Treap 基 木(Tree) 以下の図は木の例です。一番上にある頂点(丸)を根と呼びます。各頂点に直接ぶら下がっている頂点たちをまとめて子と呼びます。子を持たない頂点を葉と呼びます。 頂点同士は辺(棒)で結ばれています。木には、辺によってループができないという特徴があります。 木の性質 木には素晴らしい性質があります。各頂点の子を根と考える(上の部分は無視する)と、それぞれの子も木になっているという点です。それらの木のことを部分木と呼

    Rubyで実装して楽しむ古典データ構造再入門(平衡木編) - hama_duのブログ
    hama_DU
    hama_DU 2014/12/07
    書いた。主に非競技勢向け
  • AWS News Blog

    AWS Week in Review – AWS Documentation Updates, Amazon EventBridge is Faster, and More – May 22, 2023 Here are your AWS updates from the previous 7 days. Last week I was in Turin, Italy for CloudConf, a conference I’ve had the pleasure to participate in for the last 10 years. AWS Hero Anahit Pogosova was also there sharing a few serverless tips in front of a full house. Here’s a picture I […] Amaz

  • Webサービスを作りたい人が、素早くプログラミング言語を学べる15サイト - paiza times

    Photo by Daniel Cukier コーディング転職サイトpaizaを運営している関係上、「Webサービスを作りたいけど、プログラミング言語をどこから学んだらよいか?」という質問をよく受けることがあります。今回はプログラマ視点でプログラミングを学ぶときにつまずやすいポイントと、プログラミング言語の基礎を簡単に楽しく学べるサイトをまとめてみました。 最近はオンラインでプログラミングを勉強できるWebサービスが多数登場してきているので、以前よりプログラムを学ぶコストはぐっと下がっています!! 目次 ・プログラミング言語を学ぶときに躓くポイント ・学ぶ言語を選ぶのに役立つサイト ・すぐ書きはじめられるプログラミング学習サイト ・講義型のプログラミング学習サイト ・少しコードに慣れてきてからお勧めのサイト ・さらにスキルアップするのに最適なサイト ・基礎文法をマスターしたいなら(おまけ)

    Webサービスを作りたい人が、素早くプログラミング言語を学べる15サイト - paiza times
    hama_DU
    hama_DU 2014/04/24
    paiza公式ブログより。AOJとTopcoderの紹介もされてた
  • DMM.make - 熊野MAKE日記 - 家をつくる・1

    DMM.make - 熊野MAKE日記 - 家をつくる・1
  • Monaca - すべての人にアプリ開発を

    Monacaはクラウド技術を活用した、日発・次世代のアプリ開発プラットフォームです。多様なアプリ開発に対応するクラウドサービスを中心に、アジャイル開発を促進するDevOps、コンサルティングやテクニカルサポート。日々の課題を解決するために用意されたツールやサービスを通じて、あなたのプロジェクトの成功を支えます。 さらに詳しく

    Monaca - すべての人にアプリ開発を
  • アプリの情報をアイコンにオーバーレイさせる方法 - jarinosuke blog

    potatotips に参加しました #potatotips というクックパッドで開催された iOS / Android の tips 共有会に昨日参加してきました。 普通の勉強会とは少し毛色が違い、参加者全員が5分間の tips を発表を行うという形式で、皆さん主体的に会に関わる事ができるような仕組みになっていたのかなと後から感じました。 僕も以下の資料を発表させていただきました。 発展 上記のスライドの最後に発展編として単純にアプリアイコンを出し分けるのではなく、既存のアイコンに対してアプリケーションの情報をオーバーレイさせて動的に作成できる事例を紹介しました。 しかし時間の関係で具体的なスクリプトの紹介は省いてしまっていたので、この記事で紹介します。 紹介 アプリの情報をアイコンにオーバーレイさせる方法は具体的に以下のリンクで紹介されています。 Overlaying applicat

    アプリの情報をアイコンにオーバーレイさせる方法 - jarinosuke blog
    hama_DU
    hama_DU 2014/01/20
    捗りそう!試したい
  • Amazon RDS for PostgreSQL | AWS

    Amazon RDS for PostgreSQL わずか数回のクリックでクラウド内にリレーショナルデータベースをセットアップ、運用、スケールする PostgreSQL は、多くの企業開発者やスタートアップに好まれるオープンソースのリレーショナルデータベースとなり、主要なビジネスアプリケーションやモバイルアプリケーションをパワーアップしてきました。Amazon RDS により、PostgreSQL のデプロイをより簡単にクラウドで設定、運用、スケールできます。Amazon RDS を使用すると、コスト効率が良く、サイズ変更が可能なハードウェア容量で、スケーラブルな PostgreSQL を数分でデプロイできます。Amazon RDS は、PostgreSQL ソフトウェアのインストールとアップグレード、ストレージ管理、高い可用性と読み取りスループットのためのレプリケーション、ディザスタリカ

    Amazon RDS for PostgreSQL | AWS
  • Ace - The High Performance Code Editor for the Web

    Built for Code Ace is an embeddable code editor written in JavaScript. It matches the features and performance of native editors such as Sublime, Vim and TextMate. It can be easily embedded in any web page and JavaScript application. Ace is maintained as the primary editor for Cloud9 IDE and is the successor of the Mozilla Skywriter (Bespin) project. /** * In fact, you're looking at ACE right now.

  • Ansible チュートリアル | Ansible Tutorial in Japanese

    Ansible Tutorial July Tech Festa にて開催されたハンズオンの資料が公開されていたことに刺激され、Chef の代わりに Ansible を使う資料を作りました。 Ansible を使って WordPress サーバーのセットアップを行い、ServerSpec でテストを行います。 まだ Ansible を試し始めたばかりで自分の勉強がてら書いています。 Puppet にも Chef にも乗り遅れたので Ansible に飛び乗ってみようかと。 GitHub Repository Ansible Tutorial Wiki 2013年08月13日 一段落 コピペで動かないところを全体的に修正しました。今後は 詳細ページ Wiki を充実させていきます 2013年09月09日 role についての追記しました 2013年12月22日 リニューアル Ansible

  • Scala Tutorials

    Start the Basic Scala Tutorial NOTE: We are working on fixing the "live run" of scala code, our appologies for the inconvenience

  • Amazon EC2インスタンスに簡単にSSHできるようになるツールec2sshを公開しました - 昼メシ物語

    みんなが大好きなクラウドホスティングサービスのAmazon EC2ですが、インスタンスをバンバン立てたり落としたりしていると、ホスト名の管理が面倒になってきますよね。たとえば「さっき立てたインスタンスにSSHしたい!」と思ったら、consoleをひらいて、「ec2-xxx-xxx-xxx-xxx.compute.us-west-1.compute.amazonaws.com」なPublicDNSをターミナルにコピペして…みたいな面倒な事をやってしまいがちです。 これを避けるためには、~/.ssh/configをマメに更新したりするといいのですが、これはなかなか面倒な作業です。インスタンスは一旦StopしてRunし直すと、IPが変わってしまいますからね。 そこでec2sshの登場です ec2sshは、インスタンスのNameタグからホスト名を生成して、~/.ssh/configに書きこむツール

    Amazon EC2インスタンスに簡単にSSHできるようになるツールec2sshを公開しました - 昼メシ物語
  • CodeMirror

    Extensible Code Editor CodeMirror is a code editor component for the web. It can be used in websites to implement a text input field with support for many editing features, and has a rich programming interface to allow further extension. This is a CodeMirror field, configured for editing JavaScript code. Features Accessibility Works well with screen readers and keyboard-only users. Mobile Support

  • Gumby - Bootstrapの強力なライバルになるか!?シンプルかつ強力なCSS3フレームワーク MOONGIFT

    CSS3フレームワークは数多くなってきたのでその特徴をちゃんと掴んでおかないといけないですね。 GumbyはSassを使ったCSS3フレームワークです。他のフレームワークと同じようにレスポンシブ、モバイルフレンドリーになっています。その特徴を見ていきましょう。 まずデスクトップからです。 ヘッダーバー。フラットだったり、幅が固定だったりと色々な形式が想定されています。 タイポグラフィ。可読性高いです。 リストだけでも黒丸、白丸、ドット、数字など多数用意されています。さらに定義リストまで! ボタン。サイズ、色、形が様々です。片方だけ丸い、なんて便利そうですね。 インジケーターやラベル、アラート。こういうのもよく使いますよね。 フォーム。基的にplaceholderを使った表示になっているようです。 テーブル。角丸サポートです。 タブ。幅が設定できます。 縦のタブもあります。 ドロワー。クリ

    Gumby - Bootstrapの強力なライバルになるか!?シンプルかつ強力なCSS3フレームワーク MOONGIFT
  • 訳:ELB:評価方法のベストプラクティス - aws memo

    Best Practices in Evaluating Elastic Load Balancing : Articles & Tutorials : Amazon Web Services http://aws.amazon.com/articles/1636185810492479 ==== 概要 ELBを最もよく評価するには、ELBのアーキテクチャを理解する必要がある。稿は、AWS ELBの機能と独特なアーキテクチャについて述べる。ベストプラクティスを提供することで、ELBをテスト・評価する際に一般的な落とし穴(pitfall)から避けられるようになる。このホワイトペーパーが対象としている読者は、ELBの経験が少ないが、過去にH/W,S/Wのロードバランサを使ったことがあるような開発者である。 ELBの概要 ELBは、複数のEC2インスタンスへ、自動的にトラフィックを分散する。単

    訳:ELB:評価方法のベストプラクティス - aws memo
  • Amazon DynamoDBによるTomcatセッション永続化とフェイルオーバー | DevelopersIO

    Tomcatのセッション管理 Tomcatでクラスター構成にする場合、課題となるのがセッション管理です。ロードバランサーでセッションIDを保持することで、毎回同じサーバーにリクエストが向かうのであれば問題なさそうに見えますが、あるサーバーがダウンしてしまうとセッション情報が消えてしまいます。これを解決する方法として、データベースにセッション情報を保持する方法が一般的ですが、データベースへ負荷が掛かりますし、データベースが落ちたら困ります。何かもっと良い方法は無いかと皆さん思っていたはずです。そこで、AWSですよねー。AWSでは、ElastiCacheやDynamoDBがサービスとして提供されています。ここで、永続化をしっかりやってくれるのはDynamoDBであり、AWS SDK for Javaでの登場が待たれていたわけです。そして、このたび出てきました! スティッキーセッション ロードバ

    Amazon DynamoDBによるTomcatセッション永続化とフェイルオーバー | DevelopersIO