タグ

golangに関するrin51のブックマーク (19)

  • Nintendo Switch™ ネイティブバイナリへの Go コンパイルを成功させた話

    記事は「Go Advent Calender」25 日目の投稿です。 Happy Holidays! EDIT (2022-01-03): There is an English version of this article. tl;dr いままでは Go プログラムを Nintendo Switch 上で動かすために WebAssembly に一度変換し、それを C++ に変換してコンパイルするということを行ってきました。今回、 Go の Nintendo Switch 向けネイティブコンパイルに成功し、実際に手元でゲームを動かすことができました。手法として、システムコール呼び出しを C の関数呼び出しに置き換えるように -overlay オプションを指定してビルドしました。また、 -overlay オプションに指定する JSON を生成するパッケージ Hitsumabushi を開

    Nintendo Switch™ ネイティブバイナリへの Go コンパイルを成功させた話
  • ファイルパーミッションでスロットがしたい - Qiita

    この記事は2021年Goアドベントカレンダー1日目の記事です。 ファイルパーミッションでスロットするコマンドラインツールを作りました。 経緯 ある日、サーバ上のとあるファイルの実行権限を変更する事がありました。 $ ls -lah sample_cmd -rwxr--r-- 1 jiro4989 jiro4989 0 Nov 21 15:14 sample_cmd* $ chmod 0777 ./sample_cmd $ ls -lah sample_cmd -rwxrwxrwx 1 jiro4989 jiro4989 0 Nov 21 15:14 sample_cmd* この chmod 0777って数字が3つ並んでるからパチスロみたいだなーーーと唐突に思いました。1 (パチスロやったことないですが) じゃあ、「ファイルのパーミッションをスロットで設定できたらテンション上がって地 味なサ

    ファイルパーミッションでスロットがしたい - Qiita
    rin51
    rin51 2021/12/02
  • GitHub - tokuhirom/git-xlsx-textconv

    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 - tokuhirom/git-xlsx-textconv
  • Gitで管理しているExcelファイルの差分を見る - Qiita

    動機 ExcelファイルをGitで管理しているときに、差分を見られると嬉しい。Git for Windows (msysgit)は、WordファイルやPDFファイルは差分を見られるように設定済で配布されているが、Excelファイルについては未対応。 できたこと git diffでExcelファイルに加えた変更を確認してからgit commitできる もちろん過去の履歴の差分も見られる 行頭にシート名が含まれていて複数シートにも対応している CUIでのExcelファイルの差分表示例 GUI (Git Extensions)でのExcelファイルの差分表示例 超便利!!! 使ったもの Git for Windows (msysgit) version 1.8.4.msysgit.0 Go 1.4.2 git-xlsx-textconv ab71fc84ecd7ae97b19305ba05159

    Gitで管理しているExcelファイルの差分を見る - Qiita
  • Let's EncryptがはまったGolangの落とし穴 - ぼちぼち日記

    0. 短いまとめ 300万以上の証明書の失効を迫られたLet's Encryptのインシデントは「Golangでよくある間違い」と書かれているようなバグが原因でした。 1. はじめに、 Let's Encryptは、無料でサーバ証明書を自動化して発行するサービスを行う非営利団体として2014年に設立されました。 2015年にサービス開始されると証明書の発行数はぐんぐん伸び、先月末のプレスリリースでは累計10億枚のサーバ証明書を発行したことがアナウンスされました「Let's Encrypt Has Issued a Billion Certificates」。CTLogの調査から、2020年2月末の時点では有効な全証明書の38.4%がLet's Encryptの証明書であるとみられています「Certificate Validity Dates」。 無料の証明書を提供してもらえるのは非常に嬉し

    Let's EncryptがはまったGolangの落とし穴 - ぼちぼち日記
    rin51
    rin51 2020/03/09
    変数のアドレスを格納してる?変数がスタック変数の場合は死ぬのでは
  • GitHub - Songmu/ghq-handbook

    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 - Songmu/ghq-handbook
    rin51
    rin51 2020/01/06
    > このリポジトリは、ソースコードリポジトリの取得・管理を便利にするコマンドラインツール、ghqの使い方の説明をするものです。
  • 依存関係管理ツールdep(golang) - Qiita

    皆さんこんにちは、Janです。最近シンプルなGo言語にハマって学び始めました。初めてのブログでGoのパッケージ管理ツールについて説明します。 dep とは npmのようなパッケージ管理・依存関係管理ツールです。 dep と go getの違い dep とgo getは類似のことをやっていますが、違う目的で使用されています。 ではそれらの違いを見てみましょう。 go get 自分のgoプロジェクトに外部パッケージを取得することで作業できるようになり、それ全てが$GOPATH/src/github.com/の下にダウンロードかつインストールされて共有で使用できるようになります。 dep 自分のコードに依存関係を使いたいなら、それをダウンロードして使用することができます。 ワークフローとして,コードにインポートを追加して、dep ensureコマンドで実行することによってGopkg.toml,G

    依存関係管理ツールdep(golang) - Qiita
    rin51
    rin51 2018/03/16
    vendor以下に配置される
  • Goと依存パッケージ管理

    gistfile1.md このgistは Cloud Foundry Advent Calendar 2013 の16日目の記事です。 はじめに 現在、CloudFoundryのComponentsはGo化しつつあります。それにより、Rubyで実装されていたものに対して性能向上していたり、ソースが読みやすくなっていたりする(こちらは主観ですが・・)半面、開発者にとっての課題も生まれています。その課題のひとつが__依存パッケージ管理__です。まずはRubyの外部パッケージ管理について簡単に振り返りつつ、Goのそれを見ていこうと思います。 依存パッケージ管理(RubyRubyでは外部パッケージはGemファイルとなっており、大抵の場合、Bundlerで管理します。また、最新版が動くとは限らないため設定ファイルにバージョンを指定してそれを使用します。Gemファイル自体はRubyGems.org

    Goと依存パッケージ管理
  • Big Sky :: Go言語で ping を打って「にゃーん」を表示させる

    pingを打つと「にゃーん」を返すサービス、ネットワークエンジニアが開発 - ITmedia NEWS 関連記事 メイドさんと一緒に学ぶ「週末プログラミングスクール」開校 そこに隠された2つの社会的意義 一見、華やかな場の創造に見えるこの取り組みだが……。 太田智美がなんかやる:WWDC冒頭で、クックC... http://www.itmedia.co.jp/news/articles/1709/07/news106.html ping を打ったら「にゃーん」と文字が表示されるサービス。ICMP でメッセージを送信したら応答を返す、普通のプロトコルなのだけど、文字のドットが存在する部分だけタイムアウトエラーが発生するという物。どうしてもこれを Windows でしかも golang で実行したかったので作ってみた。golang にも ICMP プロトコルを扱うパッケージが用意されている。

    Big Sky :: Go言語で ping を打って「にゃーん」を表示させる
    rin51
    rin51 2018/03/16
    にゃーん
  • CIでビルドが終わると光るゴーファーを作る - Qiita

    これは何か CIでビルドの開始や完了したとき、CIからURLを叩くと通知してくれるデバイスです。 ブランチ名とビルド開始、成功、失敗を表示してくれます。 すべての写真はこちら 動画はこちら どうやって動いているのか? CIがURLを叩いてから、通知されるまで流れは簡単に次のようになります。 CIがGoogle Cloud FunctionsのURLを叩く ブランチ名と、ビルドの開始、成功、失敗のいずれかのフラグを送ります Google Cloud Functionsからsakura.ioのIncoming WebhookのAPIを叩きます sakura.ioの通信モジュールを繋げたArduinoからデバイスを制御します LCDにブランチ名とビルド状況を表示します RGB LEDをビルド状況に応じて光らせます 使われているパーツ sakura.ioのモジュール sakura.ioのArdui

    CIでビルドが終わると光るゴーファーを作る - Qiita
    rin51
    rin51 2018/03/07
    そこからか >透明のゴーファーフィギュアを作る
  • GoのBuild Constraintsに関するメモ - Qiita

    GoBuild Constraintsを使おうとしてハマったのでメモ。 Build Constraintsの後には空行が必須 Goでは、同一ディレクトリ以下のソースコードは全てビルド対象になります。これに対し「Build Constraints」というコメント的なものを使うことで、環境ごとにビルド対象に含めたり外したりといったことができます。 参照:Package build - Build Constraints これによれば、コード先頭に次のように書けば、そのソースコードはビルド対象から外れそうに読めます。

    GoのBuild Constraintsに関するメモ - Qiita
    rin51
    rin51 2018/01/18
    +build ホゲ フガ って書くやつ
  • goで#ifdefのような条件分岐コンパイル - Qiita

    概要 goでC言語等の#ifdefのように条件によってコンパイルされるコードを分けたくなり、やり方を調べました。 build tagsを利用する 「Golang Cafe #25 まとめ デバッグとリリースビルドの切り替え方法を考える」を参考にためしてみました。 ソースファイルの先頭に、// +build <タグ名> や// +build !<タグ名> 等と入れておくと、 go build -tags=<タグ名> 等の指定にそってコンパイルするソースファイルを選別するようになるようです。 実際には以下のような記載になります。

    goで#ifdefのような条件分岐コンパイル - Qiita
  • Go言語でプログラムを実行中のアーキテクチャとOSを取得する。 - taknb2nchのブログ

    runtumeパッケージを使用すると簡単に取得できるようです。 package main import ( "fmt" "runtime" ) func main() { fmt.Println(runtime.GOARCH, runtime.GOOS) } $ go run sample.go amd64 windows

    Go言語でプログラムを実行中のアーキテクチャとOSを取得する。 - taknb2nchのブログ
  • 逆引きGolang

    これはなにか 逆引きRubyの内容をGolang化しつつあるものです。 当方も初学者なので、いろいろといい加減なコードが含まれると思いますが そのつもりでご参照ください。 Go 1.4.1 で確認しています。Golangは仕様変更が激しいので、都度仕様を確認ください。 なお、ソースコードはGithubに置いてありますので、 何かあればPull Requestでお知らせください。 なお、当初から予定していたファイル系とgoroutineまでなんとか書き上げたので、 ここでいったん更新を終了します(2015/08/12)。 目次 文字列 日付と時刻 数値 配列 マップ 正規表現 ファイル ディレクトリ goroutine Credits RubyTips is founded by TAKEUCHI Hitoshi. HTMLs are generated by Pandoc and deco

  • 組み込みLinuxでGolangのススメ - Qiita

    一年近く、組み込みLinuxでのユーザープロセスをgolangで書くことを試していたのですが、これはいける! という感触を持ちました。 仲間を増やしたいと思うので、ここにその情報を紹介します。 #何をしたか 既存の製品をベースにして、新機能の実装をGolangで書いてみました。 既存の部分はCで書いてあります。Golangで書いた新機能部分は別プロセスになっています。 既存部分とのやりとりは場面によって以下を使い分けました。 cgoによる関数呼び出し UNIXドメインソケットの通信 シグナル Golangで書いた部分には以下の要素を含みます。 UARTやi2cで接続されたセンサーからデータを受け取る インターネット上のWebサービスAPIを使用する 2Dグラフィックスの描画 (cairoを使用) 最大性能を目指すよりも、十分な性能を手早く形にすることを重視しました。 #Golangでよか

    組み込みLinuxでGolangのススメ - Qiita
  • 【Go】結局、$GOPATHと$GOROOTはどこに設定すればいいの?

    Goを勉強し始めようとしています。 そこでGoのインストールまでは行けたのですが、書籍やWebのリファレンスサイトによってGOPATHとGOROOTの指定がまちまちだなと感じました。 GOPATHはどこでもいいというリファレンスもあれば、$HOME/Work/goに指定すべき、などといった書籍もあり、結局どこに設定するのが一般的なのかがわかりません。 また状況によってはGOROOTも指定しなければならないというリファレンスもみかけます。 結局、どれになにを設定するのが正解なのでしょうか? 正解がなかったとしても一般的な設定はどれなのでしょうか? GOPATH、GOROOTを設定することによってどんな影響があるのでしょうか・・・? 今Goを動かそうとしている環境がLubuntuのため、Linuxの場合の設定方法を聞きたいです。 おこがましいことですがbashなどの前提知識がないので、そのへん

    【Go】結局、$GOPATHと$GOROOTはどこに設定すればいいの?
  • Goで覗くシステムプログラミングの世界

    プログラミングの勉強にあたってよく言われるのは、「流行に左右されるような技術の尻を追いかけるよりも、土台となる技術を身につけることが大切」ということです。 例えば、ウェブブラウザで動くJavaScriptを書くときは、流行しているライブラリの書き方を暗記するよりも、 ブラウザがどのようにCSSHTMLを解釈してスクリーンに文字や絵を描き出していく(レンダリングしていく)のかを理解することが大切です。 さもないと、ライブラリの流行が変わるだけで勉強したスキルが失われてしまいかねません。 データベースでも同じことがいえます。SQLの文法を学ぶことよりも、データベースがどのようにスケジューリングを行い、 どのようにデータを探索していくのかを学ぶほうが、パフォーマンス・チューニングのコツなどもひらめきやすくなるでしょう 1 。 「土台となる技術を身につける」を、もう少しちゃんと言い換えれば、「今

    Goで覗くシステムプログラミングの世界
  • 他言語から来た人がGoを使い始めてすぐハマったこととその答え - Qiita

    環境構築するまでに知りたかったこと Golangの最新バージョンは? 1.16.6 (2020/07/12リリース) Goのインストール方法は? macOS の場合は brew で OK この場合、goのsdkは /usr/local/Cellar/go/<バージョン>/libexec にインストールされます。 IntelliJ IDEA や GoLand にような IDE に「GOROOT」というものの指定を求められたら、このパスを使います。 brew で入らないバージョンの go が必要だったり、いくつかのバージョンを併用したい場合は $ go get golang.org/dl/go1.14.4 $ go1.14.4 download # 1.xx.0 の場合 $ go get golang.org/dl/go1.15 $ go1.15 download # 上記でgo getしたg

    他言語から来た人がGoを使い始めてすぐハマったこととその答え - Qiita
  • あなたのサーバは本当に安全ですか?今もっともイケてる脆弱性検知ツールVulsを使ってみた - Qiita

    はじめに サーバ管理をしている身としては、 セキュリティ は常に付きまとう悪魔みたいなもので、このセキュリティに関しては何をどこまで頑張ればいいのか不透明な部分が多い。 脆弱性に関しては、CVEなど、毎日情報は入ってくるが、それがどのサーバの何に関連したものなのかなんていちいち調べてられないし、どの脆弱性がすぐに対応しなければいけないもので、どの脆弱性があとあと対応すればいいものなのかなんてわからない。 実際のところ、大きな話題になった脆弱性くらいしか緊急で対応してないという人は多いのではないかと思う。 そんな中、満を持して登場したのが vuls !! 各サーバの脆弱性情報を取得して、個々のサーバそれぞれでどんな脆弱性があり、どのくらいやばい脆弱性なのかを検知できるようになった! 今回はこのvulsを紹介します。 Vulsとは 公式でロゴが発表されたので、差し替えました 公式ドキュメント:

    あなたのサーバは本当に安全ですか?今もっともイケてる脆弱性検知ツールVulsを使ってみた - Qiita
  • 1