タグ

c#に関するgriefworkerのブックマーク (205)

  • nullが生まれた背景と現在のnullの問題点 ― null参照問題(前編)

    Cの系譜を継ぐC#ではnullが長らく使い続けられてきたが、最近ではその存在が大きな問題だと認識されている。前後編でこの問題を取り上げ、今回(前編)はnullを取り巻く事情について考察する。 ← 前回 連載 INDEX 次回 → 近年、nullの存在は、billion dollar mistake(10億ドル規模の損失をもたらす過ち)と呼ばれるくらい忌避されるものになっている。 nullは、低コストでそこそこ安全に参照を扱えるという意味で悪くない妥協ではあるが、技術が進歩した現在ではもう少し賢い参照の扱い方があるはずである。C#のように、これまでnullを認めてしまっているプログラミング言語で、今からそれを完全になくすというのは現実的ではないが、nullに起因する問題を少しでも避ける手段はこれからでも追加していけるだろう。 今回は、nullが生まれるに至った背景から始め、nullが抱える問

  • neue cc - ZeroFormatter - C#の最速かつ無限大高速な .NET, .NET Core, Unity用シリアライザー

    (現状は)C#専用の、新しいシリアライズフォーマットを作りました。アセットストアには置いてないんですが、GitHubで公開しています。ReadMeが超書きかけですが明日ぐらいには全部書き終わってるはず……。 neuecc/ZeroFormatter 特徴はデシリアライズ速度がゼロなので、真の意味で爆速です。そう、無限大高速。 嘘くせー、って話なんですが、実のところこれは類似品があって、Googleの出してるFlatBuffersと基的な考えは同じです(他にCap'n Protoというのもあります、こっちも元Googleの人ですね)。デシリアライズ「しない」から速い。つまるところ必要になるときまでパースを先送りするってことです。これは、アプリケーションの作りにもよりますが非常に効果があって、例えばデカいマスタデータをドバッと取得するなんてときに、その場で必要なデータってその巨大データのごく

  • C#でマルチスレッドのベストプラクティスって何かある?(What are the best practices with multithreading in C#?) - Qiita

    C#でマルチスレッドのベストプラクティスって何かある?(What are the best practices with multithreading in C#?)C#非同期処理StackOverflowマルチスレッド翻訳 StackExchange/Code Reviewでの質問"Exporting doc types using queues and multithreading"へのEric Lippert氏による回答より訳出。回答内容はオリジナル投稿"What are the best practices with multithreading in C#?"に呼応するため、編集前のタイトルを採用。原文および訳文のライセンスは引用元サイト規約の通り CC-BY-SA 3.0 に従う。 (補足:回答内容のトーンに合わせて口語調かつ意訳気味に訳出しました。誤訳指摘および訳出改善は歓迎

    C#でマルチスレッドのベストプラクティスって何かある?(What are the best practices with multithreading in C#?) - Qiita
    griefworker
    griefworker 2016/08/22
    async/awaitが導入されてから、スレッドを手動で生成することが無くなった。必要としていたのは平行性じゃなくて非同期だった。
  • Saltarelle C# to JavaScript Compiler

    # For Sale The bridge.net domain name is for sale. # USD$28,500 If interested, please email [email protected]. Purchase using escrow.com, with buyer+seller sharing escrow transaction fee.

    Saltarelle C# to JavaScript Compiler
    griefworker
    griefworker 2016/08/12
    C# で書ける AltJS の一種かな。
  • MVVMのModelにまつわる誤解 - the sea of fertility

    こちらに移転してきて初めての記事です。 最近たまに話題になるので書いておきます。MVVMのModelについて誤解されやすい部分のお話です。最近よく議論してるasync/awaitの話とは関係がありません。なおこの話は以下のスライドを理解している事が前提となります。 共有したい理解(ゴール) ViewModelはModelの影 ModelについてViewModelが行うことは、イベントに対する反応と戻り値のないメソッドの呼び出ししかない事 これについての理解を共有できるよう説明していきます。 VIewModelはModelの影 スライドにもしつこく書きましたが、MV○(MVVMやMVC/MVP)のModelは大変分厚くなるし、アプリケーション間で使いまわすことなんてできません。ModelはUIを意識しない??いや、何度も言っていますが、意識はする必要があるんです。ただUI実装の知識が必要ない

    MVVMのModelにまつわる誤解 - the sea of fertility
  • 遂にXamarin無料! Xamarin Studio for MacでiOS/Androidを書いてみた。 | DevelopersIO

    1 はじめに Xamarinは、これまで、10万円以上の年間ライセンスで販売されていました。(iOSとAndroidの両方のライセンスを取得するには、年間20万円以上) しかし、先日、マイクロソフトによってXamarinは買収の発表があり、にわかに予想されていましたが、遂に、無料でVisual Studioの追加機能にすると「Build 2016」で発表されました。 [速報]Visual Studioに無料でXamarinが追加。無料のCommunity EditionでもiOS/Androidネイティブアプリが開発可能に。Build 2016 また、Mac対応のXamarin Studioも、Xamarin Studio Community Editionとして個人や小規模の開発チームに無料で提供されることになりました。 早速ですが、個人として、このMacXamarin Studioを

    遂にXamarin無料! Xamarin Studio for MacでiOS/Androidを書いてみた。 | DevelopersIO
  • Roslyn で ASP.NET Web API 向けの Code Analyzer を作ってみた - ROMANCE DAWN for the new world

    Visual Studio 2015 から追加された .NET Compiler PlatformRoslyn)を使って、ASP.NET Web API 向けの Code Analyzer を作ってみました。 環境構築 Roslyn で Code Analyzer を開発するには、Visual Studio のオプション機能と .NET Compiler Platform SDK をインストールする必要があります。Build Insider の記事が分かりやすいので、こちらを参照してください。 www.buildinsider.net SDK と一緒に、Syntax Visualizer というツールもインストールされます。SyntaxTree をリアルタイムに表示してくれるので、実装する際に役立ちます。 プロジェクトの作成 開発環境が整うと、Visual Studio のプロジェクト

    Roslyn で ASP.NET Web API 向けの Code Analyzer を作ってみた - ROMANCE DAWN for the new world
  • Build software better, together

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    Build software better, together
  • Project Rider – 新しい C# IDE #jetbrainsrider | Post Blog

    IDEs AppCode CLion DataGrip DataSpell Fleet GoLand IntelliJ IDEA PhpStorm PyCharm RustRover Rider RubyMine WebStorm Plugins & Services Big Data Tools Code With Me Quality Assurance JetBrains Platform Scala Toolbox App Writerside JetBrains AI Grazie Team Tools Datalore Space TeamCity Upsource YouTrack Hub Qodana .NET & Visual Studio .NET Tools ReSharper C++ Languages & Frameworks Kotlin Ktor MPS Am

    Project Rider – 新しい C# IDE #jetbrainsrider | Post Blog
    griefworker
    griefworker 2016/01/14
    WindowsならVisualStudioでいいけど、MacやLinuxでは欲しいかも。
  • C#のジェネリクスで型クラスを真似る - 平々毎々(アーカイブ)

    id:Nagise さんのJavaジェネリクス記事を読みながら、C#ではどうかな、とあれこれ考えているわけです。 型に属する情報をジェネリックに扱う試み ... のC#版 ジェネリクス型変数と型階層 ... のC#版 再帰的ジェネリクスの代入互換性 ... のC#版 ジェネリクスの基礎とクラス設計への応用 ... のC#版 Javaによる高階型変数の実装 ... のC#版(序) Javaによる高階型変数の実装 ... のC#版(文) そんな時に、ジェネリクスのカリー化 - プログラマーの脳みその話を振られて。 真の高階型引数、つまり、型パラメータを取る型パラメータは実現できないです。が、型クラス的なものであればエミュレートできるらしい。 もちろんCLRにもILにも型クラス的なものなんかないわけで、オダスキー教授が言うところの「貧者の型クラス(pdf)」を使う、つまり型に適合するメソッド群

    C#のジェネリクスで型クラスを真似る - 平々毎々(アーカイブ)
  • C# - macOS ではじめる ASP.NET Core x Entity Framework Core x PostgreSQL - Qiita

    Mac で C# の Web 開発ができるようになった! Visual Studio Code (VS Code) で C# を書いて,O/RM の Entity Framework Core (EFC) から PostgreSQL にアクセスし,データベースのレコードを .NET で表示する。すべて macOS 上で可能になったのです。 そうです,Mac で .NET Web アプリ開発がついにできるようになったのです! 稿では Mac 版 VS Code 上で C# を書き,EFC から Postgres に CRUD した結果を自動テストコード xUnit.net で検証します。 Postgres のインストールと,VS Code のデバッグ,.NET の Web アプリを配備できる非同期 I/O の Kestrel Web サーバについては稿の対象外としています。僕が執筆中の薄

    C# - macOS ではじめる ASP.NET Core x Entity Framework Core x PostgreSQL - Qiita
  • neue cc - Roslyn C# Scriptingによる実行できるコンフィグの手法と実活用例

    Advent Calendar大遅刻組です。というわけでC# Advent Calendar 2015の10日目です!なんで遅刻したかというと、記事のネタのためのライブラリを作るのに思いの外時間がかかってしまったから…… コンセプトも固まってたしプロト実装も済んでたんですが、最終的な形に落としこむのが想定よりちょっと割と大変だった……。すびばせんすびばせん。 どうやらC# Advent Calendarは2011年から書いてるので5回目ですね、へぇー。過去を振り返るとModern C# Programming Style Guide、モダンつってもC# 4.0時代ですが、今ぱっと見直すと別にここで言ってることは今も変わらないですね、これに5.0, 6.0の話を足せばいいだけの話で。2012年はMemcachedTranscoder - C#のMemcached用シリアライザライブラリという

  • csi.exeコマンド登場! C#スクリプト(.csx)やREPLを動かそう

    Visual Studio 2015 Update 1で追加されたREPL関連新機能を紹介。コマンドラインで実行できるC#スクリプトやIDEに搭載された[C# Interactive]の使い方も解説する。 Visual Studio 2015 Update 1(以下、Update1)が米国時間で10月30日に公開された。執筆時点ではまだ、Visual Studioの[拡張機能と更新プログラム]には表示されないようだが、次のリンク先(※インストーラーへの直リンク)からダウンロードしてインストールできる。 Visual Studio 2015 Update 1のダウンロード Update1の新機能の1つとして、C#スクリプト(.csx)とC#のREPL(Read-Eval-Print Loop: 対話型評価環境)がある(※Visual Basic向けは今回リリースされていないが、将来、提供予定

    csi.exeコマンド登場! C#スクリプト(.csx)やREPLを動かそう
  • neue cc - EtwStream - ETW/EventSourceのRx化 + ビューアーとしてのLINQPad統合

    EtwStreamというのをリリースしました。ETW(Event Tracing for Windows) + EventSourceが.NETで構造化ログをやる際の決定版というか、ETWの最強度が高すぎてそれ以外考えられないレベルなんですが、しかし、がETWは最強な反面ビューアーがありませんでした。ETWというブラックホールにログを投げ込むのはいいんですが、それが自分自身ですら容易に見れないのは不便すぎる!PerfViewとか骨董品みたいなゴミUIを操ってなんとかして見るのは、無理ゲーなわけで、カジュアルにDumpしたいだけなんだよ!テキストのようなログビューアーが欲しいだけなんだよ!に対する答えです。いや、ほんと自分自身が死ぬほど欲しかったのが、これ。 インストールはLINQPadのNuGetで「EtwStream.LinqPad」。だけ。デフォルトにでも登録しとけばLINQPadを立

  • neue cc - 実例からみるC#でのメタプログラミング用法集

    Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用、という題でMetro.cs #1にて話してきました。 現在、PhotonWireというフレームワークを作っているのですが、それで使ったメタプロ技法を紹介しました。ExpressionTree, T4, ILGenerator, Roslyn(Analyzer), Mono.Cecilとそれなりに満遍なく使っているので、それらをどーいう時に使えばいいのかというヒントになれば幸いです。まとめに書きましたが、手法自体は少なくするに越したこたぁないです、メタプロってついやりすぎちゃう傾向にあるんで、目的Firstを忘れないようにしないと末転倒になりがちです。あと、それぞれは別にそんなに難しくない、というか難しくやらないようにするのが良いですね、そもそも長い式木とか長いILとか書きたくないで

  • C#のイマドキな開発環境はこれなのですぞ。2015秋。 | TOACH

    C++エンジニアのキャリアをスタートし、仕事趣味javascriptPHPRubyJAVAなど色々な言語を触ってきた土井としては、C#ほど使いやすい言語はないと思っている。 だから、.Net Coreのオープンソース化やUnityによって、C#の活躍の場が広がっているのは素直に嬉しい。 今回は、そんなC#のイマドキな開発環境を紹介する。 2015年度版 C#開発はこれで決まり! 予め断っておきたいのが、今回の開発環境がデスクトップソフトの開発にフォーカスしたものだということ。 AzureやUnityによるゲーム開発では、また別の選択肢があるだろうから、こんなんあるよ!っていう情報はどんどん教えてほしい。 また、そうした別分野の開発に、今回紹介する開発環境が使いまわせる部分もあるから、目を通していただければこれ幸いなりや。 さて、まずはオススメの開発環境を並べてみる。 Visua

    C#のイマドキな開発環境はこれなのですぞ。2015秋。 | TOACH
  • VisualStudio の .csproj でビルド構成に依存せずApp.config のConfiguration Transformを行おう - tech.guitarrapc.cóm

    Visual Studio で C#など を書いていると、データベースの接続設定などアプリケーションで利用する値を外部ファイルに外出ししたくなることが多々あります。この時利用するのが アプリケーション構成ファイル App.config です。 How to: Add an Application Configuration File to a C# Project - Visual Studio 2015 | Microsoft Learn https://msdn.microsoft.com/ja-jp/library/ms243192.aspx さてこの App.config ですが、コンソール/WPF アプリでもビルド構成によって変えたりできることは良く知られています。そう、ASP.NET MVC などWebアプリケーションで行う、web.config の Configuration

    VisualStudio の .csproj でビルド構成に依存せずApp.config のConfiguration Transformを行おう - tech.guitarrapc.cóm
  • .NETアプリケーションをMacで開発してDockerで動かそう!

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    .NETアプリケーションをMacで開発してDockerで動かそう!
  • StatefulModelについて - the sea of fertility

    StatefulModelとは? StatefulModelはModel-View-Whateverにおける、いわゆる"fatなModel"を構築するためのクラス群です。現在の機能はStetefulModelのための変更通知群とイベントリスナー系がメインになります。github.com 変更通知コレクション群では、スレッドセーフな変更通知コレクションやソート済の変更通知コレクション、または特定のSynchronizationContextにバインドした変更通知コレクションと、それぞれの同期変換機能を提供しています。組み合わせることによって、例えば「スレッドセーフに値を追加できるソート済のUIスレッド上で結果が見える変更通知コレクション」なども簡単に作成できます。ReadOnlyWrapperも用意してあります。 MIT LicenseでNugetにて提供しています。 PCLとして作成してい

    StatefulModelについて - the sea of fertility
  • Unity(ゲームエンジン)上で async/await

    async/await が使えないC#とかちょっと。 で、最近、Unity上でasync/awaitを使えるかもしれないという希望が見えてみたので、現状報告。 背景 主にUnityの問題点。数年来文句を言い続けて、一向に解決してもらえていない… Unity上のC#は3.0 Unityが使っているC#は、結構古めのMono (確か 2.8 系)で、普段普通に最新のC#を使っている人の感覚では、結構きつい制限がかかった状態にあります。 C# 3.0相当 引数の規定値・名前付き引数(C# 4.0から)だけ使えたりするものの、structやenumの値を規定値に指定できなかったり .NET 3.5相当(WPFとか除く) System.Linqは使える これで何がつらいかというと、async/awaitが使えないのが一番つらい。スマホゲームって非同期処理の塊になるわけですが、そこでawaitが使えな

    Unity(ゲームエンジン)上で async/await