NMP300のブックマーク (165)

  • 大規模リファクタリングの極意

    iOSDC 2021 での登壇資料となります。 登壇内容 https://www.youtube.com/watch?v=yWO47AFkDls 以下、スライド内に登場するリンク一覧です。 MoT Teck Talk vol.3 「タクシー配車ならではの技術が盛りだくさん!iOSアプリの開発現場」 https://www.youtube.com/watch?v=KwaMV7-uMdI 不要なコードを検知して PR にコメントする Danger プラグイン https://github.com/imairi/danger-detect_unused_definition xcode-select の自動切り替えツール https://github.com/klaaspieter/chxcode RIBs アーキテクチャのボイラープレート自動生成 + 依存解決ツール https://githu

    大規模リファクタリングの極意
    NMP300
    NMP300 2021/09/20
  • ミクシィの21新卒技術研修の資料と動画を公開します!

    研修資料・動画一覧git研修(動画、スライド)データベース研修(動画、スライド、SQL演習環境)設計・テスト研修(動画、スライド)iOSアプリ開発研修(動画、スライド、リポジトリ)Androidアプリ開発研修(動画、スライド、リポジトリ)フロントエンド研修(動画、スライド、リポジトリ)ゲーム開発(Unity)研修(動画、スライド1、スライド2、スライド3、スライド4、スライド5、リポジトリ)git研修チーム開発でのGit(+GitHub)の使い方とGitの内部的な挙動についての講義と、Git Challengeから厳選した問題を解くハンズオン。 講義部分の動画とスライドを公開しています。

    ミクシィの21新卒技術研修の資料と動画を公開します!
    NMP300
    NMP300 2021/07/30
  • 伝わる文章作成の基本を学ぶための記事・学習コンテンツのまとめ - Qiita

    短いメッセージを書くことはできても、まとまった文章を書くのに苦労している人は多いのではないでしょうか。 この記事では、まとまった文章を作るときの技術を学ぶことができる記事や学習コンテンツを紹介します。新人エンジニア向けです。 文章の「型」を学ぶ まとまった文章を書くには、「型」が必要です。頻繁に使うものは、「型」を覚えてしまいしましょう。 バグレポートの書き方を学ぶ エンジニアとして書く文章の代表例が、バグレポートです。 バグレポートでありがちな失敗として「何が問題だと思っているのか」が伝わらないというものがあります。 これを防ぐために、「期待する結果」「実際の結果」「再現手順」の3つを必ず書くようにしましょう。 質問の書き方を学ぶ エンジニアが扱う技術は、最初はわからないことだらけです。 それを解決するために、質問の文章を作成する技術が必要となります。 概ね下記の4つの情報があれば、良い

    伝わる文章作成の基本を学ぶための記事・学習コンテンツのまとめ - Qiita
    NMP300
    NMP300 2021/07/03
  • The Rails Doctrine(日本語訳) - Qiita

    (訳者注: 原文は https://rubyonrails.org/doctrine/ です。しばらく寝かして問題なさそうであれば家に投げようかと思っています。おかしいところがあればコメント・編集リクエストをお待ちしております。) The Rails Doctrine By David Heinemeier Hansson in January, 2016 Ruby on Railsの驚異的な台頭は、斬新な技術とタイミングによるところが少なからずあります。しかし、技術的な優位性は時間の経過とともに失われていきますし、タイミングの良さだけでは長期にわたってムーブメントを維持できません。そのため、Railsがどのようにして現役であり続けることができたのかだけでなく、どのようにしてそのインパクトとコミュニティを成長させてきたのかについて、より広範な説明が求められています。私が提唱するのは、永続

    The Rails Doctrine(日本語訳) - Qiita
    NMP300
    NMP300 2021/03/13
  • 一括請負契約はソフトウェア開発にやっぱり向いていない - プログラマの思索

    一括請負契約はソフトウェア開発にやっぱり向いていない、と改めて感じた。 理由は2つある。 【参考】 ERPの落とし穴part4~システム移行という名のデスマーチ: プログラマの思索 システムのリプレース案件が最も危険な理由: プログラマの思索 請負契約がソフトウェア開発者を苦しめている: プログラマの思索 【1】1つは、発注者は外部ベンダーにリスク転嫁しているつもりでも、リスク転嫁できていない。 結局、発注者に全てリスクで跳ね返ってくる。 発注者は、要件定義でガチガチに仕様を固めて、その仕様通りにリリースできたとしても、もし番障害があれば、瑕疵担保責任でベンダーに追求できる。 民法の請負契約では、受託側は成果物の完成責任があるからだ。 しかし、その契約スタイルはソフトウェア開発になじまない。 たとえば、発注者が要件定義や外部設計をまとめて、ベンダーに開発工程を一括請負で委託したら、それが

    一括請負契約はソフトウェア開発にやっぱり向いていない - プログラマの思索
    NMP300
    NMP300 2021/03/13
  • Only My Rails Way

    これは何 「Rails Wayに沿って〜」とはReview欄などでよく言われるが、定義が人によってぶれている気がするので俺のRails Wayを示した記事です。 もはや来のモノとは別物かも知れませんが、俺はこういう観点でRailsをみて、コードを書いているよ、ということを知ってもらう意味でもこの記事を公開することにしました。 前提として、「数人以上のチームでプロダクトを実際に開発して運用する」場合の自分のスタンスを示したものです。(私も仕事では独自DSLは書きませんが自由研究用途なら自分も独自DSLを書いたりします。) それでは、いってみましょう。 Model層 データベースの操作およびビジネスロジックを記述する。 テーブルの属性は原則NOT NULLにするべき。どうしても要件上NULLを許容しなければならない場合のみNULLを許容する。 Controllerからparamsを無思考で渡

    Only My Rails Way
    NMP300
    NMP300 2021/03/13
  • 技術的負債とステークホルダと説明責任と / The Debt

    Talked at CloudNative Days Spring 2021 Online #CNDO2021. https://event.cloudnativedays.jp/cndo2021/talks/801

    技術的負債とステークホルダと説明責任と / The Debt
    NMP300
    NMP300 2021/03/13
  • 【Team & Project】 Smart Channelのレコメンド配信システムの開発を担当しているチームを紹介します

    LINEの開発組織のそれぞれの部門やプロジェクトについて、その役割や体制、技術スタック、今後の課題やロードマップなどを具体的に紹介していく「Team & Project」シリーズ。今回は、レコメンド配信システムを開発しているCRS Devチームを紹介します。 CRS Devチームの渡邉と萩原に話を聞きました。 ―― まず、自己紹介をお願いします。 渡邉:私はLINE公式アカウント開発を行うOfficial Account開発室でCRS Devチームのマネージャーをしています。 萩原:私はCRS Dev チームで開発リードをしています。 学生時代にアメリカのオクラホマ州に住んでいた繋がりで、 Oklahomer という ID で呼んでもらうことが多いです。主に Smart Channel の Backend 開発として、 Machine Learning チームと連携しつつ、リアルタイムに安

    【Team & Project】 Smart Channelのレコメンド配信システムの開発を担当しているチームを紹介します
    NMP300
    NMP300 2021/03/13
  • Dockerfileのベストプラクティス Top 20

    文の内容は、2021年3月9日にÁlvaro Iradierが投稿したブログ(https://sysdig.com/blog/dockerfile-best-practices/)を元に日語に翻訳・再構成した内容となっております。 Dockerfileのベストプラクティスのクイックセットをイメージビルドに適用することで、セキュリティ問題を防ぎ、コンテナ化されたアプリケーションを最適化する方法を学びます。 コンテナ化されたアプリケーションやマイクロサービスに精通している人なら、自分のサービスがマイクロサービスであることに気づいているかもしれません。しかし、脆弱性の検出、セキュリティ問題の調査、デプロイ後の報告や修正など、管理のオーバーヘッドがマクロな問題になっています。 このオーバーヘッドの多くは、セキュリティをシフトレフトし、開発ワークフローの中で可能な限り早く潜在的な問題に取り組むこ

    Dockerfileのベストプラクティス Top 20
    NMP300
    NMP300 2021/03/12
  • 情報ではなく経験をアウトプットすること - 余白

    調べれば大抵の情報は誰でも手に入る今日このごろ。特に技術的な情報はオープンソースで一次情報へのアクセスは容易になった。 それと同時に繰り返し言われるアウトプットの重要性。 しかし、ブログやLTなどでアウトプットしても、「もっと質のいい情報があるのに自分がアウトプットする必要があるのか」「逆にノイズになるだけじゃないか」というような考えになってしまう人もいるのではないか。 そんな架空の声にお応えして、それでもなおあえて、一次情報ではない「あなたのアウトプット」の重要性を伝えてみようと思う。 実際にやる人は多くない 定量的なデータがあるわけではないが、直感的に共感してもらえるだろう。 ある技術や手法が話題になったとして、それを情報として知っている人はこの時代いくらでもいる。 だが、それを実際にその手でやったことがあるというだけでかなり群衆からは抜きん出た経験を持つことになる。 ましてやそれをや

    情報ではなく経験をアウトプットすること - 余白
    NMP300
    NMP300 2021/03/08
  • 共通認識を深めるデザインの要素分解

    デザインを決める5つの要素誰もが『自分の正しさ』『良さ』といった価値観を抱きながら、目指すゴールに向かって働いています。私にしても「こうありたい」というミッションがあり、それを達成するための活動をしています。 それぞれが良かれと思って活動していたとしても、チームメンバー全員が同じ価値感をもっているとは限りませんし、優先順位も異なります。私たちデザイナーが抱える価値の重さを、他人が同じように感じているわけではありません。私はそれを「デザインの理解が足りない」ではなく、「価値観の重きの置き方が異なっている」と捉えるようにしています。 デザインフィードバックが難しい理由のひとつは、どう考えても正しいと言い切れる成果物が作れない(説明できない)ところ。ひとりが「良い」と評価したデザインが、他の人に尋ねると「そうでもない」と言う場合があります。人によって意見が変わる場合もあれば、タイミングやコンテキ

    共通認識を深めるデザインの要素分解
    NMP300
    NMP300 2021/03/03
  • 公開鍵暗号関連のテキストの間違いの典型例 - Qiita

    はじめに 背景 世間一般の公開鍵暗号関連の解説書・サイトは99%あてになりませんが、一例として、とある情処対策の解説動画の添削を行います。 ※twitterで問題点を説明する機会があったので、折角なら記事として共有できる形にしようという動機からです。 対象 対象の動画は https://www.youtube.com/watch?v=rgK4FGENzMo で、2021/3/1時点の内容を元にしています。 ※後日修正される可能性もあるため。 なお、先に断っておくと、この動画が特別酷いわけではなくて、大体どれもどんぐりの背比べです。如何にみんな真面目に情報を検証していないか、ということが実感できます。 動画のスライドの添削 スライド1: ディジタル署名(~0:48) 第1段落「公開鍵暗号方式を使って」 ディジタル署名とは、公開鍵暗号方式を使ってデジタル文書の正当性を保証する技術です この表現

    公開鍵暗号関連のテキストの間違いの典型例 - Qiita
    NMP300
    NMP300 2021/03/03
  • 数学が好きな人を好きな人のための数学基礎知識

    数学が好きな人を好きになってしまった、もしくは好きな人が数学を好きになってしまったけれど、自分で数学勉強するのはちょっと…という人に向けた基礎知識をまとめました。 ちょくちょく私見が入りますので、数学大好きな人は広い心でご覧ください。 2021.1.24日曜数学会(オンライン)で発表させていただきました。 *動画:https://www.nicovideo.jp/watch/sm38215130 なお、参考までにボツバージョン(最初にまとめたスライド)も公開してます。内容はだいたい一緒です。 *数学が好きな人を好きな人のための数学入門:https://www.slideshare.net/nisei/ss-241775697Read less

    数学が好きな人を好きな人のための数学基礎知識
    NMP300
    NMP300 2021/02/27
  • TypeScriptで世界一型安全な型レベルSQL Interpreterを作っている話

    こんにちは。DevOps芸人と化して久しいAndyです。 2020年の秋にTypeScript 4.1へTemplate Literal Typesが導入され、そのインパクトに俄かに一部の界隈がザワついたのは記憶に新しいかと思います。 今回は型プログラミングの可能性を大いに押し広げたTemplate Literal Typesを用いてSQL文を型レベルで解析し、その実行結果を型情報として導出するためのsqlptureというライブラリを作ったので紹介します。 Embedded content: https://github.com/andoshin11/sqlpture SQLの実行/検証対象はPostgreSQL v13です。 tl;dr SQL文を型レベルで解析・評価して返り値型を取得できるmini interpreterを作ったよ 型レベルのSQL validatorも作ってるよ 実際

    TypeScriptで世界一型安全な型レベルSQL Interpreterを作っている話
    NMP300
    NMP300 2021/02/27
  • 文系パパエンジニアが放送大学等でコンピュータサイエンス・数学を学んで理系学士を取りに行く話 - とあるCS学徒のブログ

    ※取りに行く話なのでまだ取ってません。 界隈ではコンピュータサイエンス(以下CS)を学ぶことが流行っていますが、これはとあるパパのとある一例です。どなたかの参考になれば。 こちらの通り申請致しました。 https://t.co/IDkVJAWjc2— Y (@wbspry) 2021年2月13日 誰? 事の経緯 なぜ大学でCS・数学を学びたいのか CS系学位を課す外資大企業たち CSできるマンへの憧れ 立ちはだかる数学の壁 dynamicなものよりstaticなもの ところで、CSって何? 選択肢と選択 なぜUoPeopleではなかったか 週次の人巻き込み課題が大変そう 単位移行が可能なのか(※当時は)よくわからなかった とはいえ なぜ帝京理工通信ではなかったか なぜJAISTではなかったか 学位授与機構との出会い 新しい学士への途(単位累積加算制度)とは 学位取得までの流れ そして単位集

    文系パパエンジニアが放送大学等でコンピュータサイエンス・数学を学んで理系学士を取りに行く話 - とあるCS学徒のブログ
    NMP300
    NMP300 2021/02/25
  • 1つのGoogleアカウントに新規のGmailアドレスを複数追加できるって知ってた?|@DIME アットダイム

    Gmailは基的に「1つのGoogleアカウントに1つのアドレスを持つ」サービスですが、実は1つのGoogleアカウントに複数のGmailアドレスを追加できることをご存じでしょうか。 「エイリアス」と呼ばれるこの機能。もう1つGmailアドレスがあったら便利だけど、Googleアカウントを複数管理するのは面倒という人にぴったりのものになっています。 1つのGoogleアカウントに新規のGmailアドレスを追加する方法 早速、Gmailの「エイリアス機能」の設定方法を紹介していきましょう。 PC版Gmailでエイリアス機能を設定する方法 PCブラウザ版のGmailでエイリアス機能を利用するために、まずは新規のメールアドレスを設定していきましょう。 Gmailにログインし、右上の設定マーク(歯車のアイコン)をクリック 「すべての設定を表示」をクリック 「アカウントとインポート」をクリックし、

    1つのGoogleアカウントに新規のGmailアドレスを複数追加できるって知ってた?|@DIME アットダイム
    NMP300
    NMP300 2021/02/22
  • ベテラン技術者が新しい環境で大失敗した話

    EM完全に理解した と思ったけど、 やっぱり何も分からなかった話 / EM Night Fukuoka #1

    ベテラン技術者が新しい環境で大失敗した話
    NMP300
    NMP300 2021/02/22
  • フロントエンドを考える 〜概念編〜

    この記事のシリーズでは私がフロントエンドに関して思っていることを徒然に語っていこうと思います。 ちょっと長くなり過ぎそうなので以下の4つに分けて書いていこうと思います。 1.概念的な話 - フロントエンドアプリケーションとは何でできているか フロントエンドアプリケーションを保守性とユーザへの価値提供を両立して開発するために、アプリケーションを抽象化して、いい感じの設計をする必要があります。 これの土台作りをするために概念としてフロントエンドアプリケーションとは何なのかを考えていきます。 2.技術的な話 - フロントエンドアプリケーションはどのように実行されるか Webフロントエンドはブラウザで実行され、表示のためには HTML, CSS, JS が必要です。当たり前のことではありますが、実際に開発を進めていく上では概念だけでなく、実際に動く How の部分を知る必要があります。 これらの要

    フロントエンドを考える 〜概念編〜
    NMP300
    NMP300 2021/02/22
  • オープンソースがわからない

    OSS活動をしているエンジニアが採用で有利だったり、なんかエライとかカッコイイみたいな空気がある。 オープンソースを主軸にしている会社で働きはじめてから、人が何を前提として、何を指して「オープンソース」と言っているのか、どんどんわからなくなってきた。いったいなぜOSS活動が良いとされるのか。 可能性1 ▸ ソースがオープンである これは自明に思えるかもしれないが、当にそうだろうか。ソースがオープンなのは良いことだという価値観は、そんなに広く受け入れられているだろうか。 たとえばうちの会社は「ソースはできる限りオープンであるべき」という信念を掲げているし、私にとってもそれは魅力的なポイントのひとつだった。さらには「すべてのソースはオープンであるべきで、オープンじゃないソフトウェアは使わない」という過激派も世の中には存在するが、いずれにしろこのようなオープンソース主義者が多数派であるとは思え

    オープンソースがわからない
    NMP300
    NMP300 2021/02/22
  • 開発者向けのテストの本いろいろ

    なんかおすすめなテストないですかねえ? と、某所で(テストをメインの業務にするのではなく)普通に開発をされている方に聞かれたので、 プログラミングは普通にできる テストについては学んだことはない とはいえテストエンジニアになるわけではなく、開発者としてテストが知りたい という人向けに、2021年現在で普通に入手できるをいくつか挙げてみます。

    開発者向けのテストの本いろいろ
    NMP300
    NMP300 2021/02/17