並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 23 件 / 23件

新着順 人気順

C++CLIの検索結果1 - 23 件 / 23件

  • Go製ミドルウェアのメモリリークを解決した話 - Mirrativ Tech Blog

    インフラ・ストリーミングチームの id:udzura (@udzura)です。今回は、Goミドルウェアのメモリリークを見つけて解決する際に、どのようなプロセスを踏んでいったかを解説します。 Go製のミドルウェアの概要 ミラティブでは、Webアプリケーションのみならず、ミドルウェアに相当する部分についても必要なものは内製しています。その中の一つに、社内で「Radisha」と呼んでいる各種集計とキャッシュなどを行うためのミドルウェアがあります。Radishaは以下のような特徴を備えています。 GET、SET、SETEXなど基本的なRedis互換のコマンドを実装している。そのため、既存のRedisクライアントライブラリから操作が可能である。 ランキング集計、一定時間内のアクセス集計などが行えるよう、Redis にない独自のコマンドを実装している。 高い可用性を志向しており、オンメモリのデータは

      Go製ミドルウェアのメモリリークを解決した話 - Mirrativ Tech Blog
    • 【インフラ】Mirrativのデータベースを最小限の影響で切り替える運用の紹介 - Mirrativ Tech Blog

      こんにちは、ミラティブのインフラを担当している清水です。 今回はミラティブのデータベースのマスタをどのようにフェイルオーバさせているかノウハウをお伝えしようかと思います。 ミラティブではデータベースにMySQLを利用しており、マスタ・スレーブ構成で冗長化しています。 マスタ・スレーブ構成の優れている点はデータをフルダンプすればデータベースを完全に複製でき、マルチマスタ構成で発生しうるデータ不整合を気にかけなくて良い点です。 データベースのクラスタリングには MySQL Cluster や GaleraCluster などもありますが、マスタ・スレーブ構成はストレージエンジンに依存せず素のMySQLで運用できるので、クラスタ固有の制約にハマったりせずシンプルに運用できるのも強みです。 ただし、マスタ・スレーブ構成の鬼門となるのがマスタのフェイルオーバです。 スレーブは参照のみリクエストを処理

        【インフラ】Mirrativのデータベースを最小限の影響で切り替える運用の紹介 - Mirrativ Tech Blog
      • Redisを使った分散ロック (SETNX, Redlock) - Carpe Diem

        概要 分散システムにおいて同じリソースにアクセスする際にロック(排他制御)する仕組みを分散ロックといいます。 ロックを用いる背景としては主に2つあり、 目的 説明 具体例 効率 同じ作業を不必要に複数回行わないため キャッシュのOriginへのリクエストを抑制したい(Cache stampede対策) 正確性 データの不整合が起きないようにするため トランザクション Redisを分散ロックに使う場合は主に前者のケースにおいて推奨されます。 環境 Redis 6.2.0 Redisでの分散ロック Redisで分散ロックを実現する方法は主に2種類あります。 SETNXを用いる Redlockアルゴリズムを用いる それぞれのケースを説明します。 SETNXを用いた分散ロック シングルインスタンスの場合SETNXを用います。 func (c *Client) updateCache(ctx con

          Redisを使った分散ロック (SETNX, Redlock) - Carpe Diem
        • How does Sidekiq really work?

          Since its publication, this post was endorsed by Mike Perham, the creator of Sidekiq. Hacker News discussion Sidekiq is one of the most ubiquitous1 Ruby background job processors out there. To anybody who has worked with Ruby on and off Rails, it needs no introduction. Sidekiq has a 10+ year track record of being an efficient, battle-tested and simple-to-use solution for offloading the execution o

          • BacklogのGitを快適に使用するコマンドラインツール「gitb」(ギットビー)のご紹介 | Backlogブログ

            要約 gitbコマンドは、Backlogが提供するGitに関連する操作を補助するツールです。 例えば、現在のリポジトリやブランチに紐付く課題やプルリクエスト等のBacklogが提供する画面を、1コマンドでブラウザから開けます。 全てのgitコマンドをgitbコマンド経由で実行できるので、コマンドを入力する際に両方を意識せずに操作できます。 さらに、エイリアスを設定すると、git pr 、git issue のように、あたかもgitコマンド自身のサブコマンドの如く使用できます。 提供する機能 gitbコマンドで具体的にどのようなことができるのか、提供する機能について一部抜粋して解説します。 リポジトリに紐付く情報を1コマンドでブラウザから開ける 例えば、現在のブランチに紐付くプルリクエストや課題、現在のリポジトリのブランチ一覧、タグ一覧、そしてコミットログ等のBacklogのページを1コマン

              BacklogのGitを快適に使用するコマンドラインツール「gitb」(ギットビー)のご紹介 | Backlogブログ
            • 2021年のXAML事情とEpoxyを作った話

              昔からXAMLのMVVMライブラリで自分に合うものがなく、作ろうと何度かトライ(しては飽きた)していたのですが、とうとうまともに使えるレベルにまで持って行けたので、先日宣伝を垂れ流しました。 Epoxy 0.10.0をリリースしました。AvaloniaとUnoとWinUIに新たに対応してます https://t.co/1soUDgcRVn — Kouji Matsui (@kekyo2) February 21, 2021 Epoxy は、.NETの様々なXAML環境で使うことが出来る、MVVM (Model-View-ViewModel)を楽に実装するための補助ライブラリです。特徴を抜粋すると: 非同期処理 (async-await) を安全に書くことが出来るように配慮しています。 C# 8.0でサポートされた、null許容参照型を使えます。 小さなライブラリで、理解しやすいAPIです。

                2021年のXAML事情とEpoxyを作った話
              • How does Sidekiq work? | Mike Perham

                2024-02-04 This article was originally published on DanSvetlov.me and is republished here with permission of the author. This article is relevant to Sidekiq v7. Sidekiq is one of the most ubiquitous1 Ruby background job processors out there. To anybody who has worked with Ruby on and off Rails, it needs no introduction. Sidekiq has a 10+ year track record of being an efficient, battle-tested and s

                • Go実装のAWS Lambda関数をCLIで動かせるライブラリを書いた - 酒日記 はてな支店

                  最初に3行でまとめ GoでAWS Lambdaのハンドラを実装した場合に、手元から同じ処理を実行したり開発中の動作確認のため、CLIコマンドとしても実行できると便利です そのための、とてもシンプルなwrapperライブラリを書きました lamblocal といいます 環境変数を読み込めるCLI flag parserと組み合わせるといいかんじです github.com Lambdaを実装する言語 最近、自分はAWS Lambdaの関数をGoで書くことがほとんどです。 個別のランタイムがある言語で書くとランタイムのバージョンアップやEoL対応が必要になって面倒だったりしますが、Goで書いてシングルバイナリをbootstrapという名前でzipに含めてカスタムランタイム(provided.al2) で動かすとそういう煩わしさがありません。ARM対応もビルド時に環境変数を指定するだけなので極めて

                    Go実装のAWS Lambda関数をCLIで動かせるライブラリを書いた - 酒日記 はてな支店
                  • C#で画面をつくる。何でつくる? - Qiita

                    C#で画面を作るときの選択肢について はじめにの前に Qiitaユーザーはzennに引越したのでしょうか。 投げ銭システムは魅力的ですよね。 Qiitaランキングの載っている記事が、個々人の備忘録のレベルに下がってきている気がしています(余計なお世話) 個人的には、記事を書くハードルが下がるので、棲み分けはよいことだと思います。 はじめに .NET 6やらWinUI 3など、いろいろな技術がリリースされる中 私の主戦場はもっぱらWinFormsです。 たまにWPFも触るけど、UWPは触ったことなく でもそろそろクロスプラットフォーム開発とかもしてみたいなー、と。 というわけで、この記事では いろいろ知りたいこと(以下)を、ググりつつ情報をまとめていくための記事です。 UWPはユニバーサルらしいけど、WPFと何が違うの? Uno Platformや、COCOAで話題のXamarinの違いは何

                      C#で画面をつくる。何でつくる? - Qiita
                    • awesome-nostr

                      nostr.net - awesome-nostr is a collection of projects and resources built on nostr to help developers and users find new things “nostr” stands for “Notes and Other Stuff Transmitted by Relays” and is an open protocol for censorship-resistant global networks. Most popular Mobile clients Damus - The OG nostr client for iOS Plebstr - Android and iOS app Amethyst - Android only app Primal - iOS and An

                      • Writing GUI apps for Windows is painful | Samuel Tulach

                        Jun 29, 2024 Samuel Tulach Jun 29, 2024 Samuel Tulach Edit 7/1/2024: I feel like I should edit this article and clarify a few things since someone posted this article on Hacker News, and it appears it has received over 440 comments. This means it has left the typical reader base of this blog (four and a half people). This whole article was written because I was trying to write a companion program

                        • Visual Studio2022で.NET Framework 4.8と.NET 6のソースコードを共存させる (WinForms&WPF) - Qiita

                          Visual Studio2022で.NET Framework 4.8と.NET 6のソースコードを共存させる (WinForms&WPF)C#WPFWinForms.net6VisualStudio2022 WinForms, WPFなどのWindowsベースのレガシーアプリ開発をやっていて、 最近ようやくRC版のリリースを終えた.NET 6でも問題なく動くかどうかを確認したかったので、 とりあえずWinFormsやWPFで、ソースコードの移植作業を極力行わない方法でどの程度対応出来るか試してみた。 (いくつか方法はあると思うが、そのうちの一つの方法、ということで) クロスプラットフォームでの挙動については未確認。 C++連携なども現状は未確認(※クロスプラットフォームなどを見据えてP/Invokeを使った方法への切り替えが推奨されているみたいです。C++/CLIは完全Windows固

                            Visual Studio2022で.NET Framework 4.8と.NET 6のソースコードを共存させる (WinForms&WPF) - Qiita
                          • neue cc - MagicPhysX - .NET用のクロスプラットフォーム物理エンジン

                            MagicPhysXというライブラリを新しく公開しました!.NETで物理エンジンを動かすというもので、その名の通り、NVIDIA PhysX のC#バインディングとなっています。 Cysharp/MagicPhysX 使い道としては GUIアプリケーションの3D部分 自作ゲームエンジンへの物理エンジン組み込み ディープラーニングのためのシミュレーション リアルタイム通信におけるサーバーサイド物理 といったことが考えられます。 .NET用のPhysXバインディングは他にも存在しますが、C++/CLIでバインディングを生成している都合上Windowsでしか動かせなかったり、バージョンが最新ではない4.xベースだったりしますが、MagicPhysXは最新のPhysX 5ベースで、かつ、Windows, MacOS, Linuxの全てで動きます!(win-x64, osx-x64, osx-arm

                            • Golangでのバッチ処理 個人的ベストプラクティス - blog.potproject.net

                              Golangでのバッチ処理 個人的プラクティス Go言語でバッチを書く機会があった為、そこで個人的に行なった・意識した事をまあ振り返り形式が描いていく記事です。 割と書いてることは堅いかなと思います。そんなに新しいことを書いている感じもないです。 これを使えば多分間違いないだろうという定番ライブラリの紹介みたいな記事です。 CLIインターフェイス / フレームワーク cliを自分で実装するとなると割と大変だったりします。主に文法の解析。 なのでこれに関してはurfave/cliに任せておけばOKかと。 urfave/cli Star数10000超えてますし、特に不満もなく何でも使えるしカスタマイズもできるので、 今のところはこれが最良かと。 しっかりと標準出力/入力に依存せず、独立した構成になっているのでテストも容易です。 ほぼケースを網羅したテストのあるコードを書いてみる。言語設定で文章

                                Golangでのバッチ処理 個人的ベストプラクティス - blog.potproject.net
                              • An Update on C++/CLI and .NET Core - C++ Team Blog

                                The first public release of our C++/CLI support for .NET Core 3.1 is now available for public preview! It is included in Visual Studio 2019 update 16.4 Preview 2. We would love it if you could try it out and send us any feedback you have. For more info about what this is and the roadmap going forward, check out my last post on the future of C++/CLI and .NET Core. To get started make sure you have

                                  An Update on C++/CLI and .NET Core - C++ Team Blog
                                • neue cc - 他言語がメインの場合のRustの活用法 - csbindgenによるC# x Rust FFI実践事例

                                  他言語がメインの場合のRustの活用法 - csbindgenによるC# x Rust FFI実践事例 2023-10-23 Rust.Tokyo 2023というRustのカンファレンスで、「他言語がメインの場合のRustの活用法 - csbindgenによるC# x Rust FFI実践事例」と題してcsbindgen周りの話をしてきました。 タイトルが若干かなり回りっくどい雰囲気になってしまいましたが、Rustのカンファレンスということで、あまりC#に寄り過ぎないように、という意識があったのですが、どうでしょう……? 会場での質問含めて何点かフォローアップを。 FFIとパフォーマンス Rustは速い!FFIは速い!ということが常に当てはまるわけでもなく、例えばGoのcgoはかなり遅いという話があったりします。Why cgo is slow @ CapitalGo 2018。このことは直

                                  • gRPCでFieldMaskを使う(取得編) - Carpe Diem

                                    概要 クライアントデバイスが多様化する中、UIに必要なデータもそれぞれ異なるためAPIのオーバーフェッチ(不要なデータの取りすぎ)が課題になってきます。 またマイクロサービス間の通信でも、例えばマスタ系データのうち必要なデータだけ取得して利用したいケースは多々あります。 かと言ってその度に必要最低限のデータを取得するメソッドを用意するのは開発が大変ですし、逆に細かいデータばかりのgRPCを用意すると今度はアンダーフェッチ(データが足りなくて複数回コールが必要になる)が発生します。 GraphQLでは欲しいデータをクライアント側が明示的に要求するのでオーバーフェッチが発生しないというメリットがありますが、gRPCではFieldMaskという機能があります。 今回はFieldMaskを使って余分なデータを返さない方法を説明します。 環境 Go v1.18.3 protoc-gen-go v1.

                                      gRPCでFieldMaskを使う(取得編) - Carpe Diem
                                    • C++でATLを使わずにレジストリフリーのCOMサーバーを作成してWSHから利用する方法 - seraphyの日記

                                      概要 C++で、ATLを使わずにCOM DLLを作成する。ただし、レジストリは一切使わない。 作成したCOM DLLはレジストフリーで利用できるように、Side by Side Assemblyのマニフェストをつける WSHから、Microsoft.Windows.ActCtxコントロールを使ってSxSでCOMを呼び出す COM DLLを作成するにはATLでウィザードを使ってプロジェクトを作成すると、とても簡単にできる。 しかし、残念ながらVisual Studio Express 2017 For Windows DesktopにはATLは付属していない。 だが、レジストリフリーのCOMを作成するのであれば、ATLの力を借りずともVC++の言語サポートと、Expressの機能だけで、比較的容易に作成できる。 以下は、VS Express 2017のC++でレジストリフリーのCOM DLL

                                        C++でATLを使わずにレジストリフリーのCOMサーバーを作成してWSHから利用する方法 - seraphyの日記
                                      • CppSharpへのいざない - Qiita

                                        CppSharpとは CppSharpとは、C++で実装されたライブラリやアプリケーションの.NETラッパーを作成するためのツールです。今までは手作業でラッパーのコードを書いていましたが、このツールを使うことにより簡単にラッパーを作成することができます。 ただし、手作業での作成ではライブラリの使い方にそった最適な変換方法を選択できるの対し、自動でのラッパー作成は一般的な変換方法に則っています。つまり、パフォーマンスやライブラリの質の面で手作業より不利となる可能性があります。 類似のプロジェクトとして以下があります。 - Sharppy - .NET bindings generator for unmanaged C++ https://code.google.com/p/sharppy/ - XInterop http://xinterop.com/ - SWIG http://www.

                                          CppSharpへのいざない - Qiita
                                        • DuckDB Wasm

                                          Installation Documentation Getting Started Connect Data Import JSON Files Multiple Files Parquet Files Partitioning Appender INSERT Statements Client APIs Overview C C++ CLI Go Java Julia Node.js Python R Rust Swift Wasm Overview Instantiation Data Ingestion Query Extensions ADBC ODBC SQL Query Syntax Data Types Expressions Functions Constraints Indexes Meta Queries DuckDB's SQL Dialect Samples Co

                                            DuckDB Wasm
                                          • C++ Core Guidelinesのすすめ - Qiita

                                            気になる点あればバンバン修正申請ください。 追加で紹介したいことや補足したいことなども全然構いません。 はじめに C++は非常に複雑で難しく、何でもできる言語として発展しています。 古い言語仕様からモダンな言語仕様まですべてを何でも扱うことが出来ます。 それが時に最も好かれる部分でもあり、最も嫌われる部分でもあることは事実です。 C++はより安全で効率的なコードを書けるように機能を提供しますが、 それを全員が理解して使うことは難しいです。 古のプログラマにとっては、今までの慣習から離れなければなりませんし、 生まれたてのプログラマにとっては、最新のC++の前に過去のC++から一通り学ばなければなりません。 C++登場の1983年から、C++98, C++11, C++14, C++17, C++20と進化を続けていくたびに、教科書もどんどん分厚くなっていきます。 C++はこのまま過去の古い

                                              C++ Core Guidelinesのすすめ - Qiita
                                            • Automating detection of security vulnerabilities and bugs in CI/CD pipelines using Amazon CodeGuru Reviewer CLI | Amazon Web Services

                                              AWS DevOps Blog Automating detection of security vulnerabilities and bugs in CI/CD pipelines using Amazon CodeGuru Reviewer CLI Watts S. Humphrey, the father of Software Quality, had famously quipped, “Every business is a software business”. Software is indeed integral to any industry. The engineers who create software are also responsible for making sure that the underlying code adheres to indust

                                                Automating detection of security vulnerabilities and bugs in CI/CD pipelines using Amazon CodeGuru Reviewer CLI | Amazon Web Services
                                              • C#プロジェクトの作成と.NET Framework(C#) - 超初心者向けプログラミング入門

                                                C#プログラミングの前提知識 C#言語の解説の前にVisual StudioでC#プロジェクトを作る方法を説明します。 Visual Studioを起動したら、「ファイル」→「新規作成」→「プロジェクト」を選択します。 新しいプロジェクトを作成するウィンドウが開くので、テンプレート一覧から「Visual C#」を選択し、プロジェクトの種類に「コンソールアプリケーション」を選択します。 この時、ウィンドウの上部に「.NET Framework ○.○」というドロップダウンボタンがあります。 ここではとりあえず「.NET Framework 4.6」を選択します。 (選択可能な最新のバージョンを選択してください) 保存場所や名前は自分が管理しやすいように適宜変更してください。 .NET Frameworkとは 以下の説明は今までプログラミングに一切触れたことのない人にはチンプンカンプンな内容か

                                                1