何が嬉しいかと言うと、i の評価が一回で済むところです。二番目のコードをよく見てください。i が一回しか書かれていませんよね? 評価が一回で済むということは、変数だけではなく、副作用を持つ関数などにも使えるということです。
こんにちは、アーキテクトの小林です。 .NET Core 3.0 がついに GA になりました。 .NET Core 3.0 では gRPC の機能サポートが組み込まれています。 今回は .NET Core 3.0 で簡単に gRPC の開発をスタートすることができることを知っていただいきたいと思いまして、gRPC サーバーとクライアントの疎通確認ができるまでの手順を記事にしてみました。 そもそも gRPC とは何? gRPC は、Google によって開発されたスキーマファーストの RPC(リモートプロシージャーコール)フレームワークで、マイクロサービスアーキテクチャにおけるサービス間通信において有力な選択肢として注目されている技術です。 マイクロサービスアーキテクチャでは、大きなシステムを細かいサービスに分割し、各サービスを独立させ、疎結合に保つことが重視されます。細かいサービスに分割
[速報」Blazor WebAssemblyが正式リリース。C#/.NETでWebアプリケーションを開発可能に。Microsoft Build 2020 オンラインイベント「Microsoft Build 2020」を開催中のマイクロソフトは、「Blazor WebAssembly 3.2.0」のリリースを発表しました。 Blazor WebAssemblyは、.NETとC#などを用いてWebブラウザ上で実行可能なWebアプリケーションを開発できるフレームワークおよび実行系です。 Blazor WebAssembly 3.2.0はBlazor WebAssemblyとしてフル機能が実装され、本番運用に対応したバージョンです。これによりBlazor WebAssemblyは正式版としてリリースされたことになります。 It's here!!! Blazor WebAssembly 3.2.0
マイクロソフト「.NET 6」初めてのプレビュー版リリース。Xamarin統合、マルチプラットフォームUI、Blazorでデスクトップアプリ、Apple M1ネイティブなど マイクロソフトはオープンソースで開発されているフレームワーク「.NET」の次バージョン「.NET 6」の最初のプレビュー版「.NET 6 Preview1」をリリースしたと発表しました。 Announcing .NET 6 Preview 1 https://t.co/z0mkcA6c0m — .NET (@dotnet) February 17, 2021 「.NET」は、Windowsアプリケーションのためのフレームワークとして登場した「.NET Framework」と、その後に登場したMacやLinuxに対応するオープンソースの「.NET Core」を統合し、その後継となったフレームワークです。 .NETの最初の
この記事は C# Advent Calendar 2020 の 2 日目の記事です。1 日目は @RyotaMurohoshi さんの C# 9.0で加わったC# Source Generatorと、それで作ったValueObjectGeneratorの紹介 でした。 私の記事では、.NET Framework 1.0 の頃の C# 1.0 と今の .NET 5 時代の C# 9.0 で同じお題をもとにプログラムを書いてみて比べてみようと思います。これを書くにあたって事前に xin9le さんと 岩永さんに色々見てもらいました!感謝! ではやってみましょう! 記事を書く前の感覚では LINQ の有無と async/await の有無が大きいだろうな…と思ってます。 プロジェクトの設定 Windows 10 に .NET Framework 1.1 SDK を入れようと思えば入れることが出来
マイクロソフト、.NET中間言語をWebAssemblyにコンパイルする「Jiterpreter」をBlazor WebAssemblyに搭載へ、.NET 8で マイクロソフトは今年(2023年)11月にリリースが予定されている.NET 8のBlazor WebAssemblyにおいて、.NET中間言語をWebAssemblyに動的にコンパイルすることで、Blazor WebAssemlbyの高速化を実現する機能を備えた「Jiterpreter」を搭載予定であることを明らかにしました。 BlazorはWebAssemblyで.NETランタイムを実装している そもそもBlazor WebAssemblyは、.NETとC#などを用いてWebブラウザ上で実行可能なWebアプリケーションを開発できるフレームワークおよびランタイムです。 一般にWebブラウザはJavaScriptで記述されたコードを
◆ Live配信スケジュール ◆ サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。 ⇒ 詳細スケジュールはこちらから ⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください 【4/18開催】VSCode Dev Containersで楽々開発環境構築祭り〜Python/Reactなどなど〜 Visual Studio Codeの拡張機能であるDev Containersを使ってReactとかPythonとかSpring Bootとかの開発環境をラクチンで構築する方法を紹介するイベントです。 https://tech-lab.connpass.com/event/311864/ みなさん、こんにちは。サイオステクノロジー武井です。今回は、導入がカンタンで開発効率爆上げなVisual Studio Co
ソースコードの複雑さ、不具合のリスクを定量化したコードメトリクス1というものがあります。 コードメトリクスは計算方法によっていくつか種類があり、メジャーなものだと以下のものがあります。 Cyclomatic Complexity(循環的複雑度) Cognitive Complexity(認知的複雑度) Maintainability Index(保守容易性指数) Lines of Code(コードの行数) これらのコードメトリクスを計算し、CodeLensに表示するVisual Studio拡張機能2を作成しました。 tackme31/howmessy: How messy is your code? 以下のようにコードメトリクスをもとにコードが複雑かどうかを判定し、CodeLensに表示してくれます(デフォルトではCognitive Complexityをもとに計算します)。 今のところ
はじめに 現在進行形でC#のみを使って個人でソシャゲ作りを試しているyoship1639です。 本記事はQiita夏祭り2020「〇〇(言語)のみを使って、今△△(アプリ)を作るとしたら」のテーマに沿った内容となっています。 近年のソーシャルゲーム界隈は多様化が進んでクライアントサイドだけではなくサーバーサイドもあらゆる言語やフレームワークが試みられていますが、クライアントもサーバーも統一の言語で構成されているのはほとんどないかと思われます。言語にはその言語の得意分野があると思うので。 しかし、今まさに私が開発中の環境が好きな言語で開発しやすいという理由でクライアントもサーバーもC#で構成した作りになっているので、どのような構成でどうすれば最低限のソシャゲの基盤が作れるかを、解説が長くなり過ぎないようにまとめることが出来ればと思います。 三部構成で、クライアント実装、サーバー実装、AWS
We are pleased to announce that the October 2019 release of the Python Extension for Visual Studio Code is now available. You can download the Python extension from the Marketplace, or install it directly from the extension gallery in Visual Studio Code. If you already have the Python extension installed, you can also get the latest update by restarting Visual Studio Code. You can learn more about
1. 区切り文字の設定変更 CSSクラス名や変数名をダブルクリックした際、ハイフン等がデフォルト設定では区切り文字として判定されます。それらの判定を変更する設定です。 設定前 設定後 設定手順 Code → 基本設定(Preferences) → 設定(Settings) 「設定の検索(Search settings)」欄に、editor.wordSeparators と入力 区切りとして扱ってほしくない文字を消す 初期値 2. HTMLブロックの一括選択設定 HTMLブロックの選択を楽にする為の設定です。 Emmet公式の説明ページ 選択したいHTMLタグにカーソルを合わせ、設定したキーを押すと、 ↓ 設定手順 Code → 基本設定(Preferences) → キーボードショートカット(Keyboard Shortcuts) 「入力してキーバインドを検索(Type to search
2019年8月7日、『神姫PROJECT』などソーシャルゲームの企画・開発を手がける株式会社テクロスが主催するイベント「TECH x GAME COLLEGE」が開催されました。第24回となる今回のテーマは「GAFA戦記 」。アメリカAppStoreで1位を獲得したハイパーカジュアルゲーム『Snowball.io』を世に送り出した、芸者東京株式会社、代表取締役CEOの田中泰生氏が、ハイパーカジュアルゲームの潮流と自社の取り組みの軌跡を語ります。前半パートとなる今回は、ハイパーカジュアルゲームの概要と、芸者東京でのゲーム開発の歴史を紐解きます。 ハイパーカジュアルゲームとは何か? 田中泰生氏(以下、田中):私は芸者東京の田中と申します。今日は1時間半ぐらいお付き合いいただければと思います。 今日は、ハイパーカジュアルゲームのデータドリブン開発についてお話をしようと思いますが、せっかく対面で話
デモ 以下のリンクから試せます。 https://crash.jp/apps/crash-editor/ 未圧縮版(5MB) https://crash.jp/apps/crash-editor-br/ Brotli圧縮版(2.1MB) 環境によっては表示まで数秒かかります。二回目以降はキャッシュから読み込まれるので、表示に時間はかかりません。 キャッシュはブラウザの開発ツールから削除可能です。以下はChromeの場合。 開発ツール > Applicationタブ > Cache > Cache Storage ※デモを何度か上げなおしているので、エラーになる場合にはキャッシュを削除してみてください 動作環境 WebAssemblyに対応したブラウザが必要ですが、最近のブラウザであればまず問題ないです。 自分で確認した環境 Windows 10 Pro, Chrome/新Edge/Fire
マイクロソフトのVisual Studio Code(VSCode)に、JavaScriptのデバッガーが内蔵された。 Easier browser debugging with Developer Tools integration in Visual Studio Code 画像クレジット: microsoft これまで開発者は、VSCodeの拡張機能として「Chrome Debugger」や「Microsoft Edge Debugger extension」をインストールするのが一般的だった。 これからは、拡張機能をインストールして使用する代わりに、 F5キーを押すか、メニューバーのデバッグアイコンをアクティブにして「実行してデバッグ」を選択だけで、デバッグすることができる。 また、VSCodeのコマンドパレットから「Debug: Open Link」コマンドでも実行できる。 Ed
Amazon Linux 2 の Dockerイメージから開発環境を作り Visual Studio Codeで接続してみる Amazon Linux 2のDockerイメージから開発環境として使うコンテナを作り、Visual Studio Codeで接続してみました。 コンテナは以下をインストール or 可能としてみました。 AWS CLIをインストールする。かつクレデンシャルはローカルのものをコンテナ内でも使えるようにする。 (開発言語として)Go言語をインストールする。 ローカルマシンとコンテナで共有できるフォルダを作成する。 以下、今回作成した「docker-compose.yml」と「Dockerfile」について書いていきたいと思います。 作成したもの ローカル環境について 本作業はMacで行いました。docker-composeとDockerがインストールされているものとしま
※本記事は、技術評論社「Software Design」(2024年1月号)に寄稿した連載記事「Google Cloudを軸に実践するSREプラクティス」からの転載1です。発行元からの許可を得て掲載しております。 はじめに 前回はDatadogによるクラウド横断のモニタリング基盤について解説しました。 今回はCloudflareとは何か、なぜ使っているのか、各サービスとポイント、キャディでの活用例を紹介します。 ▼図1 CADDiスタックにおける今回の位置付け Cloudflare とは 本記事では、Cloudflare社が提供しているプラットフォーム全体を「Cloudflare」とします。 Cloudflareは、ひと昔前までは数あるシンプルなCDN(Contents Delivery Network)サービスの1つでした。CDNとは、コンテンツの配信を最適化するためのネットワークです。
Sansanプロダクト開発部・基盤チームの加畑です。 Sansanプロダクト開発部には、現在約120名のメンバーが所属しています。その中で、私が所属する基盤チームは6名のメンバーで構成されており、データアクセスや認証、メッセージング基盤、CI等開発環境やリリースプロセスなど、アプリケーションの基盤に関わるプロジェクトを主に受け持っています。 担当領域の性質上、システムのレガシー化に向き合う機会が多いです。私を含め複数のメンバーが、常に何かしらレガシー改善に関わるプロジェクトを進めている状況です。昨年の10月に、私が担当したいくつかのプロジェクトについて、レガシーシステムのおそうじという記事でご紹介しました。4月にはレガシー改善に関する勉強会を開催し、はてなさんやYahooさんとも交流することができました。楽しかったです。 前回記事と勉強会では、「レガシー改善のプロジェクトをうまく進めるには
循環的複雑度が閾値を超えた Pull Requests に、自動的に変更をリクエストする 「コードの品質を、維持したいよーーー」 ということで、テストや Linter を GitHub Actions で実行している環境はよくあると思いますが、今回は 循環的複雑度 を継続的に計測して、閾値を超えた場合に自動的に Pull Request に対して Request Changes のレビューをしようという試みです。 Lizard この例では、Lizard を使用して CCN を計測します。 おそらく似たようなツールでも同様に実行することができると思います。 Lizard は Python で開発されている CCN 計測ツールです。(追記:シンプルに書いてしまいましたが、もちろん他の指標も計れます) 以下のようにサポート言語が多いので、大抵の場合で採用できそうです。 サポート言語 (1.17.
The Go team 9 June 2020 When the Go project began, “an overarching goal was that Go do more to help the working programmer by enabling tooling, automating mundane tasks such as code formatting, and removing obstacles to working on large code bases” (Go FAQ). Today, more than a decade later, we continue to be guided by that same goal, especially as it pertains to the programmer’s most critical tool
はじめに 今回の記事では、主にバックエンド(PythonとTypeScript中心)を開発している私が使っているVSCodeの拡張機能を紹介する。 拡張機能 基本的にどのような言語でも対応できる拡張機能を紹介する。 Japanese Language Pack for Visual Studio Code VSCodeを日本語にできる。 REST Client VSCode上でgetやpostなどのHTTPリクエストを送信できる。GraphQLにも対応している。 GitLens — Git supercharged commit単位でファイルを比較したり、最新のcommitの内容を表示したりできる。 DeepL for Visual Studio Code VSCode上にて日本語から英語に翻訳できる。翻訳の精度が非常に高い。 JSDoc Generator JavaScriptのドキュメ
GitHub、WebIDEの「Codespaces」を発表。GitHubからワンクリックで開発環境へ。GitHub Satellite 2020 GitHubは、Webブラウザから使える統合開発環境「GitHub Codespaces」を発表しました。 Introducing GitHub Codespaces, a complete dev environment within GitHub that lets you contribute immediately. You’ll be up and developing in less time than it takes to read this post. #GitHubSatellite pic.twitter.com/RIt7rRbzpP — GitHub (@github) May 6, 2020 GitHub CEOのNat
Version 1.88 is now available! Read about the new features and fixes from March. Local Port Forwarding Support for port forwarding is built into Visual Studio Code via Microsoft dev tunnels, no extension required. When running a local web service, you can use the Ports view to make the service accessible to others over the internet. How to use local port forwarding First, you need to have a servic
この記事に記載されている内容を、実際に試して発生した損害に対していかなる責任も負いません(補償しません)。 すべて自己責任のもとで行ってください。 リリースされているアプリやゲーム、ソフトウェア利用許諾契約(EULA)やアプリケーション利用規約などでリバースエンジニアリングは禁止されています。 実際に試す場合は、自分で開発しているアプリやゲームや脆弱性確認用でリリースされているアプリやゲームを使いましょう。 はじめに ハック(攻撃)と対策(防御)は表裏一体です。どのようなハックが行われるのかを知らないと対策は行えません。 ハックする側の方が、時間や対応者の人数など基本有利です。 日々新たな問題が発生しています。最新の情報を常に確認する必要があります。 リンクは、すべて目は通していますが、すべてを試しているわけではありません。 上手くいかない、よくわからないなどはキーワードをピックアップして
We are pleased to announce that the February 2021 release of the Python Extension for Visual Studio Code is now available. You can download the Python extension from the Marketplace, or install it directly from the extension gallery in Visual Studio Code. If you already have the Python extension installed, you can also get the latest update by restarting Visual Studio Code. You can learn more abou
はじめに LINQの登場後、C#は地道な進化を続け、C# 7で登場したタプルと分解、パターンマッチング、C# 8で登場したswitch式、C# 8,9で強化されたパターンマッチング などによって、C#のプログラミングスタイルは劇的に変化しました。 昔では考えられなかったようなスタイルのコードが記述可能になり、可読性やコードの安定性が飛躍的に向上しています。 そのキーポイントとなるのが、「宣言的プログラミング」です。 この記事では、最新のC#を使ってコードを宣言的に書く手法を紹介します。 やってる人は自然とやっている事だとは思いますが、そうではない人もいると思いますので、そういう方の参考になればと願っています。 宣言的プログラミングとは 宣言的プログラミングとは、「どうやってやるか(how)ではなく何をしたいか(what)を書く」と良く言われますが、なんとなくあいまいです。 これをもう少し具
まだ汚れを知らない若者だったころに「プログラムはね、これを使って書くんだよ」と言われて以来Vimは友達だと思ってずっと(15年くらい)使ってきたが、最近は、とくに新しく何かを書くときにはVSCodeを使うようになってきた。コードを書く間隔が広がってきたせいか、新しい技術や言語に対応することができておらず、なんか最初からいい感じになってるエディタを重宝する。歳を取ってきたからなんだろうな、と素直に思うけれど、自分向けになにかをカスタマイズすることにあまり熱を感じなくなっていて、すでにあるよいと分かっているものに自分を調整していくことを選ぶようになってきた。 とはいえ身体はVimに慣れきってるのでVSCodeを使い始めたときはVSCodeVimを使っている……いた、というのが今回の話。よくできてるとは思うが、とにかくu(アンドゥ)の挙動が本家と違うのがどうも身体に合わない。逆にストレスが高まっ
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く