タグ

Goに関するlike_futsalのブックマーク (11)

  • DynamoDB×Go連載#2 AWS SDKによるDynamoDBの基本操作 | フューチャー技術ブログ

    こんにちは。TIG DXユニット 1の武田です。 はじめにDynamoDB×Go連載企画第2弾の記事となります。 DynamoDB×Go連載#1 GoでDynamoDBでおなじみのguregu/dynamoを利用する では guregu/dynamo を利用したDynamoDBの基操作をご紹介しました。 記事ではサードパーティ製のライブラリを利用せずaws-sdkを素で利用した場合のDynamoDBの基操作について見ていきましょう。 なお、公式のドキュメントは下記になりますので、より詳細な情報はこちらを参照してください。 https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/welcome.html 環境情報 Go: 1.13.8 aws-sdk-go: v1.29.10 検証環境の準備第1回の記事同様 DynamoDB

    DynamoDB×Go連載#2 AWS SDKによるDynamoDBの基本操作 | フューチャー技術ブログ
  • 試験的にC#(WPF) と Go を GRPC を用いて連携させる - bamchoh’s diary

    最近、趣味のコーディングは Go を使ってやることが多かったりして、Goでなんでも書きたい欲が強くなるんだけども、やはりGUIアプリを作成するときにはWindowsならC#一択になる傾向があるのが、私の最近なのですが、C#で記述する部分をできるだけなくして、それ以外をGoで書けないかなぁと模索している中で、MVVMのM(Model)の部分をGoで記述して、V-VMの部分のみをWPFで記述し、間をプロセス間通信でどうにかすれば、WebアプリのJavascriptとバックエンドの関係のように記述できないかなぁ?と思ったりしています。 なので、今回はプロセス間通信にGRPCを使って、GUI部分をC#で、ロジック部分をGoでコーディングしたらどうなるか?という試験的なアプリを作ってみました。 アプリを雑なイメージにするとこんな感じです。 C#側をGRPCのクライアント、Go側をサーバーにします。ア

    試験的にC#(WPF) と Go を GRPC を用いて連携させる - bamchoh’s diary
  • Go言語での構造体実装パターン

    Go言語での構造体実装は、埋込や独自コンセプトのインターフェースといったGo言語独自の機能を理解して行う必要があります。 今年からGo言語を始めましたが理解が曖昧なままだと実装に迷うことが何度かありました。今回よい機会なので、Go言語での構造体実装パターンとしてまとめてみることにしました。 構造体実装パターン 実装パターンの洗い出しとして、GoFデザインパターンをGo言語で実装する手法をとりました。 その中で繰り返し現れる実装をGo言語での構造体実装パターンとしてまとめてみました。 コンストラクタ関数 エクスポートによるアクセス許可 インターフェースによるポリモフィズム 構造体によるポリモフィズム 構造体によるサブクラス・レスポンシビリティ 構造体による移譲 関数による移譲 以下、それぞれのパターンを解説していきます。 コンストラクタ関数 Go言語には構造体のコンストラクタがないため、構造

    Go言語での構造体実装パターン
  • DynamoDB×Go連載#1 GoでDynamoDBでおなじみのguregu/dynamoを利用する | フューチャー技術ブログ

    はじめにこんにちは、村田です。Go言語でWebサーバを実装していた際にDynamoDBを扱うライブラリとしてGregさんの https://github.com/guregu/dynamo を使っていました。(2年ほど稼働していますが、特に問題も出ていません) 当時Go初心者だった私は「go dynamo」とすぐさまGoogle先生に問い合わせ、「guregu/dynamoがオススメ」とのエントリーを多数発見しました。オブジェクトの取り回しが隠蔽化されていてとにかく実装が簡単だと記事にも書いてありましたし、私自身も実際そう感じました。 すでにタイトルからお察しかと思いますが、記事は連載第1回目です。時代の移ろいに合わせてDynamoDB×Go界隈の事情も刻一刻と変化しています。まずは私の利用していたSDK(guregu/dynamo)についてから連載をスタートします。 SDK(gure

    DynamoDB×Go連載#1 GoでDynamoDBでおなじみのguregu/dynamoを利用する | フューチャー技術ブログ
  • パスワード付きZIPファイルの有効性検証! Go言語を使ったマルチコア対応パスワードチャレンジプログラム

    強いパスワードを作成するアプリを作りましたが、実際現代のパソコンでパスワードを突破するのにどの程度の時間がかかるか検証してみました。 手頃で高速でマルチコアに強そうという理由でGo言語を使ってみた結果、1秒間に18万パスワードをトライできる性能となりました。数字7桁のパスワードなら1分、8桁でも遅くとも10分で突破できます。 パスワードトライ中、全CPUフルに使い切ってます! goルーチンを使って、1,2,3,4,5・・・と増やしてみたところ、Core i5の2コア4ハイパースレッディングでは、3が最も速いという結果となりました。ただ、最速でも1スレッドの2倍弱にしかなりませんでした。 そもそも、今回のプログラムは無駄が多いので、パスワードトライに特化してメモリの動的確保を0にすれば、更に10倍くらい速くもできるはず。 GPUをうまく使えば、飛躍的な高速化ができるかも? アルファベット小文

    パスワード付きZIPファイルの有効性検証! Go言語を使ったマルチコア対応パスワードチャレンジプログラム
  • Awesome Go : 素晴らしい Go のフレームワーク・ライブラリ・ソフトウェアの数々 - Qiita

    元記事: Awesome GO Awesome List in Qiita Awesome Ruby Awesome Java Awesome JavaScript Awesome Node.js Awesome Python Awesome Selenium Awesome Appium オーディオ/ミュージック オーディオを操作するためのライブラリ. EasyMIDI - EasyMidi は, 標準の MIDI ファイル (SMF) を作業するためのシンプルで信頼性の高いライブラリです. flac - FLAC ストリームをサポートするネイティブ Go FLAC エンコーダ/デコーダ. gaad - ネイティブ Go AAC ビットストリームパーサ. go-sox - libsox の Go バインディング. go_mediainfo - libmediainfo の Go バインデ

    Awesome Go : 素晴らしい Go のフレームワーク・ライブラリ・ソフトウェアの数々 - Qiita
  • Goでツールを量産する僕の方法

    Profile id: Songmu (ソンムー) Masayuki Matsuki / 松木雅幸 Nature Japan 株式会社 取締役CTO おそらくはそれさえも平凡な日々 http://www.songmu.jp/riji/ https://metacpan.org/author/SONGMU 好きな言語は、PerlGo中国語 200+ GitHub Public Repositories 60+ CPAN Modules 50+ Go modules/tools 3 Times ISUCON Winner Using Perl YAPC::Tokyo 2019 ベストスピーカー

  • Essential Go

    Essential Go is a free book about Go programming language. It's part of Essential Programming Books. It's written to provide clear and concise explanation of topics for both beginner and advanced programmers. Most examples are linked to online playground that allows you to change the code and re-run it. You can also quickly navigate to desired content using table of content on the left and search

    Essential Go
  • Go言語のリアルタイムGC 理論と実践 | POSTD

    (編注:誤訳、意味の分かりづらい訳を修正しました。リクエストありがとうございました。) 毎日、Pusherは数十億のメッセージをリアルタイム、つまり送り元から宛先まで100ms未満で送信しています。どのようにしてそれを可能にしているのでしょうか。重要となる要因はGoの低レイテンシのガベージコレクタです。 ガベージコレクタはプログラムを一時停止させるものであり、リアルタイムシステムの悩みの種です。そのため、新しいメッセージバスを設計する際には慎重に言語を選びました。Goは 低レイテンシを強調している ものの、私たちは懐疑的でした。「当にGoを使えば実現できるのか? もしできるならどうやって?」 このブログ記事ではGoのガベージコレクタを、どのように機能し(トリコロールアルゴリズム)、なぜ機能し(こんなに短いGCによる一時停止時間の実現)、そして何よりも、それが機能するのかどうか(GCによる

    Go言語のリアルタイムGC 理論と実践 | POSTD
  • 「Go っていいの?」への応え

    Go Conference 2017 Spring で Lightening Talk で話し足りなかったことを書いておく。 Go で書いたと話すと「Go っていいの?」と聞かれることがある。まともに伝えたい相手であれば、この質問には直接答えずに「どんな課題があって、Go はどのようにその解決に役立ったのか」を答えている。 要素技術の選択には、かならず文脈が影響する。Matz がウェブアプリを作るのと、私がウェブアプリを作るのでは、そもそもの前提が大きく違う。あと、スキルが低い奴の話なんて、みたいな言われ方をされることもある。それはまあ正しいんだけど、そのスキルアップに1年かけてたら預金がなくなってしまうのだ。いや、半年ももたないか。いずれにしても、現時点でのスキルをスタート地点として、納期までに成果物を仕上げて、現金を獲得する必要がある。そういうのも文脈のひとつだ。 私は Python

  • Go言語のサンプルがつまった『Go By Example』 | 100SHIKI

    マニアックではあるが、最近興味があることなのでご紹介。 Go By Exampleでは、ちかごろ話題の「Go言語」のサンプルがたくさん紹介されている。 お約束の「Hello World」から、Go言語特有の並列処理まで網羅されているので勉強になる。 ちなみにソースコードの右上にあるアイコンをクリックすればその場で実行結果を確認できるようだ。 そろそろGo言語を勉強しなくちゃな、という方はいかがだろうか。

    Go言語のサンプルがつまった『Go By Example』 | 100SHIKI
  • 1