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

  • ZOZO大忘年会でFirebaseを使った1,000人規模のリアルタイムアンケートを費用2円で制作した話 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? この記事はZOZOテクノロジーTECH BLOGにも同じ内容で投稿しています。よろしければ他の記事もご覧ください。 こんにちは! ZOZOテクノロジーフロントエンドエンジニアの高橋(ニックネームはQ)です(@anaheim0894) 昨年12/26、毎年年末に行われる大忘年会(ZOZOCAMP2018)で、グループ会社も含めた1,000人規模でのリアルタイムアンケートを、FirebaseとVue.jsを使って制作しました。 当日会場にて弊社の昨年の事業紹介や、「楽しく働く」というコンセプトの動画を流し、動画の合間で質問をし動画と

    ZOZO大忘年会でFirebaseを使った1,000人規模のリアルタイムアンケートを費用2円で制作した話 - Qiita
    masatomo-m
    masatomo-m 2019/01/11
    人数に対して一番難しい物理系のネットワークが外注で解決してるなら、1000人のアンケートシステムって技術的に難しそうな点はなさそうだなあ。6人で2週間、3人月ならまあZOZOの規模なら誤差なんだろうし自作もよさそう
  • 新人プログラマをレビューで傷つけないために - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに この半年くらいで初めて格的にチーム開発を行い、今では日常的に GitHub の Pull Request を使っています。 チームの方々には、基的なことから応用的な部分まで様々な観点からレビューをしてもらって、大いに勉強になりました。 ただ、時には「新人にとっては厳しいレビュー」をいただき、1 人で傷つきモチベーションを落とすこともありました。 もちろんそれは悪意のあるものではなくて、新人とレビュワーのスキルのギャップによって意図せず生み出されてしまうものです。 そのような不幸なレビューによって苦しむ新人が減ることを願って

    新人プログラマをレビューで傷つけないために - Qiita
    masatomo-m
    masatomo-m 2018/12/29
    自分でも気をつけたい
  • アカウント削除機能に意味はない - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Webサービスでアカウント削除機能を要求するユーザの話はよく聞くわけですが、これには残念ながら全く意味が無いと、1Webエンジニアであるぼくは思っているのですが、その理由をだらだらと書いてみようと思います。非エンジニアでも分かるように書いたつもりですが、作者が特にそういう能力に秀でているわけでもないので難しいかもしれません。 技術的な問題 現代の多くのWebサービスはデータの保存をRDB(SQL)に依存しています。これには色々特徴があるわけですが、実際の実装を想定して説明していきましょう。 ユーザがいます。ここではUserというTabl

    アカウント削除機能に意味はない - Qiita
    masatomo-m
    masatomo-m 2018/12/17
    エンジニアの都合でしかない。大っぴらにGDPR守る気のないことを公言するフリーランスエンジニアに企業が開発依頼するのはリスク高そうだな。ダミーデータで上書きするとか代案はあるだろうに
  • 未経験からRuby on Railsを学んで仕事につなげるまでの1000時間メニュー - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Rails使って仕事してて、最近はRubyを使って初学者の方たちにプログラミング教えてます、@saboyutakaです。 未経験からエンジニアになりたいという人達に普段教えていて、ガイドラインがあるといいなと思って作りました。 まずなんで1000時間か これからWebアプリケーションを作るエンジニアになりたい人がこれを読んでくれていると思って書きます。そもそもなぜエンジニアとして働けるかというと、作りたいものがある人や企業が居て、それを作ることができる技能に対して給与や報酬が発生します。そして技術職として仕事で対価を得られる最低限のスタ

    未経験からRuby on Railsを学んで仕事につなげるまでの1000時間メニュー - Qiita
    masatomo-m
    masatomo-m 2018/12/15
    1500時間くらい(フルタイム勤務で10ヵ月弱)ってのは割と同意できる。最近スクールが数か月で業務エンジニアになれるとか書いてるけど、個人趣味サービスならともかくいきなり業務は流石に無理だろって思ってた
  • Rubyコーディングスタイルの現状とStandard gemのご紹介 - Qiita

    これはRuby Advent Calendar 2018の4日目の記事になります。昨日はpink_bangbiさんのあなたのしらない Refinements の世界でした。 一行まとめ Rubyのコミュニティ共有コーディングスタイルを目論むStandard gemJustin Searlsが作っているので、意見があれば議論に参加しましょう! Rubyのコーディングスタイルについて Rubyには公式のコーディングスタイルが決められていません。また公式のフォーマッターもありません。Ruby作者のまつもとさんは、コーディングスタイルについて、積極的には統一ルールを打ち出そうとはしていないようです。 まつもとさんの考えていることと、コーディング規約&オートフォーマッタの現状についてはSiderのインタビューに詳しいです。ちょっと長いですが引用します。 まつもと : コーディング規約を決めてくれな

    Rubyコーディングスタイルの現状とStandard gemのご紹介 - Qiita
    masatomo-m
    masatomo-m 2018/12/05
    プロジェクトごとにrubocop.yml はカスタマイズできていいじゃん派。デフォルトrubocopは確かに使いづらいからそのまま使わないけど、ツールを増やすんじゃなくてrubocop.ymlを設計思想ごとに公開すればいいんじゃないかなあ
  • なぜ我々はいまだに文字列でコメントを書いているのか - Qiita

    あるいは、画像コメントのすすめ。 TL;DR 画像コメントのほうが意図が伝わりやすい 画像URLからツールチップで画像表示してくれるVSCode拡張機能があるよ その場で画像を作るSVGエディタもあったよ 問題提起 みなさんは、少し複雑なアルゴリズムを書くことになったときどうしていますか。 たいていの場合、いきなりコーティングに取り掛かるのでなく、 雰囲気をつかむためメモやホワイトボードに落書きすると思います。 特に幾何計算では簡単なものでも図を描いた方がいいです。こんな感じ。 図を書いたら後はコードに落とすだけです。 ね、簡単でしょう? // 指定した直線を対称軸としたときの指定した点の鏡映位置を返す function flipVectorByLine(p: Vector, line: Line): Vector { // TODO: よくわかるコメントを書く const ln = ne

    なぜ我々はいまだに文字列でコメントを書いているのか - Qiita
    masatomo-m
    masatomo-m 2018/09/21
    この用途ならJupyter notebookとか使えばいいんでない?
  • 25歳初めてのフリーランスエンジニアの単価について - Qiita

    はじめに 今回は自分が知りたかったシリーズ第1弾です。 第1弾:25歳初めてのフリーランスエンジニアの単価について 第2弾:新卒入社後、約3年半で読んできた書籍たち 第3弾:フリーランスエンジニアの面談ってこんな感じ 第4弾:新規参画した現場で1週間で意識したこと、やったこと こんにちは。今はまだ正社員ですが10月から初めてフリーランスエンジニアとして仕事していく予定です。 気になる単価ですがネットで調べると平均やMaxの値が多いので、僕のスキルでどれくらいの単価を提示してもらえたのかを記載しておきます。 職歴 キャリアチェンジはおそらく王道中の王道だと思います。 SIer→Web系開発→フリーランスエンジニア エンジニアの市場価値診断やってみたら今の年収低すぎた この動画の例にでてきたキャリアップ事例集は自分なのではと錯覚しました。 SIer(2015-2017年) 新卒でSIerに入社

    25歳初めてのフリーランスエンジニアの単価について - Qiita
    masatomo-m
    masatomo-m 2018/09/05
    詳細書いてないからわからないけど、営業自力でできないフリーランスはリスク高そうだなあ。有給とかは当然ないし、契約内容わからんけど病気とかで稼働できなかったら速攻債務不履行になって揉めそうではある
  • 【GitFeatureFlow】GitFlowをやめて本番リリースが楽になった話 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 背景 サーバーサイド開発のプロジェクトでGitFlow(的な)運用を行っていたが、番リリースの際に困ることがあったのでgitの運用フローを変えて解消したという話。 まず問題の内容から順番に書いているので、結論(新しい運用ルール)だけ知りたい人はこちら git運用フローについては、GitFlow・GitHub Flow・GitLab Flowなどが有名だがどれとも少し違うように思ったのでまとめた。 <2018/06/10追記> 新フローにも名前が欲しいと思っていたが、同じやり方を「GitFeatureFlow」と呼んでいる記事を見つけた

    【GitFeatureFlow】GitFlowをやめて本番リリースが楽になった話 - Qiita
    masatomo-m
    masatomo-m 2018/05/13
    git-flowの思想をマトモに理解していればこれで「楽になった」とかいうのはおかしいと気付けるはず。チーム内にきちんとdeploy flowの運用設計が出来る人がいないのかな
  • 工数見積もりのコツ - Qiita

    はじめに 稿では、仕事をする上での作業工数の見積もり方法について説明します。 工数とは何か 工数(こうすう1)というのは、仕事において、あるひとつの作業を完了するまでにかかる総累計時間のことです。情報処理技術者試験に出てくるTAT(ターンアラウンドタイム)とは意味合いが異なります2。 例えば、ある作業に40時間(40H3)かかるとした場合、工数は40時間であるといえます。1日8時間勤務だとした場合、40時間は5人日(にんにち)と表現することができます。さらに、1ヶ月20日勤務だとした場合、0.25人月(にんげつ)と表現することもできます。 一般的に工数の単位は「人日」および「人月」で扱います。 学生時代は工数を気にすることはないですが、ITエンジニアとして会社で働くようになると、かならず工数を意識する必要があります。 なぜ工数を意識する必要があるのか なぜ工数を意識する必要があるのかとい

    工数見積もりのコツ - Qiita
    masatomo-m
    masatomo-m 2018/04/05
    工数見積はbest-worstケースでの幅のある見積+「こういう前提で進める想定だよ」という前提合意をするフェーズなので、工数だけ出すのではなく、自分が責任を持って仕事するための条件を出すことが大事だと思っている
  • GAS ビギナーが GAS を使いこなすために知るべきこと 10 選 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    GAS ビギナーが GAS を使いこなすために知るべきこと 10 選 - Qiita
    masatomo-m
    masatomo-m 2018/04/04
    参考になる
  • 新卒がSIerとして1年働いた結果見えた、深い深い闇の話 - Qiita

    4/1で社会人生活1年目なので、そのまとめとしてなんか書こうと思いました。 とあるそこそこ大手の常駐先でSEをしています。最初に配属された時はJavaの研修を受ける程のド素人でした。 大手あるあるですが、その常駐先では殆どの人がホストコンピュータを日々アセンブラやPL/I、COBOLでプログラミングして運用保守しています。 対して僕は分散と呼ばれる世界に居ます。業務用Webアプリやデスクトップアプリを作り客先に納品したり既存の資産をメンテナンスする事でお賃金を頂いておるわけですが、当然そこにあるのはむかーしむかしにVBや生のJavaで書かれた、錆びついたシステムです。酷い所は未だにWindows2000サーバーが動いてます。一番新しくてStrutsかな。 しかし人間関係に関しては神だったのでなんとか1年働けました。当にいい人しかいない、素晴らしい職場だと思います。なのでブラックとは思いま

    新卒がSIerとして1年働いた結果見えた、深い深い闇の話 - Qiita
    masatomo-m
    masatomo-m 2018/04/02
    多分この手の仕事をしている人達がWeb系エンジニアに「業種転向」しようとしても、現場でまともに使える業務経歴とは見られないので新卒レベル評価を受けると思うので「転職したら年収倍」というのはかなり甘い考え
  • なぜいま Heroku なのか - Qiita

    開発中のサービスに Heroku を採用した経緯を社内で周知するために書いた文章なんですが、ついでに Qiita にも貼っておきます(ちなみに Heroku の回し者ではないので悪しからず)。 従来、Heroku は日で使うにはレイテンシの問題で番環境での利用が避けられることが多かった これは Heroku の Common Runtime には Tokyo region がなく US 等のサーバーと通信するとレイテンシが大きいため1 実際、Wantedly 社なんかもレイテンシを理由に Heroku から AWS に移行している だが、Service Worker の先読みと Fastly(のような instant purge 可能な CDN)の登場により、このレイテンシの影響は極小化された のではないか 多くのリクエストは Fastly のエッジサーバー からレスポンスを返せるはず

    なぜいま Heroku なのか - Qiita
    masatomo-m
    masatomo-m 2018/03/20
    少なくとも一人はインフラのアーキテクチャ設計ができるインフラエンジニアがいるのでなければとりあえずHerokuでいいとは思う。というかアプリエンジニアがインフラをケアする気がなければフルマネージドの方がいい
  • もう管理画面のフロントコードを書く必要はありません、そう Viron ならね。 - Qiita

    管理画面のフロントエンドコードを書く時代は終わりました。 Vironがあれば、OpenApi(Swagger)でAPI定義を行い、実装するだけで管理画面が完成します。 そしてこれはOSSです。誰でも自由にお使いいただけます。 概要 Vironは、複数の管理画面を管理できるよう設計された、管理ツールマネージメントコンソールです。 APIサーバーとOAS2.0 jsonファイルを作成するだけで、管理画面が一つ完成します。 経緯 私の会社では、大小さまざまな自社サービスが開発・運用されています。 管理画面をサービス・サイト毎に作っていましたが、それには限界がありました。 エンジニアからしたら、管理画面用のデザインやAPIを作らなきゃいけない。工数がかかる。 運用・プロデューサーは、UIUXが管理画面で違うため、操作を覚えるという学習コストが高い。 さらに外から見たいときにスマホから見れないし、

    もう管理画面のフロントコードを書く必要はありません、そう Viron ならね。 - Qiita
    masatomo-m
    masatomo-m 2018/02/02
    Qiitaってこういう宣伝記事書いていいのか。ホント技術情報共有サービスから離れていくなw
  • ActiveModel::Attributes が最高すぎるんだよな。 - Qiita

    Ruby on Rails 5.2.0.beta2が出て久しい。 僕はRails大好きっ子なので 社内の新規事業や、社外のお手伝いしているベンチャー企業では もちろん、Rails5.2を使って開発をしている。 すでに、新しいRailsに関する記事はいくつか挙がっているが 個人的に、一番インパクトが大きかったのはActiveModel::Attributesが導入されたことである。 待望のActiveModel::Attributes ActiveModel::Attributesでなにが変わったの?というと、 いままでActiveRecordでしか使えなかった一部の機能が、ActiveModelでも使えるようになっただけである。 いや、しかし! 今までのActiveModelの最大の弱点は まさにこの ActiveModel::Attributes が無かったことだと思う。 それが、Rai

    ActiveModel::Attributes が最高すぎるんだよな。 - Qiita
    masatomo-m
    masatomo-m 2018/01/19
    Virtusの作者は今dry-rbというのをメンテしていて、AM::AttributesやVirtusでできたことはdry-typesやdry-structを使うとできる感じになっている様です。VirtusもAM::Attributesも駄目という人は試してみると良いかも http://dry-rb.org/gems/dry-types/
  • 新人達を1ヶ月でガチvimmerにした方法 - Qiita

    vim以外のエディタでコード書くと私の手は産まれたての子鹿みたいになります。 効率よくコーディングをしてもらうために、新人やvimを学びたい人にvimの研修を実施しています。今回は研修で非常に有効だった内容についてまとめておきます。 ※ なんだか誤解を生んでしまっているようなので追記しておきます。vimの研修は新人研修の一環として行ったわけではなく、vimを使って開発をしたがっていた新人へテスト駆動開発の研修を実施した際に並行して盛り込んだだけです。会社がvim強制とかではないのでご安心ください。言葉足らずで申し訳ありません。 2つの繰り返しキーの存在を認識させる vimは一度実行したコマンドの組み合わせを記憶する.(ドット)とfを使った移動の際のキーストロークを記憶しておく;(セミコロン)があります。これらを駆使することで他のエディタよりも高速な編集作業を行えます。 セミコロンはus配列

    新人達を1ヶ月でガチvimmerにした方法 - Qiita
    masatomo-m
    masatomo-m 2018/01/05
    プログラマからエディタを選ぶ自由を剥奪するとか地獄みたいな環境だな。技術コンサルでこういう人来たら全力で反発しそうだ。。。
  • TTY/PTYに関するクイズ - Qiita

    はじめに LinuxでCtrl-C打ったらコマンドが中断されるとか。皆さんご存知ですよね。こういうことに関連したちょっとした四択クイズです。Linux使い各位、当然、全問正解できますよね? 問題 いずれもPuTTYなりTeraTermなりのターミナルソフトでLinuxマシンにSSHで接続した、ログインシェル上での対話操作の上でのお話です。ターミナルソフトなんかは特に設定をいじらないことにします。一応。それと、シェルは大体なんでも同じだと思うのですが、念のためbashと指定しておきます。 Q1: シグナル送ったのは誰? 「はじめに」でも書きましたが、Ctrl-Cを入力すると、実行中のコマンドを停止させることができますね。例えば次のように。

    TTY/PTYに関するクイズ - Qiita
    masatomo-m
    masatomo-m 2017/12/30
    とても勉強になった。こういうきちんとした解説ありがたい
  • 新QiitaでReactをやめてhyperappを採用した背景 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 12/1 に Qiita のトップページをリニューアルしました。これまで React を使っていましたが、それをやめて hyperapp を採用しました。まわりを見てもあまり採用事例が見当たらないので、この記事では一体なんで今をときめく React ではなく hyperapp を選択したのか、どういうところが魅力的なのかについて プレゼンテーション層を実装するためのツールとして 学習コスト の観点から書きたいと思います。なおこの記事に書かれていることは全て個人の感想であり、はっきりいって個人の日記レベルです。 それと hyperapp

    新QiitaでReactをやめてhyperappを採用した背景 - Qiita
    masatomo-m
    masatomo-m 2017/12/28
    昔GREEでもEthnaという一応オープンだけど内製のPHPフレームワークが流行ってたという話を聞いたけどその類かな
  • イマドキのJavaScriptの書き方2018

    PySpa統合思念体です。これからJavaScriptを覚えるなら、「この書き方はもう覚えなくていい」(よりよい代替がある)というものを集めてみました。 ES6以降の難しさは、旧来の書き方にプラスが増えただけではなく、大量の「旧来の書き方は間違いを誘発しやすいから非推奨」というものを作り出した点にあります。5年前、10年前のやウェブがあまり役に立たちません。なお、書き方が複数あるものは、好き嫌いは当然あると思いますが、あえて過激に1つに絞っているところもあります。なお、これはこれから新規に学ぶ人が、過去のドキュメントやコードを見た時に古い情報を選別するためのまとめです。残念ながら、今時の書き方のみで構成された書籍などが存在しないからです。 たぶん明示的に書いていても読み飛ばす人はいると思いますが、すでに書いている人向けではありません。これから書くコードをこのスタイルにしていくのは別にいい

    イマドキのJavaScriptの書き方2018
  • HTTP/2における双方向通信とgRPCとこれから - Qiita

    この記事は 第2のドワンゴ Advent Calendar 2017 最終日の記事です。 はじめに ウェブ技術を語る上で欠かすことのできない要素として、HTTPがある。 従来のHTTP/1を無くして、ここまでのウェブの発展はなかったといえるだろう。言うまでもなく、HTTP/1が我々人類に齎した功績は大きい。 しかしその一方で、その規格のシンプルな原理原則に縛られた結果、要件を達成するために非効率なネットワーク使用を前提とするシステムが量産されるなど、HTTP/1がもたらした技術的負債も存在する。 その中の一分野として、双方向通信に着目したときに、HTTP/1からHTTP/2へのアップグレードによってどのような変化がもたらされたか。 稿ではHTTP/2という規格と、それが持つ可能性の一端としてgRPCについての仕組みを紹介し、従来とこれからのWeb開発における双方向通信について述懐する。

    HTTP/2における双方向通信とgRPCとこれから - Qiita
  • お手軽に静的サイトを構築する - Qiita

    後はcontent以下のディレクトリにMarkdown形式でファイルを置いていったりするだけです。 Themeも用意されており、簡単に導入できます。 hugoの導入は以下が詳しいです。 Hugo | Quick Start サイトを生成する hugo コマンドを実行することで、public以下に生成されます。 S3に設置する public以下に生成されたサイトを設置します。 パブリックアクセスを許可したS3 bucketを設置し、public以下をコピーします。 その後、プロパティからStatic website hostingを有効にします。 東京リージョンに設置した場合、以下のbucket名を置き換えることでアクセス出来るはずです。 https://[bucket_name].s3-website-ap-northeast-1.amazonaws.com CloudFrontを通す C

    お手軽に静的サイトを構築する - Qiita
    masatomo-m
    masatomo-m 2017/12/23
    GitHub Pagesが充分お手軽だと思うんだけど、営利目的サイトとかでかいファイル上げるとかそういう前提がないとわざわざここまで面倒な手順を踏む理由がよくわからない。。。