タグ

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

  • returnやbreakを使ったときのProc.newとラムダの挙動の違い - Qiita

    # Proc.newは引数の過不足を許容する f = Proc.new { |s| "Hello, #{s}!" } f.call('Alice') #=> => "Hello, Alice!" f.call #=> "Hello, !" # ラムダは引数の数が異なるとエラーになる f = -> (s) { "Hello, #{s}!" } f.call('Alice') #=> "Hello, Alice!" f.call #=> ArgumentError: wrong number of arguments (given 0, expected 1) もうひとつはProc.newやラムダの内部でreturnやbreakを呼びだした場合の挙動です。 この記事ではこの違いをまとめてみます。 おことわり この記事は以下の公式ドキュメントの内容を独自の観点で再構成したものです。 手続きオブジ

    returnやbreakを使ったときのProc.newとラムダの挙動の違い - Qiita
  • 開設後3週間で収益10万円を得た個人開発サイトでやったことの全部を公開する - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 開設して3週間ほどで収益10万円を個人開発サイトから得たので、そこでやったことを全部ここに公開する。 世の中には**億ドルのバリュエーションを獲得したスゲー起業家の話か、個人開発サイトを立ち上げたものの収益なんてゼロに近い話かの両極端しか無いように感じる。 パッと立ち上げてだいたい1ヶ月でiPhoneXが買えるぐらいのサイト規模というのは、どんなレベルのエンジニアでも手が届く範囲内にあるのが実感だ。「人生賭けて起業!」とかそんな熱い話ではない。普段の仕事が終わったら、ちょこちょこコードかいて個人的にアプリを公開して収益を得る、ぐらいの話

    開設後3週間で収益10万円を得た個人開発サイトでやったことの全部を公開する - Qiita
  • [Rails]複数のデータベースに接続する - Qiita

    ひとつのMySQLサーバーだけでなく、もうひとつ別のMySQLサーバーに接続したい欲張りさんのための方法。 development: # ひとつめはいつもどおり adapter: mysql2 encoding: utf8 database: database1 username: hoge password: hogehoge host: database1.url port: 3306 pool: 5 timeout: 5000 test: # 略 production: # 略 # ふたつめ database2: adapter: mysql2 encoding: utf8 database: database2 username: fuga password: fugafuga host: database2.url port: 3306 pool: 5 timeout: 5000

    [Rails]複数のデータベースに接続する - Qiita
    inoueyuworks
    inoueyuworks 2018/05/09
    establish_connection(:database_env_name) みたいにすると、そのクラスでは、接続がそこに向かう。接続だけ行う base クラスを作成して、そこからオブジェクトを継承していくと、ベター。
  • 持続可能な開発を目指す ~ ドメイン・ユースケース駆動(クリーンアーキテクチャ) + 単方向に制限した処理 + FRP

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? この記事は、開発を持続可能にできるようなアーキテクチャとその適用方法を考察するものです。 骨子はできていますが、実装経験をフィードバックして詳細を若干変更するかもしれません。 勉強不足な点もあるので、意見を歓迎します。 開発においてよくある問題点 ビジネスロジックの質が何だったか見失う。ソースコードのどこまでが業務上の関心で、どこからがそれを実現するための技術上の関心か分からなくなる。 入出力双方向の処理が散在して処理が追い切れなくなる。特にイベント処理でどこに飛ぶかわからないコールバック地獄になる。 初期化・つなぎ込み・統合者的オブ

    持続可能な開発を目指す ~ ドメイン・ユースケース駆動(クリーンアーキテクチャ) + 単方向に制限した処理 + FRP
  • 「お前らのフリーランスになるメリットは間違っている」というお話 - Qiita

    といった契約形態がありますね。 http://www.mhlw.go.jp/seisakunitsuite/bunya/koyou_roudou/roudouseisaku/chushoukigyou/koyoukeitai.html ちなみに「雇用契約」という言葉もありますが、法律上は異なるものです。 詳しくこういうのをググってみてください。 http://www.soumunomori.com/column/article/atc-15381/ とどのつまり、人の一生に一度しかない人生の時間(=労力)を金で買う契約のことを「雇用契約」といい、 その中でも、「労働基準法」で守られている(ある程度しか実際は守られないけど)契約形態を「労働契約」といいます。 人材派遣などは「現代版の人身売買」と呼ばれるのも、そういったところからです。 訴訟と法律のお話 ちなみに「民法」というベースの法律で定

    「お前らのフリーランスになるメリットは間違っている」というお話 - Qiita
  • 【噂】IT業界のウソ・ホント【闇】 - Qiita

    はじめに 仕事が苦しくなると、つい仕事中にIT業界や他業界について調べてしまう私から 若手のうちは判断しづらいホントのところを若手に向けて書きます 注意 1年目~6年目の特にエンジニア向け 軸を受託Web業界においています(一番対象者が多そうだから) やさしいIT業界の説明書と攻略法の後のつもりで書いています 非常に曖昧なテーマも扱うので、厳密には合っていない可能性もあります 話半分でお願いします IT業界ブラック企業が多い? → まぁまぁホント ちゃんと理由があります プロジェクトというものが非常に難しいため 中小企業が多いため + 日の中小企業はブラックになりやすいため 人材リソースの授受があるため 残業しやすい環境が整っているため 残業なしの裁量労働制や、みなし残業が多いため 労働集約的な業態が多いため 悪い経営者が多い!というよりは 単純に難易度がそこそこ高いのだと思いま

    【噂】IT業界のウソ・ホント【闇】 - Qiita
  • MySQL パーティショニングまとめ - Qiita

    参考URL パーティショニングとは パーティショニングの種類 RANGE パーティショニング このタイプのパーティショニングは、指定された範囲に含まれるカラム値に基づいて、行をパーティションに割り当てます。 LIST パーティショニング RANGE によるパーティショニングに似ていますが、別個の値のセットのいずれかに一致するカラムに基づいて、パーティションが選択されます。 HASH パーティショニング このタイプのパーティショニングでは、テーブルに挿入される行内のカラム値を操作するユーザー定義式によって返される値に基づいて、パーティションが選択されます。関数は、負ではない整数値を返す MySQL の有効な式で構成できます。このタイプを拡張した LINEAR HASH も使用できます。 KEY パーティショニング このタイプのパーティショニングは、HASH によるパーティショニングに似ていま

    MySQL パーティショニングまとめ - Qiita
  • [Rails]production環境で動かす - Qiita

    備忘録的な アセットのプリコンパイル アセットファイル:css, jsファイルを圧縮したものが出来上がる $bundle exec rake assets:precompile RAILS_ENV=production $ls -al public/assets/ 合計 168 drwxrwxr-x 2 rails rails 4096 12月 2 16:15 2014 . drwxrwxr-x 3 rails rails 4096 12月 2 15:51 2014 .. -rw-rw-r-- 1 rails rails 112986 12月 2 15:49 2014 application-40a3084d920836679c47402189d51b8c.js -rw-rw-r-- 1 rails rails 38458 12月 2 15:49 2014 application-40a3

    [Rails]production環境で動かす - Qiita
    inoueyuworks
    inoueyuworks 2018/03/28
    production で動かす際に必要なもろもろ
  • AWS Elastic Beanstalk に Docker マルチコンテナで複数アプリケーションをデプロイ - Qiita

    この記事は CureApp Advent Calendar 2016 7日の記事です。 今日は Elastic Beanstalk に Docker (ECS) で複数アプリをデプロイする話です。 目的 ひとつの Elastic Beanstalk に複数のアプリケーションを入れたら、 インスタンスの節約になったりするかも。 という動機のもとで、以下のような構成を検討しました。 前提条件 aws アカウント node, docker, docker-compose インストール (ローカル確認用なので必須ではないです) 手順 1. テスト用アプリケーション作成 node で表示するだけのアプリケーションを作成。 { "name": "node-app1", "version": "1.0.0", "description": "sample node app 1", "main": "se

    AWS Elastic Beanstalk に Docker マルチコンテナで複数アプリケーションをデプロイ - Qiita
    inoueyuworks
    inoueyuworks 2018/03/26
    1台の ec2 instance of ElasticBeansTalk に、複数の AP サーバーを詰め込む
  • react-router v4 のログイン処理 - Qiita

    経緯 最近react、reduxでwebアプリケーションを作る機会があり、どうせなら新しいものを使おうとreact-routerのversion4を使いました。 versionが上がるたびに大きく内容が変わるreact-routerで最近でたversionということもあり日語のドキュメントが少なかったので自分へのメモの意味を込めて投稿しました。 react、reduxを触るのが今回初の初心者なので間違っている箇所があれば指摘をお願いします。 実装 react-routerはv4になってpackagingが変わりました。 詳細は下記を参照してください。 https://github.com/ReactTraining/react-router 今回はwebなのでreact-router-domを使用します。 import { BrowserRouter, Route, Switch } f

    react-router v4 のログイン処理 - Qiita
    inoueyuworks
    inoueyuworks 2018/03/22
    react-router で、 Auth を使ってみることを提言している site
  • ReactのRedux非同期処理がサルでも分かる超解説 - Qiita

    この記事はかつての私と同じように「Reduxを使った非同期処理がいまいち分かんねー」という方に向けて書いた。とりあえずはReactの公式サイト、Reduxの公式サイト、Dan氏のReduxビデオ解説を観たが、なんかスッキリしない。特にReduxの非同期処理が分からない、という方向けの超シンプル解説。 Reactは公式サイトのチュートリアルなんかも充実していて丁寧だし分かりやすかった。しかしReduxは違う。特に公式サイトの非同期処理の例が変にややこしい。 こういうことをブログで書くと「アタシは公式サイトの説明を読んでも分からないバカです」と言ってるみたいだから、恥ずかしいしあまり書かれない。ウザいぐらいに「Reduxは素晴らしい。シンプル。カンタン」という発言がネット上にあふれている。 しかし私の頭ではパっと分からなかった。私以外でも「これ難しいなー」と思ってる人が居るんじゃないだろうか。

    ReactのRedux非同期処理がサルでも分かる超解説 - Qiita
    inoueyuworks
    inoueyuworks 2018/03/22
    非同期処理をどんな感じに redux に載っけるか。
  • 今更聞けない JSX のコメントアウトの構文 - Qiita

    解決したいこと React 初心者なので、JSX コード内で HTML にレンダリングさせたくない部分をコメントアウトする方法がわからない。 方法 {/* ... */} または {// ...} という構文でコメントアウトできる。 例 var Header = React.createClass({ displayName: 'Header', render: function () { return ( <div> {// <h1>wasshoi</h1> } <nav> <ul className="header--nav"> <li> <a href="#">hoge</a> </li> {/* <li> <a href="#">fuga</a> </li> */} </ul> </nav> </div> ); } });

    今更聞けない JSX のコメントアウトの構文 - Qiita
  • async/await 入門(JavaScript) - Qiita

    はじめに 今更ですが、JavaScriptのasync/awaitに関する備忘録になります。 「今まで$.Deferred()やPromiseなどで非同期処理は書いたことがあるが、async/awaitはわからない」 「$.Deferred()やPromiseなどの非同期処理の書き方より、もっと簡潔に書ける書き方があれば知りたい」 「今までの非同期処理の書き方と比べて何が良いのかわからない」 といった人達向けの記事です。 $.Deferred()やPromiseなどで非同期処理を書いたことがある前提のため、非同期処理自体に関する説明は記載しておりません。 記載している利用例のコードはChrome(最新)のコンソール上で動きますので、コンソール上で実行して動作を確認してみると理解が深まりやすいと思います。 記事で用いている用語 Promiseを返す Promiseオブジェクトを返すこと。

    async/await 入門(JavaScript) - Qiita
    inoueyuworks
    inoueyuworks 2018/03/22
    async: 戻り値が自動的に Promise になる。 await: async 関数の中で使える。 Promise の結果が戻ってくるのを 待つ。
  • たぶんこれが一番分かりやすいと思います React + Redux のフロー図解 - Qiita

    【追記】 もうこれ古いから参考にしないでください https://t.co/mXtcc73Orf — もし Laravel が流行しなくなってこられてきてたとしたら、絶対に捨てられてこられてたと思うか (@mpyw) January 26, 2021 Redux にはその昔 connect()() とかいうクソ API と, Redux-Saga とかいう宗教がありました という考古学です — もし Laravel が流行しなくなってこられてきてたとしたら、絶対に捨てられてこられてたと思うか (@mpyw) January 26, 2021 読者対象 Tutorial: Intro To React - React Example: Todo List · Redux 「チュートリアルそれぞれ一周した!Reactは何とか理解できたが,Reduxがさっぱりわかんねぇ!」 ぐらいの人向け。自分

    たぶんこれが一番分かりやすいと思います React + Redux のフロー図解 - Qiita
  • Rails5: production環境でのAutoloadの廃止 - Qiita

    下記のように自前でautoload_pathsに追加したパスはproduction環境では自動読み込みされません。 # ./config/application.rb config.autoload_paths += %W(#{config.root}/lib)

    Rails5: production環境でのAutoloadの廃止 - Qiita
    inoueyuworks
    inoueyuworks 2018/03/05
    matz も autoload 自体を廃止する方針らしい。
  • LinuxのI/OやCPUの負荷とロードアベレージの関係を詳しく見てみる - Qiita

    大人気TBSドラマ、「逃げるは恥だが役に立つ」でも話題になったインフラエンジニアという言葉ですが、今ではインターネットインフラを知らないまま開発をするのも難しい状況になっています。クラウドが一般化されたからといって単にリソースの調達が簡単になっただけで、つまりハードウェアの知識が無くても何とかやっていけるようになっただけであり、インフラの知識が要らなくなったなどということは全くなく、むしろdevopsの掛け声とともに、ソフトウェア開発者にインフラを見なければならない新たな責務が課せられたという、なかなか痺れる状況なのだろうと思います。 そういった中で、先日のさくらインターネットのAdvent Calendar最終日に「いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方」という記事を書かせて頂きましたが、今回はLinuxサーバの「負荷」と、ロードアベレージに関して、掘り下げ

    LinuxのI/OやCPUの負荷とロードアベレージの関係を詳しく見てみる - Qiita
  • I/O負荷の正確な状況はiowaitでは分かりません - Qiita

    さくらインターネットのアドベントカレンダー9日目として、サーバ屋らしく、運用に関するコマンドの使い方を紹介します。 サーバの負荷が高まってきたときに、vmstatやtopなどのコマンドで調査する事が出来ますが、I/O負荷をwa(iowait)によって判断する人も多いと思います。 ただ、結論から言うと、iowaitは正確にI/Oの負荷を表しているわけではありません。 これらを、実際に演習をしながら見ていきたいと思います。 iowaitとidle iowaitとはあくまでも、CPUが空いているのにI/Oがボトルネックになっているプロセスを示しているだけで、CPUの利用率が高いときにはI/Oがボトルネックになっていてもiowaitが上がりません。 同様に勘違いされがちなのが、id(idle)はCPUの空きを示しているというものですが、idleは必ずしもCPUの空き時間を示しているものではありませ

    I/O負荷の正確な状況はiowaitでは分かりません - Qiita
    inoueyuworks
    inoueyuworks 2018/02/21
    cpu が空いていて、かつ wait 状態になっているプロセスがある場合に、それは IOWAIT としてカウントされる。 wait しているプロセスの横で別の computation ゴリゴリ走らせると、 iowait is 0.
  • LinuxのCPU使用率の%stealについて - Qiita

    はじめに Linux で採取できるCPU使用量(率)の情報として、%user や %sys 等に加えて %steal という量がある。これが追加されたのは、仮想化が広く使われはじめた10年くらい前だろうか。筆者は Xen を調べていて気づいたのだが、もっと前にs390のために追加されたのかもしれない。当時、ESXの場合も含めて調べていたのだが、最近、KVMの場合にどういう実装になっているのか、ふと気になって軽く調べてみたのでメモ。 CPU使用率の計算 まず最初に、sar や vmstat や mpstat 等、さまざまなツールでCPU使用率を取得することができるわけだが、どのような情報を元に、どのような計算を行って算出しているのか? まず、kernel内ではboot以後の各種実行モードのCPU時間を分類して積算値として保持している。user モード、特権モード、割り込み処理に使った時間..

    LinuxのCPU使用率の%stealについて - Qiita
    inoueyuworks
    inoueyuworks 2018/02/20
    top command とかの cpu の steal is 何 について
  • DockerコンテナをConsulで管理する方法 - Qiita

    はじめに Dockerを利用するとコンテナをぽこぽこ沢山立てることが多いと思います。 コンテナが沢山できるので、それらに対していかに効率よくアクセス出来るかが肝になります。 またコンテナで提供するサービスのポートをホストに割り当てて利用する場合(-pオプションを利用する場合)、 ポコポコ出来るコンテナのポートを静的に(-p 80:8080みたいに)割り当てるのは面倒です。 なので動的に(-p 80みたいにしてホストの適当なポートに)割り当てたいところです。 ただし、動的に割り当てるとどのコンテナがどのポートでサービスを提供しているか把握するのが難しくなり、さらにマルチホストになるとどのホストで動いているかどうかを把握する必要もあり、これも難しいです。 この辺うまいこと出来ないかな、ということでServiceDiscoveryといったらConsulですよねってことで組み合わせて使ってみます。

    DockerコンテナをConsulで管理する方法 - Qiita
    inoueyuworks
    inoueyuworks 2018/02/20
    service discovery
  • Delayed Job の導入とMackerelによる監視 - Qiita

    記事はクービック Advent Calendar 2015の24日目の記事です。 クービック と Popcornでは、ジョブキュー として Delayed Job を導入しています。記事では、導入から監視までの流れをご紹介します。 なお、アプリケーションは Rails 4.2 で書かれています。 事前調査 Rails4.2 から Active Job が導入されています。 Active Jobの主要な目的は、Railsアプリを即席で作成した直後でも使用できる、自前のジョブ管理インフラを持つことです。これにより、Delayed JobとResqueなどのように、さまざまなジョブ実行機能のAPIの違いを気にせずにジョブフレームワーク機能やその他のgemを搭載することができるようになります。バックエンドでのキューイング作業では、操作方法以外のことを気にせずに済みます。さらに、ジョブ管理フレー

    Delayed Job の導入とMackerelによる監視 - Qiita