タグ

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

  • 【iOSDC2017】MVC→MVP→MVVM→Fluxの実装の違いを比較してみる - Qiita

    はじめに iOSDC2017にてMVC→MVP→MVVM→Fluxの実装の違いを比較してみるという内容で、Githubのユーザー検索のデモアプリをベースにした発表資料で登壇させていただきました。 登壇枠が15分だったため、ViewControllerを跨いだ(FavoriteViewController <-> RepositoryViewController)4つのデザインパターンの実装の違いにフォーカスした内容となっているので、画面遷移やテストの書き方などについても補足説明を書いていきます。 ※MVP、MVVM、Fluxでの補足説明という形で書いていきます。 登壇資料は下記になります。 日のプレゼン資料、アップしました。https://t.co/TIecyULVp4#iosdc — marty-suzuki (@marty_suzuki) September 17, 2017 また登

    【iOSDC2017】MVC→MVP→MVVM→Fluxの実装の違いを比較してみる - Qiita
    yatata
    yatata 2018/07/11
  • まだMVC,MVP,MVVMで消耗してるの? iOS Clean Architectureについて - Qiita

    <この記事は「Money Forward Advent Calendar 2015」の22日目の記事です> この記事は、iOS Clean Architectureと実際にコードへ適用した内容について紹介します。 コードについては、改善の余地があるため随時修正していくと思います。 → github: https://github.com/koutalou/iOS-CleanArchitecture iOS開発においてよくある問題点 「ビジネスロジックはModelに置くべき」と言うが、開発者によって理解や意見がバラバラで統一的な実装ができない 度重なる仕様変更や複雑な仕様に対応するためにViewControllerや特定のModelが肥大化し、ビジネスロジックの質を見失う MVC,MVP,MVVMだけで考えると、どこかのレイヤが複数の責務を持つことになり依存度の高い複雑なコードが生まれてし

    まだMVC,MVP,MVVMで消耗してるの? iOS Clean Architectureについて - Qiita
    yatata
    yatata 2018/07/11
  • 【iOSアプリ開発本の決定版】iOSアプリ開発デザインパターン入門発売しました - Qiita

    こんにちわ。今日行きつけの整体師に君は日の宝だと言われました、宝系エンジニアのばーちーです。ついに今日私自身の初著作「iOSアプリ開発デザインパターン入門」をインプレスR&Dさんから出版しました。 https://www.amazon.co.jp/dp/4844398326 書の目的 書の目的はMVC やMVVM などと呼ばれるiOS アプリケーション開発をするために必要な設計を学ぶことです。 私は前職などで、インターン生などの教育を担当していて、プログラミングのプの字も知らない人に対して、iOSを教えていました。そこで問題意識を持っていたのは、初心者から中級者への壁が高いこと、そしてそれらを橋渡しする良書が日には存在しないことです。海外だと何冊かありますが、日にはありません。最近では、iOSが初めてのプログラミング経験という方が多く、当然オブジェクト指向などの言葉も知らない

    【iOSアプリ開発本の決定版】iOSアプリ開発デザインパターン入門発売しました - Qiita
  • [Swift4]今更ながらMVVMのチュートリアルの翻訳をして理解を深めました - Qiita

    MVVMについてのおさらい 記事は下記のページの翻訳になります。翻訳の許可を頂いてます。 Design Patterns by Tutorials: MVVM ちなみに先に言っておきますが、 私はMVVMは面倒臭い派でMVCの方が好きです。 近年、iOS開発でMVVMがよく持ち上げられているのであえてこの記事を通してMVVMの理解を深めたいと思って読んでいました。 MVVMをこれから学ぶ人にも共有したくはありますが、 どちらかといえば「MVVMめっちゃいけてるやんって思っている方」にこそ日語で読んでいただきたいと思っての共有です。 Design Patterns by Tutorials: MVVM これは、我々の「チュートリアルによるデザインパターン」の第10章「Model-View-ViewModel」から抜粋したものです。あなたが開発する言語やプラットフォームに関係なく、デザイ

    [Swift4]今更ながらMVVMのチュートリアルの翻訳をして理解を深めました - Qiita
  • Rails と Vue.js でWebサービスの環境を作ってみた - Qiita

    はじめに Railsを勉強し始めて、そろそろオリジナルでWEBサービス(比較サイト)を作ろうと思い、色々と調べつつ構築していったら勉強になったのでメモしていきます。今回は、Rails,Vueを使って開発したかったので、それに合わせた環境になっています。 この記事では以下の環境(2018年7月9日時点)で動作確認できました。 Ruby: 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin17] Rails: 5.2.0 mysql2: (>= 0.4.4, < 0.6.0) mysqldockerに作成してあります Docker version 18.03.1-ce yarn: 1.7.0 webpacker: (~> 3.5) vue: ^2.5.16 参考にしたレポジトリ プロジェクトを作る上で参考にした、サービスのレポジトリは以下で

    Rails と Vue.js でWebサービスの環境を作ってみた - Qiita
  • 学生でもできる!Webサービスの開発・リリースするまでの道のり - Qiita

    昨年末ごろから黙々と開発し続けていたサービスをついにリリースしました。 学生の身分でありながらひたすら開発し続け、リリースまで約5ヶ月弱、様々なことがあり、モチベーションや多くの苦難を乗り越えてきたので、これからサービスを作ろうと思っている学生や個人に向けてQiitaに記事を残しておこうと思います。 また、学生でも個人でも良いサービスを作れるんだ!ということを、この記事でもっと知ってもらえるようになればいいと思っています。 リリースしたサービス Sphotz - 写真・フォトスポット共有サービス トップ画面 ログイン画面 投稿詳細画面 どんなサービスなのか 大まかにいうと... 写真とフォトスポットを同時に投稿してもらい、写真が好きな人やカメラが好きな人がもっと幸せになれるサービスを作りました。 機能としては、 写真・フォトスポット投稿機能 写真の情報や位置情報を確認できる機能 投稿をお気

    学生でもできる!Webサービスの開発・リリースするまでの道のり - Qiita
  • インターン生が外国人エンジニアから学んだ6つのこと - Qiita

    <追伸>700いいね および 1万5000PV ありがとうございます。様々な方がみてくれてとても嬉しいです。 コメント、拡散してくれた方、当にありがとうございます ~~ 2018/7/3 16:30 更新 ~~ はじめに 僕は去年の10月からzens株式会社にてエンジニアインターンしています。しかし、6月末でインターンをやめる決断をしたので今までその経験から学んだことをまとめたいと思います。(久々にエモいの書こうかと思います。) なんでこんな題名になっているかというと、ジョインした段階で完全リモートで参画していたベトナム人、フランス人のエンジニアがいたり、1月からは元インフラエンジニアRubyの開発経験が6年ほどあるポルトガル人のエンジニアの方が参画するなど日人のエンジニアがいない、外国人のエンジニアしかいない環境でエンジニアインターンをしていたからです。 特に僕の師匠でもある、ポル

    インターン生が外国人エンジニアから学んだ6つのこと - Qiita
  • 2018年の最先端バックエンドエンジニアになろう - Qiita

    フロントエンドエンジニア / バックエンドエンジニア / DevOpsエンジニア@poly_soft 先日2018年の最先端フロントエンドエンジニアになろうという記事を訳したのですが、そのリポジトリにはバックエンドとDevOpsのロードマップ画像も置いてあります。 しかしバックエンドのテキストにはTODOの1行だけで、動きがありませんでした。 解説が追加されないかなー、と思ってたら別の人がやってたのを見付けました。 ということで以下はModern Backend Developer in 2018の日語訳です。 Modern Backend Developer in 2018 こんにちのWeb開発の様相は、数年前とは全く別物です。 Web開発には多すぎる選択肢があって何をすればいいのか迷います。 それが、これらのステップを視覚的に表し、段階的にWeb開発を行っていくためのガイドラインを作

    2018年の最先端バックエンドエンジニアになろう - Qiita
  • コーディングをするときに鼻血がでるほど便利なwebツールリスト - Qiita

    普段お世話になっているwebツール達の紹介です。 以下のサイトはすべて 無料 & 登録不要 です。 正規表現 regexper 正規表現を可視化してくれます。 複雑な正規表現を書くときやコードリーディングのお供に重宝します。 Rubular Rubyの正規表現をテストできます。 JSON JSON FORMATTER & VALIDATOR JSON系のツールが集まったサイト。 それぞれ、サイト名とドメインが違うのでリンクはそのうちの1つになっています。 (画像クリックでそれぞれのツールに飛べます。) ひとつずつ紹介します。 JSONをフォーマットしてくれます。 出力結果は折りたたむことができるので、長いJSONを読むときにも便利です。 JSONを含めた様々なデータ形式を変換できます。 Inputの以下に対応。 CSV INI JSON XML YAML Outputは以下に対応。 JSO

    コーディングをするときに鼻血がでるほど便利なwebツールリスト - Qiita
    yatata
    yatata 2018/05/13
  • GitFlowをやめて本番リリースが楽になった話 - Qiita

    背景 サーバーサイド開発のプロジェクトでGitFlow(的な)運用を行っていたが、番リリースの際に困ることがあったのでgitの運用フローを変えて解消したという話。 まず問題の内容から順番に書いているので、結論(新しい運用ルール)だけ知りたい人はこちら git運用フローについては、GitFlow・GitHub Flow・GitLab Flowなどが有名だがどれとも少し違うように思ったのでまとめた。 <2018/06/10追記> 新フローにも名前が欲しいと思っていたが、同じやり方を「GitFeatureFlow」と呼んでいる記事を見つけた。個人的にもしっくり来たのでこれからはこの呼称を使っていこうと思う。 cf. GitFlowは使わない!シンプルな「GitFeatureFlow」を紹介します </追記終わり> 導入プロジェクトの概要 採用するべき運用ルールはプロジェクトの条件にも依ると思う

    GitFlowをやめて本番リリースが楽になった話 - Qiita
  • 就活のためにWEBサービスを作ったら、転職できた以上の価値をもたらしてくれた話 - Qiita

    WEBサービス立ち上げ2周年を迎えたGWに、記念に書いたものです(^^) 長いけどお付き合いいただけると幸いです。 TL;DR 転職時のポートフォリオに「こんなことできます」と書くためにWEBサービスを作った 最新のいろんな技術を実践的に学ぶことができスキルがメキメキ上がった 就活どころか、新たな出会いとチャンスが生まれて、これはもしかしたら…………。 想定読者様 WEBサービスを立ち上げたい人 WEBサービスを立ち上げるのに、プログラム以外にどんなことをするのか具体例を知りたい人 まぁそれはそれ、1つの例としては参考になるよね、と割り切っていただける方 今回はごめんなさい…な読者様 転職したい人。……釣りタイトルですみません、転職ノウハウな話は出てきません。 WEBサービスを立ち上げて独立したい人。……すみません、独立していません。 WEBサービスを立ち上げて収益をガンガン上げていくノウ

    就活のためにWEBサービスを作ったら、転職できた以上の価値をもたらしてくれた話 - Qiita
  • 開設後3週間で収益10万円を得た個人開発サイトでやったことの全部を公開する - Qiita

    開設して3週間ほどで収益10万円を個人開発サイトから得たので、そこでやったことを全部ここに公開する。 世の中には**億ドルのバリュエーションを獲得したスゲー起業家の話か、個人開発サイトを立ち上げたものの収益なんてゼロに近い話かの両極端しか無いように感じる。 パッと立ち上げてだいたい1ヶ月でiPhoneXが買えるぐらいのサイト規模というのは、どんなレベルのエンジニアでも手が届く範囲内にあるのが実感だ。「人生賭けて起業!」とかそんな熱い話ではない。普段の仕事が終わったら、ちょこちょこコードかいて個人的にアプリを公開して収益を得る、ぐらいの話。「1億総クリエイター時代」ではこんなやり方が世の流れに合っている気がする。 この記事でも「エンジニアアウトプット至上主義であるべき」と主張している。自分で主張するからにはやっぱり得たノウハウは全部公開するのは当然だな、と。だいたい数週間で収益が10万円な

    開設後3週間で収益10万円を得た個人開発サイトでやったことの全部を公開する - Qiita
  • 【保存版・初心者向け】独学でAIエンジニアになりたい人向けのオススメの勉強方法 - Qiita

    追記 【2020年版・初心者向け】独学でAIエンジニアになりたい人向けのオススメの勉強方法 【保存版・初心者向け】独学でAIエンジニアになりたい人向けのオススメのAI勉強方法 また、Python機械学習がオンライン上で学べるAI Academyをnoteでも書きましたが、3/17日からほとんどのコンテンツを永続的に無料で利用できるよう致しましたので、是非使って頂けますと幸いです。 AI Academy Bootcamp 我々が提供している個人向けオンラインAIブートキャンプのご紹介です。 AI Academy Bootcamp AI Academy Bootcampは、「短期間でAI活用スキルを付けたい」と考えている方や、 「データサイエンティスト」や「機械学習エンジニア」として就業を目指している方向けの AI特化型オンラインブートキャンプです。 講義動画とオンラインマンツーマンの演習授

    【保存版・初心者向け】独学でAIエンジニアになりたい人向けのオススメの勉強方法 - Qiita
  • 【エンジニアリング組織論への招待】を10~15分で読めるように1万文字程度でまとめてみた - Qiita

    ■ はじめに エンジニアリング組織論への招待というを読みました。 ジョブ理論 に続く名著でした。 理想に向けて、事業を最速かつ生産性高く成長させるには、「未来」と「他人」という2つの不確実性をマネジメントすることで、成し遂げられる ソフトウェア開発における不確実性のマネジメントには、不確実性に立ち向かえるチーム開発が何よりも重要である(ex. メンタリング、権限移譲、信頼関係、透明性) の2点を中心に、事業成長×組織の幸せに必要なフレームワークを提供してもらえるものでした。 ソフトウェア関連の事業やプロダクトに関わっている人(特にマネジメントしている人)は職種限らず読むと、みんな幸せになれそうなので、1人でも多くの人がこの概念に触れられるように、私なりの視点で雑多にまとめました。 (ちなみに著者の 広木さん - hiroki_daichi には個別にご連絡し、要約した記事の公開許可は(

    【エンジニアリング組織論への招待】を10~15分で読めるように1万文字程度でまとめてみた - Qiita
  • Amazon ECSでRailsアプリケーションを運用するのに行ってること - Qiita

    Terraform AWSのインフラ構成はTerraform管理してる. tfstateを分割する tfstateが1つのままだと、Terraformのresourceを増やしていったときに 頻繁に更新するresourceとそうでもないものがある 適応するのに時間が掛かる エラーの切り分けしずらくなる ということからtfstateを分割してる。 ただ分割しすぎると、適応漏れや適応順番が複雑になるので2つに分割してる。 . ├── environments │   ├── immutable │   │   ├── backend.tf │   │   ├── main.tf │   │   ├── provider.tf │   │   └── variable.tf │   └── mutable │   ├── backend.tf │   ├── main.tf │   ├── ou

    Amazon ECSでRailsアプリケーションを運用するのに行ってること - Qiita
  • システムで「性別」の情報を扱う前に知っておくべきこと - Qiita

    0は性別に関する情報が得られない場合に使います。性別に関する情報はあるのだけど1とも2とも言えない場合は9を使います。要は「0でもなくて1でも2でもなければ9」です。 これを知っていればMだとかFだとかを議論をせずに済みますね。 国際規格に従うべき理由 国際規格に従うことは色々と利点があります。まず、どうしてそういうコード体系にしたのかを説明しやすいです。また多言語対応する際も規格通りに書けば伝わるはずなので迷わずに済みます。別システムへのデータの移行や、異なるシステム間でのデータの統合もコード体系が同じならラクラクです。もしかしたら別のプロジェクトで書いたコードをそのまま使いまわせるかもしれません。技術者に対するトレーニングも不要です。 対して、わざわざ国際規格に反する実装をする場合は上記のメリットがそのままひっくり返ってデメリットになりはしますが、もちろん、それなりの理由があれば規格と

    システムで「性別」の情報を扱う前に知っておくべきこと - Qiita
  • 2018年の最先端フロントエンドエンジニアになろう - Qiita

    フロントエンドエンジニア / バックエンドエンジニア / DevOpsエンジニア@poly_soft この画像を見てティン!と来たので訳してみました。 以下はModern Frontend Developer in 2018の日語訳です。 Modern Frontend Developer in 2018 この記事を始める前に、まず私のことと、このロードマップについてお伝えします。 私は過去5年間フルスタックエンジニアとして働いていて、そして現在はtajawalで、様々な役割を持つリードエンジニアとして働いています。 単に趣味だからというだけではなく、他の開発者の技術力を保つためにトレンドについていくことも私の責任のひとつです。 初心者が(そして経験者が)トレンドに付いていこうとして混乱する様を私はよく見かけます。 私は2017年、多くの友人に、キャリアを積むために何を学ぶべきかについて

    2018年の最先端フロントエンドエンジニアになろう - Qiita
  • 工数見積もりのコツ - Qiita

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

    工数見積もりのコツ - Qiita
  • RESTful APIのエラー設計 - Qiita

    RESTful APIのレスポンスデータ設計の最後でも述べたが、APIでエラーが発生した時のレスポンスデータも検討する必要がある。 エラー発生時のレスポンスデータの考え方 APIのレスポンスデータはほとんどの場合プログラムで処理されるため、エラーが発生した時も、 どんなエラーが発生したのか そのエラーはなぜ発生したのか そのエラーはどうすれば解決できるのか をプログラムが分かるようにしておく仕組みが必要。 エラー発生時のレスポンスデータ 1. HTTPステータスコードの設定 エラーが発生したら、レスポンスボディにエラー情報を設定するだけでなく、(RESTful APIのHTTPステータスコード設計でも書いた通り)適切なHTTPステータスコードを設定する必要がある(エラーが発生しているのに200を設定したりしないこと、200はリクエストが成功した時のみしか返してはいけない)。 2. レスポン

    RESTful APIのエラー設計 - Qiita
    yatata
    yatata 2018/03/20
  • WebAPIでエラーをどう表現すべき?15のサービスを調査してみた - Qiita

    2017-01-05 追記 2016年3月にエラーの標準形式RFC7807「Problem Details for HTTP APIs」が提案され、今日現在proposed standard(標準化への提唱)となっています。こちらも是非ご覧ください。 RFC 7807 - Problem Details for HTTP APIs HTTP APIの詳細なエラー情報をレスポンスに持たせるための仕様 最近はREST APIを提供しているサービスが増えてきていますね!また公開されるAPIだけでなく、Microservicesなアーキテクチャを採用して、バックエンドがWeb APIで通信するケースも増えてきているように思います。 APIを使うときはあまり気にしたこともなかったですが、いざAPIを設計してみるとどんなインターフェイスがいいのか、どんな形式がいいのかといった疑問が次々と出てきます。

    WebAPIでエラーをどう表現すべき?15のサービスを調査してみた - Qiita