oh240のブックマーク (944)

  • rack-attack middleware を使って IPアドレスでアクセスを制限したり、同一IPアドレスからの大量のリクエストを防ぐ術 - kitak blog

    こんにちは。味噌汁を飲んでいます、きたけーです。 世の中は脅威で満ちている。 特定のパスへのアクセスをIPアドレスで制限したり、同一IPアドレスからの大量のリクエストを防ぐには、kickstarter/rack-attack · GitHub というrack middlewareが便利です。 以下、使用例。 特定のパスへのアクセスをIPアドレスで制限する 例えば、管理者用ページへのアクセスをオフィスからに限定するには、こんなかんじ Rack::Attack.blacklist('only allow from office') do |req| req.path.match(%r{^/admin}) && (req.ip != OFFICE_IP_ADDRESS) end 同一IPアドレスからの大量のリクエストを防ぐ 例えば、「通報」を1分間に1回までに制限するには、こんなかんじ Rack

    rack-attack middleware を使って IPアドレスでアクセスを制限したり、同一IPアドレスからの大量のリクエストを防ぐ術 - kitak blog
    oh240
    oh240 2018/03/20
  • Introducing gRPC Support with NGINX 1.13.10 – NGINX Community Blog

    Today, we’re excited to share the first native support for gRPC traffic, released in NGINX Open Source 1.13.10. NGINX Plus Release 15 includes gRPC support as well as the support for HTTP/2 server push introduced in NGINX 1.13.9. NGINX can already proxy gRPC TCP connections. With this new capability, you can terminate, inspect, and route gRPC method calls. You can use it to: Publish a gRPC service

    oh240
    oh240 2018/03/18
  • トピック型のモバイルPush通知をRails + Amazon SNSで実装する - メドピア開発者ブログ

    こんにちは。メドピアにWebエンジニアで入社して約6ヶ月の佐藤です。 メドピアは2/26から銀座に移転しました。 銀座に移転しても花粉からは逃げられませんでしたが 、移転後はなぜか空気清浄機が増えて助かっています。 書いてある事 Amazon SNSの複数ユーザーに一度に通知を送る「トピック」を使ってRailsでPush通知を実装した際の処理フローを主に書いてあります。 トピック機能を使わず、Amazon SNSプッシュ通知のみを実装した場合はわりとシンプルですが、 トピック購読(subscribe) トピック購読の解除(unsubscribe) 等のトピック関連の処理が加わってくると状態管理が複雑になってきます。 また、 トピック エンドポイント ARN(Amazon Resource Name) などAmazon SNSAWS上での用語も理解する必要があるため、その説明も簡単に入れ

    トピック型のモバイルPush通知をRails + Amazon SNSで実装する - メドピア開発者ブログ
    oh240
    oh240 2018/03/16
  • LambStatus - Lambdaを使ったWeb APIステータスページ

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました クラウドサービスを提供しているのであればステータスページは必須と言えます。そうすることで万一サーバが落ちていても開発者に通知することができます。サービス停止はもちろん困りものですが、まったく状況が分からないのに比べたら大幅に良いでしょう。 ステータスページを提供するサービスは幾つかありますが、今回はAWS Lambdaを使ったLambStatusを紹介します。 LambStatusの使い方 ユーザ向けの画面です。 グラフが表示されているので状況の変化が追えます。 過去に起きた問題を記録しておけます。 こちらは管理者向けの画面です。 インシデントは自分たちで登録します。 メンテナンス情報も記録しておけます。 測定する情報。 設定。 LambStatusはLambdaを使うことによって

    LambStatus - Lambdaを使ったWeb APIステータスページ
    oh240
    oh240 2018/03/15
  • inouetakuya.info

    inouetakuya.info 2023 著作権. 不許複製 プライバシーポリシー

    inouetakuya.info
    oh240
    oh240 2018/03/05
    20代後半だし、優秀ではないクラスターなので私には関係なかった。
  • 提案:エンジニアに気軽に「バグ」というのはやめませんか? - worker experienceの日記

    もしかしたら私だけかもしれないです。ずれているかもしれません。 一般論ではないかもしれません。 でも、同じような気持ちになっているエンジニアがいるかもしれないので、 代表して言わせてください。 エンジニアに、気軽に「バグ」と言うのをやめませんか? 最近立て続けに以下のようなことが起こっており、私と同僚が消耗しています。心がすり減ってます。ワーカーエクスペリエンスが低下しています。。。 ~~~~~~~~~~~~~~~~~~~ 「○○さん、この数値がバグなんだけど直してもらえる?」 →調べたらその週は祝日影響で、営業日が少ないだけだった。 「あのデータのバグはいつ直りますか?」 →データの集計定義の変更の依頼があり、変更前の状態をバグと呼ぶ 「この前入ってなかったバグなんだけど、次の開発に入れてもらっていい?」 →スコープ外のこと(担当がそれを忘れていた)をバグと呼ぶ ~~~~~~~~~~~~

    提案:エンジニアに気軽に「バグ」というのはやめませんか? - worker experienceの日記
    oh240
    oh240 2018/03/01
  • API TALK about メルカリチャンネルを開催しました | メルカリエンジニアリング

    こんにちは、サーバサイドエンジニアの @vkgtaro です。 1/23(火)にメルカリチャンネルの開発についてのイベントを開催したのでその開催後レポートをお届けします。 まずは開催当日は大雪の翌日で、足元が悪い中お越しいただいた方々には改めてお礼申し上げます。また、参加できなかった皆様におかれましてもお申し込みありがとうございました。 API エンジニアのイベントは今後も開催していきますので、次の機会によろしくお願いします。 mercari.connpass.com メルカリチャンネルはライブを通じたコミュニケーションで売れるフリマとして昨年7月にリリースされて以降、日々多くの機能開発、改善を行っています。 このイベントではそのメルカリチャンネルの成長を開発者視点で3名が登壇して伝えしました。 @bravewood による「メルカリチャンネルとは」 @vkgtaro による「急成長させる

    API TALK about メルカリチャンネルを開催しました | メルカリエンジニアリング
    oh240
    oh240 2018/01/31
    これコメントデータとかの永続化はRDBMSにしているのだろうか。 firebaseだけではないと思うが…
  • Rails loves React

    CSS3 and Responsive Web Design - Lecture 5 - Web Technologies (1019888BNR)

    Rails loves React
    oh240
    oh240 2018/01/17
    これだとVueの方がいいのでは。でもReactの現実的な使い方では思っている。
  • Ethereum で非中央集権型広告配信システムをつくってみた - ピヨピヨ日記

    ちょっとおおげさなタイトルですが、Ethereum を使って広告配信システムっぽいものをつくれないかと思い、実験として酔った勢いで作ってみました。下に表示されているやつは、Ethereum のブロックチェーン上に記録された情報をもとに JavaScript で広告を表示しています。(広告配信というとそれっぽく聞こえるのですが、Ethereum に広告配信時間と広告テキスト・ URLが記録してあるだけです。) この広告を表示する JavaScript 自体はサーバに置いてありますが、いつ・どのような広告を表示するか?といった情報はブロックチェーン上に乗っかっています。なので、クライアントが Ethereum のブロックチェーン上の情報を読みにいくことができれば、広告用のサーバに広告をリクエストすることなく広告を配信することができます。なお、広告枠が購入されていない状態(いわゆる空き枠)だと、

    Ethereum で非中央集権型広告配信システムをつくってみた - ピヨピヨ日記
    oh240
    oh240 2018/01/12
  • 一緒に働いているチームメンバーに評価してもらう - maru source

    昨年から、マネージャーとしての僕を一緒に働いているチームメンバーに評価してもらうというのをはじめました。評価方法は50個ほどの質問項目が書かれたアンケートに1点(No)〜4点(Yes)をつけてもらうというものです。人数は10人くらいです。 質問項目の詳細は最後に掲載します。 この取組は会社でオフィシャルに実施してるわけではなくて、あくまでも僕が個人的に取り組んでいるものです。 何故始めたのか? ここ数年はリーダーやマネージャーという役割をやるようになり、以下のようなことに困っていました。 マネージャーが成長するには自分の上司からの評価だけでは不十分 一緒に仕事をし、影響を及ぼし合っているのはチームメンバーである 評価者と被評価者が非対称の関係になっており、評価する側が偉いみたいになってくる リーダーやマネージャーは上下関係というより役割だと思っているので、そうはなりたくない そういう役割を

    一緒に働いているチームメンバーに評価してもらう - maru source
    oh240
    oh240 2018/01/09
  • 200行のコードへのブロックチェーンの実装 | プログラミング | POSTD

    ブロックチェーン の基的な概念は非常にシンプルです。分散型データベースで、順序付けられたレコードのリストが連続的に増加していきます。しかしシンプルとは言え、ブロックチェーンやそれを使うことで解決しようとしている問題について話をする際に、頭を悩まされることがよくあります。これは、 ビットコイン や イーサリアム といった、一般にもよく知られているブロックチェーンベースのプロジェクトでよく聞かれる話です。「ブロックチェーン」は、 取引 や スマートコントラクト 、または 暗号通貨 といったコンセプトと強い結びつきがあります。 そのため、来シンプルであるべきブロックチェーンの理解がより困難になってしまっています。抜け目のないソースコードであれば尚更です。 そこで、 NaiveChain という、200行のJavascripitに実装した、非常にシンプルなブロックチェーンを紹介したいと思います

    200行のコードへのブロックチェーンの実装 | プログラミング | POSTD
    oh240
    oh240 2018/01/09
  • Solidityで作る公平なガチャ - lotzのブロチェ日記

    ソーシャルゲームに見られるガチャというシステム上では個人が何十万円もつぎ込むこともあるように非常に高価なお金が動きます。ガチャは確率でしか欲しいアイテムが手に入らないため、運営が不正をしてこの確率を偽っていないことを証明することは非常に重要です。もしブロックチェーン上でガチャを実装できれば運営が恣意的な操作を行う余地がない信頼のおける公平なシステムを作ることが出来るでしょう。 qiita.com Qiitaに投稿されたこちらの記事ではブロックチェーン上でガチャを実装する方法が紹介されています。今回はこれに従って実際にSolidityで動作するガチャを作ってみることにしましょう。 余談ですが記事中で解説されている コミットメントによる公平なガチャ はまさに Satoshi Dice で採用されているガチャの方式ですね。 Decentralized Gacha まずはコメントにて解説されている

    Solidityで作る公平なガチャ - lotzのブロチェ日記
    oh240
    oh240 2018/01/08
  • switch_point Active Recordにメソッドを追加・変更する部分を勉強してみた

    昨日DB関連の資料を調べていく中で興味があった『eagletmt/switch_point』がどんなふうに実装されているのかが、興味あって、ソースコードを読んでみました。特に興味があったのは、Active Record::Baseなどにメソッドを追加したり、既存のメソッドに手を加える部分です。まだわかっていない部分も多いのでメモ書きレベルですが、一応せっかくなのでアウトプットしておきます! 🎂 既存のActiveRecod::Baseにメソッドを生やす『eagletmt/switch_point - GitHub』のswitch_point/lib/switch_point.rbで既存のActiveRecod::Baseにメソッドを生やす目的で次のようなコードが書かれていました。 require 'active_support/lazy_load_hooks' # ...(省略)...

    switch_point Active Recordにメソッドを追加・変更する部分を勉強してみた
    oh240
    oh240 2018/01/07
  • Rails の timestamps カラム(created_at, updated_at) と別に日時カラムを作る理由が分からん - アジャイルSEの憂鬱

    Rails を使っていて、日時カラムを作るケースがありますが、あれのメリットが知りたいと思って、ブログに書いてみた。 created_at を使わず、あえて自分達で 別のカラムに https://t.co/BzSE87AzJJ を保存する実装にする意味が分からん…。非同期処理で時間がズレるのを避けるとかならともかく、それ以外で作る意味あるのかなぁ…。— 神速@リリカルエンジニア (@sinsoku_listy) 2016年10月10日 例: ユーザーの登録日時 # db/migrate/20161010010101_create_users.rb class CreateUsers < ActiveRecord::Migration create_table :users do |t| t.string :name t.datetime :registered_at, null: fals

    Rails の timestamps カラム(created_at, updated_at) と別に日時カラムを作る理由が分からん - アジャイルSEの憂鬱
    oh240
    oh240 2018/01/06
    概ね同意。あと自分たちで別カラムを作っているのは、「特定のカラムが更新されたときだけ、更新日時を更新したい」みたいな仕様に予め備えているのだと思ってる。
  • テストで実際に見たウェブサーバの「遅い」状態とは - Qiita

    さくらインターネットのアドベントカレンダー25日目が空いてしまったので、ウェブサーバのチューンナップについて書くことにしました。 私は今日からお休みですが、さくらインターネットは年末年始も休まずに働いていますので、ご安心ください。 年末年始のシフトに入ってくれた社員の皆さんに感謝です。 ということで、責任を持って空いたカレンダーの埋め合わせをさせて頂きますw サーバのレスポンスが遅いとは? なんだかサーバのレスポンスが悪いなぁってことは皆さんも体験されたことあると思います。 原因としては大きく分けて2種類あり、ひとつはApacheやnginxなどのウェブサーバソフトウェアの設定において同時に処理できる上限に達しているケースと、サーバ自体の負荷が高まっているケースです。 前者はApacheでいうとMaxClientsを調整することで対応できますが、そもそもサーバの性能以上にMaxClient

    テストで実際に見たウェブサーバの「遅い」状態とは - Qiita
    oh240
    oh240 2018/01/02
  • DBリファクタリングの勘所と所感 - そーだいなるらくがき帳

    表題についてそーだいなる見解を書き残します。 今年の夏に id:koemu さんにbuilderconの懇親会で下記のような話をいただいていました。 懇親会で、DB側ばかりでなくプログラム側でも適切なドメインモデルの設計ができていれば、リファクタリング時の影響範囲がさらに小さくできるのでは?という話をしたところ、この辺りはアンサーブログを書いてくれるかもしれないってことなので期待しています!!! www.koemu.com 忘れてないんですよ!しっかり覚えています。 結論 仰る通りだと思うし、適切なドメインモデルはRDBに限らずデータストア層のリファクタリングの負担を大きく減らすと思います。 ここから先は僕なりの考え方を書きます。 実は似たような話を PHPの現場 っていうポッドキャストでも触れています。 php-genba.shin1x1.com システムの柔軟性 勿論、コードの綺麗さや

    DBリファクタリングの勘所と所感 - そーだいなるらくがき帳
    oh240
    oh240 2018/01/02
  • プロトタイプ用途でFirebaseを使ってよかったという話 - Webuilder240's Blog

    最近、個人的な趣味と社の技術検証を兼ねてFirebaseを触っている。 一番のモチベーションとしてはFirebase Realtime Databaseの存在が大きかったのだけど、 フロントエンド・クライアントサイドエンジニアがプロトタイプ作るときに、 あると便利な機能が一通り揃っているという観点でも良いと思ったので、紹介したい。 知っている人からすれば2年遅れくらいだろうけど、サーバーサイドをメインにしている人間には新鮮だったので、 下記でそれぞれのサービスについて解説する。 Firebase Realtime Database / Firestore firebase.google.com firebase.google.com 今更解説する必要もないと思っているけど... チャットを5分で作れるだの、1分で作れるだのと言ったものはだいたいコレでできている。 Firebase Real

    プロトタイプ用途でFirebaseを使ってよかったという話 - Webuilder240's Blog
    oh240
    oh240 2018/01/01
  • 中〜大規模なSPAを開発する時に抑えておきたい10のポイント - KAYAC engineers' blog

    こんにちは。カヤックのSPAおじさんこと島津です。 今年はReactVueを使ったSPA開発プロジェクトをいくつか担当してきたので、そこで得た知見の総まとめをしたいと思います。 ※ ここでのSPAとはすべてのViewをJavaScriptで書くWebアプリのことを指します。サーバーサイドMVCを主軸にViewの一部をReactVueで書くこともありますが、今回はそのケースではありません。 1. フレームワーク 数年前とは事情が変わり、 フレームワークを使わないという選択肢は昨今だともう無いでしょう。丸腰のJSでDOMを弄っていた時代に比べると、かなり安定したフロントエンドの開発ができるようになりました。 人気フレームワークの台頭になっている React + Redux Vue + Vuex をこの1年使ってきましたが、書き方は違えどFluxアーキテクチャ・仮想DOM・コンポーネント志向

    中〜大規模なSPAを開発する時に抑えておきたい10のポイント - KAYAC engineers' blog
    oh240
    oh240 2017/12/25
  • プログラマ向けの技術情報共有サービス「Qiita」提供のIncrementsをエイチームが買収 : 官報ブログ

    2017年12月22日16:47 カテゴリ プログラマ向けの技術情報共有サービス「Qiita」提供のIncrementsをエイチームが買収 http://www.a-tm.co.jp/ir/news/ エイチームがプログラマ向けの技術情報共有サービス「Qiita」提供のIncrements株式会社を買収すると発表 Increments株式会社 平成28年12月期売上高:8,995万円営業利益:▲7,871万円純利益:▲8,022万円 Twitter随時更新中 Facebookページはじめました カテゴリなしの他の記事

    プログラマ向けの技術情報共有サービス「Qiita」提供のIncrementsをエイチームが買収 : 官報ブログ
    oh240
    oh240 2017/12/22
  • ドワンゴ川上量生氏が会長職から退任 今後は”取締役CTO”へ

    ドワンゴは12月21日、同社代表取締役会長である川上量生氏について、同日行われた取締役会をもって、代表取締役会長から退任することになったと発表しました。川上氏は今後、新たにIT全般の最高責任者として「取締役CTO」の職に就く形となります。退任理由については「(川上氏は)新技術の開発により集中することがグループの価値を極大化できる」との判断からとしています。 niconico(く)発表会に登壇した川上氏(関連記事) 川上氏は1997年にドワンゴを設立し、代表取締役社長に就任。2009年9月からは代表取締役会長としてグループの運営を担っていました。川上氏は今後、人工知能教育事業などのIT先端技術関連の新規事業開発に注力していくとのこと。ドワンゴの中核サービスであるniconicoについては、既報の通り取締役の栗田穣崇氏が現在、川上氏に代わって責任者となっています(関連記事)。 11月28日に

    ドワンゴ川上量生氏が会長職から退任 今後は”取締役CTO”へ
    oh240
    oh240 2017/12/21