並び順

ブックマーク数

期間指定

  • から
  • まで

321 - 348 件 / 348件

新着順 人気順

golangの検索結果321 - 348 件 / 348件

  • proposal/design/44167-gc-pacer-redesign.md at master · golang/proposal

    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

      proposal/design/44167-gc-pacer-redesign.md at master · golang/proposal
    • Golang による順列列挙のパフォーマンス研究 1. 再帰を用いたやり方 - Qiita

      関連記事 本記事は Geek-Space Advent Calendar 2020 の 4 日目です。 Golang による順列列挙のパフォーマンス研究 1. 再帰を用いたやり方 (本記事) Golang による順列列挙のパフォーマンス研究 2. スタックを用いたやり方 Golang による順列列挙のパフォーマンス研究 3. 繰り上がり法(仮名) Golang で順列・組み合わせ・重複順列・重複組み合わせの列挙 はじめに 順列や組み合わせといえばこちら: "樹形図"です。 自分は中学受験算数とかで習った覚えがあります。中学受験やってない人はどこで習うんでしょうね。 まあとにかく、人間はこれを描くことで、順列を機械的に列挙していくことができます。 「機械的に列挙できる」ということは、その手順を Golang で書き表せられれば、コンピューターにだって順列が列挙できるはずなわけです。 そこで"

        Golang による順列列挙のパフォーマンス研究 1. 再帰を用いたやり方 - Qiita
      • GitHub - ad-sho-loko/bogoDB: A toy dbms implementation written in Golang

        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

          GitHub - ad-sho-loko/bogoDB: A toy dbms implementation written in Golang
        • Echo(Golang web framework)のディレクトリ構成の参考情報 - OSS「echo-sample」のコードリーディング - ryotaku's Tech Blog

          TL;DR echo-sampleは、こんな構成だった TL;DR きっかけ echo-sampleの概要 ディレクトリ構成 個々の構成毎の役割 main.go 役割 詳細 route 役割 詳細 middleware 役割 詳細 handler 役割 詳細 db 役割 詳細 conf 役割 詳細 api 役割 詳細 model 役割 詳細 /db/ddl.sql 役割 詳細 参考リンク きっかけ 業務で、GolangとそのWebフレームワークのEchoで、APIサーバーを作る機会があったのですが、初めて触るのでディレクトリ構成で悩みました。 必要なのは、Clean Architectureなどでガッツリ分離する必要も無いくらいのシンプルな機能のみなので、OSSで程よい構成のお手本を探しました。 いくつかEchoを利用したリポジトリがある中で、echo-sampleが簡潔な構成で参考になり

            Echo(Golang web framework)のディレクトリ構成の参考情報 - OSS「echo-sample」のコードリーディング - ryotaku's Tech Blog
          • テキストエディタ GNU nano チートシート - golangの日記

            テキストエディタ GNU nano のショートカットキーと設定方法などの使い方。「vim 使うから nano なんてどうでもいいよ」って人が多いのかもしれないけどlinux 使ってるとデフォルトのエディタがこれになってることがあるのでまとめたやつ。 目次 ショートカットキー ヘルプの ^ / M / Sh の意味 ヘルプ(- help) ファイル操作(- file) マウス(- mouse) インフォメーション関連(- information) 移動(- move) 削除 (- delete) コピー/切り取り/貼り付け (- copy - cut - paste) 行の連結 (- join - justify) アンドゥ/リドゥ (- undo - redo) 改行/行の追加 (- new line) インデント (- indent) 検索 (- search - find) 置換 (-

              テキストエディタ GNU nano チートシート - golangの日記
            • 【Golang】BLAKE3 for Go の使い方【FNV1 より数倍速いってマ?ッハ?】 - Qiita

              SHA-3 のコンペで最終選考まで残って Keccak に負けた BLAKE2。その後継である BLAKE3 が「爆速らしい。しかも FNV1a より数倍」と聞いたので試してみたい。 でも公式は Rust と C 言語での実装なのです。どちらも話せません ... 最近勉強している ​Go 言語(以下 Golang)で試してみたかったのです。 BLAKE3 | BLAKE3-team @ GitHub BLAKE3 の仕様書: BLAKE3 Specs @ GitHub 関連記事: hashアルゴリズムとハッシュ値の長さ一覧(+ハッシュ関数の基本と応用) @ Qiita TL; DR (今北産業) 16・・ バイト長ハッシュで速い FNV1 より、64・・ バイト長ハッシュの BLAKE3 の方が 8 倍以上速かった。😱 試したライブラリ(どちらも BLAKE 非公式): BLAKE3 f

                【Golang】BLAKE3 for Go の使い方【FNV1 より数倍速いってマ?ッハ?】 - Qiita
              • Golang - How to Prevent Output from log Package

                2019-11-19 tips Golang Go の 標準 log パッケージ からの出力を実行時に抑止する方法について モチベーション CLI ツール を作っている際に、 所謂 verbose モード を提供したいと思った。 OPTIONS: -verbose 詳細メッセージを出力する 各種CLIツールでよくお目にかかるオプションかと思う。 各種ロギングライブラリは、大抵実行時に出力するログレベルを制御する機能が提供されているため、 main.go だけで完結する様な 簡易なツールである場合は それらを導入してしまえば実現は簡単だ。 しかし、今回作ろうとしている ツール は基本的な処理はライブラリとして単独で提供し、 エントリーポイントとして main パッケージを実装する構成にしていたため、既存のロギングライブラリ の採用はリスクが伴う。 既存のロギングライブラリを使うのは絶対に止め

                  Golang - How to Prevent Output from log Package
                • VSCode Remote DevelopmentでGolangの開発環境を爆速で構築する - Qiita

                  この記事は株式会社クロノスの「~2020年春~勝手にやりますアドベントカレンダー」の10日目の記事です。 「~2020年春~勝手にやりますアドベントカレンダー」インデックスはこちら(随時更新) 前回の記事で作成したカレンダーはこちら はじめに 開発環境、どうやって構築していますか? ローカルに色々インストールしちゃう人も多いと思いますが、言語のバージョン違いや環境変数などで、「自分の環境では動くんやけど、他人の環境では動けへん。なんでや・・・」みたいな光景を開発者であれば一度は目にしてきたのではないでしょうか。 解決方法はいくつかありますが、今回はVSCodeのRemote DevelopmentとDockerを使った方法を紹介したいと思います。 DockerはもはやWebエンジニアにとっての必須教養と言っても過言ではないと思いますので、これを期にDockerでの環境構築を始めてみても良い

                    VSCode Remote DevelopmentでGolangの開発環境を爆速で構築する - Qiita
                  • How to kill a dragon: Rewriting your app to Golang

                    Let’s imagine that your application is written in some scripting language — e.g. Ruby — and you want to rewrite it in Go. You may ask a reasonable question: what is the point in rewriting a program that is up and running?.. Why?Firstly, let’s assume that your program is connected to a certain ecosystem. In our case, the ecosystem includes Docker and Kubernetes. The entire infrastructure of these p

                      How to kill a dragon: Rewriting your app to Golang
                    • 【Golang/Go言語】Airでホットリロードをする方法 - Awesome Blog

                      【Golang/Go言語】Airでホットリロードをする方法

                      • GolangのContext入門 - 体はドクペで出来ている

                        Contextとは何か? Golangには context という標準パッケージがあります(以前は実験パッケージ golang.org/x/net/context でしたがGolang1.7から標準採用されました)。これは「コールグラフの下流をまとめてキャンセルさせたい」「リクエストスコープな値をコールグラフの下流に伝播させたい」という場合に使用します。 Webアプリケーションを作る場合で想定してみましょう。リクエストが来るとHTTPハンドラーが何か値を取り出して関数に渡し、その関数が更に別の関数を呼び、DBから情報を取得したりと諸々の処理を経てユーザーへレスポンスを返すとします。この時何らかのトラブルがあってDBのレスポンスが極端に遅くなるとユーザーはいつまでも待つことになってしまうのでタイムアウトをかけたいですね?しかし真っ当に実装するとchannelをあちこちに持ち回したりしないとい

                          GolangのContext入門 - 体はドクペで出来ている
                        • Casbin · An authorization library that supports access control models like ACL, RBAC, ABAC for Golang, Java, C/C++, Node.js, Javascript, PHP, Laravel, Python, .NET (C#), Delphi, Rust, Ruby, Swift (Objective-C), Lua (OpenResty), Dart (Flutter) and Elixir

                          In Casbin, an access control model is abstracted into a CONF file based on the PERM metamodel (Policy, Effect, Request, Matchers). So switching or upgrading the authorization mechanism for a project is just as simple as modifying a configuration. Besides memory and file, Casbin policy can be stored into lots of places. Currently, dozens of databases are supported, from MySQL, Postgres, Oracle to M

                          • SSH クライアント設定入門 for Golang - じゃあ、おうちで学べる

                            概要 離れた場所にあるLinuxサーバーをリモート操作する為には、SSHは欠かすことができません。 本記事ではSSHの基本と実装までをやっていきます。 誤まった内容があればnwiizo までご指摘いただければと思います。 概要 SSH の基礎 接続設定 ssh.ClientConfig SSHサーバーに接続情報を登録する 最後に SSH の基礎 SSH(Secure Shel)は、遠隔のホスト間の通信でサービスを安全に運用するための暗号化ネットワーク技術です。強力な認証機能と暗号化により、ファイルの転送やリモート操作を安全に行うことができます。Linuxでは、OpenBSDによるOpenSSHが一般的に利用します。 SSHは前述した通り通信の暗号化を行って安全な通信を実現します。たとえば、telnet を使った場合、通信内容はプレーンテキストなので、通信経路を盗聴されると容易にID/PAS

                              SSH クライアント設定入門 for Golang - じゃあ、おうちで学べる
                            • GitHub - linyows/go-retry: A retry command by golang on CLI.

                              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

                                GitHub - linyows/go-retry: A retry command by golang on CLI.
                              • Using Domain-Driven Design(DDD)in Golang

                                Domain-Driven Design pattern is the talk of the town today. Domain-Driven Design(DDD) is an approach to software development that simplifies the complexity developers face by connecting the implementation to an evolving model. Note This is not an article that explains the "ideal" way to implement DDD in Golang because the author is no way an expert on it. This article is rather the author's unders

                                  Using Domain-Driven Design(DDD)in Golang
                                • RESP(Redisプロトコル)を話す in Golang. - Nullable

                                  概要 ひょんなことをキッカケにGo言語で簡易的なRedisのサーバを書いたので簡単にまとめようと思う。 https://github.com/0n1shi/beehive-redis 動作としては以下のように普通のRedisサーバとなんら変わりなく、redis-cliからも接続することができる(コマンド数は極端に少ないが)。 # terminal 1 $ beehive-redis run --config conf.yaml 2022/02/20 09:17:27 starting Beehive Redis server ... # terminal 2 $ redis-cli 127.0.0.1:6379> keys * (empty array) 127.0.0.1:6379> set msg "hello world" OK 127.0.0.1:6379> get msg "he

                                    RESP(Redisプロトコル)を話す in Golang. - Nullable
                                  • GitHub - knchan0x/umeshu: Umeshu is a mini web framework written by Golang for for learning purposes.

                                    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

                                      GitHub - knchan0x/umeshu: Umeshu is a mini web framework written by Golang for for learning purposes.
                                    • golang error handling (Go1.13) - Qiita

                                      初めに 自分で簡単なWebサービスを作っていくにあたり、どこでどういうエラーが起こったのかわかりにくく、エラー解消に多くの時間を割くということがおきた。そのため、エラーハンドリングを学び、この問題を解消したいと考えた。 version go version go1.13.3 対象読者 エラーハンドリングって何?という人 エラーハンドリングをやっていきたいが、何が正解かわからない人 一緒にエラーハンドリングについて考えてくれる方 躓いたところ GolangのVersionが上がりライブラリerrorsに変更が加えられた。そのため、今までのエラーハンドリングと違うやり方になったらしい。それでは、どういう場合にどういうエラーハンドリングを採用すればいいかというところで沼にハマってしまった。 Go1.13 ライブラリerrors エラーハンドリングをする意義 初めにで書いたように、エラーハンドリン

                                        golang error handling (Go1.13) - Qiita
                                      • Go database/sql チュートリアル 07 - エラーハンドリング · golang.shop

                                        Go database/sqlチュートリアルのエラーハンドリングの日本語意訳になります。 エラーハンドリング database/sql でのほぼ全ての操作では最後の返り値としてエラーが返却されます。 それらのエラーを必ずチェックし、無視しないでください。 エラー動作が特殊だったり、何かが追加されているケースはいくつかあり、知っておくべきものもあります。 取得行セットの繰り返しによるエラー 以下のようなコードがあるとします。 for rows.Next() { // ... } if err = rows.Err(); err != nil { // ここでエラーを処理する } rows.Err() でのエラーは、 rows.Next() ループ処理内の様々な種類のエラーの結果が入る可能性があります。 ループ処理は正常に終わるだけでなく、何らかの理由によって終了してしまうかもしれません。 そ

                                        • sqlc と golang-migrate で PostgreSQL を扱う

                                          これは Go Advent Calendar 2021 の 5 日目の記事です。 はじめに sqlc は SQL から Go のコードを生成するライブラリです。一般的な ORM にはコードから SQL を生成するものが多いと思いますが、 sqlc はそれらと真逆のアプローチを取るユニークなライブラリです。 本記事では sqlc と golang-migrate を使って PostgreSQL を扱う Go アプリケーションの構築を行ってみます。 kyleconroy/sqlc: Generate type safe Go from SQL golang-migrate/migrate: Database migrations. CLI and Golang library. ディレクトリ構成 . ├── db │   ├── db.go │   ├── migrations │   │  

                                            sqlc と golang-migrate で PostgreSQL を扱う
                                          • bmf-tech.com - Golangでロードバランサーを実装する

                                            概要この記事はMakuake Advent Calendar 2021の24日目の記事です。(大遅刻しました・・) ラウンドロビンで負荷分散するロードバランサーをGolangで自作してみるという話です。 ロードバランサーとは何かロードバランサーはリクエストを複数のサーバーへ振り分けて負荷分散する(ロードバランシング)機能を持ったサーバーです。 サービスの可用性を高めてくれるリバースプロキシの一種です。 ロードバランサーの種類は大きく分けて2種類あります。アプリケーション層で負荷分散するL7ロードバランサーと、トランスポート層で負荷分散するL4ロードバランサーです。 ロードバランサーは、ロードバランシングの他、パーシステンス(セッション維持)とヘルスチェックの機能を兼ね備えています。 ロードバランシングの種類負荷分散には静的な方式と動的な方式のものでそれぞれ種類があります。 静的なものの代表

                                              bmf-tech.com - Golangでロードバランサーを実装する
                                            • 【Golang】Github actionsでカバレッジを取得しCodecovにアップロードする - Simple minds think alike

                                              Go言語で作ったアプリケーションのGithubリポジトリでGithub actionsワークフローを設定し、 codecov にカバレッジを送る設定方法を紹介したいと思います。 codecov は、テストのコードカバレッジを取得してくれるツールです。テストスイートを実行した時にソースコードの実行箇所を視覚的に示してくれて、どこに新しいテストを書くべきか分かりやすくなります。 緑: テストスイートによってソースコードが実行されている箇所 黄: テストスイートによってソースコードが部分的に実行されている箇所(具体的には、真偽値が返るところで、 true か false のどちらかしか返っていない箇所) 赤: テストスイートによってソースコードが実行されていない箇所 忙しい時はテストコードを書くのが手抜きになったりするのですが、 codecov を使っているとカバレッジが定量的・視覚的に表現され

                                                【Golang】Github actionsでカバレッジを取得しCodecovにアップロードする - Simple minds think alike
                                              • Golang APIレイヤードアーキテクチャで組んでみた。 - Qiita

                                                初めに 今回アーキテクチャを触れるきっかけは、Golangで成果物を作りたいと考えたときに、文法などの知識を知っていてもどのようにフォルダの構造を決めてどの実装から取りかかればいいかわからなかったことです。アーキテクチャを勉強することでどのpackageがどのpackageに依存しているのかを明確にすることができるとともに、どの実装から取りかかれば良いのかも依存関係から知ることができる。 対象読者 アーキテクチャってなんだろうという方 Goで何か成果物を作りたいが最初何から実装すればいいかわからない方 他 実装内容 今回実装したのは、TodoリストのRESTAPIである。この記事を書いたのはGetAll()APIを実装した段階である。

                                                  Golang APIレイヤードアーキテクチャで組んでみた。 - Qiita
                                                • Golang で標準出力をテストする - oden77のブログ

                                                  はじめに Golang で fmt.Printf などの標準出力結果をテストしたい場合、出力をキャプチャすることでテストが可能になります。 標準出力するプログラム 例として物凄く単純な標準出力するだけの関数を用意します。 func print(str string) { fmt.Printf("%s", str) } 出力のキャプチャ 出力をキャプチャするには出力先を一時的に切替て、出力結果を値として取得することで実現可能です。 fmt.Printf の出力先である os.Stdout の型は *os.File です。 *os.File で出力を受けて、値を取得するには os.Pipe() が役に立ちます。 os.Pipe() は戻り値として writer と reader が取得できます。 つまり出力先を os.Stdout から writer に切り替えて、 reader から値を取得

                                                    Golang で標準出力をテストする - oden77のブログ
                                                  • 初心者がGolangでDiscordBot作って痛い目にあった話 - Qiita

                                                    概要 GolangでDiscord用抽選Botを開発した ライブラリの挿入や構造体の定義が初心者には注意が必要と悟った 経緯 モンハンで使うBotが作りたかった。以上! モンハンワールド・アイスボーン専用のBotを作っていた 毎回モンハンアイスボーンで一緒に狩猟をする友人(HR/MR:999)が クエストと狩猟対象もルーレットで決めたい と変なことを言っていたため、HR400の私は恐怖のあまり拒否できずワールドで出現する武器・モンスター・クエストを全て抽選できるBotをPythonで開発しました。名前を「受付ジョー」としています。食欲が伺える最高の名前ですね。 食事をするだけでなく、武器などの抽選を行ってくれます。 ちなみにHerokuにコードをぶん投げて、そこで仕事させています。 新作に向けて改修が必要になっていた 現在は次回作であるモンスターハンターライズが発売されており、今夏にはサン

                                                      初心者がGolangでDiscordBot作って痛い目にあった話 - Qiita
                                                    • Golang for Web (Part-I): Build your first REST API with Golang & Fiber

                                                      Golang for Web (Part-I): Build your first REST API with Golang & Fiber This is the first part of this series on Golang for Web. My goal is to show the newcomers how easily we can build REST APIs with Go by breaking down big apps into small ones. Here, we're going to build a simple TODO app webserver with Gofiber by separating all routes, controllers, etc. Go: An open-source programming language Go

                                                        Golang for Web (Part-I): Build your first REST API with Golang & Fiber
                                                      • Rethinking Error Handling in Golang

                                                        Image: https://stackify.com/learn-go-tutorials/Errors are one of the most important aspects of a programming language. The way you handle errors impacts the performance of the application in many ways such as, ConsistencyTraceabilityDebuggabilityMaintainabilityHow errors are defined in Golang is a bit different from languages like Java. In Go, errors are values. For example, you can assign an erro

                                                          Rethinking Error Handling in Golang
                                                        • GitHub - jojoarianto/go-ddd-api: API with domain driven design approach using golang, gorm, and mysql

                                                          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

                                                            GitHub - jojoarianto/go-ddd-api: API with domain driven design approach using golang, gorm, and mysql