タグ

ブックマーク / qiita.com (341)

  • MySQLのスキーマ変更をオンラインでやるための選択肢比較 - Qiita

    MySQLを使っていて、スキーマを変更したい場合はAlterTableを流す必要があります。 すでに稼動しているサービスのスキーマを変更する際に、可能な限り稼働中システムに影響を与えずにスキーマの変更を行いたいです。 理想はオンライン状態を保った状態でAlterTableが全て完了することで、これが実現できれば少なくともスキーマ変更に伴うメンテナンスのためのダウンタイムが発生しません。 これを実現するためには幾つか方法が存在し、制約もあるみたいなので調べてまとめてみました。 その前にAlterTableのこれまでの挙動を調べる オンラインでのスキーマ変更を調べる前に、まずはAlterTableのこれまでの挙動(MySQL5.1まで)について簡単にまとめてみます。これによってオンラインスキーマ変更のために何が問題になっているか?が理解できると思います。 MySQL5.1までのAlterTab

    MySQLのスキーマ変更をオンラインでやるための選択肢比較 - Qiita
    karahiyo
    karahiyo 2017/10/18
  • 次世代監視の大本命! Prometheus を実運用してみた - Qiita

    こんにちは!freeeでインフラゾンビをやっている @sugitak です。ゲームではレベルを上げて物理で殴る派です。 freee ではたまにインフラエンジニアの数が減るのですが、その減ったインフラエンジニアはインフラゾンビへと進化し、社内を闊歩します。インフラゾンビは主に開発チームに所属して、アプリっぽいインフラの仕事をインフラからアプリ側へと持っていきます。デプロイとか、Dockerとか、Jenkinsとかの、いわゆる DevOps 系のところですね。こうすることで開発者は手を出せるものの自由度が増えるし、インフラはより来のインフラとして純度を上げていける、 so, win-win ってわけです。 さて、そんなわけで監視です。freee Engineers Advent Calendar 2016の9日目の記事として、 Prometheus による監視が最高なのでみんなもっと使おうと

    次世代監視の大本命! Prometheus を実運用してみた - Qiita
    karahiyo
    karahiyo 2017/10/17
  • flowの始め方 - Qiita

    ということで、前回に引き続きReact Confで紹介されてたものを試すシリーズの第二回です。 flowの簡単な設定とeslint/babel/precommitフック/vimとの連携のみです。深い使い方は(今のところは?)書きません。flowは既に色々なところで紹介されてますが、気にせず行きます。 ちなみに今回もReactは出てきません。(追記で少しだけ触れてしまいました) flowとは JavaScript用のtypeチェッカー ファイル単位で適用できるため、既存のプロジェクトにも気軽に導入できる eslintやbabelとも連携できるので既存プロジェクトに導入しやすい 色んなエディタ/IDEでもサポートされている この辺を見る限りFacebookのデベロッパ的にはTypeScriptはあんまり推奨してないっぽい GitHubのstarヒストリーを見る限りはTypeScriptに分があ

    flowの始め方 - Qiita
    karahiyo
    karahiyo 2017/10/15
  • 15週間でクソゲーを20本作って得たもの - Qiita

    5の「振り返り」は以下の項目を検討しておくと良いです。 Idea:アイデア。コンセプト。テーマ。元ネタ What went right:やってみて良かったこと。うまくいったところ。成功したところ。次回に生かせそうなこと What went wrong:ダメだったところ。うまく機能しなかったところ。問題点。改善すべき点 What I learned:学んだこと。効果的なゲームデザインの方法やツールの使い方、獲得したテクニックなど ちなみに最初にリンクを貼った、作ったゲームの各ページの下の方には、振り返りや作成にかかった時間などを記載しています(以下はノンフィールドRPG「OneWay RPG」を作った時の振り返り) Game A Weekで得たもの ということで「Game A Week」を行った結果、私が得たものです。 ゲームを作りながら技術検証できる ゲームを完成させたときの達成感を繰り返

    15週間でクソゲーを20本作って得たもの - Qiita
    karahiyo
    karahiyo 2017/10/05
  • Datadogで手軽にいい感じに外形URL監視を実現する方法 - Qiita

    これはDatadog Advent Calendar 2016 2日目の記事です。 Webサービスを運営している場合、実際のエンドユーザに対して、正常にサービスが提供出来ているかを知る手段として外形URL監視をそれぞれの方法でやっていると思います。 今回は、Datadogを使って外形URL監視を組んだ事例について紹介しようと思います。 目次 外形URL監視とは なぜDatadog こんな感じに出来る Datadogの設定 設定時のポイント まとめ 外形URL監視とは 定期的に、外部公開しているURLに対してリクエストを送り、レスポンスのステータスコードや応答時間をチェックし、異常時には、何らかの通知を送ることで、そのサービスの死活監視をすること。 なぜDatadog Saas系のモニタリングツールだとmackralやpingdomあたりは、Saas側の機能として外形URL監視サービスを持っ

    Datadogで手軽にいい感じに外形URL監視を実現する方法 - Qiita
    karahiyo
    karahiyo 2017/09/26
  • yumリポジトリ一追加リスト 完全版 - Qiita

    yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm yum install http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

    yumリポジトリ一追加リスト 完全版 - Qiita
    karahiyo
    karahiyo 2017/09/26
  • CentOS6.xのlibcurlが古くてcurl: (35) SSL connect errorが発生する件 - Qiita

    決済サービス等のモジュールにアクセスする際、curlでリクエストを送る場合、CentOS6.xのyumでインストール出来るlibcurlは古く、'curl: (35) SSL connect error'が発生してしまいます。 (調べると7.36.0でsslv3のdefault設定は無効になっていました。) [vagrant@localhost ~]$ cat /etc/redhat-release CentOS release 6.7 (Final) [vagrant@localhost ~]$ yum info libcurl 読み込んだプラグイン:fastestmirror Loading mirror speeds from cached hostfile * base: www.ftp.ne.jp * epel: ftp.riken.jp * extras: www.ftp.ne

    CentOS6.xのlibcurlが古くてcurl: (35) SSL connect errorが発生する件 - Qiita
    karahiyo
    karahiyo 2017/09/26
  • pycurlで「(35, 'SSL connect error')」が出るときの対処法(のうちの1つ) - Qiita

    pycurlで「(35, 'SSL connect error')」が出るときの対処法(のうちの1つ)PythonSSLCentOS6.x ホストマシンがCentOS6.Xのpython2系においてpycurlを含むスクリプトを実行したところ、 pycurl.error: (35, 'SSL connect error') と出力されてしまっていた。。。 あー、SSLのアクセスがエラーなのね、と。。 尚、ステージング環境では同様のスクリプトは動いているという謎・・・ 「差分マジ不明」、とか「そもそも前は使えてたんかな?」と疑問に思いつつ、色々と調べた。 以下の様に、インタラクティブモードで検証を行う import pycurl c = pycurl.Curl() c.setopt(pycurl.URL, 'https://XXXX') c.setopt(pycurl.VERBOSE, Tr

    pycurlで「(35, 'SSL connect error')」が出るときの対処法(のうちの1つ) - Qiita
    karahiyo
    karahiyo 2017/09/26
  • React.jsの知っておいて損はないTips - Qiita

    React.jsでの開発を始めてから微妙にハマったポイント、また「これを早めに知っておけばもっとコードを簡潔に書けたのに・・!」という点がいくつかあったので、それらのTipsを共有します。 renderで返すComponentは単一の親でなければならない まずは入門編。Reactを始めた人は一度はエラーになったことがあるかも。 renderメソッドで返すのは単一の親のComponentであり、複数の親のComponentを返すことは出来ません。 必ず一つの親になるようにWrapしてあげましょう。 // エラーになる render(){ return( <div>aaa</div> <div>bbb</div> ); } // 正常 render(){ return( <div> <div>aaa</div> <div>bbb</div> </div> ); } renderで空を返す 子コ

    React.jsの知っておいて損はないTips - Qiita
    karahiyo
    karahiyo 2017/09/22
  • Linuxサーバで負荷試験するにあたって - Qiita

    LinuxでTCPのサーバを置いて多量のTCP接続を行うと、初期設定のままではうまくいきませんでした。 多量のTCP接続を受け付けるには設定手順があると知ったので紹介します。 「Too many open files」と出て接続できない 1プロセスで開けるソケット数上限に達したようです。 上限を上げましょう(デフォルト1024)。 接続元と接続先でそれぞれ以下のコマンドを使います。 ulimit -n 102400 「Connection refused」と出て接続できない まず接続先でdmesgコマンドを実行しましょう。 TCP: Possible SYN flooding on port 8888. Sending cookies. と表示されたらSYN flooding攻撃かもとOSが判断して新規接続をブロックしています。 無効化しましょう( http://ja.wikipedia.

    Linuxサーバで負荷試験するにあたって - Qiita
    karahiyo
    karahiyo 2017/09/14
  • React.jsとCSS3で長女のためにWEB絵本を作った話 - Qiita

    まずはこちらの動画をご覧ください。 こちらは娘が2歳半の頃に児童館で撮影したものです。 かわいい・・・ 生後1000日近くともなると、子どもは自分で絵を読むようになります。 並行してひらがな覚え始めるので、親としてはガンガン絵を読んでほしいのですが、実際には挿絵に合わせて適当な話を創をして遊んだり、まじめにひらがなを音読し始めたかと思えば数ページも読まないうちに次の絵を引っ張り出してきては読んで、飽きてまた違う絵に手を出すだけで、一向にちゃんと読んでくれません。 ちゃんと読まない原因として、もしかして絵に動きがないから飽きてしまうのでは、と思った自分は もしもパパが作った動く絵があったら、娘は大喜びしてを読むようになり、どんどん集中力が身について、あいうえおもマスターしてパパ大満足!なんてことになるんじゃないだろうか。 なんてことを考え、実際にWEB絵を作成して娘に見せるま

    React.jsとCSS3で長女のためにWEB絵本を作った話 - Qiita
    karahiyo
    karahiyo 2017/09/09
    いいお話だった
  • すべてのReact.js初心者が知っておくべき9つのポイント - Qiita

    9 things every React.js beginner should knowを意訳しました。 誤りやより良い表現などがあればご指摘頂けると助かります。 私は約6ヶ月間React.jsを使用してきました。それほど長い歴史ではありませんが、あなたがひげの長老として扱われるようなJavaScriptフレームワークの目まぐるしい世界の大きな枠組みの中で、私は最近、React初学者のTipsで少数の人々を支援してきましたので、ここでより多くの人々にその内容を共有するのが良いアイデアであると思いました。これらは全て私が始めた時に知っておきたかったことか、もしくはReactを習得するために当に役立ったもののいずれかです。 あなたが絶対的な基を知っていると想定して話を進めますが、もしコンポーネント、propsやstateなどの言葉に馴染みがなければ、公式の入門やチュートリアルページを読むと

    すべてのReact.js初心者が知っておくべき9つのポイント - Qiita
    karahiyo
    karahiyo 2017/09/05
  • ngrokを使用してローカル環境を外部に公開する - Qiita

    Tunnel Status online Version 1.7/1.7 Forwarding http://77f81e21.ngrok.com -> 127.0.0.1:3000 Forwarding https://77f81e21.ngrok.com -> 127.0.0.1:3000 Web Interface 127.0.0.1:4040 # Conn 0 Avg Conn Time 0.00ms

    ngrokを使用してローカル環境を外部に公開する - Qiita
    karahiyo
    karahiyo 2017/09/04
  • AWS Certificate Manager (ACM)で申請前に事前に確認しておくべき大切なこと - Qiita

    AWS Certificate Manager (ACM)がリリースされました! New – AWS Certificate Manager – Deploy SSL/TLS-Based Apps on AWS 2016年1月現在、AWSのELBとCloudFrontのみでの利用かつ、リージョンもus-east-1だけではありますが、無料で利用できるSSL証明書(ワイルドカードも対応可能)で更新も自動ということでかなり良さげなサービスです! で早速使ってみようと思ったら、盛大にはまってしまったのでメモ。 結論 ACMでの 申請前 に必ず申請ドメインでのメール受信(送信されるメールアドレスは後述)が出来ることを確認してから申請を行いましょう!!!!! ACMではSSL申請がされたドメインを当にユーザーが持っているか確認するために メール を送るのですが、自分の場合、最初にメール受信設定をし

    AWS Certificate Manager (ACM)で申請前に事前に確認しておくべき大切なこと - Qiita
    karahiyo
    karahiyo 2017/09/04
  • DDDで設計するならCQRSの利用を検討すべき - Qiita

    タイトルに書かれていることで全てなのですが、DDDとCQRSの併用について強調している日語の情報が少ないので、軽くまとめておきます。 CQRS+DDD CQRS(コマンドクエリ責務分離)とは、サーバの機能を「コマンド」(副作用あり)と「クエリ」(副作用なし)で完全に分けちゃおう、という考え方です。そもそも「コマンド」と「クエリ」ではあらゆる要件が異なります。 一貫性: 「コマンド」は整合性のある処理が必要、「クエリ」はあまり気にする必要なし ストレージ: 「コマンド」側は正規化してデータを保存したい、「クエリ」側は非正規な方が効率的 スケーラビリティ: 「コマンド」は全体の負荷の中で占める割合が少ない、「クエリ」は負荷が大きい なので分けちゃうわけですが、 コマンド側 複雑なビジネスロジックが絡むので、ドメイン駆動が活躍 クエリ側 複雑なビジネスロジックがないので、ドメイン層はスキップ

    DDDで設計するならCQRSの利用を検討すべき - Qiita
    karahiyo
    karahiyo 2017/09/04
  • Redux入門【ダイジェスト版】10分で理解するReduxの基礎 - Qiita

    ReduxGithubドキュメントを基に入門用記事として書いたものを、簡潔にまとめました。 もと記事はこちらです。 Redux入門 1日目 Reduxとは Redux入門 2日目 Reduxの基・Actions Redux入門 3日目 Reduxの基・Reducers Redux入門 4日目 Reduxの基・Stores Redux入門 5日目 Reduxの基・Data Flow Redux入門 6日目 ReduxReactの連携 Reduxとは Reduxは、ReactJSが扱うUIのstate(状態)を管理をするためのフレームワークです。Reactではstateの管理するデータフローにFluxを提案していますが、ReduxはFluxの概念を拡張してより扱いやすく設計されています。 Reduxはstateを管理するためのライブラリーなので、React以外にもAngularJS

    Redux入門【ダイジェスト版】10分で理解するReduxの基礎 - Qiita
    karahiyo
    karahiyo 2017/09/03
  • React+Redux入門 - Qiita

    ※この記事を書いたのは2016年4月です。Qiitaでは記事をアップデートするとその日付のみが表示されていまうため、新しい記事のように見えるかもしれませんが、現代ではもっと進化していることにご注意ください。素直にReact Hooks を使いましょう。あと Redux は用法用量を守って気をつけて使ってください。なんならReduxは使わない方がいいでしょう。 最近のモダンなウェブフレームワークと言えば、React+Reduxですよね。でも、なんか難しそうとか、ReactってPHPみたいにViewにロジック混ざりそうとか感じて尻込みしていませんか?それはただの誤解かもしれません。React+Reduxはそんなに難易度の高いものではありません。ただ単に、新しい概念で構成されているから、カルチャーショックのようなものがある、というだけのことです。React+Reduxに入門してみましょう。 僕自

    React+Redux入門 - Qiita
    karahiyo
    karahiyo 2017/09/02
  • Golang GinでReact.jsのサーバサイドレンダリングを試してみた - Qiita

    はじめに 以前書いたGolangのGin/bindataでシングルバイナリを試してみた(+React)の続きです。今回はReactのサーバサイドレンダリングを追加で試してみました。なお、Golangで使えるJavaScriptエンジンはいくつかありますが、今回はgo-duktapeを使っています。サイトにベンチマークが記載されておりそこそこ速そうです。また、go-duktapeの作者の方がgo-starter-kitというEcho + Reactのサーバサイドレンダリングのサンプルを作ってくれているため、こちらを参考にしてGin向けに作ってみました。 作ったもの https://github.com/wadahiro/gin-react-boilerplate/tree/server-side-rendering にあります。 ディレクトリ構成 前回とほぼ同じです。前回から変更した、ポイン

    Golang GinでReact.jsのサーバサイドレンダリングを試してみた - Qiita
    karahiyo
    karahiyo 2017/09/01
  • React.jsでPropやStateを使ってComponent間のやりとりをする - Qiita

    今日はこれまでに紹介したPropやStateを使ったComponent間でやりとりについて書きたいと思います。 親のStateを子のPropとして渡す Componentを設計する時はまずPropとしてI/Fを考えて、そのComponentが管理すべき値で変更されるものをStateとして定義します。 つまりComponent間での親子の関係を意識して、親がStateを持っていて子にPropとして渡すというのが基になります。(子は使うだけで管理しているのは親) var User = React.createClass({ propTypes: { name: React.PropTypes.string.isRequired, id: React.PropTypes.number.isRequired }, render() { return ( <div>{this.props.id}:

    React.jsでPropやStateを使ってComponent間のやりとりをする - Qiita
    karahiyo
    karahiyo 2017/08/31
  • Go製マイグレーションツールまとめ - Qiita

    2017/01時点 今回比較しなかったもの https://github.com/tanel/dbmigrate https://github.com/BurntSushi/migration https://github.com/Boostport/migration https://github.com/github/gh-ost https://github.com/wawandco/transporter https://github.com/GuiaBolso/darwin https://github.com/DavidHuie/gomigrate https://github.com/go-gormigrate/gormigrate https://github.com/pravasan/pravasan https://github.com/eure/kamimai lia

    Go製マイグレーションツールまとめ - Qiita
    karahiyo
    karahiyo 2017/08/28