はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • お金
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
    • Advent Calendar
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
  • おすすめ

    WBC 侍ジャパン

『OITA: Oika's Information Technological Activities』

  • 人気
  • 新着
  • すべて
  • 【C# 機能別】知らん書き方が出てきたらこれを見ろ!C# 10 までの進化を1ページで - OITA: Oika's Information Technological Activities

    14 users

    oita.oika.me

    祝 .NET 6 GA アドベントカレンダー、23日の記事になります。 .NET 6 のリリースに伴い、C# の言語バージョンがついに 10.0 となりました。 C# の進化は早く、ちょっと気を抜いている隙に、見たことのない書き方のコードがどんどん出現します。 その一方で、業務の現場では、5年前10年前に書かれたソースコードを保守することも決して珍しくありません。 新しいコードでも古いコードでも、「なんだっけこれ?」という書き方がでてきたときに、同じことを従来の書き方/現在の書き方でどうやるかのリファレンスにできるよう、主要な機能・構文ごとに縦断的に整理してみました。 以下お品書きです。 プロパティ 値の参照渡し クラス・構造体・レコード コレクションと LINQ タプル 変数の文字列化 null の扱い 型推論 メンバ名の参照 非同期処理・並列処理 IDisposable と using

    • テクノロジー
    • 2022/01/01 15:39
    • C#
    • 開発
    • TypeScript の「型安全」を担保するために知っておきたかったこと - OITA: Oika's Information Technological Activities

      195 users

      oita.oika.me

      タイムリープTypeScript 〜TypeScript始めたてのあの頃に知っておきたかったこと〜 アドベントカレンダー1日目の記事になります。 よろしくお願いします。 3行で TypeScript で安全に型を扱う勘所は以下2点だと思いました。 最初から最後まで型が壊れていないことを保証する 型が壊れる可能性があるものは壊れている前提で扱う 個人的背景と前提 もともと C# での開発をメインとしていました。 Web開発は、JavaScript歴 ≒ TypeScript歴くらいの型付依存者です。 そのため、型付けのゆるい言語に対する耐性がなく、本内容もそういうポジションからの見解になります。 本記事内のサンプルコードは TypeScript V4.4 で挙動を確認しています。 最近のバージョンで変更のあった点は脚注を入れています。 最初から最後まで型を壊さない C# という静的型付け言語

      • テクノロジー
      • 2021/12/01 22:03
      • TypeScript
      • 型
      • あとで読む
      • 202112
      • temp
      • const
      • console
      • log
      • reference
      • C# HttpClientでJSONデータをPOSTする - OITA: Oika's Information Technological Activities

        3 users

        oita.oika.me

        HttpClientクラスを使って、Web APIなんかにJSONでデータをPOST送信する。 んなもん、なんでもないやろーと思ってテキトーにやろうとしたら、あれれあれれと、意外とはまってしまった。 ので一応備忘メモ。 ↓こんなPerson的なJSONを送りたいとして { "age" : 20, "name" : "太郎" } 答えから書いてしまうと、↓こう。 var json = "{ \"age\" : 20, \"name\" : \"太郎\" }"; using (var client = new HttpClient()) { var content = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PostAsync("http://somehost

        • 世の中
        • 2019/05/29 16:42
        • Visual Studio Codeにフローティング・ウィンドウを夢見る人たち

          23 users

          oita.oika.me

          Visual Studio Codeアドベントカレンダー 14日目に参加しています。 githubのリポジトリで、2016年8月から2018年12月現在にわたり、350件を超えるコメントがつけられているissueがあります。 Allow for floating windows #10121 なにがやりたいか 本家IDEのVisual Studioには、タブをマウスで引っぱっていって、独立したウィンドウにできる機能があるのです。 これは使い慣れるとたしかに便利なもので、僕もよく利用します。 Chromeなどのブラウザでも同じことができますね。 このissueは、VSCodeでこれをやらせてくれ!というものです。 代替策 issue内の議論で何度も出てくる代替案として、vscode自体をもうひとつ別ウィンドウ起動し、同じファイルを開くという方法があります。 手順としては、 Ctrl+Shif

          • テクノロジー
          • 2018/12/14 12:02
          • VisualStudioCode
          • VSCode
          • Visual Studio
          • あとで読む
          • blog
          • [IFTTT]自作アプリからHTTPリクエストでスマホへプッシュ通知

            3 users

            oita.oika.me

            IFTTT(イフト)はいろんなWebサービス同士を連携させるためのWebサービスでございます。 「 IF This Then That 」という名前の表すとおり、Thisをトリガとして、Thatのアクションを起こす (例:Instagramでいいねをつけたら、Evernoteに自動保存する) という形で連携を定義する。 この「This」のトリガ部分に、既存のサービスだけでなく、自前のアプリからのHttpリクエストを使うこともできる。 のだけど、このイフトは何回かUIや用語に大きな変更があって、調べながらやろうとしたらけっこう苦戦した。 (もう「レシピ」とか呼ばないのよ) なので、2017年9月現在の、自前トリガからスマホへのプッシュ通知を実現する手順をまとめておきます。 Web画面ベースで説明するけど、スマホアプリからでもほぼ同様。 準備 IFTTTのアカウントを作成しておく。 あと、スマ

            • テクノロジー
            • 2018/11/28 09:31
            • ifttt
            • Python3でMeCab on Windows - OITA: Oika's Information Technological Activities

              5 users

              oita.oika.me

              pythonで形態素解析エンジン「MeCab」を使うのをWindows上でやろうとすると、いろいろ罠が多くてかつては大変だったようだが、今では先人たちの功績によって、たやすく構築できるようになっている。 ・・はずなんだけど、Python不慣れなのもあって、いざやってみたら細々としたところで無駄にはまってしまったので、整理しておく。 前提環境 Windows 10 (64bit) Python 3.6.5 pipenv pipさえ使えれば良いが、以下の例ではpipenvを使う pip install pipenv でインストール可能 MeCabのインストール まずは、WindowsマシンへのMeCabのインストール。 公式ページからWindows用のインストールバイナリ(mecab-0.996.exe)をダウンロードできるんだけど、ここで注意。 Pythonが64bit版でインストールされて

              • テクノロジー
              • 2018/07/01 15:48
              • Hyperapp x TypeScript x Webpack 開発環境構築まで - OITA: Oika's Information Technological Activities

                6 users

                oita.oika.me

                ちょっと話題のHyperappをTypeScriptとWebpackで試す。 今年は試行段階でもいいからもう少しまめにアウトプットしましょうということで…。とりあえず環境構築まで。 前提 ・開発マシンのOSはWindows 10(あんま関係ないはず) ・Visual Studio Code ・nodeインストール済み(記事中ではyarnを使います) webpackとtypescriptの準備 webpackもtypescriptも、グローバルインストールされていないものとします。 もちろんグローバルにインストールされていればここでのインストールは不要。 ・プロジェクト作成 > yarn init -y ・パッケージインストール > yarn add --dev typescript webpack webpackでtypescriptを読み込むためのローダも入れておく。 今回は名前がつよい

                • テクノロジー
                • 2018/01/30 14:17
                • Hyperapp
                • TypeScript
                • .NET 複数のTaskを一度に開始しようとすると遅延が発生する - OITA: Oika's Information Technological Activities

                  3 users

                  oita.oika.me

                  10個のスレッドを同時に走らせて並列処理したいとする。 まさか new Thread(...).Start() なんてやらないですよね。 LINQでasync/awaitだーってのもアリかもしれませんが、 素直にTaskを10個作ろうとすると↓こんな感じ。 for (int i = 0; i < 10; i++) { Task.Run(() => { Thread.Sleep(4000); //4秒くらいかかる処理 }); } もちろん10個ほぼ同時に走ってくれることを期待する。 確認してみる。 var watch = Stopwatch.StartNew(); for (int i = 0; i < 10; i++) { Task.Run(() => { var threadId = Thread.CurrentThread.ManagedThreadId; Console.WriteL

                  • テクノロジー
                  • 2016/12/21 13:08
                  • C#
                  • VisualStudio ビルド時のファイルコピー先をプロジェクト階層と違う場所にする - OITA: Oika's Information Technological Activities

                    5 users

                    oita.oika.me

                    VisualStudio(というかMSBuildなんだけど)では、 ソースファイルでない任意のプロジェクトファイルについて ソリューション エクスプローラーからビルドアクションを指定するときに 出力ディレクトリへのコピー有無を指定できる。 ただし、設定できるのはコピーするかどうかを決めるモードだけで、 コピー先のディレクトリを変えたりすることはできない。 例えば、以下のような構成で Project Root\ ├ ProjName.csproj ├ AClassFile.cs ├ bin\ ├ obj\ ├ Properties\ └ img\ └ image.jpg image.jpgをプロジェクトに追加して、プロパティの 「出力ディレクトリにコピー」を「常にコピーする」にしてリリースビルドすると、 ファイルは bin\Release\img\image.jpg にコピーされる。 このコ

                    • 暮らし
                    • 2016/02/15 16:35
                    • プロジェクト
                    • あとで読む
                    • WPF DataGridへのBindingに関する基本設計 - OITA: Oika's Information Technological Activities

                      6 users

                      oita.oika.me

                      なんか「wpf datagrid binding」で検索して以下の記事に流れてくる人が 異様に多いようだ。 [WPF]DataGridColumnへのバインディング しかし↑の記事ではあんまり一般的でないケースの話しか書いていなくて 申し訳ない気持ちになるので、たまにはちょっと入門編っぽいことも自分なりに書いてみる。 WPFでDataGridにデータを一覧表示する場合の値の持ち方とかについて。 ちなみに、一覧上のセルから直接値を編集するような使い方は個人的にあんまりやらないので、 今回もあくまでDataGridは表示だけの用途を想定して書きます。 とにかく表示する まずはコレクションの値をとにかく一覧表示する例から。 <Window x:Class="DataGridBindingSample.MainWindow" xmlns="http://schemas.microsoft.com/

                      • テクノロジー
                      • 2015/06/25 15:37
                      • DataGrid
                      • XAML
                      • WPF
                      • プログラミング
                      • .NET 入れ子になった内部クラスの型をリフレクションで参照する

                        4 users

                        oita.oika.me

                        パブリックでないメンバやクラスにアクセスする手段として C#ではリフレクションのメソッド群が System.Reflection名前空間に用意されている。 たとえば、internalなクラスのprivateなメンバに 参照プロジェクトからアクセスするサンプルなこんな感じ。 アクセス先のコード。 namespace OfficeHoge.TeamA.LibA { //公開クラス public class PublicClass { } //外部から見えないクラス internal class HiddenPerson { private string firstName; public HiddenPerson(string firstName) { this.firstName = firstName; } } } アクセス方法。 //公開クラスからアセンブリを特定 var libAsse

                        • テクノロジー
                        • 2015/05/28 19:18
                        • C#
                        • .NET
                        • WPF 自作ValidationRuleのプロパティにバインディング - OITA: Oika's Information Technological Activities

                          3 users

                          oita.oika.me

                          どうも、僕です。 ザムルってもうワクワクしますよね。 ということで、Qiita XAML Advent Calendar 2014 21日目のエントリーになります。 WPFではコントロールのプロパティにバインドされた値が不正値でないかどうか 評価する仕組みとして、Validationというのを持っています。 例えば、TextBoxのTextプロパティにint型のプロパティをTwoWayでバインドして、 画面から整数でない文字を入れると赤い枠が表示されます。 これが標準装備のValidation。 このルールをもっと細かくしたい、たとえば、 入力できる数値の範囲を制限したいとします。0~100とか。 そういうときはValidationRuleを自作する。 public class IntRangeRule : ValidationRule { public int MinValue { ge

                          • テクノロジー
                          • 2014/12/22 08:35
                          • WPF
                          • NUnit 列挙子でテストケースを量産する - OITA: Oika's Information Technological Activities

                            11 users

                            oita.oika.me

                            Qiita C# Advent Calendar 2014 16日目のエントリーになります。 どうも、僕です。ワクワクするコード書いてますか? NUnitのテストがオールグリーンになる瞬間ってワクワクしますよね。 ということで、NUnitのTestCaseの作り方について。 適当なテストのターゲットとして、以下のようなTimeCheckerクラスの IsValidTimeメソッドを想定しておきます。 ただ単に時間が0-23の範囲で分が0-59の間であることを確認するだけのもの。 public class TimeChecker { public bool IsValidTime(int hour, int minute) { return 0 <= hour && hour <= 23 && 0 <= minute && minute <= 59; } } ベーシックなテストの書き方からい

                            • テクノロジー
                            • 2014/12/16 23:19
                            • NUnit
                            • テスト
                            • test
                            • testing
                            • development
                            • programming
                            • 続・.NETでPathをちゃんと - OITA: Oika's Information Technological Activities

                              3 users

                              oita.oika.me

                              先日アプリケーションのStartupPathをちゃんと取得するという話を書いたのだけど、 たかがPath、されどPath、ちゃんとやろうとすると なかなか奥が深いというか面倒くさいので、もうちょっと書きます。 けっこう長くなったけど、トピックスは2つ。 ・絶対パスか相対パスかを調べる ・パスを連結する こんなんできるわ!という人も、読んでみると知らない発見があったり なかったりすると思うので読んでみたらどうでしょうか。 絶対パスか相対パスかを調べる 「C# 絶対パスかどうか」とかで検索すると、 System.IO.Path.IsPathRootedを使えという情報がすぐにヒットするけれど、 これの判定が本当に自分の望むものになっているかどうか、ちょっと注意が必要。 bool res1 = Path.IsPathRooted(@"C:\hoge")); bool res2 = Path.Is

                              • テクノロジー
                              • 2014/09/15 12:24
                              • .net
                              • development
                              • アプリケーションのStartupPathをちゃんと取得する - OITA: Oika's Information Technological Activities

                                3 users

                                oita.oika.me

                                アプリの実行ファイルがあるディレクトリのパスの取得の仕方について。 例えば実行ファイルと同じディレクトリにテキストを出力したいとき、 File.WriteAllText("hoge.txt", "テキストファイルの本文"); とでも書けば普通はちゃんと実行ファイルのディレクトリにhoge.txtが出力されるので、 横着してこう書いている人も少なくない気がするけれど、 これはたまたまカレントディレクトリと実行ディレクトリが同じだからうまく動いているだけだ。 Environment.CurrentDirectory = @"C:\"; File.WriteAllText("hoge.txt", "テキストファイルの本文"); とやればCドライブ直下に出力されてしまうし、 もっといえば、コマンドラインからexeファイルを叩いて実行した場合などは、 そのコマンドを打ったときのディレクトリがカレント

                                • テクノロジー
                                • 2014/09/15 12:24
                                • C#
                                • 焼鳥専門店「串鳥」の魅力をはじめからていねいに - OITA: Oika's Information Technological Activities

                                  6 users

                                  oita.oika.me

                                  道民部 Advent Calendar 2013、24日目のエントリーになります。 どうも、@oikaです。 道外から来られた方が札幌周辺を歩かれると、 いたるところで赤い看板が目に入ってくると思います。 あるものには「さっしん」、またあるものには「ツルハドラッグ」とか 書かれていると思いますが、ここでは、 もう一つの赤い看板、 「串鳥」 についてご紹介させていただきます。 串鳥とは? 札幌開発(株)が札幌を中心に展開する焼鳥チェーン店です。 その美味しさと価格の安さで、幅広い客層に親しまれています。 道内20数店舗のほか、道外では仙台と東京にも店舗展開しており、 1号店誕生から33周年となる2013年現在もなお出店を広げています。 焼鳥専門店「串鳥」ホームページ 串鳥の魅力 ざっくり言ってしまえば、安さと美味しさ、 そして居心地の良さが串鳥の魅力だと思います。 特に札幌市内は大小様々な店

                                  • 暮らし
                                  • 2013/12/25 02:05
                                  • AdventCalendar
                                  • 北海道
                                  • 居酒屋
                                  • 札幌
                                  • 行きたい
                                  • 食
                                  • blog

                                  このページはまだ
                                  ブックマークされていません

                                  このページを最初にブックマークしてみませんか?

                                  『OITA: Oika's Information Technological Activities』の新着エントリーを見る

                                  キーボードショートカット一覧

                                  j次のブックマーク

                                  k前のブックマーク

                                  lあとで読む

                                  eコメント一覧を開く

                                  oページを開く

                                  はてなブックマーク

                                  • 総合
                                  • 一般
                                  • 世の中
                                  • 政治と経済
                                  • 暮らし
                                  • 学び
                                  • テクノロジー
                                  • エンタメ
                                  • アニメとゲーム
                                  • おもしろ
                                  • アプリ・拡張機能
                                  • 開発ブログ
                                  • ヘルプ
                                  • お問い合わせ

                                  公式Twitter

                                  • 公式アカウント
                                  • ホットエントリー

                                  はてなのサービス

                                  • はてなブログ
                                  • はてなブログPro
                                  • 人力検索はてな
                                  • はてなブログ タグ
                                  • はてなニュース
                                  • App Storeからダウンロード
                                  • Google Playで手に入れよう
                                  Copyright © 2005-2023 Hatena. All Rights Reserved.
                                  設定を変更しましたx