OOC 2024 の発表資料です。後のフィードバックを参考に、より妥当な文言に改訂してあります。 ※ 本コンテンツには、一部特定の宗教思想の迫害に言及する表現がございますが、そのような行いを肯定する意図の内容ではございません。
OOC 2024 の発表資料です。後のフィードバックを参考に、より妥当な文言に改訂してあります。 ※ 本コンテンツには、一部特定の宗教思想の迫害に言及する表現がございますが、そのような行いを肯定する意図の内容ではございません。
この記事はWebAssembly Advent Calendar 2023 10日目の記事です. 2023年はGo1.21でWASI(WebAssembly System Interface)がサポートされるといった大きなリリースがありました.Go1.21のWasmのサポート状況,今後のWasmサポートについてまとめていきたいと思います. Go 1.20以前とWebAssembly 2018年のGo 1.11のリリース[1]以降,GoではWasmがサポートされています. package main import "fmt" func main() { fmt.Println("Hello, WebAssembly!") }
モチベーション WebAssemblyが面白そうだと思いつつ、HelloWorldだと味気ないし、SQLiteを移植した、というようなものだと複雑すぎるということで、少し複雑なGoのプログラムを、ブラウザで動かすように変更してみて、雰囲気を掴みたいと考えました。 Goのプログラムを書く 文字でHelloWorldのサンプルは味気ないということで、今回選んだのはGoで画像を生成するプログラムです。 以下の記事のプログラムをほぼそのまま利用しています(以下の記事では日本語を出すための内容が書かれていますが、その部分は今回はスルーします) package main import ( "bytes" "fmt" "image" "image/png" "os" "github.com/golang/freetype/truetype" "golang.org/x/image/font" "gola
Tweet 【Go言語入門】goroutineとは? 実際に手を動かしながら goroutineの基礎を理解しよう! はじめまして。2022年4月に中途入社し、現在Analytics Delivery Divisionでバックエンド開発をしているエンジニアのナムです。ARISE analyticsに入社してから開発言語としてGoを使うことになりました。Goの特徴・メリットはいろいろありますが、今回はその中でもgoroutineについて簡単に話したいと思います。 goroutineとは goroutineは「Goでプログラムの同時性を簡単に具現し、既存の単純スレッド基盤に比べて効率的な動作を遂行するために作った作業単位」です。全てのGoプログラムは必ず1個以上のgoroutineを持ち、常にバックグラウンドで動作します。それぞれのgoroutineは独立的に実行されます。goroutineの
Javaのエンジニアだった私がGo言語を始める上で学んだ開発環境のセットアップ方法についてまとめていきたいと思います。 Go言語をインストール後サンプルプロジェクトを作成し、Goのプロブラムの実行/ビルド方法や各種周辺ツールをご紹介していきます。 はじめに Javaのエンジニアだった私がGo言語を始める上で学んだ開発環境のセットアップ方法についてまとめていきたいと思います。 Go言語をインストール後サンプルプロジェクトを作成し、Goのプロブラムの実行/ビルド方法や各種周辺ツールをご紹介していきます。 この記事がこれからGo言語で開発を始めたい方のとっかかりになれば幸いです。 ※他言語で開発経験がある方を想定しております。 動作環境 今回使用した動作環境は以下のとおりです。 PC : Mac M1(Apple Silicon)チップ OS : macOS Big Sir 11.5.2 Go
この本の概要 開発が大規模化・長期化するほど,コードを「読む」コストは増大していきます。そのため「読みやすさ」の向上は,生産性を改善し,プロダクトの成長限界を引き上げる重要な手段と言えるでしょう。 本書は,読みやすさの本質を学び,実践するための考え方をマスターできる一冊です。体系的な理解を実現するため,あらゆる角度から,豊富な例を交えて解説しています。表面的なテクニックではなく,いま目の前にあるコードに最適な改良方法を選び取る力が身に付きます。 こんな方におすすめ プログラミングの基本を学び終え,さらにステップアップしたい方 1か月以上かかる長期の開発に携わる方 コーディングのルールをどう適用するか知りたい方 はじめに 第1章 可読性の高いコードを書くために 1-1 生産性への恩恵 1-1-1 開発の規模と生産性の関係 1-1-2 可読性を高めるための環境と評価体制 1-2 可読性の高いコ
入門本でGoの世界にGo!(言ってみたかっただけ) 2009年にあのGoogle発、Better Cの立ち位置でマスコットのゴーファー君とともに人気を伸ばしてきたGo言語。 コンテナやマイクロサービス関連、実行速度が求められる場面でもお馴染みになっています。先進的な企業での採用事例も多く、まだ使える人がIT業界全体ではそれほど多くないからか求人でもよく見かけます。なんとなく優秀なエンジニアや先端技術動向に通じたエンジニアが嗜んでいそうなイメージもあります。 最近入門したこともあり、ここでは日本で手に入るGoの書籍についてまとめてみました。2022年現在、電子書籍もしくは物理書籍で比較的手に入りやすいものを中心に、カテゴリ別、出版された順番に並べています。 プログラミング自体が初心者向け 初心者向けの本はここ数年で何冊か出ています。 入門Goプログラミング 2019年/5月刊行、海外の"Ge
はじめに あくまで一個人の意見なので絶対的な解ではないというのと、どっちをデフォルトに選んでも普通にアプリケーション開発してて困ることはほぼほぼないと思うので、そこまで気を揉むことでもない、ということだけ最初に述べておいて意見をしたためます。 TL;DR アプリケーション開発では基本的に type でおk Declaration merging したい時だけ interface ライブラリ開発のような使う側で拡張したい(Declaration merging したい)時は interface とりあえずチームでどっちをデフォルトにするかは統一しといた方が気持ちいい type と interface の違い 機能的にはそんなに大きな違いはなく、個人的に判断に関わるのは次の3つかなと思います。 interface では Declaration merging がされる。type ではされない
こんにちは。yoshiです。 先日(9月1日)にオープンされた TypeScript のプルリクエストがヤバいわよ!という話をします。 ※※※注意ここから※※※ 一応先に言っておきますと、これからする話はまだ PR 段階なのでそのまま取り込まれるかどうか分からないし、どのバージョンでリリースされるかも分かりません。ここで書いていることはリリース時には仕様が変わっている可能性は大いにあり、リリース後に検索等でこの記事にたどり着いた方は、もっと良い解説がどこかにあると思うのでそちらを参照することをおすすめします。 ※※※注意ここまで※※※ 該当の PR はこれです。 Template string types and mapped type 'as' clauses by ahejlsberg · Pull Request #40336 · microsoft/TypeScript この PR
初心者ながら急にTSの型で遊びたくなり,エラトステネスのふるいを使って素数を求めました. リポジトリ:sititou70/ts-prime-number-type TypeScriptとは TypeScript,あるいはTSとはプログラミング言語の一種であり,JavaScriptと型システムの悪魔合体です.以下のコードを見てください. 下線がついていない部分は通常のJavaScriptであり,下線の部分は 型 を表します.この例ではstring型のname変数に"sititou70"を代入しています. そして今回の記事では, JavaScriptを一切書かず,型システム(下線の部分)だけでプログラミングしよう と思います. 「何言ってんだコイツ」 と感じたあなたは正常です.感じなかったあなたはTSの変態です. TSの型はチューリング完全 もう数億回言われていることですが,TSの型システムは
Accidentally Turing-Complete ― Andreas Zwinkau 本来なら、チューリング完全となるべきではなかったものがある。これは、そのようなうっかりチューリング完全になってしまったものの例である。 C++テンプレート 当初はチューリング完全を目指していなかったが、C++テンプレートはチューリング完全になってしまった。その証明は、この論文にある(PDF) x86 MMU x86のpage fault handlingは、単純なマシンの実装に使える。原理としては、page faultが1 wordをスタックに積み、それによりアンダーフローを起こして別のトラップを生成する。この仕組みは、「減算して0以下ならば分岐」処理を実現する。チューリングマシンを実装するには十分である。デモ動画、講演動画 マジック・ザ・ギャザリング マジック・ザ・ギャザリングはカードゲームであ
There are a few trade-offs and key points to keep in mind in this area. Any decision that a user makes which affects the outcome gives that user an unfair advantage. Examples include: Using a blockhash, timestamp, or other miner-defined value. Keep in mind that the miner has a choice of whether to publish a block or not, so they could conceivably have one chance at the prize per block they mine. A
竈門禰󠄀豆子をMySQL5.6のテーブルにinsertしようとすると正しく格納できず、竈門禰となってしまうケースがあるという話を聞き、調べてみました。 実践 まずは試しにやってみます。 mysql> show create table verification\G *************************** 1. row *************************** Table: verification Create Table: CREATE TABLE `verification` ( `name` varchar(100) COLLATE utf8_bin DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin 1 row in set (0.01 sec) mysql> inse
はじめに Pythonで音を鳴らすという記事で、平均律とピタゴラス音律について触れました。音律とは、いわゆる「ドレミファソラシド」を、どのような周波数比とするかの決まりです。 よく使われる音律に「ピタゴラス音律」「純正律」「平均律」があります。せっかく自由に音を作れるようになったので、それを聴き比べて見ましょう。 ソースコードは以下においてあります。 kaityo256/python_play_sound Google Colabで開いてそのまま試すこともできます。 三種類の音律 ピタゴラス音律 ピタゴラス音律は、「2:3」の比にこだわった音律です。音は、周波数が整数比だときれいに響きます。そこで、周波数が二倍の音を「1オクターブ上の音」と呼びましょう。逆に周波数を半分にすると1オクターブ下がります。この1オクターブを8個の音に分け、「ドレミファソラシド」と名前をつけます。以下、「ドレミフ
デザインの「悪い方がよい」原則 The Rise of "Worse is Better" rpg@lucid.com 日本語訳: daiti-m@is.aist-nara.ac.jp 私や Common Lisp と CLOS のデザイナーのほとんどは、MIT/Stanford 方式の設計に親しんでいる。 この方式の核心は、「正しい」やり方をせよ、という ことにつきる。デザイナーにとっては、以下の点をすべて正しく満たすことが 重要である。 簡潔性 デザインは実装と使用法の両面において単純でなければならない。 このとき、使用法が単純な方が、実装が単純なことより重要である。 正当性 デザインはすべての点において正しいものでなければならない。 誤りは許されない。 一貫性 デザインは一貫性を欠いたものであってはならない。一貫性を保つ ためには完全性は少しだけ犠牲にしてもよい。一貫性は 正当性と同
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く