タグ

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

  • ラムダ式でプロパティ名を取得する - Qiita

    Expression<Func<TEntity, object>> expressionを使う。 プロパティ名を取得できれば、ASP .NET MVC のHTMLヘルパ作りなどが捗る。 Expressionの使い方は、詳しい資料を別途参考にしてください。 public static class ExpressionExtentions { /// <summary> /// MemberExpressionへの変換(string以外の型に対応するため) /// </summary> /// <param name="expression"></param> /// <returns></returns> public static MemberExpression ToMemberExpression(LambdaExpression expression) { var memberExp

    ラムダ式でプロパティ名を取得する - Qiita
    mak_in
    mak_in 2018/11/07
  • [ASP .NET MVC 5] 入れ子のModelのValidationを行う - Qiita

    public class Email { [Required] public string From { get; set; } [Required] public string Subject { get; set; } public string Body { get; set; } [Required] public EmailAttachment Attachment { get; set; } public Email() { } public class EmailAttachment { [Required] public string NameAndExtension { get; set; } [Required] public byte[] File { get; set; } } } /// <summary> /// 子オブジェクトのValidationも行います

    [ASP .NET MVC 5] 入れ子のModelのValidationを行う - Qiita
  • ASP.NET MVCで検証属性のエラーメッセージを一元化する - Qiita

    Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    ASP.NET MVCで検証属性のエラーメッセージを一元化する - Qiita
    mak_in
    mak_in 2018/10/30
  • リファクタリングして学ぶTypeScriptでクリーンアーキテクチャ - Qiita

    概要 最近,ASCII Dwangoさんから「クリーンアーキテクチャ」というが出版されました. そこに書いてある内容は素晴らしいものでした.しかし,実際に組んでみた場合,どういう風に作るのが良いのか?どういう問題があるのか?そういった疑問が湧いてきました.そこで, 実際に非クリーンアーキテクチャのコードをリファクタリングしていくことで,クリーンアーキテクチャの要点を感じる. という試みです. クリーンアーキテクチャとは ここでは簡単にしか説明しませんが,実際にを読んで勉強することをお勧めします. 「クリーンアーキテクチャ 達人に学ぶソフトウェアの構造と設計」のp200によると フレームワーク非依存:アーキテクチャは,機能満載のソフトウェアのライブラリに依存していない.これにより,システムをフレームワークの制約で縛るのではなく,フレームワークをツールとして使用できる. テスト可能:ビジネ

    リファクタリングして学ぶTypeScriptでクリーンアーキテクチャ - Qiita
    mak_in
    mak_in 2018/10/26
  • 書籍「Clean Architecture」が最高すぎたのでエッセンスをまとめてみた

    記事では、書籍「Clean Architecture 達人に学ぶソフトウェアの構造と設計」のポイントを抽出する。ただ、削った部分も多いので、ぜひ書籍を購入してほしい。 第1部 イントロダクション ソフトウェアを「一度だけ」動かすのは、それほど難しいことではない。正しくするのは難しい。 ソフトウェアを正しくすると、不思議なことが起こる。開発や保守に必要な人材はわずかで済む。変更は簡単で迅速になる。欠陥の数は少なく、ほとんど出てこなくなる。労力は最小に抑えられ、機能性と柔軟性は最大になる。 「あとでクリーンにすればいいよ。先に市場に出さなければ!」ソフトウェア開発者たちはそう言ってごまかす。だが、あとでクリーンにすることはない。短期的にも長期的にも、崩壊したコードを書くほうがクリーンなコードを書くよりも常に遅い。早く進む唯一の方法は、うまく進むことである。 すべてのソフトウェアシステムは、2

    書籍「Clean Architecture」が最高すぎたのでエッセンスをまとめてみた
    mak_in
    mak_in 2018/08/13
  • テストはなぜ開発を遅くするか、テストを書かない理由はある!ない? - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 背景 スピード感重視なのでテストは書かない。テストはなぜ開発を遅くするか の記事を拝読して、思うところがあったので、まとめてみる。 考察したい分類/内容 上述の記事の、以下の「まとめ」にはものすごく賛同できる。 「テストを書く」の齟齬を解消しよう。 「テストを書く」の意味は私とあなたで全く異なる。 齟齬が生じる一番大きな理由は、 各位の「前提事項」が全く異なるからだと考える。 一方で、途中の記事内容については、 前提となるプロジェクトの状態の考慮が少なすぎて、 人によっていろいろな解釈が生じてしまい、 賛同する人、しない人に分かれそうな

    テストはなぜ開発を遅くするか、テストを書かない理由はある!ない? - Qiita
    mak_in
    mak_in 2018/08/02
    同意。結局、テストを書く/書かない、は品質に対するリスクに投資するか否かの判断の違い。日本人はココだけに限らず、リスク管理(効果×確率)が苦手で、0|1のハザード管理(確率は0%or100%)になりがち。
  • プログラミング教育論 【双方の立場】 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? プログラミング教育 最近流行っていますね。 プログラミングに対する参入障壁の低下だったり、ITエンジニアへの需要増加の波もあるのでしょうか。 最近では、国家まで出ずっぱる勢いでございます。 小学校を中心としたプログラミング教育ポータル 中でも、社会人や就職控えた学生向けのサービスの隆盛が盛んかなと思います。 パッと思いつくところでも、こんだけサービスがあります。 TECH::CAMP TECH ACADEMY Code Camp DIVE INTO CODE Kredo etc... 各サービスの詳細についてはここでは割愛します。以下ご

    プログラミング教育論 【双方の立場】 - Qiita
    mak_in
    mak_in 2018/08/01
  • 今時のフロントエンド開発2017 (1. 愚痴編) - Qiita

    良いものを書きたいので指摘などは大歓迎です。 その際はコメントや編集リクエストをいただければ修正します。 大きな変更が加わるときは通知すると思います。 はじめに これまでのフロントエンドの開発には多くの問題や面倒ごとを抱えています。 その解決手段としてよくビルドツールやaltJSといったワードを目にしますが,これらがどういった目的で利用されているのかについて触れながら進めていきます。 主にパッケージ管理やビルドツールを初めて見る人向けになっているので全編通すとそれなりに長いです。 動かすまでが長めになっていますが理解してしまえば当に必要な手順はさほど多くありません。 実際に開発を始めるために必要な準備はせいぜい1~2つのファイルを記述してコマンドを数回叩く程度なので,過度な抵抗感を持たずに読んでいただけたらなと思います。 登場するツールや技術は多くの問題を解決してくれますが,これらは飽く

    今時のフロントエンド開発2017 (1. 愚痴編) - Qiita
    mak_in
    mak_in 2018/07/20
  • 【SIer新人向け】研修では教えてくれないノウハウ集 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 「ようこそ 魔境 SIerへ!」 はじめに この記事は、SIer(Systems Integrator)に入ったシステム開発未経験者の新人さんたちへ送る、研修では教えてくれないノウハウ集です。 実際、弊社の長い研修では実務に使えそうなことをあまり教えてくれませんし、ノウハウは現場の人の頭にしかない状態なので、新人さんは暗中模索で仕事を覚えていくことになります。 それも非効率なので、実際に私が2年半1で失敗したこと、やってきてよかったこと(ノウハウ)を体系化したので共有します。 (当はガッツリ社内向けに書いたものなので、一部汎用的でない

    【SIer新人向け】研修では教えてくれないノウハウ集 - Qiita
    mak_in
    mak_in 2018/07/18
    これ、マトモにできてるSIerの人ほぼ見たことない
  • Microsoft Flowを使ってSlackからVisual Studio Team Servicesのビルドを実行する - Qiita

    Microsoft Flowを使ってSlackからVisual Studio Team Servicesのビルドを実行するlogicSlackVisualStudioTeamServicesMicrosoftFlow 概要 SlackからVSTSのビルドをトリガーできるようにします Slack、VSTSの連携にMicrosoft Flowを使用します ビルド実行結果の通知はSlackとVSTSを直接連携します こんなイメージ 事前準備 VSTSでビルドしたいもの 今回はこれを使いますVisual Studio Team ServicesでASP.NET Coreプロジェクトのビルドを設定する VSTSのアカウント やり取りするSlack Microsoft Flowのアカウント 題 VSTSのビルド完了通知をSlackに こちらの記事の Slackにチェックインを通知する の項目がまさし

    Microsoft Flowを使ってSlackからVisual Studio Team Servicesのビルドを実行する - Qiita
    mak_in
    mak_in 2018/07/11
  • メジャーリーグのアストロズがゼロからアナリティクス組織に変革してワールドシリーズで優勝した話 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? データ分析を始めれていない、もしくは少しはやっていても自分たちのビジネスの意思決定に活かせていない日の企業は今も多くあるのではないでしょうか。現在のようにシリコンバレーの多くの企業がデータ分析を彼らのビジネスの成長にうまく結びつけることができている現状では、どうしてもそれを日アメリカ文化の違いということのせいにしてしまいがちです。つまり、アメリカ人は物事を数値化し、データを使ってビジネスを行う文化があって、日人はもっと直感と経験を重んじる文化であると、日を訪れたときに聞いたりもします。 そこで、今回はアメリカの野球チームでも

    メジャーリーグのアストロズがゼロからアナリティクス組織に変革してワールドシリーズで優勝した話 - Qiita
    mak_in
    mak_in 2018/07/09
  • ストックしたら負けのVB6アプリの .NET 移行メモ - Qiita

    VB6 → VB.Net のコンバーターは VisualStudio 2010 以降、搭載されなくなった 一旦、次の Visual Studio のいずれかで、古いバージョンの VB.Net にコンバートする必要あり Visual Studio .NET (2002) Visual Studio .NET 2003 Visual Studio 2005 Visual Studio 2008 Visual Studio 2008 (例)で VB6 ソースをコンバートする コマンドプロンプトより: $ "c:\Program Files\Microsoft Visual Studio 9.0\VB\VBUpgrade\VBUpgrade.Exe" (プロジェクト).vbp Microsoft(R) Visual Basic アップグレード ツール バージョン 9.0.20913.0 Copyr

    ストックしたら負けのVB6アプリの .NET 移行メモ - Qiita
    mak_in
    mak_in 2018/06/19
  • 【C#】ReactiveProperty全然分からねぇ!って人向けのFAQ集【修正済】 - Qiita

    #概要 C#でMVVMパターンを組んで開発しようとした際に役に立つライブラリの一つにReactivePropertyがあります。 ただ、これを使って書くと、従来とは記述が大きく変わってしまいますので、それなりに慣れが必要となります。 以下、そんなReactivePropertyの使い方についてのFAQ集となります(自分が躓いたところばかりなので実質備忘録)。 ※2017/12/31追記:ReactivePropertyのメンテナーの一人でいらっしゃるかずき(Kazuki Ota)さんから指摘を賜り、記事を大幅に修正しました。 FAQ集 Q. 具体的にはどう便利なの? INotifyPropertyChangedインターフェースを実装したり、そうした通知機能がコミコミのクラスを継承したりする必要がない。要するに 記述量が少なくて済む 「値が変更された時にアクションを起こす」「ボタンを押すなど

    【C#】ReactiveProperty全然分からねぇ!って人向けのFAQ集【修正済】 - Qiita
    mak_in
    mak_in 2018/06/19
  • PrismとReactivePropertyで簡単MVVM! - Qiita

    2019/6/2 追記 内容を大幅に見直した改訂版を書きました。 【改訂版】PrismとReactivePropertyで簡単MVVM! 2018/3/27 追記 今までViewModelがPlain Objectのままのコードを掲載しておりましたが、Plain ObjectをViewにバインドするとメモリリークになってしまうそうです。 参考リンク : http://aridai.net/article/?p=15 記事中のViewModelのコードを修正いたしました。 大変失礼いたしました。 最近になってWPFで作りたいものができたので、勉強したことをメモしてみたいと思います。 WPFには強力なデータバインド機能が備わっていますが、何も考えずWindows Formsの頃のようにコードビハインドへ記述するやり方では、この機能を活かすことはできないんですね。 そこでプログラマーは、できる

    PrismとReactivePropertyで簡単MVVM! - Qiita
    mak_in
    mak_in 2018/06/19
  • スタートアップで学んだ、最短のエラー解決フロー - Qiita

    TL;DR なにか問題が発生したとき、人によって解決フローはことなる 人によっては、非効率なフローを回していることがある。 最短の解決フローを知っておくことで、解決にかかる時間を最小化する はじめに チームにいる 問題の解決が早い人。 その人に聞いたり、観察すること数ヶ月… 早い解決フローみたいなものが見えてきました。 それを実践してみると、 よくわからんバグ踏んで調べてたら、数時間を無駄にしてしまった… みたいなことが、以前より少なくなったのでまとめました。 ※問題 = プログラミング時のエラーとして書いてます ①人に聞く チームメンバーに迷惑かかるやん!リソース奪い良くない!なんて思っていたのですが、 知っている人に聞くほうが、チーム全体でみるとコストが低いことが多いです。 自分が何時間も頭を悩ますより、チーム全体の1時間で解決するほうがベターです。 おすすめ:とりあえずSlack

    スタートアップで学んだ、最短のエラー解決フロー - Qiita
    mak_in
    mak_in 2018/06/14
    言いたいことは分かるが、このプロセスの大切さが分かるにはいくつかの屍を超えないと、言語化してもなかなか伝わらない
  • MicrosoftによるGitHub買収について次期社長に訊く(翻訳) - Qiita

    GitHubの次期CEOのNat Friedmanだけど質問ある? RedditGitHubの次期CEOであるナット・フリードマン氏が現れて、MicrosoftによるGitHub買収による影響についていろいろな質問に答えてくれています。興味深い内容が多く、(彼の発言を額面通り受け取るなら)一部で出ている不安を緩和できるようなものでもあると思ったので、翻訳して紹介します。内容的に重要と思われる質問について、人の発言のみをかいつまんでおり、ジョーク系のやりとりなどについては省いています。また、読みやすさのため、同じ話題についての複数の回答を適宜統合したりもしています。ご了承ください。 ソース: I'm Nat Friedman, future CEO of GitHub. AMA. この買収による近い将来の変化は? 回答:我々がGitHubを買収するのは我々がGitHubが好きだからです。

    MicrosoftによるGitHub買収について次期社長に訊く(翻訳) - Qiita
    mak_in
    mak_in 2018/06/09
  • Repositoryパターンのアンチパターン - Qiita

    よく見かけるRepositoryパターンのアンチパターンの紹介と対策です。 Repositoryパターンとは Repositoryパターンとは永続化を隠蔽するためのデザインパターンで、DAO(DataAccessObject)パターンに似ていますが、より高い抽象度でエンティティの操作から永続化ストレージを完全に隠蔽します。 例えばDBコネクションやストレージのパス等はReposiotoryのインターフェースからは隠蔽され、Repositoryのユーザは永続化ストレージが何であるか(例えばMySQLやRedis等)を意識することなく保存や検索の操作を行うことができるようになります。 これによりRepositoryを利用するロジックは業務的な操作に集中できるようになる他、データベースの移行等の永続化層の変更が発生した際にロジックへの影響を切り離すことができるようになります。 // 例) ユーザ

    Repositoryパターンのアンチパターン - Qiita
    mak_in
    mak_in 2018/05/19
  • 計算量オーダーの求め方を総整理! 〜 どこから log が出て来るか 〜 - Qiita

    NTT データ数理システムでリサーチャーをしている大槻 (通称、けんちょん) です。今回は計算量オーダーの求め方について書きます。 0. はじめに 世の中の様々なシステムやソフトウェアはアルゴリズムによって支えられています。Qiita Contribution ランキング作成のために用いるソートアルゴリズムのような単純なものから、カーナビに使われている Dijkstra 法、流行中のディープラーニングに用いられている確率的勾配降下法など、様々な場面でアルゴリズムが活躍しています。アルゴリズムとはどんなものかについて具体的に知りたい方には以下の記事が参考になると思います: アルゴリズムとは何か ~ 文系理系問わず楽しめる精選 6 問 ~ アルゴリズムを学ぶと $O(n^2)$ や $O(n\log{n})$ や $O(2^n)$ といった計算量オーダーの概念が登場します。こうした記法を見ると

    計算量オーダーの求め方を総整理! 〜 どこから log が出て来るか 〜 - Qiita
    mak_in
    mak_in 2018/05/11
  • Nginxのupstreamに安易にlocalhostと書くと嵌まる罠、またはドメイン名解決の挙動 - Qiita

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

    Nginxのupstreamに安易にlocalhostと書くと嵌まる罠、またはドメイン名解決の挙動 - Qiita
    mak_in
    mak_in 2018/05/11
  • JavaScriptのプリミティブへの変換を完全に理解する - Qiita

    console.log(["foo", "bar"] == "foo,bar"); // true console.log([""] == 0); // true console.log((123 ^ {}) === 123); // true const obj1 = ["😂"]; const obj2 = ["😂"]; console.log(obj1 == "😂", "😂" == obj2); // true true console.log(obj1 == obj2); // false このような挙動は面白いので、Twitterとかで誰かが話題にするたびに多少は話題になります。しかしいい加減飽きたので、皆さんにはこんなの常識として理解しておいていちいち騒がないでいただきたく、この記事を用意しました。 この記事では、JavaScriptにおけるプリミティブ変換に関する仕様を

    JavaScriptのプリミティブへの変換を完全に理解する - Qiita
    mak_in
    mak_in 2018/05/11