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
GNU Assembler互換(サブセット)のアセンブラをGo言語でフルスクラッチで作ってみました。 開発22日目で自作Goコンパイラ(をセルフホストしたときに出力される20万行のアセンブリ)をアセンブルすることに成功しました。 どうやって作ったかというと、小さいコードを GNU Assembler (以下 as) に食わせて出力されたバイナリを観察する、を繰り返して中のロジックを推定し再現しました。as の実装は見ていません。(一瞬見たけど巨大すぎて何もわからなかった) アセンブラ自作は、やってみるとコンパイラ自作よりだいぶ簡単でハマりポイントも少ないので、学習テーマとしてはおすすめです。2箇所ほど難所(命令エンコーディングのルールを理解するのと、ジャンプ命令の最適化)がありましたがそれ以外はさくさく楽しく作れました。 作ってみた結果、アセンブリ言語の理解が深まったのはもちろんのこと、E
# GoでWebアプリケーションを作る # 0. この講義について ( 5 min ) # 0.1. 目的 あなたがプログラミングを行う際の選択肢として、Goを挙げられる為の第一歩となること より、知らない人に知ってもらうことを重要視しています # 0.2. 対象者 想定レベルは以下の通りです。 ls, cd 程度のLinuxファイル操作が行える curl の操作が行える 実行形式ファイル(.exeなど)という存在を知っている if, for, switch case などの、割と多くの言語で近い表現のある構文を知っている 関数、引数、戻り値 というキーワードを知っている 出来ると理解が捗るスキルは以下の通りです。 クラス、メソッド というキーワードを知っている どんな言語(COBOL, Javascript, bash, python, ...) でも良いので、簡単なコーディングを行った
こんにちは。現役エンジニアの”はやぶさ”@Cpp_Learningです。 Goのスクレイピングフレームワーク Colly を活用したWebスクレイピングをソースコード付きで紹介します。 Collyとは Collyとは、高機能かつ高速なWebスクレイピングを実現できるGophers向けフレームワークです。詳細については公式サイトをご確認ください。 Webスクレイピング入門 環境構築やWebスクレイピング前に確認すべきことを紹介します。 Go開発環境構築 はじめにgolang:1.14の開発環境構築をします。色んな構築方法がありますが、Dockerを使う場合は、以下の記事を参考にして下さい。 https://cpp-learning.com/gopherjs/ 続いて、公式 README.md にある go.mod をダウンロードします。お好みですが、今回は一部変更した以下の go.mod を
Go Conference Tokyo 2019 Autumnでの発表資料です。
This is the first part of a tutorial that introduces a few fundamental features of the Go language. If you're just getting started with Go, be sure to take a look at Tutorial: Get started with Go, which introduces the go command, Go modules, and very simple Go code. In this tutorial you'll create two modules. The first is a library which is intended to be imported by other libraries or application
概要 neovim で Go の開発環境を構築するために必要な情報、セットアップ方法についてまとめます。 なお macOS 上で確認していますが、適宜自分の環境に置き換えてください。 必要なもの 最新の neovim neovim のプラグインマネージャー 最新の Go 最新の gopls 最新の neovim GitHub リポジトリ v0.5.0 以上の neovim からビルトインの LSP クライアントが使えます。 私は GitHub から curl で最新のリリースを落としてきて使っています。 $ cd $ curl -LO https://github.com/neovim/neovim/releases/download/nightly/nvim-macos.tar.gz $ tar xzf nvim-macos.tar.gz PATH 環境変数に ~/nvim-macos/
以前、PythonでWebスクレイピングを行いました。 elsammit-beginnerblg.hatenablog.com 今回はPythonではなくGo言語で実施してみたいと思います!! ■事前準備 ■go言語でのWebスクレイピング ■おまけ ■最後に ■参考 ■事前準備 go言語でWebスクレイピングを用いるにあたり、 github.com/PuerkitoBio/goquery を用います。 使用書や使い方についてはドキュメントはこちらに用意されております。 https://godoc.org/github.com/PuerkitoBio/goquery こちらのライブラリを、 go get github.com/PuerkitoBio/goqueryにてインストールを行います。 ■go言語でのWebスクレイピング では、先ほどのライブラリを用いてWebスクレイピングを行います
Terraformのディレクトリ構成を環境ディレクトリで分けるかたちで見直したTerraformでリソースを破壊せず名称の変更やモジュール化をするTerraformでGoogle Cloudのインフラ構成を管理し始めるためにやったことDBeaverからWSL上で起動しているMySQLコンテナに接続するStorybookで使っていたMSWを1系から2系にアップデートしてみたEMになる前となった後の話なるべくユーザー依存を減らしてGoogle App ScriptからGitHubAPIを利用するAWS CDKに入門し、AWS費用をSlack通知する処理を書き直したNode.jsのDockerイメージを使ってマルチステージビルドをやってみたFastifyで既存のOpen APIファイルを読み込んでSwagger UIで表示できるようにするOASの内容を元に、Orvalで型やクライアントを生成する
JavaプログラマーのためのGo言語入門こちらはJava to Go in-depth tutorialの日本語訳です 原文の著者に許諾を得て翻訳・公開いたします。 このチュートリアルは、JavaプログラマーがすばやくGo言語にキャッチアップできるようにすることを目的としています。 目次 Hello stack 主な違い シンタックス(文法) 定数 構造体 ポインタ スライス 値の作成 メソッドとインターフェース エラー PanicとRecover ゴルーチンとチャネル Hello server Hello stack 1まずはじめに簡単な例を見ていきましょう。この例ではシンプルな抽象データ型をGoで実装しています。 // collectionパッケージはstring型を格納できるスタックを実装している package collection // Stackのゼロ値はすぐに使用できる空のス
はじめにTIG真野です。 Go 1.16連載の2つ目となるこの記事では、Go 1.16で機能追加された go install について説明します。 go installの新機能Go 1.16から go installに新機能が追加されました。go install 自体は従来から存在しているので全く新しいコマンドが増えたわけではなく、機能拡張されたイメージです。 現時点のリリースノートの記載はこちら、元のIssueはこちらです。起票されてから半年弱でリリースに含まれました。 go installの機能拡張部分ですが簡単に言うと、バージョン指定できるようになりました。言ってみればそれだけです。嬉しいこととして、それによってgo.modの書き換え無しにツールなどのインストールを行いやすくなりました。ちなみに、インストールとはコードをコンパイルして、$GOPATH/binとか$HOME/go/bi
The Gopher character is based on the Go mascot designed by Renee French. TIGの辻です。 Go 1.17連載の5日目の記事です。本記事ではGo1.17の go get に関するアップデートの詳細をお伝えします。 go get に関する変更点サマリ モジュール外からの go get におけるコマンドインストール時に、警告を出力する go get の -insecure フラグは使えなくなった、代わりに環境変数 GOINSECURE を使う モジュール外からの go get におけるコマンドインストール時に、警告を出力するgo get 時の警告Go1.16のリリースノートでも、コマンドのインストールで go get を使うのは非推奨、とお知らせがありましたが、Go1.17では、モジュール外からコマンドのバイナリを go
こんにちは、TIGの玉木です。Go 1.17連載の4記事目です。 この記事ではGo 1.17で更新があった負のruneの扱いについてです。更新自体は簡単なもので、この記事ではruneの説明から行います。 この記事を書いたきっかけGo 1.17のRelsease Notes1を眺めていたらいくつかの箇所で negative rune valuesという記述があり、runeってなんだ? と気になったことがきっかけです。 runeについてこちらのseihmdさんのQiita記事がとてもわかりやすかったです。詳細はそちらの記事に任せて、この記事では簡単な紹介に留めます。 コンピュータは文字を0と1のビットで表現します。例えば「”あ”, ”い”, “う”, “え”, “お”」の5種類の文字しかなければ、それぞれ「”000”, “001”, “010”, “011”, “100”」のように0と1で文字
はじめにGo1.17連載の2つ目です。 TIG DXユニット真野です。前回Go1.16連載の時も2つ目でGo 1.16のgo installについてについて触れました。今回は encoding/csv のマイナーチェンジ(APIが1個だけ追加した)という小ネタです。 Minor changes to the library in encoding/csvGo 1.17 Release Notesでencoding/xml, encoding/binaryとともに、encoding/csvも微修正がありました。 The new Reader.FieldPos method returns the line and column corresponding to the start of a given field in the record most recently returned by
1. はじめに Go 言語で実装されている静的ジェネレーターである Hugo は,ユーザーが自作したテーマを投稿することができる Hugo Themes が公式より提供されています。しかし,Hugo Themes にはレビュー機能やランキング機能が実装されていないので,自分に合ったテーマを探すのは時間がかかります。本記事では,筆者が独断と偏見で個人ブログに最適な Hugo テーマを選び,概要を記述します。 2. Ananke Gohugo Theme Ananke Gohugo Theme は,シングルカラムレイアウトのテーマです。公式のクイックスタートガイドで採用されているベーシックな Hugo テーマでもあります。表面上は,シンプルな構成になっていますが,ブログに必要な機能は一通り実装されているので,初心者でも簡単にブログサイトを構築することができると思います。 3. Github S
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く