タグ

*あとで読むに関するegapoolのブックマーク (255)

  • なぜ日本の郊外には「タダ同然の住宅地」が大量にあるのか…「限界分譲地」という大問題を告発する 無責任の体系によって「都市の荒廃」が進んでいる

    の郊外には「タダ同然の住宅地」が大量にある。そうした「限界分譲地」の取材を続けているブロガーの吉川祐介さんは「限界分譲地は戦後の土地開発ブームに乗じて作られた。居住ではなく投機が目的だったため、放棄された空き地が虫い上に広がっている。限界分譲地に住むことは可能だが、自治会は機能せず、道路や公園は雑草で埋もれることもある」という――。 日に点在する、忘れ去られた分譲地 戦後の日は近年に至るまで、深刻な住宅問題を長く抱えてきた。 終戦直後は、空襲で家を失った人や復員兵や引き揚げ者の住宅の確保。人口増と高度成長がもたらした都市の過密と住宅不足、そして住環境の悪化という問題があった。 過熱する土地開発ブームによる地価の高騰などもあり、どの時代においても庶民は、激変する社会情勢の中で、ひとつのマイホームを確保するのが精いっぱいの状況だった。 地価高騰の時代と聞くと、1980年代末ごろのバブ

    なぜ日本の郊外には「タダ同然の住宅地」が大量にあるのか…「限界分譲地」という大問題を告発する 無責任の体系によって「都市の荒廃」が進んでいる
  • DockerとSwarmで既存アプリをサーバーレス化してみよう! - Qiita

    以下でポイントごとにソースを見る/比較を行ってみます。 ポイント リクエスト処理部分 voting appとresult appという2つのサービスで処理していたのを、 entrypointというサービスで受け、それぞれ担当するDockerコンテナを起動するという形になります。 リクエスト処理部の違い voting appとresult appはそれぞれ何の変哲もないWebアプリです。 (voting appがPython/Flask、result appがNote.js/expressで作られている) 対して、entrypointもWebアプリ(Go言語)なのですが、net/httpでリクエストを受け、 go-dcgiというライブラリでDockerコンテナを起動するようになっています。 この部分のソースを見てみましょう。 非常に短いですので全文掲載しています。(コメントは私が追記したもの

    DockerとSwarmで既存アプリをサーバーレス化してみよう! - Qiita
    egapool
    egapool 2016/06/27
    サーバーレス
  • 理解してるつもりの SSL/TLS でも、もっと理解したら面白かった話 · けんごのお屋敷

    apache や nginx の設定をしたことがあれば以下の様な行を見たことがある人も多いのではないでしょうか。(※ 下記は nginx の設定。apache の場合は SSLCipherSuite です。) ssl_ciphers AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5; これが暗号スイートを指定している箇所です。そしてこの部分、わけのわからない文字列の羅列なのですごく取っつきにくくて何を指定したらいいかわからないので、コピペしてしまう人も多いんじゃないでしょうか。かくいう私も数年前に趣味で TLS 対応の Web サービスを作った時はコピペで済ませていました。この暗号スイートは、以下のような OpenSSL のコマンドを使って対応している一覧を見ることができます。 $ openssl ciphers -v AES128-SH

    理解してるつもりの SSL/TLS でも、もっと理解したら面白かった話 · けんごのお屋敷
  • はてなで大規模サービスのインフラを学んだ - ゆううきブログ

    中〜大規模サービスのインフラの様子を知りたいアプリケーションエンジニア向けに、もともとアプリケーションコードを書いていた視点から、個人的な体験をベースにはてなで大規模サービスのインフラを学んだ過程や学んだ内容の一部を紹介します。 Webアプリケーションのブラックボックス Webアプリケーションフレームワークの向こう側 なぜ複数のサーバが必要なのか 突然のWebサービス3層構成 リバースプロキシ アプリケーション データベース その他のコンポーネント キャッシュは麻薬 飛び道具としてのKVS/NoSQL 非同期処理 バッチ処理 Mackerelの場合 参考 まとめ Webアプリケーションのブラックボックス 今年もはてなインターンの時期が近づいてきた。 毎年ではないけど、はてなインターンでは「インフラ講義」というのをやっている。 今年はインフラ講義の講師としてアサインされたのでちょうど何を話そ

    はてなで大規模サービスのインフラを学んだ - ゆううきブログ
  • Webシステムにおけるデータベース接続アーキテクチャ概論 - ゆううきブログ

    先月投稿した2015年Webサーバアーキテクチャ序論では、Webサーバアーキテクチャを学ぶ道のりと代表的な実装モデルの概要を紹介しました。 今回は、前回同様、主に新卒Webエンジニア向けに、Webアプリケーションサーバとデータベースサーバ間の接続管理モデルと運用事情について紹介します。 データベース接続の永続化やコネクションプーリングとは何なのか、なぜ必要なのかといったことが主な話題です。 背景 データベース接続の永続化とはなにか データベース接続のオーバヘッド データベース接続の永続化手法 コネクションプーリングとはなにか コネクションプーリング: ドライバ型 コネクションプーリング: プロキシ型 コネクションプーリング全体について PostgreSQLMySQL 参考資料 まとめ 背景 2015年Webサーバアーキテクチャ序論では、Webサーバアーキテクチャの話とWebアプリケーショ

    Webシステムにおけるデータベース接続アーキテクチャ概論 - ゆううきブログ
  • 「レイヤードアーキテクチャを意識したPHPアプリケーションの構築」を発表しました

    2015/06/27 に開催された PHPカンファレンス福岡2015 にて、「レイヤードアーキテクチャを意識したPHPアプリケーションの構築」という発表をしてきました。 MVC フレームワーク(CakePHP / Laravel)で構築したアプリケーションをレイヤードを意識して改善したという内容です。参加いただいた皆さんの顔ぶれを見ると歴戦の勇者みたいな方ばかりでしたが、和やかな雰囲気でセッションを進めることができました。ご参加ありがとうございました。 発表資料 発表資料は以下です。 MVC にサービスレイヤを追加して、それぞれの役割を意識して作る。レイヤ間の依存を明確にする。サービス(ドメイン)を中心に考える。よく言われていることなのですが、実際に実践する中で、ハマりがちなことや実際に実践してきた中で感じたことを紹介しました。もちろん、これで ok ということはないので、今後取り組んでい

  • Slackでボットを5秒以内に作れるツールを作った - 波打際のブログさん

    はじめに 最近エンジニア界隈で話題沸騰中のSlackですが、IRCに比べてBOTを作る際に手間がかかります。自称クソボットクリエイターの私にとってはこれは死活問題です。 そこでボットを超簡単に量産できるプロダクトを開発して公開したのでご紹介いたします。 BotHeaven (ぼっとてんごく) Slackボットを大量生産できるプロダクトです。いわばボットファームです。 SlackのOAuthでBotHeaven*1にログインし、Javascriptで数行のコードを書くだけでSlackボットを簡単に生成できます。 HTTP通信機能や、ボット毎のストレージなどを持てることが特徴です。 デモ このような感じでボットを実装します。 するとこのようなSlackボットが生まれます。 仕組み Rails + V8 + Slack インストール方法 VPS等はもちろん、Herokuにもデプロイして使えるよう

  • PHPネイティブのDOMによるスクレイピング入門 - Qiita

    はじめに 淫夢要素はありません。 Simple HTML DOM Parser や Goutte の使い方は至る所で説明されていますが、PHPネイティブのDOMに関しての記事がかなり少ないので書いてみることにします。 ちなみに… Simple HTML DOM Parserは内部で何回も正規表現を使って全ての要素をパースするので、かなり遅いです。これ使うぐらいなら最初から自分で正規表現一で書いたほうがマシ。自分で正規表現を使って必要部分だけを抜き出す方法は、全ての方法の中で最も高速なので、正規表現が得意な人だったらこれでもいいと思います。 Goutteは内部でPHPネイティブのDOMを使ってます。PHPネイティブのDOMはDOMとして読ませる方法の中では最も高速なので良い方法をチョイスしていることになるのですが、そもそもGoutteに頼らなくてもそれなりに十分やっていけます。何より依存フ

    PHPネイティブのDOMによるスクレイピング入門 - Qiita
  • Web系ベンチャー各社の開発体制・開発プロセスについて | Weekdayランサーズ勉強会 | ランサーズ(Lancers)エンジニアブログ

    こんにちは、ランサーズのtomohiroです。 ランサーズでは、自社で開催する勉強会で、 『WeekendLancers(週末ランサーズ)』というイベントを開催してきたのですが、少しご無沙汰になっていました。今回改めて再開しようと調整した結果、平日の夜(4月23日木曜日)になったため、weekday ランサーズとして開催する事になりました。 そして、記念すべきを第1回を私が登壇する事に。 今回のテーマは「開発体制・開発プロセスについて」。 どの会社も成長に伴い、色々試行錯誤しつつ、色んな仕組みや施策を取り入れているようです。 登壇していただいた企業はどこも「自動化」と「情報の集約」はやっているような印象を受けました。例えば、ランサーズでは、「情報の集約」にchatwork と言うツールを使っています。 各社ツールは違えど、アプローチは似ているんだなと感じました。 詳細はぜひ登壇資料をご覧い

    Web系ベンチャー各社の開発体制・開発プロセスについて | Weekdayランサーズ勉強会 | ランサーズ(Lancers)エンジニアブログ
  • ReactをjQueryの数行に要約する | POSTD

    Reactが素晴らしい理由は、UIをアプリケーションの状態の純粋関数にできるからだ」いうような話を聞いたことがあるでしょう。しかしそれだけではなく、不変性と仮装DOMを利用して動作するということも聞きますよね。その上、保存、読み込み、取り消し、それにタイムトラベル・デバッグと呼ばれるすごい機能まで自由に手に入れられる。でも知っていますか? Reactの核となるアイデアを利用し、その恩恵に預かるのにこれらのことは必要ありません。jQueryの数行にしてお見せします。 <span id="colored-counter">0</span> <input id="color"></input> <button id="inc"></button> <script> $('#color').on('keyup', function () { $('#colored-counter').css('

    ReactをjQueryの数行に要約する | POSTD
  • MacBook Airの動作が重くなったのでメンテナンスしたら軽くなった件 | DevelopersIO

    MacBook Airが重い クラスメソッドでは、AWSチーム発足時から、JOINしたメンバーにMacBook Airを標準機として配っていました。最近、動作が遅くて困っているという声を聞くようになりました。全員がVMWare FusionにWindowsを入れていたり、Docker使ったりと、開発環境を整えているので、確かにメモリ8GBでも足りないかもしれません。私のマシンも文字入力で表示がワンテンポ遅れるほどの重さで困った状態でした。 今回試したマシンは、MacBook Air(13-inch, Mid 2013), 1.7GHz Core i7, メモリ8GB、OS X Yosemite(10.10.3)です。 UPDATE : 貴重なご意見頂いていますので追加しています。 解決策 最新マシンに乗り換える エンジニアはマシンが遅いと仕事になりません。そこで、現時点で最新で全部盛りのM

    MacBook Airの動作が重くなったのでメンテナンスしたら軽くなった件 | DevelopersIO
  • 安定したリリースを継続するためのテストとテストレベルの話 - クックパッド開発者ブログ

    こんにちは。技術部の松尾(@Kazu_cocoa)です。 安定したリリースを継続して回す為には、開発プロセスや実装も大事ですが、その中でどのような確認、テストを継続して行うかも大切になります。そこで、開発プロセスにおけるテストをどのように切り分けて、構築していくかという考え方に関して少し整理してみようと思います。 これにより、実施されているテストによって検出できる/できない不具合がどのようなものか、それが開発中のどこで防ぐことができるのかを整理できるようになってくると思います。また、安定したリリースを実現するためのボトルネック解消に向けて、どのレベルでテストを充実させると効率的にそれが達成できるかという所も考えることができるようになります。 テストレベルによるテストの区分け テストレベルという言葉にも様々な定義がありますが、ここではざっくりとテスト対象となる範囲や領域を意味することにします

    安定したリリースを継続するためのテストとテストレベルの話 - クックパッド開発者ブログ
  • モノモーフィズム(単相性)について – JavaScriptのパフォーマンスを例に | POSTD

    JavaScriptのパフォーマンスに関する講演やブログ記事では、よく単相的コードの重要性が強調されています。しかしながら、モノモーフィズム(単相性)/ポリモーフィズム(多相性)とは何なのか、それがどうパフォーマンスに影響してくるのかということについては、あまり分かりやすく説明されていません。私自身の講演でも、<< 1.良い型、2.悪い型 >>的な二者択一のスタイルに要約してしまうことが少なくありません。パフォーマンスに関するアドバイスを求められることがありますが、そういう時に最もよくリクエストされるのは、 モノモーフィズムとは実際のところ何なのか 、ポリモーフィズムがなぜ生じ、それがなぜ悪いのか、ということを説明して欲しいというものです。 困ったことに、そもそも「ポリモーフィズム」という用語そのものが相当に多重定義されています。昔ながらのオブジェクト指向プログラミングにおいては、 ポリモ

    モノモーフィズム(単相性)について – JavaScriptのパフォーマンスを例に | POSTD
  • The Refactoring Tales - JavaScriptのリファクタリング本を読んだ

    GitHub: jackfranklin/the-refactoring-tales 読んだ日付: 2015年1月11日 まだ4章の途中までしか書かれてないですが、ウェブ版は無料で読めてPDF版等は買えるようになるようです(6-7章ぐらい予定) The Refactoring Tales - JavaScript Playground またGitHubにソースが公開されています(ウェブページはまだ反映されてない感じのtypoの修正等がありました) 感想 1,2章はフロントのJavaScriptで、jQuery世界を例にjQueryでべったり書いてしまったものをどうやって分けていくかの話。 1章はとても読みやすくて完成度もあるので読んでみるといい気がします、2章のカヌーセルの話はもっと深くやっても良かったような気がします。 縦に並ぶ$を見かけるとつらい感じになりますが、まずは手が出しやすい場

    The Refactoring Tales - JavaScriptのリファクタリング本を読んだ
  • jQueryで設定されたクリックイベントなどを定義している場所を調べる方法 - Qiita

    Chromeなどのモダンブラウザであれば、デベロッパーツールがあってJavaScriptのデバッグなどもそこで容易にできる。例えば、なんかのボタンにJavaScriptでクリックイベントを設定している場合、なにが設定されているかの確認もサクッとできる。 デベロッパーツールで、イベントの中身を確認 <div id="click1">click1</div> <script> var click1 = document.getElementById('click1'); click1.addEventListener('click', function() { console.log('click1'); }); </script> Command + Option + i のショートカットで起動 調べたい要素を選択し、右側のパネル「Event Listeners」を選択する 右端のフィルタっ

    jQueryで設定されたクリックイベントなどを定義している場所を調べる方法 - Qiita
  • 30歳エンジニアの個人的な反省とこれから | tsuchikazu blog

    これはPepabo Advent Calendar 2014の21日目の記事です。 昨日は@getsukikyuさんの野菜 - ロマネスコに見る幾何学でした。 明日はnezumi650さんです。 もう年末で、みなさん1年を振り返り、評価の面談などが実施されている時期ではないでしょうか。 今日は、Pepabo Advent Calendarに書くことではないかもしれませんが、個人的な反省点と来年に向けてやっていきたいことをまとめていきたいと思います。 ペパボのエンジニア評価制度について、おいちゃんがAdvent Calendarに書かれていて(ペパボのエンジニア評価制度を、社内の一般エンジニアはどうみているのか? - 彼女からは、おいちゃんと呼ばれています) この記事でいう一般エンジニアでの視点になります。2年半前に新卒で入ったSIerからペパボに転職し、3月で30歳になります。 反省するこ

    30歳エンジニアの個人的な反省とこれから | tsuchikazu blog
  • JavaScriptのコードを測ろう「plato」

    こんにちは、中川です。 PHPよりもJavaScriptを書く機会が多いこの頃です。 さて、JavaScriptといえば、何も考えずにアプリを作ると プロジェクトがカオスになることで有名な言語ですね。 気を使って作っていてもちょっとした油断で、 気付いた時にはメンテナンス不可能なコードが出来上がっていたりします。 今回ご紹介するのは、不幸にもそんな状態になってしまったたくさんのコードの どこがどのような状況なのかをパッと確認できるツールをご紹介します。 ■plato https://github.com/jsoverson/plato platoはNode.jsで動作します。 プロジェクトのJSファイルを解析して、 コードの行数や複雑度、メンテナンス性、jshintの警告などをHTMLレポートとしてまとめてくれます。 実際のレポート画面は以下で確認できます。 ・jquery ( http:

    JavaScriptのコードを測ろう「plato」
  • peter.michaux.ca - JavaScript Namespacing

    JavaScript Namespacing Published June 14, 2008 in JavaScript, Namespacing There are many ways to safely namespace your objects in JavaScript. This article discusses common practices I have seen. Prefix Namespacing If the goal of namespacing is to avoid collisions. The following system is just as likely to avoid namespace collisions as any other system as long as we know the global variable name pr

  • 川上量生会長「コピーできない仕組みなら課金は可能」 前編

    KADOKAWAと経営統合し、KADOKAWA・DWANGO会長に就任した川上量生氏(46)が朝日新聞のインタビューに応じました。出版とネットの融合で「クリエイターが儲かるプラットフォームを作りたい」と語る川上氏に、これからのコンテンツ産業や大型新サービス「ニコキャス」などについて聞きました。ほぼ全文を3回にわたりお伝えします。 「新旧世代の接点になるのがミッション」 ――経営統合後の動きとして、地方の書店でユーザー参加型のネット中継イベント「ニコニコ書店会議」を開いていますね。 イベントというのは象徴だと思ってるんですよね。リアルのイベントが面白いっていうことを強調するための象徴。普通は都心のね、すごく大きなお店がやっていたと思うんですよ。僕はそうじゃないと思っていて、地方でがんばっているんだけど、厳しい状況にある、地方のお店を応援したいという、そういうメッセージを伝えていきたいというこ

    川上量生会長「コピーできない仕組みなら課金は可能」 前編
  • 入門 Capistrano 3 ~ 全ての手作業を生まれる前に消し去りたい | GREE Engineering

    はじめに この記事はGREE Advent Calendar 2013年の21日目です。お楽しみください! こんにちは、アゴひげがダンディーだと評判の九岡です。GREEでは、JavaScalaを布教するための土台を固めるため、デプロイや監視の仕組みづくりなどを横断的にやっています。今回はその過程で得られた知識を「Capistrano 3の入門記事」という形で共有させていただきます。 この記事ではCapistrano 3の基礎をご紹介します。Capistrano 3はRubyをベースにしたサーバ操作およびデプロイの自動化ツールです。Capistrano 3を利用することで、デプロイなどの複雑なサーバ操作を自動化することができます。ここの記事では、特にデプロイに焦点をあてながら、Capistranoでサーバ操作を自動化する考え方と実現方法をご説明していきます。 Capistrano 3の習得

    入門 Capistrano 3 ~ 全ての手作業を生まれる前に消し去りたい | GREE Engineering