2023年5月30日のブックマーク (70件)

  • Railsプロジェクトへの「頑張らない型導入」のすすめ - メドピア開発者ブログ

    こんにちは。サーバーサイドエンジニアの三村(@t_mimura)です。 主に保険薬局と患者さまを繋ぐ「かかりつけ薬局」化支援アプリ kakariのサーバーサイド開発(Ruby on Rails)を担当しています。 突然ですが! この度kakariプロジェクトは「型導入」をしました! kakariのRailsリポジトリに型導入PRがマージされた様子 皆さんのプロジェクトは「型導入」していますか? 「型導入」しているRailsプロジェクトはまだ少ないのではないでしょうか なぜ型導入しないのか 型を導入すると何かしらが便利になることは分かっているのに何故やらないのでしょうか(煽り気味) 「型の恩恵」と「型を自分たちで書くコスト」の2点を比較していませんか? RubyKaigi 2023開催前の私がまさしくそう考えていました。 当にその2点を比較するべきなのかをここで再考してみましょう。 「型導

    Railsプロジェクトへの「頑張らない型導入」のすすめ - メドピア開発者ブログ
  • 星取表のアンチパターン

    これだけみると LibC がよく見えますね。 オープンソースのライブラリ比較や、エンタープライズな SaaS が競合に対する優位を見せたいときに星取表が使われることが多いです。 中立な立場でライブラリを選定する過程として出てくることがあります。 自分はこれに全く意味がなく、むしろ競争的な立場では出した側が負けるものと認識しています。 星取表を作る側の意図 よく見かけるパターンがこれです。 開発自体は長いため機能が豊富だが性能に劣る先発が、後発を貶めている 恣意的な項目選定で、そもそも負けている そもそも比較対象としての土俵が違う(全部入りのフレームワークと単機能なライブラリの比較) 特に 1 と 2 の組み合わせが多く、この裏では非機能要件で圧倒的に負けていることが多いです。例えば A は機能は豊富だけどビルドに 30秒で、Bは機能は足りないけど3秒だといった場合、多くの場合ではまず B

    星取表のアンチパターン
  • jq が jqlang organization に移譲されました - プログラムモグモグ

    JSONを操作するコマンドラインツールであるjqは、これまでオリジナル作者であるStephen Dolan氏 (@stedolan)のリポジトリ(github.com/stedolan/jq)で管理されていました。 メンテナンスはNico Williams氏 (@nicowilliams)とWilliam Langford氏 (@wtlangford)の二名が行なっていましたが、近年は活動が減っておりメンテナンスが滞っていることが度々指摘されていました。 最新のリリースは2018年11月に行われた1.6であり、その後に様々なバグ修正やパフォーマンス改善、新機能の実装が行われているのにリリースされておらず、またissueやPRも放置されがちになっていました。 さらにCI (AppVeyor)は常に落ちるので、簡単なドキュメント修正でもCIが通らず苦情が来る、数か月放置されたPRは作った人が諦

    jq が jqlang organization に移譲されました - プログラムモグモグ
  • 「スクラムで生産性は上がらないしリリーススケジュールが狂いまくりなんですよ」とか言うお前らに告ぐ

    前提 この記事は内製開発をしているSaaSの中の人であるエンジニアが、SaaSの内製ソフトウェア開発をする上での話として書いています。 前ふり 「スクラムで生産性は上がらないしリリーススケジュールが狂いまくりなんですよ」 「何が原因なんですか?どうすればいいんですか?」 という相談を受けました。 NDAを書いてから、どれどれとチームの状況を見てみました。 該当チームのスプリントゴール 該当チームのスプリントゴールはこんな感じでした。 QAフェーズのプロジェクトAを、QA作業を完了してリリースできる状態まで進める 実装フェーズのプロジェクトBを、フィーチャーの実装率を50%まで進める 設計フェーズのプロジェクトCを、要確認な点を除いて実装レディーな状態まで進める スプリントゴールが3つありますね。とても面白いですね。 思わずボンドルド卿みたいな反応をしたくなりますがここは先に進みましょう。

    「スクラムで生産性は上がらないしリリーススケジュールが狂いまくりなんですよ」とか言うお前らに告ぐ
  • 最高のITエンジニアリングを支える守りと攻めの「設計技術」と「SRE」 - Speaker Deck

    最高のITエンジニアリングとは、ユーザーへの価値提供に最大限集中できる状態を維持し続ける技術だと私は考えます。では、その状態を阻害する要因は一体何であり、どうすれば取り除くことができるのでしょうか。このような具体的な問題と向き合い、近年注目されているSRE の考え方を取り入れ、実装しながら乗り越えてきた…

    最高のITエンジニアリングを支える守りと攻めの「設計技術」と「SRE」 - Speaker Deck
  • 作ったWebサービスが誰からも使われなくてさみしい問題を解決する(しない)意識低い方法論 - NOT SO BADなブログ

    作ったWebサービスが誰からも使われなくてさみしい問題を解決する(しない)意識低い方法論Jul 29, 2018 意識低い個人開発論ポエム個人開発Webサービスを作ったものの、全然ユーザーが集まらなくて自然消滅、、というのはよくある話です。 おそらく個人開発者の一番の悩みは「作ったものが誰からも使われない」でしょう(当社調べ)。 この記事では、この問題に対するおそろしく意識の低い方法論を整理してみたいと思います。 めっちゃバズらせる・ヒットさせる方法論ではなく、あくまでバズらないWebサービスでもさびしく孤独死するのを避けたい…という後ろ向きなハックですのであらかじめご了承ください。 そもそも、なんでWebサービスは死ぬのかいきなり哲学的な見出しになったけど、もちろん中身は意識低い話です。 Webサービスの死因完全に私見ですが、「サービスの死」とは以下3つの状態を指します(断言)。 【死

    作ったWebサービスが誰からも使われなくてさみしい問題を解決する(しない)意識低い方法論 - NOT SO BADなブログ
  • B'zの歌詞をPythonと機械学習で分析してみた 〜LDA編〜 - 下町データサイエンティストの日常

    1. Part概要 前PartではB'zの歌詞を「TF-IDF」を用いた分析を行いました。 Partではトピックモデルの一つである「LDA」を用いた分析についてお話しします。 pira-nino.hatenablog.com 2. LDAとは 2.1 LDAのイメージ 先に簡単な説明をしてしまいます。 LDAは「たくさんの文書データから単語のグルーピングを行う」モデルです。 このグループ1つ1つを「トピック」と呼びます。 例えば、大量のニュース記事にLDAを適用する例を考えます。 ニュース記事データにLDAを適用した例 LDAでは「各トピック(トピック数は予め指定)における各単語の所属確率」が算出されます。 理論的なことはさておき、文書データから単語をいくつかのグループに自動で分けてくれる手法 との理解で大丈夫です。 よく勘違いされることとして以下の2点を示します。 トピック数(いくつ

    B'zの歌詞をPythonと機械学習で分析してみた 〜LDA編〜 - 下町データサイエンティストの日常
  • スピード感重視なのでテストは書かない。テストはなぜ開発を遅くするか - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? あまりにバズってしまったので、前書きを追加 ここまでバズってしまって正直すまんかった。 この記事はもともと愚痴記事をマイルドにして投稿しただけなので「テストを勧める」とか「テストを信奉する」とかそこまで強い意図は特にありません。(私がテスト好きなのは否定しません) 「テスト書こう」に対して「そんなコストはない」と言いながら、いろいろ問題が生じる現状を愚痴りたかっただけです。愚痴るだけだと生産性がないから、なんでこんなに認識が違うんだろうと原因を考えた結果、テストを書くことに対する技術で実際にコストが大きく異なるなと気づいて書いた次第です

    スピード感重視なのでテストは書かない。テストはなぜ開発を遅くするか - Qiita
  • はじめてゲーム開発する前に知っておくべきこと - テラシュールブログ

    ゲーム開発を初めた時、大体躓くケースって似てるなー」と思ったら、素晴らしい動画があったので、この動画に自分の経験も混ぜた物をココにメモします*1。 元動画は当に素晴らしいので、是非一度見るのをお勧めします。 なお、ピンポイントで日語字幕のみありません。日語版も公開されました。 www.youtube.comHow to Start Your Game Development - Unity ゲーム開発を始める前に 小さな目標から始める 自分に出来ることを使う あきらめない 関連 ゲーム開発を始める前に 多くのゲーム開発初心者は、ゲームを作ろうと色々やったあと最初のゲームを作り終わる前に止めてしまいます。 この大体の理由は、満足できるようなゲーム作りの経験は得られない、何の成果も出せなかったといった理由です。 これは、そんな泥沼に陥らないための幾つかのアドバイスです。 小さな目標から

    はじめてゲーム開発する前に知っておくべきこと - テラシュールブログ
  • Chaos Engineering やっていく宣言 - クックパッド開発者ブログ

    技術部のヨシオリです。 Netflix が Chaos Engineering の論文を公開して 2 年ほど経ちました。 クックパッドは最近、 Chaos Engineering を導入する事を決めました。 この記事ではその背景を紹介したいと思います。 そもそも Chaos Engineering とは Netflix では Failure Injection Testing として、営業時間中に意図的に障害を起す事をやっていました。Chaos Monkey というインスタンスとサービスを落すものから Chaos Gorilla、Kong という availability zone や region 単位で障害を発生させるものなどです。 その経験から Chaos Engineering というものが提唱されました。 Principles of Chaos Engineeringによれば C

    Chaos Engineering やっていく宣言 - クックパッド開発者ブログ
  • イケてるエンジニアになろうシリーズ 〜Dockerガチ入門編〜 - もろず blog

    しばらく記事を書いていなかったので久しぶりのポストです さて、僕は1年半くらい前から Docker を使い初めて、今では何かアプリケーションを開発するときは積極的に Docker を使っています Dockerfile で環境構築の手順がそのまま残るし、環境差異を気にしなくて良くなるし、動く状態のプログラムを環境ごと Docker イメージとして扱えるのが最高だと思っています 今回は一度はちゃんと調べておきたいと思っていた Docker が利用しているファイルシステムの仕組みについて書きたいと思います この記事では 1. Docker のファイルシステムに対するざっくりの理解 2. Docker が利用するファイルシステム 3. ソースコードを見てみる 4. まとめ について書きます Docker 入門てきなタイトルですが、Get started みたいなことではなく Docker の使い方

    イケてるエンジニアになろうシリーズ 〜Dockerガチ入門編〜 - もろず blog
  • プレゼンスライドに関してのアレコレ:「だんだん文字を抜いていく」|鷹野 雅弘

    いわゆるフラッシュプレゼン(*)のスライドの作成においては「文字を抜いていく」という意識が不可欠。サンプルで解説してみます。 セリフ(口頭で話す内容)をそのまま記入した例スライド内のテキストボックス内に自動折り返しで文字を入力しただけの状態。 これを、グラフィックデザインでは「ナリユキ」といいます。この場合だと「好きなのは」というカタマリが分断されてしまうので、読むスピード(=理解のスピード)が落ちてしまいます。 プレゼンのスライドは、ある意味、すべてがキャッチコピー。 「読んでから理解する」のではなく、ポスターのように一瞬で「すっと入ってくる」ようにするためには、改行のケアが不可欠です。 なお、行間も調整されていないため、上下の行が、つながっているのか、別のアイテムなのか、「パッと見」で判断できません。 ナリユキをやめて文節で改行ナリユキをやめて、文節で改行した例です。行間も調整していま

    プレゼンスライドに関してのアレコレ:「だんだん文字を抜いていく」|鷹野 雅弘
  • 素人流:コンピュータ・サイエンスの基本知識を取り揃える書籍 - HELLO CYBERNETICS

    はじめに データ構造のアルゴリズム コンピュータ・アーキテクチャ ネットワーク セキュリティ ソフトウェア工学 最後に はじめに 謎のタイトルを掲げていますが、実質は私の決意表明と書籍の紹介になりますのでご留意ください。 ちなみにこの記事ではコンピュータ・サイエンスのすべての分野に精通することは不可能だと思われるので(なんたって自分がその目処立っていないので)、あくまで初心者〜中級者向けということで勘弁してください。 データ構造のアルゴリズム これは中々奥が深い分野だと思われますが、この手の話は理屈を眺めていても私は中々頭に入ってこないタイプでした。どうしても内容に集中できないのです。「当に意味あるんかしら?別にプログラムはこんなこと知らなくても書けるような…」なんて勉強しながら思っちゃうわけです。 そういう人にこそ下記の書籍がとってもおすすめ。 プログラミングコンテスト攻略のためのアル

    素人流:コンピュータ・サイエンスの基本知識を取り揃える書籍 - HELLO CYBERNETICS
  • Vue.jsとReact.jsを習得するために、どのように学んでいけばよいのか -VueとReactのデベロッパ用ロードマップ

    Vue.jsとReact.jsを習得するために、どのように学んでいけばよいのか、次に何を学べばよいのか、その指針となるロードマップを紹介します。 【追記】 Angularのロードマップを追加しました。 基礎知識(HTML, CSS, JavaScript)、制作者として必要なスキル(Git, HTTPSプロトコル, Terminalなど)をはじめ、Vue.jsとReact.jsで何を学ばなければならないのかが、まとめられています。 拡大画像: Vueのロードマップ

    Vue.jsとReact.jsを習得するために、どのように学んでいけばよいのか -VueとReactのデベロッパ用ロードマップ
  • ぼくたちのかんがえたさいきょうのi18n国家

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 記事は下記のtweetから始まるスレッドに触発され、@qnighyや@na4zagin3からアイディアを拝借して書いた。 i18n力が最強の国は国内に複数の言語があり、そのうちいくつかは他国でも使われている言語の方言で、1バイト文字での代替表記が困難で、歴史的にISO-2022ベースの文字コードとUnicodeと独自エンコーディングが混在していて、フリガナなどの特殊な組版規則があり、右書き左書き縦書きを併用し、 — Masaki Hara (@qnighy) 2018年8月6日 皆さんのおかげで最強のi18n国家が建設されつつある。一

    ぼくたちのかんがえたさいきょうのi18n国家
  • 新規事業をひとりで作るノウハウ - 怠惰を求めて勤勉に行き着く

    生存報告も兼ねて。 カリフォルニアに来てもう半年ぐらい経った感覚ですが、実はまだ4ヶ月ほどでした。非常に多くの素敵な方々との出会いがあり、も僕も子供もこの皆さまの助けがあってどうにか生きております。どう感謝してよいか言葉にできないほどです。 さて、ビジネス上の僕のミッションは次の3つです。 主に投資や連携目的の交渉(の技術面のサポート) 日との連携 新規事業の開発 どれもなかなか難しいです。会ってアポぐらいなら応じてくれる会社も多いですが、投資や連携といってもバブル崩壊以後経済成長できていない我が国はもはや「商習慣だけめんどくさいのに今やカネも持ってないから相手にしてられない連中」というのは肌で感じます。ご存知の通り、サンフランシスコ・ベイエリアはIT企業会社員が年収5000万円もらうような場所です。なかなか同じ規模感で会話するのが難しいレベルに達しています。 こみこみという噂のNet

    新規事業をひとりで作るノウハウ - 怠惰を求めて勤勉に行き着く
  • JavaScriptで水や波、パーティクル等、ふわふわゆらゆら系の動きを表現 | Webクリエイターボックス

    JavaScriptで水や波、パーティクル等、ふわふわゆらゆら系の動きを表現Webサイトのアクセントに、ちょっとした動きをつけたい時ってありますよね。一から作り込むのは大変ですが、プラグインを使えば意外と簡単に実装できますよ。夏らしい涼し気なデザインになりそうです。サンプルがうまく動かない時はデモ画面右上の「EDIT ON CODEPEN」をクリックして別タブで表示してみてください! GitHub wavifyは jQuery のプラグイン。ふよふよと動く波を表現できます。jQueryとTweenMax、wavifyのファイルを読み込み、SVG コードを用意すれば OK。 HTML <body> コンテンツ ・・・ <!-- SVG --> <svg version="1.1" xmlns="http://www.w3.org/2000/svg"><path id="wave" d=""/

    JavaScriptで水や波、パーティクル等、ふわふわゆらゆら系の動きを表現 | Webクリエイターボックス
  • コンピュータシステムのサマータイム対応を巡る二つの楽観論 - アンカテ

    いきなり来年から日でサマータイムを導入するという話が出てきて、私には到底実現できない話としか思えなかったが、自民党の少なくとも一部の方々は気で考えているようだ。そもそも、私にはメリットがどこにあるのかわからないがそれは置いておいて、コンピュータシステム側の対応が非常に困難であるということを、なるべく一般の方にわかるように説明してみたいと思う。 5chとツィッターを眺めて見ると、同業者の人は私と同じ意見が多数であるように見えるが、一部楽観的に見ている方もいるのに驚いた。何事にもいろいろな見方があるので、賛否両論の意見があって議論していけばいいことではあるが、その楽観論を見ていると、全く違う立場の二種類の楽観論がある。何がなんでも自分の立場が正しいと主張する気はないが、この二種類の楽観論が絶対両立しないことは確かで、ここだけはハッキリしておかなければならないと強く言いたい。 最悪のケースは

    コンピュータシステムのサマータイム対応を巡る二つの楽観論 - アンカテ
  • bosyuというサービスを作って譲渡するまでの流れ|坪田 朋

    bosyuをCasterさんに譲渡しました。 bosyuの運営会社についてbosyuは株式会社Basecampのサービスとしてリリースしました。普段はデザイン制作、プロトタイプ開発を仕事にしています。 9月で設立1周年を迎えるのでロゴを新しく作りました。 bosyuを作ろうと思ったきっかけ自分が欲しいと思ったのが一番のキッカケで、MVP開発の事例としても丁度良い規模なので作ることにしました。 ・MVP事例のポートフォリオワーク ・Twitter × OGPサービス増えた時期で自分でも作りたくなった ・規模的に丁度よく初期投資 / インフラコストも低い ・人材領域はマネタイズチャンスが多い ・最悪流行らなかったらクローズしやすい ・自分で使って数人採用できれば採算が合うような気がする ・実際にbosyu経由で複数のフリーランスの方と一緒に仕事してます 「譲渡した場合は折半」の約束でエンジニア

    bosyuというサービスを作って譲渡するまでの流れ|坪田 朋
  • プロジェクトをリードする前に読みたかった本 - motokieeの日記

    この1年ほど、プロジェクトのリードを任せてもらえるようになりました。2017年の夏くらいから「プロジェクト推進役」→「PJO」→「Tech Lead」, 「Project Lead」など、正式ではないものの「肩書」のようなものがついていますが、実際にやっていることは「プロダクトの成功に向かってプロジェクトを行動で引っ張っていくこと」で統一されています。 これは別に偉くなったとかではなくて、そういう責任を持ってPJに関わる役割だと思って臨んでいますし、実際マネージャーからもそのように言われています。 自分なりに試行錯誤をして時には成功し、時には失敗しながらなんとかかんとかやってきていているのですが、「あー、このに救われた」とか「ちょっと前にこの読んでおけばよかった...」というがあったので何冊か紹介したいと思います。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリフ

    プロジェクトをリードする前に読みたかった本 - motokieeの日記
  • Go言語のGCについて - LINE ENGINEERING

    なぜGo言語はコンパクションを採用していないのか GoogleのRick Hudson氏によるISMM 2018 Keynote “Getting To Go”を参照すると、以下のことがわかります。 2014年の時点では”Read barrier free concurrent copying GC”を計画していた しかし期間的な制約から断念し、CMSに舵を切った(この時期に彼らは、ランタイムをCからGoに書き換える作業も行う必要がありました。Changes to the runtime) TCMallocをベースとしたメモリアロケーターを採用することで、断片化およびアロケーションの速度の問題を解決した Go言語のメモリアロケーションについては、ランタイムのコードのコメントにも詳しく記載されています。 malloc.go This was originally based on tcmal

    Go言語のGCについて - LINE ENGINEERING
  • イカした福利厚生を紹介するよ! - SmartNews Engineering Blog

    こんちは、たむたむです。 毎回名なんだっけと言われますが、受付のシステムには名のほかにハンドルネームが登録されているため、お客様が来ても戸惑うことがありません。しかし最近は社内で名なんだっけと言われる事案が発生し、良いソリューションが見つかっておりません。 それはさておき、入社して4年以上が経ち、いつの間にか古参メンバーになってしまいましたが、弊社の福利厚生が全然アピールされないので、このBLOGを使って勝手に紹介してみようと思います。 ちなみに日は会社が休みです。その理由も後半で紹介します! 理念 弊社の福利厚生のページから理念を引用すると、次の3点が主軸になっています。 安心して働ける職場環境を整える 心身の健康を維持する 成長と挑戦を促すことを通じて、社員のモチベーションとパフォーマンスの向上を目指す まずは思いつく限りの制度を列挙して、実際に私が活用しているものを紹介します

    イカした福利厚生を紹介するよ! - SmartNews Engineering Blog
  • 群衆の英知もしくは狂気

    アイザック・ニュートン卿は、自分が賢い 人間だと信じていた。微分積分学や重力理論 を発明(inventing)したのだから、金融投資(investing) ができるくらい賢いはずだよね?まぁとにかく、短く まとめると、1720年 に起こった南海泡沫事件という全世界 的な投機ブームで、彼は(現在の価値で)$4,600,000を失ったんだ。 後にニュートンはこう言った。 “私は天体の動きを計算することはできるが、 人々の狂気については計算できない” 彼のために勉強しよう これまで市場、制度、民主制全体は 何度もおかしくなってきた。— 群衆の狂気だ でも君が人間に失望していたときですら、 ハリケーンが起きれば、みんなで協力してきたし、 コミュニティは問題を解決してきた。人々はよりよい 世界のために戦ってきた。— 群衆の英知だ! しかしなぜ 群衆は狂気に向かったり 賢くなったり するのだろうか。

    群衆の英知もしくは狂気
  • タイムゾーンを考慮した日時の扱いのベストプラクティス - エムスリーテックブログ

    こんにちは、server-side kotlinterraform を書くことが多い、エンジニアリングGの矢崎(id:Saiya)です。 タイムゾーンや日時の扱いについての話題がホットな昨今ですが、 そういった日時の扱いについて例えば以下のようなお話を受けることが少なからずありました: とりあえず日時は UTC からの時差情報付きで扱えばいいんでしょ? DB に保存するときもタイムゾーン情報付きで入れておけばいいんでしょ? こういったお話を振られた際に、思うところを一言でサッと説明できずもやもやする事もあり、 また web サービスにおいて日時・タイムゾーン・オフセットをどう扱うべきか?納得の行く説明をあまり見つけられなかったため、 筆者なりに考えをまとめてみました。 国家的祭典のために急にサマータイムが導入されるといった話に限らず、 クラウドサービスが UTC+0 の日時になってい

    タイムゾーンを考慮した日時の扱いのベストプラクティス - エムスリーテックブログ
  • 一休レストランPython移行の進捗 - 一休.com Developers Blog

    レストラン事業部エンジニアの id:ninjinkun です。 一休レストランでは10年以上動いているシステムをPython 3で書かれた新システム(以下restaurant2)に順次移行する作業を進めています。現在ではPC用のレストランページ や主要な API を含め、いくつかのページがrestaurant2で提供されるようになっている状態です。記事ではこの移行の経緯と、restaurant2システムの詳細、Pythonを選んだ理由、現在の進捗状況をお伝えします。 経緯 一休レストランはサービスローンチ時よりClassic ASP(言語はVBScript)でシステムが構築されてきました(こちらに驚かれる方も多いと思いますが、歴史的経緯という言葉で強引にまとめて話を先に進めます)。このシステムは現在も一休レストランを支えているのですが、長年の改修による複雑性の増加、言語の古さ、言語機能の

    一休レストランPython移行の進捗 - 一休.com Developers Blog
  • プログラマが知っているとよい色(1)使い(JIS安全色) - Qiita

    色の指定値 http://safetycolor.jp/shiteichi/ JIS外16進数は次の2つの資料に基づき追記。(ただし白の文字色は、#FFFFFFだと読めない。また表の中で背景に色をつける方法を知らない。白の文字色値を #DDDDDD #BBBBBBにしている。) 新JIS安全色普及委員会(New safety colour JIS popularization committee) http://safetycolor.jp/shiteichi/ 視認性に配慮した色の識別!JIS安全色彩(iro-color) https://iro-color.com/episode/jis.html 資料によっては、青がPB(purple blue)で、赤紫がP(Purple)であるのは、日語表記で青の概念は幅広いことと、紫が以前は赤紫だったためと推測している。 実際に製品を作る場合だ

    プログラマが知っているとよい色(1)使い(JIS安全色) - Qiita
  • PLAIDがNode.jsを採用し、5年間で12万行書いてわかったこと | PLAID engineer blog

    エンジニアのgamiです。趣味はポッドキャスト配信です。 今回は、「Node.js」に焦点を当てた記事です。 PLAIDでは、約5年前から「KARTE」というサービスを開発しています。そのサーバーサイドの実装は、ほとんどがNode.jsで記述されています。 一方、国内企業の中で、サーバーサイド実装にNode.jsを採用している企業は少ない印象があります。 そこで、以下についてご紹介します。 PLAIDがNode.jsで実現しているプロダクト Node.jsを5年間使ってわかった強みと弱点 Node.jsを使いこなすための工夫 1. PLAIDがNode.jsで実現しているプロダクト 実際にPLAIDがどのようにNode.jsを使っているかを紹介します。PLAIDでは、「リアルタイムユーザー解析サービス」であるKARTEを主に開発しているので、KARTEの開発について説明します。 プロダクト

    PLAIDがNode.jsを採用し、5年間で12万行書いてわかったこと | PLAID engineer blog
  • 株式会社はてなを退職します。iOSじゃなくてブロックチェーンやります。 - niwatakoのはてなブログ

    株式会社はてな退職します。 8/10(金)が最終出社日でした。8/31(金)が退職日になります。 はてなでは主にiOSエンジニアとして2015年11月から2年10ヶ月働きました。 これからはブロックチェーンに注力します。次の会社は決まっています。 現在は東京に居ます。8月末までの間は時間があるので、もしよければランチのお誘いなどいただけると嬉しいです! あとオススメの英語勉強方法を募集しています。 iOSDC 2018 登壇 のお知らせ はてなでの最後の役目はiOSDC Japan 2018 (iOS開発者のカンファレンス)での登壇です!なので、ぜひ聞きに来てください〜!! developer.hatenastaff.com 「スマホアプリエンジニアだから知ってほしいブロックチェーンと分散型アプリケーション」と題して、2018/08/31 13:30〜 Track Cにて30分お話しさせ

    株式会社はてなを退職します。iOSじゃなくてブロックチェーンやります。 - niwatakoのはてなブログ
  • リレーショナルデータベースの仕組み (1/3) | POSTD

    リレーショナルデータベースが話題に挙がるとき、私は何かが足りないと思わずにはいられません。データベースはあらゆるところで使われており、その種類も、小規模で便利なSQLiteからパワフルなTeradataまで様々です。しかし、それがどういう仕組みで機能しているかを説明したものとなると、その数はごくわずかではないでしょうか。例えば「リレーショナルデータベース 仕組み」などで検索してみてください。ヒット数の少なさを実感できると思います。さらにそれらの記事は短いものがほとんどです。逆に、近年流行している技術(ビッグデータ、NoSQLJavaScriptなど)を検索した場合、それらの機能を詳しく説明した記事はたくさん見つかると思います。 リレーショナルデータベースは、もはや大学の授業や研究論文、専門書などでしか扱われないような古くて退屈な技術なのでしょうか? 私は開発者として、理解していないものを

    リレーショナルデータベースの仕組み (1/3) | POSTD
  • 文字や背景にピュアブラックを使ってはいけない理由

    UX Movementの創立者、ライター。ユーザーに優しいUXデザインのスキルを読者の方が上達できるよう、UX Movementのブログを始める。 デザインにピュアブラックを使うと可読性が低くなると知っていましたか? 統計によると、「アメリカの成人の58%」がコンピュータ作業で眼精疲労を経験したことがあるそうです。デザイナーは使用する黒の色に注意を払うことで、目が疲れる可能性をある程度減らすことができます。 ピュアブラックの文字や背景 ピュアブラックの文字や背景と白の組み合わせは、ユーザーが文章を長時間読むとき目に不快感を与えることがあり、眼精疲労を招いてしまいます。 白は100%の明度であり、黒は0%の明度です。このように明度のコントラストが強いと光量に不均衡が生じ、ユーザーが明るさに順応しようとするために目が酷使されることになるのです。 この現象を実証するために、暗い部屋で明るい電灯を

    文字や背景にピュアブラックを使ってはいけない理由
  • bashスクリプティング研修の資料を公開します - エムスリーテックブログ

    こんにちは、エンジニアリングGの中村です。 以前にこのブログにてエムスリーでの社内研修について紹介しました。今回は、この中でのbashスクリプティング講座の資料を公開します。 www.m3tech.blog 弊社の中でもいろいろな用途でbashが使われていますが、bashは簡単に利用できるもののプログラミング言語としてはバグを生みやすい、辛い言語だと思います。 ここで紹介しているのはいわゆるコーディング規則というよりも、バグ防止と可読性向上のためのルールをTips集的にまとめたものです。 bashにおいてまだまだ注意するところはありそうですが、多少なりともわかりにくいスクリプトの削減になればと期待しています。 [追記: 2018-08-22] はてブにて以下のコメントをいただきました。 bashスクリプティング研修の資料を公開します - エムスリーテックブログ bashで50行以上になった

    bashスクリプティング研修の資料を公開します - エムスリーテックブログ
  • コンテナ導入概要資料2018

    Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】 JAWS-UG コンテナ支部 Docker 入門 #2 2015年10月30日(金) http://jawsug-container.connpass.com/event/20924/ ※コンテナ支部での発表スライドですが、内容は Docker に対して興味のある方、すべてを対象としています。前回のバージョンそのままではなく、説明の追加など、現在の状況にあわせて、ほぼ全面的に書き直しています。

    コンテナ導入概要資料2018
  • JavaScript おじさんが教える本当の Modern JavaScript 入門 1 - Qiita

    一部修正しました UdemyReact コース公開してます。(絶対 Udemy の 1200 円割引価格にはしないので、このリンクから買ってもらうのが一番お互いに得です。) Udemy React + Redux コース 発表における Modern JavaScript とは何か Phase 1 として以下の環境での開発ができれば Modern JavaScript に入門できたものとする。 Webpack, Parcel 等の module bundler による "module system" の活用。 ES2015+ や TypeScript といった *"Compile to JS 1" の使用。それに伴う Babel によるトランスコンパイルツールの使用。 ESlint, Prettier といった集団開発における、ソース品質安定のためのツール の使用。 ここまでのツール

    JavaScript おじさんが教える本当の Modern JavaScript 入門 1 - Qiita
  • ドメイン駆動設計で実装を始めるのに一番とっつきやすいアーキテクチャは何か[DDD] - little hands' lab

    DDD連載記事 背景・前提 なぜDDD初心者はググリ出してすぐに心がくじけてしまうのかの記事で、 ネット上の文献で紹介されるアーキテクチャが様々なものとなっているのです。IDDDではヘキサゴナルアーキテクチャというものが掲げられていましたが、それを進化させたオニオンアーキテクチャ、クリーンアーキテクチャなどの有名な亜種が存在します。 これが実装に着手する際に非常に大きな混乱を呼ぶのです。文脈の理解、採用するアーキテクチャの選定に時間を取られることでしょう。 と書きました。こちらに対して、私が「一番とっつきやすい」と考えるアーキテクチャを紹介します。 前提としてですが、完全に個人的な経験に基づく私見になります。 DDDの理論の中で、アーキテクチャに関しては「エリック・エヴァンスのドメイン駆動開発」(以下原典)と実践ドメイン駆動開発(以下IDDD)とでも異なったものが紹介されており、唯一の正解

    ドメイン駆動設計で実装を始めるのに一番とっつきやすいアーキテクチャは何か[DDD] - little hands' lab
  • macOSでの開発環境を全部Docker化したらリストア時間が1時間半になった - The paradigm shift

    どうも、リストア職人のさぼです。みなさんmacOSをどのぐらいの頻度でリストアしてますか?1年に1回はやってますよね?僕は3ヶ月に1回はやるようにしてます。綺麗な状態にしてOSが最大限のパフォーマンスで動いた方がいいし手元に入れたよくわからないアプリがずっと入ってるのって気持ちよくないじゃないですか。なのでMacを定期的にリストア(工場出荷状態に初期化)してます。 前回までは真っ白な状態からだいたい3時間ぐらいで普段開発している環境を構築できるようにしていたのですが今回から開発環境を全部Dockerにしてみようと思ってやってみたところ1時間半で開発環境を終えて作業開始できる状態までの最短記録を更新しました! おわり(おわらない) いつもやってる手順を振り返りがてら紹介していきます。 Brewfile いつもリストア後は brew bundle コマンドでアプリやソフトウェアを入れるようにし

    macOSでの開発環境を全部Docker化したらリストア時間が1時間半になった - The paradigm shift
  • 手足がもがれる感覚 - mizchi's blog

    最近乗り換えたもの Twitter: 夜フクロウ => Tweetdeck ブラウザ: Firefox(Vimperator) => Vivaldi RSSリーダー: Livedoor Reader => Inoreader ただ、これらにかなり不満がある。 情報には上流がある。情報の上流は、一次情報が乱雑に転がってる未整備の荒野みたいなもので、下流はその二次情報やまとめみたいなもの。キャズム理論でいうと、一次情報に接する人がイノベーター、イノベーターを観測する人がアーリーアダプター、イノベーターまたはアーリーアダプターによる編集物を閲覧する人がマジョリティという分類になると思う。 自分が思う近年のインターネットの問題は、一次情報を整理していたイノベーターやアーリーアダプターに対するサービスが格的に終わってきたこと。 最初に挙げた3つのサービスは、どれもサービス終了やサポート終了などの必

    手足がもがれる感覚 - mizchi's blog
  • SQLで羃等にDBスキーマ管理ができるツール「sqldef」を作った - k0kubun's blog

    sqldefのリポジトリ github.com これは何か Ridgepoleというツールをご存じでしょうか。 これはRubyのDSLでcreate_tableやadd_index等を書いてスキーマ定義をしておくとそれと実際のスキーマの差異を埋めるために必要なDDLを自動で生成・適用できる便利なツールです。一方、 で言われているように、Ridgepoleを動作させるためにはRubyやActiveRecordといった依存をインストールする必要があり、Railsアプリケーション以外で使う場合には少々面倒なことになります。*1 *2 そこで、Pure Goで書くことでワンバイナリにし、また別言語圏の人でも使いやすいよう、RubyのDSLのかわりに、誰でも知ってるSQLCREATE TABLEやALTER TABLEを書いて同じことができるようにしたのがsqldefです。 使用例 現時点ではMy

    SQLで羃等にDBスキーマ管理ができるツール「sqldef」を作った - k0kubun's blog
  • 今データサイエンティストを目指してる人の7割が5年後に年収350万にしかなれない - データエンジニアの酩酊日記

    昨今のデータサイエンティスト求人の高給に釣られてこれからデータサイエンティストになろうとしてる人の多くは、望むような収入にありつけないと思う。 理由は簡単で、日にはびこるITベンダとは名ばかりの人売りベンダが、こぞって「データサイエンティスト募集!未経験応募可!」求人を出しまくってるから。 こいつらこそが日のプログラマの地位と待遇を貶めてきた悪の親玉、ITに巣う病理、悪性リンパ腫、諸悪の根源。 多くのデータサイエンティストの卵たちが、3〜5年後には「こんなはずじゃなかった」と唇噛み締めてる姿が手に取るように浮かぶ。 今後どういうことが起こるかというと、まずはこういう人売りITベンダがかき集めたド素人を適当にラッピングして”でーたさいえんてぃすと”に仕立て上げ、IT音痴のバカなユーザー企業に高価な値札を付けて大量に売りさばく。 そうするとどうなるか。 「データサイエンティストって役立た

    今データサイエンティストを目指してる人の7割が5年後に年収350万にしかなれない - データエンジニアの酩酊日記
  • モダンなJava開発ガイド (2018年版)

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 2018年現在でもJava開発をしていると、Antすら使っていないEclipseプロジェクトにそこそこの頻度で出くわします。Eclipseの自動コンパイルが通ればOKであり、ビルドはExcel手順書をもとに手動で行われ、依存関係ライブラリはもちろんlibフォルダに各種jarファイルが放り込んであります。Eclipse上以外ではどう動かせば分かる人がいないため、コマンドラインからビルドなどを行うことは叶わず、CI化なんて夢のまた夢です。 そんなJava開発から脱却したい人向けのJava開発のモダン化ガイドです。 基的にJava 8以降で

    モダンなJava開発ガイド (2018年版)
  • やわらかVue.js

    やわらかVue.jsについて / 迷わないVueの学び方 / イベント情報 / フロントエンドを気楽に歩こう / 以前 / 書籍 / 【漫画で解説】Vue.jsで楽をしよう! / レイアウトどうすればいい? / 参考になるページ / webpackの動作を見てみよう / vue-routerとかvuexって使ったほうがいいの? / Vueのコミュニティに入りたい! / flaskやrails

    やわらかVue.js
  • エラーメッセージはフォームのどこに表示するべきか

    UX Movementの著者および設立者です。ユーザー体験のデザインスキルの開発を手助けしてよりユーザーフレンドリーな世界のために、このブログを創設しました。 フォームのどこにエラーメッセージを配置していますか? ユーザーの期待する場所にエラーメッセージが置かれていないと、ユーザーはフォーム入力を完了できなくなってしまうかもしれません。 フォーム入力を間違えたら、ユーザーはそれを修正して送信し直すために、なにが間違っていたのかを理解する必要があります。フォームを完了しようと思っていたとしても、それがあまりにも大変であればユーザーは心変わりしてしまうでしょう。 フォームの上か、フィールドのインラインか エラーメッセージの配置場所でもっとも一般的なのは、「フォームの上」と、「エラーのあるフィールドのインライン」という2箇所です。どちらの配置場所が、ユーザーにとってより直感的でしょうか? 調査に

    エラーメッセージはフォームのどこに表示するべきか
  • エンジニアリングマネージャーという仕事について - kobakei's blog

    今自分が働いている会社ではエンジニアリングマネージャーという肩書で仕事をしています。「ああ、エンジニアのマネジメントをする人ね」ってことなんですが、具体的にどういうことを考えてどういう仕事をやってるかを実際にやってみて分かったこともあるのでまとめておこうと思います。 一応注意としては、「自分はこう考えて仕事してるよ」っていうだけの話で、会社や組織によっては全然違うことを考えたり実行してる人も一杯いると思います。自分の仕事はピープルマネジメントがメインです。 ミッションは「エンジニアチームの生産性を最大化すること」 そもそもエンジニアリングマネージャーって何のために存在してるかというと、エンジニアチームの生産性を最大化するために存在してると思ってます。生産性を上げるためには、各メンバーのモチベーションを高く維持しないといけないし、メンバーのキャリアアップをサポートしないといけないし、メンバー

    エンジニアリングマネージャーという仕事について - kobakei's blog
  • 結合テストと呼ぶのをやめた話 - asterisc

    はじめに 最近、意図的に「単体テスト」「結合テスト」という呼び方を避け、Google Testing Blogで紹介されてるTest Sizesによる分類(small / medium / large)に従った呼び方でテストを呼んでいる。 この分類方が自分の身の回りに徐々に浸透してきて、実際のチーム内のテスト戦略も一歩進んだ議論ができるようになってきたので、改めてまとめる。 ちなみにこの記事の話は手動で行われるテストではなく、自動テストを対象としているが質はあまり変わらないと思う。 続き書きました。 akito0107.hatenablog.com 「単体テスト」「結合テスト」という呼び方について ソフトウェア開発に従事していれば必ず聞く言葉だと思う。改めて他のサイトから引用する形で定義をまとめておく。 単体テストとは *1 単体テストとは、プログラムを検証する作業の中でも、プログラムを

    結合テストと呼ぶのをやめた話 - asterisc
  • データ分析の不思議、シンプソンのパラドックスを統計的因果推論から考える - Unboundedly

    今回は統計学で有名な「シンプソンのパラドックス」という問題について紹介したいと思います。簡単にいえば、同じデータでも分析の仕方によって全く矛盾したように見える結果が得られるというお話です。データだけ見ると、信じがたいような直感に反する現象がおきるので頭の体操としてとても面白いです。 あまりに有名なパラドックスであるため日語でも解説がいくつか出ていますが、人によって言っていることが違っていたり、不完全であったりします。多くはシンプソンによるオリジナルの論文を読んでないことから起因するのだと思います。 例えばシンプソンのパラドックスを交絡の問題だと捉える人は多いですが、個人的に不完全だと思います(間違いではない)。このように誤解が広まった歴史的背景も含めて、詳しく書いていきたいと思います。ちなみにアニメのシンプソンズはこの問題と全く無関係です。 そもそもシンプソンのパラドックスとは? シンプ

    データ分析の不思議、シンプソンのパラドックスを統計的因果推論から考える - Unboundedly
  • Cコンパイラ制作の夏期集中コースが思っていた以上にうまくいった話|Rui Ueyama

    2018年の夏に僕はセキュリティキャンプ(以下「セキュキャン」)というイベントでCコンパイラ作成コースの授業を行いました。授業はとてもうまくいったといってよいと思います。参加者は6人だったのですが、6人全員プログラミング技術がかなり飛躍的に向上したようですし、そのうち3人は期間中にセルフホスト(自分の書いているコンパイラで自分のコンパイラ自身をコンパイルできること)まで漕ぎ着けることができました。 この文章では、その授業をどのように僕が教えたのかということと、生徒にできるだけ多くのことを学んでもらって自信をつけてもらうために僕が何を気をつけていたのかという2つの点について説明します。 セキュキャンとはセキュキャンは5日間の合宿イベントで、学生を対象としてコンピュータセキュリティやプログラミングについて教えるというものです。いくつものコースが用意されているのですが、僕が受け持ったのは「集中コ

    Cコンパイラ制作の夏期集中コースが思っていた以上にうまくいった話|Rui Ueyama
  • プログラミングが大好きなWeb系エンジニアの50代以降のキャリアに関する考察 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 先日、サイバーエージェントさんの「身に着けた技術をいかに捨てられるか。エンジニア歴39年、今でもエンジニアで居続ける理由。」という記事が大変話題になりました。 プログラミングやテクノロジーが大好きでWeb業界で働いているエンジニアの方の多くは、「可能であれば50代以降も現場で"手を動かすエンジニア"として働きたい」と考えてらっしゃると思いますが、平松さんのような方はかなり例外的で、Web業界で多数の現場を経験してきた私でも、50代以上の現役エンジニアの方とご一緒にお仕事をさせて頂いた経験は残念ながら一度もありません。 私は現在、雑系エ

    プログラミングが大好きなWeb系エンジニアの50代以降のキャリアに関する考察 - Qiita
  • 英語学習向けポッドキャストおすすめ10番組 - 世界のねじを巻くブログ

    語学勉強・リスニングに みなさん、英語の教材ってどうやって選んでますか? 英語の参考書を買って、という手もありますが、やっぱりCDを録音して・・っていうのはなかなか面倒なもの。 僕がおすすめするのは"ポッドキャストで英語を聞くこと"です。 一番いいのはやっぱり「興味を持てる内容を聞きまくる」ということ。 あらゆるジャンルのポッドキャストが配信されているので、興味を持てる番組もあるはず。 僕は昔からランニング中などに英語のポッドキャストをずっと聞いてきたので、 この機会に、リスニング教材としてもおすすめの海外Podcastを10つ厳選してみました。海外在住の方もぜひ聴いてみてください。 ポッドキャストの日なので、Podcastの未来を考えてみた 語学勉強・リスニングに 海外Podcast10選 Stuff You Should Know How I Build This Wow in t

    英語学習向けポッドキャストおすすめ10番組 - 世界のねじを巻くブログ
  • UIデザイナーの能力開発ステップと鍛錬方法|たけてつ

    先日、経済産業省・特許庁の「デザイン経営」宣言もあり、デザインの重要性が話題になることが増えました。具体的には組織だったり、評価・報酬だったり、採用・育成だったり、多岐に渡っていると思います。 一方で「デザイナーがいない。」とよく聞きますし「誰かいない?」と相談も頂きます。そして、僕は、デザイナーの人口が増えて活躍することができれば、より良いプロダクトやサービスが溢れ、世の中はより良い方向に変わっていけるのではないか。と考えるようになりました。 では、デザイナー人口を増やすには、微力ながら自分で何かできないか。と考え、いろいろトライ&エラーした結果、同じ思想を持つCocoda!に出会い共感し、アドバイザーというカタチで力添えさせて頂くことになりました。 今回は、Cocoda!チームへの初アドバイスとして、"UIデザイナーになる、もしくは、より良いUIアウトプットできるようになる為には、何

    UIデザイナーの能力開発ステップと鍛錬方法|たけてつ
  • Webサーバをセキュアに保つ設定のまとめ - Qiita

    はじめに Webサーバをセキュアに保つ為、個人的に行っている設定をざっくりまとめてみました。 設定内容はApache 2.4での運用を想定していますので、他のHTTPdをお使いの方は適宜読み替えてください。 各設定項目は以下のオンラインテストサイトでA+相当を取ることを目指しています。 設定ファイル生成 Mozilla SSL Configuration Generator オンラインテスト Mozilla Observatory Qualys SSL Server Test 前提条件 以下で設定する項目は特にHTTPS接続や攻撃防止に関するものになります。 HTTPdそのものに関する基設定については別記事をご参照ください。 SSLProtocol 危殆化した古いプロトコルを有効にしている場合、古いプロトコルを標的としたダウングレード攻撃等を受ける可能性がある為、新しいプロトコルのみを有

    Webサーバをセキュアに保つ設定のまとめ - Qiita
  • フリーランスエンジニアの単価を決める - Qiita

    記事概要 書いた目的 フリーランスエンジニアの単価設定に「情報の非対称性」ある フリーランスは市場動向掴んで「売り手」になるべき エンジニア応援したい、優秀なエンジニア年収伸ばせば良いし、キャリアミスマッチしてるエンジニアは再構築すれば良い 読者想定はフリーランスエンジニア、qiitaに多そうだから投稿 記事の内容 1. 自分のプロフィールと単価を公開 前職年収900万円で、フリーランス日額6.5万円〜10万円 40社ぐらい営業して、1/3は話が進む 2. この単価設定にした根拠を説明 前職基準、採用市場、派遣、フリーランス市場、英語圏 3. 終わりに 「こんな人材求められてるんじゃないかな」、「こうしたらキャリア積めるかも」を記載 正社員に戻って修行するなら、開発チームが強い(CTOが役員として存在)イケてるWeb企業で正社員キャリア積むことを目指すべき フリーランスのままでも「チーム

    フリーランスエンジニアの単価を決める - Qiita
  • モバイルではメニューを画面下に表示すべき理由

    スマートフォンの使い方が、脳に影響を与えることがあります。ある調査によると、毎日スマートフォンを使う人は、脳の体性感覚皮質が大きいことがわかりました。体性感覚皮質は、親指のコントロールをつかさどる部位です。 また、ほかの調査では、ほとんどのユーザーがスマートフォンを片手で操作していることが明らかになりました。スマートフォンを握っているとき、ユーザーは左右どちらかの親指で画面を操作しているのです。親指はユーザーにとってマウスのようなものですが、その動きには限界もあります。 親指はマウスの代わり デスクトップデバイスでは、ユーザーは画面の操作にマウスを使用します。ナビゲーションメニューまでマウスを動かすことは簡単です。なぜなら、マウスは手首の動きを制限しないからです。 しかし、ユーザーがスマートフォンを握っているとき、親指は限られた範囲でしか動けません。画面に親指が届かない領域があるのです。こ

    モバイルではメニューを画面下に表示すべき理由
  • デザイン初学者がUIトレースを1ヶ月続けてみた|きなこ

    こんにちは、今回がはじめてのnote投稿になります! タイトルにもある通り、今日はTwitterにて8月に行なっていたUIトレースについて感じたことをまとめていきます。 デザインの勉強を始めたばかりで、どうやって勉強しよう?と悩んでいる人や、最近だとCocoda!に登録してUIデザインの勉強をしてみようかな...と思っている人の参考のひとつにでもなれば嬉しいです。 あくまでも自分なりの見解であり初心者目線で書きますので、どうぞ暖かい目でご覧になってください...。(アドバイス随時受け付けてます!) そしてかなり迷ったのですが、この記事ではトレースしたものだけでなく、アウトプットしたものも全部載せます。プロのデザイナーさんが見たらツッコミどころ満載の作品ばかりだと思いますが、同じような境遇の方の励みになればと思って、、、、では目次です。 目次 1.  UIトレースを始めたきっかけ 2.  最

    デザイン初学者がUIトレースを1ヶ月続けてみた|きなこ
  • 約3年かけてプログラマ向けニュース推薦アプリを作り直した話 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 概要 『もっとより良いニュースアプリはできないだろうか』 そう考えてMenthasというニュースアプリを開発し、プログラマ向けニュースキュレーションサービスを作ってみた話 という記事をQiitaに書き、自分の予想を超えた反響を受けてから約3年になります。 しばらく開発の更新は留まってしまいましたが、ニュース推薦に関しての探求が終わったわけではなく、むしろ見えてきた課題のために数多くの論文を読んだりプロトタイピングを繰り返していました。 そしてつい先日、これまで解けなかった問題に対してようやく答えを自分なりに導き出すことができたため、骨格

    約3年かけてプログラマ向けニュース推薦アプリを作り直した話 - Qiita
  • 勉強するとこんな人になりますよ - megamouthの葬列

    axia.co.jp どこかのエントリで呼ばれた気がした。 必要もないのに他人のエントリに乗っかるのは好きではないのだが、たまにはブログっぽいことを書かないと、と思ったので、軽く書く。 ある勉強したプログラマの末路 まず自分の話をしたい。 私は趣味で多数の求人サイトに登録している。 転職エージェントはうるさいので使っていない。 サイトに登録して、経験言語と年数にチェックを入れ、職務経歴書をサニタイズして(なんとこの用語は顧客を特定できないように「無毒化する」という意味で一般的に使われ始めている)掲載しているぐらいである。 ちなみにpaizaでもSランクを持っている。自慢にもならないし、求職活動に役立つわけでもないが、持っている。 こうして、現年収を正直に「200万」と書いておくと、スカウトメールがけっこうやって来るので、それらを暇つぶしに眺めるのである。 Webで年収400万超えるとこって

    勉強するとこんな人になりますよ - megamouthの葬列
  • 「プライベートでは一切勉強したくない」エンジニアにおすすめの職種

    おいでよ組み込み系ワールドへ。プライベートで一切勉強しなくてもそこそこの収入とよその会社からスカウト殺到のエンジニアライフがあなたを待っている 組み込み系のいいところIoT(笑)なんてものの流行もあり猛烈な人不足。未経験でもホイホイ入れるし、SES拒否しても求人はよりどりみどり最前線でもなければ家でコード書いてる人なんて職場の1割いるかいないかぐらいの緩い競争環境会社でしか使えない機材で仕事をするので仕事中に必要なスキルが伸びる古い体質の企業が多いのであんまりスキルなくても給料は年次で増えてく(ごく一部除いて年収600-650万ぐらいから頭打ちになってくるけど)ごりごり忙しいweb系と違って既婚率高い自分のコードが街中で動いてるのを見られるかもしれない組み込み系のよくないところ研究系の最前線を除いて東京23区内で働くのはかなり難しい。全般的にオフィスが田舎最新の開発ツールに触れてたい人が発

    「プライベートでは一切勉強したくない」エンジニアにおすすめの職種
  • noteのサービス設計で参考にしている本|深津 貴之 (fladdict)|note

    noteのサービス設計で、参考にしているなど。チームメンバーと価値観を共有するためにも、オススメのを集めてみました。 経済政策で人は死ぬか? 公衆衛生学から見た不況対策経済危機に国家がどのような経済政策ととったか。それが天然のA/Bテストになりうるという話。書では、世界中の経済危機や動乱のなか、経済政策や衛生政策の違いで、市民の生死がどのように変化したかを分析した。危機時に、どのようなテコ入れをすべきかの参考に。

    noteのサービス設計で参考にしている本|深津 貴之 (fladdict)|note
  • 業務利用しているOSSの休日個人開発は業務か? - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、OSS推進室長の岡田(@y_okady)です。 先日公開したOSSポリシーについて、たくさんのご意見をいただきました。ありがとうございます! その中の一つに、労務管理上の懸念についてのご指摘がありました。上長からの指示がなくても、業務利用しているOSSの休日個人開発は業務にあたるのではないか、というものです。 僕としては、OSSガイドラインの導入にあたっては社員が無意識の時間外労働をしないよう会社側に留意してほしい、そのことは会社のリスク管理と、社会全体の労働者保護につながることであるし、労務管理について理解することは社員人にとっても有益であろう、というあたりかしら— Kazuho Oku (@kazuho) 2018年9月11日 これについて、社員のオープンソース活動を支援する役割を担う「OSS推進室(OSPO)」で話し合って見解をまとめたのでご紹介したいと思います。 技術

    業務利用しているOSSの休日個人開発は業務か? - Cybozu Inside Out | サイボウズエンジニアのブログ
  • 2018年Vue.jsとVuexを使ってる人には必ず知っていてほしいドキュメントに書かれていないコンポーネントやストア、メンテナンスの際に役立つTips - Qiita

    はじめに 私はVue.js with Vuexを使った業務で1画面30APIを叩く必要のある画面から、たったの数APIしか叩かないけれど、代わりにUIがとても機能的で複雑な画面まで設計し、構築しました。 現在は構築したシステムを保守・運用しており、その際に得られたノウハウを言語化し、共有出来たらと思います。 ※ 記事の内容に意見がありましたら直接編集リクエストをください。 ※ パフォーマンスの話はしません。 ゴール 役立つTipsを身につけコード品質を向上させる コンポーネントのバグを減らせるTips ほとんどのバグは変数から来ます。 もし全ての値が定数なら状態から来るバグはほとんど無くなるでしょう。 ここではこの変数や式を極力減らせるTipsを紹介したいと思います。 1. dataを極力定義しない Vue.jsでコンポーネントを定義する際ついdata()に沢山変数を定義しちゃいますよね。

    2018年Vue.jsとVuexを使ってる人には必ず知っていてほしいドキュメントに書かれていないコンポーネントやストア、メンテナンスの際に役立つTips - Qiita
  • 実際のところ「ブラウザを立ち上げてページが表示されるまで」には何が起きるのか - Qiita

    9月15日(土) DNSについて追記しました。バックエンド?今はクラウドがきっと上手くやってくれるので深く考える必要は無いんですよ(知らないので書けません😔) 問題のツイート 面接の質問で「ブラウザを立ち上げてページが表示されるまでの仕組みを全て知ってる限り説明してください」ってのをやると結構Web系の知識どれだけあるか分かると思ってる — 🍛🍺 (@tan_go238) September 10, 2018 解釈 今回は「ChromeのURL欄に入力してからページが表示されるまで」をやります。ブラウザの起動云々はWeb系の話じゃないと信じてます。 1. HTTPリクエストが飛ぶ **HTTP2のヘッダ圧縮技術**に全て書いてありました。 (追記)下のリクエストヘッダはテキストで書かれていますが、実際にはこれをバイナリにしたものが飛んでいるとのことです。segfoさんありがとうござい

    実際のところ「ブラウザを立ち上げてページが表示されるまで」には何が起きるのか - Qiita
  • クックパッドアプリはみんなが寝ている間にサブミットされる - クックパッド開発者ブログ

    こんにちは、技術部モバイル基盤グループの茂呂(@slightair)です。 先日のiOSDCは大盛況でしたね。とても楽しく、実りあるカンファレンスでした。この記事で僕は ididblog! ということにしようと思っています 😋 クックパッドからは @giginet と僕の二人が登壇しました。発表を聞きに来ていただいた方はありがとうございました。 @giginet の 詳解Fastfile という発表中でさらっと話された、”毎週自動的にリリースされる”という言葉が気になった方はいるのではないでしょうか。実はこのリリースフローについての話もプロポーザルに出していたのです(もっともっと細かくリリースをしてユーザーに最速で価値を届けるためのリリースフロー)。 この記事ではこのリリースフローについての話をしたいと思います。 クックパッドアプリの開発体制 クックパッドアプリの開発体制は人数の変動はあ

    クックパッドアプリはみんなが寝ている間にサブミットされる - クックパッド開発者ブログ
  • VueToolbox

    Explore and discover the best Vue.js resources.

    VueToolbox
  • Webフロントエンド パフォーマンス改善ハンドブックを公開しました - dwango on GitHub

    パフォーマンス改善ハンドブック ウェブページにおけるパフォーマンスに関する問題の見つけ方や考え方の事例をまとめた Webフロントエンド パフォーマンス改善ハンドブックを公開しました。 URL: https://dwango-js.github.io/performance-handbook/ このハンドブックでは過去に行ったWebフロントエンドのパフォーマンス改善の事例を中心に紹介しています。 注意点としてWebフロントエンドは常に変化しているため、現在の最適な解決方法を提案するものではありません。 また、アプリケーションによっても最適な解決方法は異なります。 今回の事例ではViewライブラリにReactを用い、映像再生プレイヤーなどある程度複雑な機能を持ったウェブアプリケーションのWebフロントエンドを扱います。 具体的にはニコニコ生放送(以下「生放送」)で行った事例を中心に書かれていま

    Webフロントエンド パフォーマンス改善ハンドブックを公開しました - dwango on GitHub
  • プログラマーのための圏論(上) - bitterharvest’s diary

    『プログラマのための圏論』はこれまでの分をまとめてPDFファイルにしました。参考にしてください。

    プログラマーのための圏論(上) - bitterharvest’s diary
  • 「 Javascript / Node.js で仕事自動化」記事まとめ - ほんじゃーねっと

    Javascript と Node.js を使ってあれこれ自動化する記事が増えてきたので、 目次としてまとめておく。 blog.honjala.net blog.honjala.net blog.honjala.net blog.honjala.net blog.honjala.net blog.honjala.net blog.honjala.net blog.honjala.net blog.honjala.net blog.honjala.net blog.honjala.net blog.honjala.net blog.honjala.net blog.honjala.net blog.honjala.net blog.honjala.net blog.honjala.net blog.honjala.net blog.honjala.net blog.honjala.net b

    「 Javascript / Node.js で仕事自動化」記事まとめ - ほんじゃーねっと
  • Vuex でショッピングカートを実装できる無料コース「Vuex for Everyone」を受講した - kakakakakku blog

    Vue School の無料コース「Vuex for Everyone」を受講した.Vue.js 初心者でも受講できるレベルになっているし,今まで Vue.js を書いたことはあるけど,Vuex はまだ使ったことがないという人にもオススメできる.進め方にもよるけど,写経するとしても2,3時間あれば終わる. Vuex for Everyone 今回受講した「Vuex for Everyone」の題材は「shopping-cart」で,ステップバイステップに実装を進めていく.動作確認をしながら,機能を追加したり,リファクタリングをしたりする. vueschool.io 動画を見るとわかるけど,とにかく実装スピードが早いので,写経する場合は何度も戻して見直す必要がある.ただ困ったときは Vue School の GitHub にセッションごとにコミットされているので,それを活用すればオッケー.

    Vuex でショッピングカートを実装できる無料コース「Vuex for Everyone」を受講した - kakakakakku blog
  • ググるのをやめるとプログラムの生産性が上がるかもしれない - メソッド屋のブログ

    今日はプログラミングの生産性に対して気づきがあったのでシェアしてみたい。 なぜ米国の人は生産性が高いのだろう プログラミングの生産性に関しては以前から興味がありいくつかのポストで考えたことをシェアしてきた。私は職業柄、いろんな国でいろんな人々とプログラミングを一緒にする機会が多い。その時に頻繁に感じるのは、平均的に言うと、アメリカの人プログラマが生産性が高い確率が高くて、しかもコードもきれいだという傾向にある。アメリカでお客さんと一緒にコードを書くと、お客さん自体が物凄く良く知っているし、実行力もある。アメリカの次と言うことでいうと、英語がネイティブの国もそれに近く、フランスなどの言語が近いところが続く感じなので、英語が物凄く影響すると思っていたし、実際すると思う。そのあたりの話はこちらのポストに書いてみた。 simplearchitect.hatenablog.com 定義での理解と、例

    ググるのをやめるとプログラムの生産性が上がるかもしれない - メソッド屋のブログ
  • 10年モノのインフラを3年がかりでカイゼンした - Qiita

    CI いちおうJenkinsが立ってました。失敗して赤くなってるジョブが大半で、かといって誰が治すわけでもなく、よくわからないけど失敗したり成功したり、とにかく不安定でした。 CloudWatchのメトリクスで眺めて、EBSのIOPSクレジットの枯渇から激遅になって、Jenkinsジョブのタイムアウト設定で失敗になる、まで明らかにしました。その時の対処は、IOPSクレジット上限サイズの1TBのSSDのEBSを付けることと、同時並行で動けるJenkinsジョブ数に上限を設けることで、落ち着くようになりました。 とはいえ「Jenkinsおじさん」問題があるので、CIをどうにか民主化する必要があります。SaaSから検討して、TravisCIとCircleCIが最終候補になって、トラブルシュートをSSHでできるのを決め手に、CircleCIを導入しました。 8月末にCircleCI1.0が死んだと

    10年モノのインフラを3年がかりでカイゼンした - Qiita
  • React製のSPAのパフォーマンスチューニング実例

    SIerでの経験が活きた!『SUUMO』『ゼクシィ』担当PdMの企画プロセスを紐解く【プロデザ!Vol.21】 2025.04.01 プロダクトデザイン プロダクトマネージャー リクルート 転職体験記 事業課題を捉えた業務理解とITサポートで事業活動の生産性向上を力強く下支え! 2025.03.28 BPR クラウドPBX コーポレート 社内ICT

    React製のSPAのパフォーマンスチューニング実例
  • Webアプリケーションフレームワークの作り方 in Python — c-bata.link

    こんにちは、芝田 将 ( @c_bata_ ) です。 この資料はPyCon JP 2016で行った 「基礎から学ぶWebアプリケーションフレームワークの作り方」 の書き起こし資料です。 誤字等があれば、Issue or PRをお待ちしております。 はじめに¶ この資料では200行に満たないシンプルなWebフレームワークの作り方をボトムアップで解説します。 テンプレートエンジンとしてJinja2を使ったりもしますが、基的にはPythonの標準ライブラリのみを使っています。 FlaskやDjango等を使ったWeb開発の経験があり、基的なHTTPの知識があれば読み進められるんじゃないかなと思うのでぜひチャレンジしてみてください。 資料を読み終えた方はBottleやDjango、筆者の公開している Kobin というフレームワークのコードを 読んでみたり、自分でWSGIフレームワークを実

    Webアプリケーションフレームワークの作り方 in Python — c-bata.link
  • どうして JWT をセッションに使っちゃうわけ? - co3k.org

    備考 2018/09/21 22:15 追記 2018/09/20 12:10 に公開した「どうして JWT をセッションに使っちゃうわけ?」というタイトルが不適切だとご指摘をいただいています。 その意見はもっともだと思いますので、現在、適切となるようにタイトルを調整しています。 ご迷惑およびお騒がせをして大変申し訳ございません。 文の表現についても改善の余地は大いにありそうですが、こちらは (すでにご意見を頂戴している関係で、) 主張が変わってしまわないように配慮しつつ慎重に調整させていただくかもしれません。 はあああ〜〜〜〜頼むからこちらも忙しいのでこんなエントリを書かせないでほしい (挨拶)。もしくは僕を暇にしてこういうエントリを書かせるためのプログラマーを募集しています (挨拶)。 JWT (JSON Web Token; RFC 7519) を充分なリスクの見積もりをせずセッシ