タグ

golangとprogrammingに関するmanabouのブックマーク (8)

  • ゲームエンジンはアートである - 8 年以上自作ゲームエンジンをメンテし続けている話|Hajime Hoshi

    自分は Ebiten という 2D ゲームエンジン (ゲームライブラリ) を趣味で開発しています。使用しているプログラミング言語は Go です。 2013 年 6 月に最初のコミットを行ったので、現在 8 周年の 9 年目です。 Ebiten は「くまのレストラン」などのモバイル及び Nintendo Switch 向けゲームで使われており、一定の実績があります。 ゲームエンジンの開発は一朝一夕では終わりません。UnityRPG ツクールといった既製品がある中、ゲームエンジンをわざわざ自作することは酔狂かもしれません。ではなぜそのようなことをしたのでしょうか。端的に言うと「ミニマムな API で実用的な 2D ゲームが作れるかどうか」ということを証明したかったのです。自分の美的感覚の追求です。この目的に気づいたのは割と最近のことです。やっていくうちに「自分がやりたかったのはこういうこ

    ゲームエンジンはアートである - 8 年以上自作ゲームエンジンをメンテし続けている話|Hajime Hoshi
  • go-promptを使ったリッチなコマンドラインツールの作り方 - Qiita

    package main import ( "fmt" "github.com/c-bata/go-prompt" ) func completer(in prompt.Document) []prompt.Suggest { s := []prompt.Suggest{ {Text: "users", Description: "Store the username and age"}, {Text: "articles", Description: "Store the article text posted by user"}, {Text: "comments", Description: "Store the text commented to articles"}, {Text: "groups", Description: "Combine users with specif

    go-promptを使ったリッチなコマンドラインツールの作り方 - Qiita
  • Goではじめてみたブラウザの自動操作 - Qiita

    はじめに 面倒なWEBブラウザの定型作業を自動化したくて。 WEBブラウザの自動操作には定番のSeleniumを利用する。 Seleniumは主にウェブブラウザのテストに利用されているが、テスト用途以外でも利用はできる。 なおウェブスクレイピングが目的であれば、scrapeとかgoqueryなどを利用するほうが簡単。 それでもSeleniumを利用するのは、 実際のブラウザが利用できるという点であり、以下のような利点があると思っている。 IEなど特定のブラウザのみをサポートしているサイトの自動操作 ごりごりのJavascriptやFlashを利用されているサイトの自動操作 証跡として画面のスクリーンショットを取得できる 前提知識 WebDriverを介することで、スクリプトとしてJava,C#,Pythonなど多くの言語から利用できる ブラウザごとにWebDriverが用意されており、1つ

    Goではじめてみたブラウザの自動操作 - Qiita
  • mattnさんのリファクタリングを読み解く - 生涯未熟

    現在絶賛開発中のkirimoriですが、なんとGolang界隈で有名なmattnさんにリファクタリングをして頂くという、とても嬉しい事態がありました✨ kirimoriについてはこちら↓ syossan.hateblo.jp リファクタリング前提でかなり雑に書いていたのですが、めちゃくちゃ良い感じにコードを直して頂けたので自分の勉強のために読み解いてみます👏 リファクタリング前 kirimoriは以下の機能を有しています。 initコマンドでkirimoriの設定ファイル(toml形式)を作成します addコマンドでコマンドライン引数に指定したプラグインを追加します removeコマンドでコマンドライン引数に指定したプラグインを削除します listコマンドでプラグインの一覧を表示します で、構成的には kirimori.go に全てのコマンドの処理をベタ書きにしてある感じになっております

    mattnさんのリファクタリングを読み解く - 生涯未熟
  • GoでWebアプリケーション作る練習をした - はこべにっき ♨

    GoでWebアプリケーションを書いてみる練習として RequestBin ぽいものを試しに作ってみた。gomibakoという名前であまりひねりはない。以下のURLで試せます。 https://gomibako.douzemille.net/ ソースコードもGitHubに公開してある。 github.com 何ができるか HTTPリクエストを受け付ける用のURLを作ることができて、そのURLに対するHTTPリクエストのログをWeb上で確認することができる。ちょっとしたWebHookの動きのチェックとかリバースプロキシの設定確認とかに使えて便利。 具体的には以下の様にして使える https://gomibako.douzemille.net/ にアクセスして "New Gomibako" ボタンを押す https://gomibako.douzemille.net/g/deadbeaf123/

    GoでWebアプリケーション作る練習をした - はこべにっき ♨
  • Goならわかるシステムプログラミング

    Goで始める、すこし低レイヤのプログラミング入門。入出力、ネットワーク、メモリなど、現実の世界でプログラムが動くために必要な機能をプログラム言語Goを通して覗いてみよう。OSの機能とは何か、それをプログラミングでどう利用するのか、システムプログラミングの世界をプログラマの視点から眺めていく連載企画。 2017年06月21日 17時00分 プログラミング+ Go言語によるプログラマー視点のシステムプログラミング 第20回 Go言語とコンテナ 連載の最終回。この連載ではプログラムがコンピュータ上で動くときに何が起きているのかをGo言語のコードを通して覗いてきました。今回はその締めくくりとしてコンテナについて紹介します。 2017年06月07日 21時30分 プログラミング+ Go言語によるプログラマー視点のシステムプログラミング 第19回 Go言語のメモリ管理 ソフトウェアにとってメモリは不

    Goならわかるシステムプログラミング
  • Go 実践4日間 | POSTD

    私の仕事の一つに、簡単なバイナリファイルフォーマットのリバースエンジニアリングがあります。”簡単な”というのは、通常は他の人たちが実際の作業全てを行うからです。私はただ、1つか2つの特別なフラグの意味を理解し、できるだけ多くの発見をして自分のブログに公開するだけです。 バイナリファイルの心臓部をのぞくときは、バイナリエディタを利用しています。ただ、 私の気に入っているSynalyze It! でさえ、使うのは手間がかかります。ファイルフォーマットを解明しようとする時、それぞれのバイトの持つ意味を私自身の仮定に基づいてマークアップしたいのですが、今のところ、そのようなことができるバイナリエディタはありません。現状では、バイナリファイルのバイナリ情報を紙に印刷して、去年のテクノロジー関連のカンファレンスでもらったボールペンでマークアップするのが私のワークフローです。 木々を守り、カンファレンス

    Go 実践4日間 | POSTD
  • C言語でプログラミングする際の覚書(Notes on Programming in C) - YAMAGUCHI::weblog

    はじめに こんにちは、Go界のシャールト・コプリーです。気がついたら最後のエントリから3ヶ月も経ってました。 Goを始めると「なんでこういう書き方になってるんだろう」とか、「そもそもなんでこういう仕様になってるんだろう」とか思うことがちらほらあると思います。これは大いにGoの作者の一人であるRob Pike氏の思想に依るところがあるのが見受けられます。彼のプログラムに対する考え方が25年前に公開され「Pike Style」として知られていますが、いまもその考え方は大きくは変わっていないと思われます。せっかくなので翻訳しました。文はC言語に関する文章ですがその質は言語に依らないものだと思います。 Notes on Programming in C (追記)25年前なのでコンパイラの動作に依存する部分(includeに関する記述)などは古い部分もありますが、プログラミングスタイルに関する部

    C言語でプログラミングする際の覚書(Notes on Programming in C) - YAMAGUCHI::weblog
  • 1