並び順

ブックマーク数

期間指定

  • から
  • まで

241 - 280 件 / 1131件

新着順 人気順

処理系の検索結果241 - 280 件 / 1131件

  • 機械語手書きから言語処理系をブートストラップする - Qiita

    この記事は言語実装のカレンダー | Advent Calendar 2021 - Qiita https://qiita.com/advent-calendar/2021/lang_dev の4日目の記事です。 はじめに 昔、アセンブリ言語のみから出発し、GC・継続・オブジェクトシステムなどを持つ比較的高級な言語までブートストラップするということをやりました。いつか再挑戦してみたいと思っていて、正月休みにやりましたら思いのほか動くものになりましたが、死蔵させたまま1年経ってしまいました。勿体無いのでこの機会に紹介して供養します。 前回作ったAmberという処理系はこちら - リポジトリ: https://github.com/nineties/amber 今回はアセンブリ言語じゃなく ELFファイルの手書き から出発してみたいと思います。ただのお遊びで、そんなことしても役には立ちません。が

      機械語手書きから言語処理系をブートストラップする - Qiita
    • WasmLinux: LinuxカーネルをWebAssemblyにする

      LinuxカーネルがWebブラウザで動いたらどう考えても面白い んだけど、そこに至るまではなかなか難しい道のりになる。その第一歩として、Linuxカーネルのユーザーランド版であるLKL( https://github.com/lkl/linux )をWebAssemblyにコンパイルして、wasm2cでC言語に変換した上、Visual Studio 2022でコンパイルしてWindows上で実行してみた。 まだWebブラウザでは動いていないが、思ったよりは簡単にWasmに移植できた(個人の感想です) ウケが良ければMUSL libc移植編 → デバイスドライバ活用編 → Webブラウザ上動作編と続ける感じで。。 EDIT: Visual Studioのスクリーンショットを撮りなおし。 memory-control はanonymousなmapしか救えないので、ここ数年スパンではエミュレーシ

        WasmLinux: LinuxカーネルをWebAssemblyにする
      • 「Markdown+CSS/TeXで冊子本を作ってみた」に参加してみた - 自己顕示欲の開放治療所

        「Markdown+CSS/TeXで冊子本を作ってみた」に参加してみた connpass.com 2019/11/16 訂正 訂正いただきました箇所、打ち消し線と + 記号で大体わかるように、なっているといいな、しました。 開始前 記事中のAmazonのリンクはアフィリエイトにしていますので嫌悪感を抱かれる方は気をつけてください。 アンテナハウス株式会社*1様主催のセミナーに参加してきました。以前『PDFインフラストラクチャ構造解説』のPOD(Print On Demand)本を買ったときに存在を知り、ウェブサイトの「XMLに命をかけてくれ」というエピソード紹介が印象に残っていました。大規模、構造的ドキュメント用のソフトウェアに強みのある会社という理解です。 PDFインフラストラクチャ解説: 電子の紙PDFとその周辺技術を語り尽す 作者: 小林徳滋出版社/メーカー: アンテナハウスCAS電

          「Markdown+CSS/TeXで冊子本を作ってみた」に参加してみた - 自己顕示欲の開放治療所
        • Digdag + Embulkをクラウド転生させてデータ基盤運用を圧倒的に楽にした話 - エムスリーテックブログ

          こんにちは、エムスリー エンジニアリンググループ / 製薬企業向けプラットフォームチームの鳥山 (@to_lz1)です。 これは エムスリー Advent Calendar 2020 の19日目の記事です。 エムスリーでは現在、各システムのオンプレ環境からクラウドへの移行を急ピッチで進めているところです(勉強会の配信アーカイブをYouTubeでもご覧いただけます。公式テックチャンネルのご登録、ぜひお願いします!) www.youtube.com これに関連して私のチームでも最近「データ基盤(Digdag + Embulk)のクラウド移行」を行ったため、そのときに考えたことや移行して良かったことを共有したいと思います。 エムスリーのデータ基盤について それまでの構成 クラウド環境でのアーキテクチャ DigdagとEmbulkの分離 Digdag on AWSからBigQueryを操作する 併

            Digdag + Embulkをクラウド転生させてデータ基盤運用を圧倒的に楽にした話 - エムスリーテックブログ
          • 東京Node学園40時限目で話をしてきました | フューチャー技術ブログ

            オンライン開催された東京Node学園40時限目で発表してきました。スライドはこちらです。 内容としてはこのブログに書いた、gRPCがフロントエンド通信の第一の選択肢になる時代がやってきたかも?という記事をベースにして、gRPCとは何かとか、Connectプロトコルの存在や、今までの公式実装ととどのように開発のスタイルが変わるか、みたいな話を絵つきで説明したりしました。 あとは、streamを使って受信する部分のTypeScriptコードがどうなるかの紹介とかも追加しました。 // 単発実行 return await client.greet({name}); // ストリームからの受信 for await(const res of client.conversation({name})) { setMessage(res.message); } あるいは最近追加されたconnect-web

              東京Node学園40時限目で話をしてきました | フューチャー技術ブログ
            • ドキュメントでプログラミング言語に貢献する - Blog::kobaken

              8/26(土) は湘南.pm #1でした。初開催おめでとうございます!主催のid:papix ありがとうございました!! そこで話したことを書いてみます。 意識高めの題ですが、まずはじめに私は翻訳は全くの素人です。英語が得意だから、英語ドキュメントを翻訳してみようと思ったわけではないです。私の人生、翻訳にご縁があるとは思っていませんでした。 Perlの公式ドキュメントを和訳するようなワーキンググループを一年運営した話をしてみたいと思います。 一年やってみて良かったと思いますし、技術コミュニティに貢献する手として、みなさんの頭の片隅にでも残ったら良いなと思って話します。 こばけんと言います!エンジニア組織開発責任者をしたり、開発生産性の可視化サービスを作ったり、技術コミュニティ活動したり、起業の準備をしています。 そして、この場をお借りして、お知らせをさせてください! 2024年2月10日(

                ドキュメントでプログラミング言語に貢献する - Blog::kobaken
              • Ruby 3.0の静的型定義をTypeScriptみたいにライブラリに書いてみた所感 - Narazaka::Blog

                Ruby 3.0が先日のクリスマス(というか昨日)にリリースされたと言うことで、型をやっていきたいと思います。 当方TypeScript大好きっ子なのでRuby 3.0で取り込まれた最も注目すべき機能は静的型チェック関係なのですが、どうもその辺についていまいちまとまって書いてある物がなかった気がするので調べたことをメモします。 Rubyの静的解析 型宣言 rbsファイルを作る方法 実際に型宣言を書く(基本) 検査時の型アノテーションが貧弱でつらいぞ…… 所感 gemに型を含める Steepの作者さんからフィードバックをいただきました。(※追記) 実際に型宣言を書く(Rails関連) DefinitelyTyped相当?「gem_rbs」と「rbs_rails」 実際に型宣言を書く(頑張っていい感じにする)(※追記) VSCode拡張機能で充実する 所感 untypedでやっていき Defi

                  Ruby 3.0の静的型定義をTypeScriptみたいにライブラリに書いてみた所感 - Narazaka::Blog
                • Pythonと同じ文法でマイコンを操作できる「MicroPython」、エミュレーターもあり気軽に遊べる

                  マイクロコンピューターや組み込み機器で使われるプログラミング言語はCやC++が一般的ですが、プログラミング初級者にとっては学習障壁が比較的高い言語でもあります。Python 3と高い互換性があるプログラミング言語処理系「MicroPython」を使うと、プログラミング初心者でも理解しやすいPython 3の文法を使って手軽にマイコンをプログラミングすることができます。 MicroPython - Python for microcontrollers http://micropython.org/ MicroPythonは、Pythonの文法を使ってマイコンや組み込み機器のプログラミングができる言語処理系です。ソースコードがテストされた割合を示すコード網羅率はコア部分については98.4%であり、x86、ARM、Xtensaといった命令セットに対応しているとのこと。 例えば、MicroPyt

                    Pythonと同じ文法でマイコンを操作できる「MicroPython」、エミュレーターもあり気軽に遊べる
                  • OSS開発者が自分の人生を犠牲にしなくていい。「フルタイムRubyコミッター」という生き方が与えてくれた恩恵 - Findy Engineer Lab

                    お店のデジタル化を支援するSTORES 株式会社(以下、STORES)は、Rubyコミッターの笹田耕一(@koichisasada)さんと遠藤侑介(@mametter)さんの両名を社員として採用しました。笹田さんと遠藤さんはフルタイムのRubyコミッターとして STORES に入社し、Rubyの機能改善や品質向上のための仕事に専念します。 どのような経緯で、両名は STORES への転職を決めたのでしょうか。そして、今後の具体的な活動内容とは。笹田さんと遠藤さんにお話を伺いました。 「6月は2人で一緒に、フルタイムRubyコミッターとして働く道を探ろう」 笹田さんが取り組む並列並行処理の改善 遠藤さんが取り組む静的型解析 世の中のニーズと本人のモチベーションが合致して生まれる、奇跡的なキャリア 「6月は2人で一緒に、フルタイムRubyコミッターとして働く道を探ろう」 ――転職活動どうもお疲

                      OSS開発者が自分の人生を犠牲にしなくていい。「フルタイムRubyコミッター」という生き方が与えてくれた恩恵 - Findy Engineer Lab
                    • Rust + LLVMでプログラミング言語を自作してセルフホスティングした話

                      llrlは自作のプログラミング言語です。大きな特徴が2つあります。 Hindley-Milnerベースの型推論による静的型付け (+型クラス) Lisp-likeなS式によるシンタックスとLLVM JITによるマクロ この言語の処理系をRustとLLVMを用いて実装し、それをllrl上に移植してセルフホスティングを試みました。無事セルフホスティングを達成したので、取り組んだことやモチベーションなどを順に振り返りたいと思います。 LLVMについては、フロントエンド側・バックエンド側ともに既にいくらかの解説記事が見られるため、概要は省略します。今回は新たなプログラミング言語のバックエンドとしてLLVMを用いるので、LLVMのフロントエンド側の実装がメインとなります。 事の発端: LLVM Kaleidoscopeチュートリアル Kaleidoscopeは、LLVMのチュートリアルにおいて実装す

                        Rust + LLVMでプログラミング言語を自作してセルフホスティングした話
                      • ブラウザ, Node, Cloudflareでも動くDenoモジュール開発

                        ブラウザだけでなく、非ブラウザなJavaScript(JS)処理系も増えてきたので、「主要ブラウザ、Node.js、Cloudflare Workersでも動くDenoファーストなTypeScript/JavaScriptモジュール開発&CI/CD」をやってみました。一事例として共有します。 はじめに 最近、TypeScriptで hpke-js というモジュールをつくりました。 HPKE (Hybrid Public Key Encryption) というのは、ざっくり言うと、公開鍵を交換しあって共有鍵をつくり、安全にEnd-to-End暗号化をおこなうための規格です。これを Web Cryptography API 上に実装し、このAPIをサポートする複数のJS処理系(主要なWebブラウザ、Node.js、Deno、Cloudflare Workers)で動作保証する(ちゃんと全環境で

                          ブラウザ, Node, Cloudflareでも動くDenoモジュール開発
                        • 新連載「西川善司のバビンチョなテクノコラム」第1回。Appleの新プロセッサ「M3」はいかなるものぞ? | テクノエッジ TechnoEdge

                          テクニカルジャーナリスト。東京工芸大学特別講師。monoAI Technology顧問。IT技術、半導体技術、映像技術、ゲーム開発技術などを専門に取材を続ける。スポーツカー愛好家。 こんにちは。西川善司です。 昔、Oh! MZとかOh! Xというソフトバンクが出していたパソコン雑誌で、技術的な記事プログラムとか音楽作ったりしていた、プログラマー崩れの著述家です。 現在は、2台の大きさのだいぶ違うスポーツカーを乗り回したり、渓流ルアー釣りを楽しんだり、色んなゲームをプレイしたり、国内外の電機メーカー、半導体企業を取材したりしています。 自分は他媒体では、頂いた「1テーマ」に沿った技術コラムを書かせてもらっていますが、テクノエッジさんでは、そのメディア名を曲解して「技術の端っこ」をテーマにしたコラムを書かせていただきたいと思います。 「技術」には普段、自分が請け負うことの多い「電気的な先端技術

                            新連載「西川善司のバビンチョなテクノコラム」第1回。Appleの新プロセッサ「M3」はいかなるものぞ? | テクノエッジ TechnoEdge
                          • Go 1.19のメモリ周りの更新 | フューチャー技術ブログ

                            Go 1.19リリース連載の6本目です。 Go 1.19では、いくつかメモリ周りの更新がありました。1つはガベージコレクタ周りのお話と、あとはメモリモデルの更新です。 ライブラリではsync/atomic.Int64など、いくつか型が追加されました。 ガベージコレクタガベージコレクタの詳細と調整の仕方についてのドキュメント が追加されました。このドキュメントはスライダーで動作の変化がみられるインタラクティブなドキュメントになっているので、ぜひご覧ください。 「GoはJavaと違って、GCの調整ポイントがほとんどなく、最初からトップスピード(オプションの選択の中で相対的に)だよ」みたいに説明されることもありましたが、そういうわけにも行かなくなったというか、ある程度知っておく必要はあるかもしれません。とはいえ、デフォルトでも十分うまくやってくれますし、そもそも即座に終了するユーティリティでは頑

                              Go 1.19のメモリ周りの更新 | フューチャー技術ブログ
                            • 本当にあったやらかしDB設計①【R無しRDB】 - Qiita

                              どうも、IT業界は4年目だけど開発はあんまりやったことがなかった人です 独学でDBとアプリ周りを勉強して最近開発現場へと行くことになったのですが、僕でもわかるようなやばいような事がかなりゴロゴロあって唖然とする毎日です(運が良いのか悪いのか…) 今日はそんな中の一つを紹介したいと思います これには本当にびっくりしました どういうことかというと、外部キーをひとつも使ってなかったのです 分析系DBなのかと思いきや調べたり聞いたりして確認したところがっつり処理系、しかもコアな部分…w データの不整合を許せない部分なのに外部キーを全く使っていないという、アンチパターンというか呆れパターンというか… 何が悪いの?? そう、まずはここから説明していきます 同じことを繰り返さないようにするための記事なので、ただバカにするだけだと意味ないですからね 1980年代~1990年代くらいに過激な生き残りをかけた

                                本当にあったやらかしDB設計①【R無しRDB】 - Qiita
                              • mrubyを採用したソフトウェアを広げた第一人者・松本亮介が、面倒を感じながらもC言語を愛する理由とは? | Offers Magazine

                                C言語は冗長なんだけど、なんか好き さっそくですが、松本さんが好きなプログラミング言語を教えてください。 今はC言語をよく使うんですけど、C言語そのものが好きなのか、手に馴染んでいるから好きなのか、もはやわからない状況になっていますね。この状況を一般的に好きって言うでしょうけど。 ただ、僕にはそれほど言語へのこだわりがないんです。そもそも昔からプログラミング言語を網羅的に学習するのが苦手で。まず作りたいものがあって、次にどの言語がベストかを考えるようにしていました。 そうすると、C言語に初めて触れたのはいつだったんですか? 今、僕は36歳で、大学に入ってから書いているので15年ぐらい前ですね。 当時はWindows95が発売され、自宅でもようやくPCが買えるようになった時代でした。ただ、それから数年経って、購入したPCだとスペック的に満足いくものがなかったので、自作していたんです。そうする

                                  mrubyを採用したソフトウェアを広げた第一人者・松本亮介が、面倒を感じながらもC言語を愛する理由とは? | Offers Magazine
                                • 新卒2年目フロントエンドエンジニアの技術スタック2020 - uhyo/blog

                                  いつもブログをご覧になってくださっている皆さん、こんにちは。そうでない方は初めまして。 2020年もあと1ヶ月となりましたので、この記事では筆者が今年扱った技術について振り返ってみます。 なお、筆者は2019年に新卒で████社に入社し、██████のフロントエンドを担当しています。新卒2年目のフロントエンドエンジニアのみなさんはぜひ参考にしてみてください。 プログラミング言語業務・趣味ともにほぼ全てTypeScriptを使っています。一応、たまに書き捨てのものをJavaScriptで書くことがありますが、一定以上の規模のものを作りたい場合や一定期間以上メンテナンスしたい場合はTypeScriptを使います。また、ASTを扱うときや新しいライブラリを触るときなど、型情報による補完の恩恵が大きい場合もTypeScriptを積極的に使用します。どれにも当てはまらないのでJavaScriptを使

                                    新卒2年目フロントエンドエンジニアの技術スタック2020 - uhyo/blog
                                  • 転職エントリ ~大企業と育児と年齢とKaggleとキャリア~ - Paoの技術力を磨くブログ

                                    初めての転職をしました。 2020年4月末を持って新卒から7年間勤めた会社を退職し、今年の5月から新しい会社で働いています。 自分に境遇が近い人などの参考になればと思い、書きました。 長くなると思うので、お題毎に気になるところだけでも読んでもらえると嬉しいです。 ※前職及び転職先の会社名は書いていませんのでご了承ください。 簡単な自己紹介 31歳 情報系の修士卒で新卒から8年目 一児(2歳)のパパ 機械学習を学び始めたのは4年前くらい Kaggle好き(Kaggle Master) 前職について 会社はいわゆるJTC(Japanese Traditional Company)と呼ばれるようなIT系の大企業でした。 最初の3年はWeb系のSIerみたいな仕事で、後半の4年は研究開発の部署で、機械学習を使ったユーザデータの解析やサービス検証などをやっていました。 入社3年目あたりで、趣味である

                                      転職エントリ ~大企業と育児と年齢とKaggleとキャリア~ - Paoの技術力を磨くブログ
                                    • 2024年の今、いかにしてVS2005を捨ててVS2015にする戦いは終わったか、そしてなぜCOMとの苦しい戦いが繰り広げられたか ~再入の悪魔~ - OPTiM TECH BLOG

                                      概要 Optimal BizのWindows AgentはながらくVisual Studio 2005とVisual Studio 2015を併用してビルドする必要がありました。Visual Studio 2015化対応は2012年のVisual Studio 2012化対応からスタートしていましたが、対応範囲の大きさからモジュールごとにVisual Studio 2015化対応を行ってきました。そして2024年リリースのBiz 9.19.0にてVisual Studio 2015化対応は完了を迎えました。 しかし、埋め込まれたバグの修正にはCOMの理解が不可欠であったため、2020年代に突入した今になって私達はこれまで正面戦争を避けてきたCOMを0から学び直す必要がありました。そしてATLの不思議な挙動やSTAにおける再入との戦いを乗り越え、無事にリリースされました。 はじめに Opti

                                        2024年の今、いかにしてVS2005を捨ててVS2015にする戦いは終わったか、そしてなぜCOMとの苦しい戦いが繰り広げられたか ~再入の悪魔~ - OPTiM TECH BLOG
                                      • 関数の再帰的な定義に名前付けは必要か - 貳佰伍拾陸夜日記

                                        結論から言うと, 名前を付けることなく再帰的な関数を定義することは可能. 特定のプログラミング言語でどうかというよりは抽象概念としての関数の再帰を名前なしに実現可能かどうかという話(名前なしに実現できるプログラミング言語は存在するかという話). 発端 id:naoyaさんがこういうツイートをしていた. 再帰を書くときに何気なく関数に名前つけたり let で束縛したりしてたけど「再帰には三項関係が必要でありその実現には記号が本質的に関わる」とあり、名前づけの行為が必然だったことが分かった。プログラミングするときの視点が変わるな— naoya (@naoya_ito) 2022年8月12日 たとえば以下のように書いたときのlet fact =みたいな話. let fact = n => n <= 1 ? 1 : n * fact(n-1) ちなみに, 話は一見逸れるけど, こう書けると必然的に

                                          関数の再帰的な定義に名前付けは必要か - 貳佰伍拾陸夜日記
                                        • 好きで打ち込めることを探すこと――ちょまど氏のキャリアを形成した「オタ駆動開発」とは【Developers Boost 2019】

                                          2019年11月30日、翔泳社主催の若手エンジニア向けカンファレンス「Developers Boost(デブスト)~U30エンジニアの登竜門~」が開催された。基調講演では、マイクロソフトのCloud Developer Advocateで「ちょまど」こと、千代田まどか氏が登壇。30歳以下(U30)の若手エンジニアに向け、「これが私の戦い方」をテーマに自身のキャリアを語り、若手エンジニアの成長と交流をブーストした。 マイクロソフト Cloud Developer Advocate 千代田まどか(ちょまど)氏 「推し」には時間・労力・お金を惜しまず、全力を注ぐ マイクロソフトでCloud Developer Advocate(クラウド デベロッパー アドボケイト)として、国内・海外で多数の講演をこなし、「Developers Summit 2017」ではベストスピーカー賞 総合第1位を獲得して

                                            好きで打ち込めることを探すこと――ちょまど氏のキャリアを形成した「オタ駆動開発」とは【Developers Boost 2019】
                                          • Markdown 界の新星、Markdown for SSW とは - Qiita

                                            気がついたら IANA の markdown variants に項目が増えてる。皆さん知ってましたか。 / Markdown Variants https://t.co/Hf2UNFlnIm — tk0miya (@tk0miya) February 3, 2020 週末に Markdown の記事を書いた流れなのか、普段まったく見向きもしない IANA の Markdown variants リストをふと開いてみました。記憶では最後にこのページにやってきたのは RFC が採用された頃ですから、4年ぶりの再訪です。 すると、なんということでしょう。つい半月ほど前の1月13日に、あたらしい variants として Markdown for SSW がリストに追加されていたのです。 Markdown variants とは 3年前に Markdown in 2016 という記事で紹介したも

                                              Markdown 界の新星、Markdown for SSW とは - Qiita
                                            • あなたのキャリアに影響を与えた本は何ですか? 著名エンジニアの方々に聞いてみた - Findy Engineer Lab

                                              書籍には、特定領域の専門家たちが習得してきた知識のエッセンスが詰まっています。だからこそ「本を読むこと」は、ITエンジニアがスキルを向上させるうえで効果的な取り組みといえます。では、著名エンジニアたちはこれまでどのような書籍を読み、そこから何を学んできたのでしょうか。今回は9人の著名なエンジニアのキャリアに影響を与えた“珠玉の書籍”を、ご本人にまつわるエピソードとともに紹介してもらいました。 *…人名の50音順に掲載。回答者は敬称略。 粕谷大輔(だいくしー)が紹介 『Scalaスケーラブルプログラミング』 私のキャリアを変えた一冊は、『Scalaスケーラブルプログラミング』です。現在は日本語版だと第4版が最新ですが、私が購入した当時の版は第2版でした。 この本は、Scalaの言語設計者であるMartin Odersky氏による著書です。2014年のScalaMatsuriで実際にOders

                                                あなたのキャリアに影響を与えた本は何ですか? 著名エンジニアの方々に聞いてみた - Findy Engineer Lab
                                              • 次期C標準 (C23) の内容が固まったらしい

                                                C23については最近のC言語と、次期C標準(C23)でも軽く紹介しました。 今回、C23入りする内容が大体固まったようなので改めて紹介します。 この記事を書いている時点での最新の公開されたWorking Draftは N2912 N3047 N3054 N3096です。ただし、C2y向けの最初のドラフトN3220もあり、そちらの方が実際の内容に近いかもしれません。 内容については会議参加者の投稿も参考にしています: https://twitter.com/rcs/status/1550526425211584512 C23 now finalized! : C_Programming というわけで、C23に入る主な機能はこちらです: C23に入る主な機能 POSIXの機能の取り込み: strdup, strndup, memccpy, gmtime_r, localtime_r C++の機

                                                  次期C標準 (C23) の内容が固まったらしい
                                                • AIと一緒に新しい言語処理系を作ってみた|shi3z

                                                  Claude-3 Sonnetがだいぶ良いので、前々から考えていた、「Lispっぽい記法で書けるけど他の言語に慣れた人にも使える言語」の処理系を作ってみた。仮にEasyLispという名前にした。 この言語ではこんな感じでプログラムが書ける (define person (object)) (set! person.name "Alice") (set! person.age 30) (print person.name)personというオブジェクトのプロパティをnameやageがあって、これをドット記法で指定するとpersonオブジェクトのプロパティにアクセスできる。 同じことをCommon-Lispでやろうとするとこうなる (defun example () (let ((person (make-object :name "Alice" :age 30))) (format t "N

                                                    AIと一緒に新しい言語処理系を作ってみた|shi3z
                                                  • STORES、笹田耕一氏、遠藤侑介氏がフルタイムRubyコミッターとして入社

                                                    お店のデジタル化を支援する STORES 株式会社(以下、STORES)は、Rubyコミッターの笹田耕一氏と遠藤侑介氏の両名を採用したことをお知らせいたします。笹田氏、遠藤氏にはフルタイムのRuby開発者として STORES に入社していただき、Rubyの品質向上、ユーザー体験や性能の改善に専念します。 CTO 藤村大介(左)、笹田耕一氏(中央)、遠藤侑介氏(右) ■ フルタイムRubyコミッター採用の背景 1993年に日本で生まれたプログラミング言語Rubyは、Rubyコミッターを中心として多くのエンジニアによって磨き上げられ、世界中で使われてきました。私たちもサービス開発言語の一つとしてRubyを選択し、様々なサービスを提供してきました。 STORES のミッションである”Just for Fun”という言葉は、Linuxの作者であるリーナス・トーバルズの著書※からインスパイアされたも

                                                      STORES、笹田耕一氏、遠藤侑介氏がフルタイムRubyコミッターとして入社
                                                    • 西川善司の3DGE:NVIDIAが投入する20 TFLOPS級の新GPU「A100」とはいったいどのようなGPUなのか?

                                                      西川善司の3DGE:NVIDIAが投入する20 TFLOPS級の新GPU「A100」とはいったいどのようなGPUなのか? ライター:西川善司 カリフォルニア州の自宅で撮影したビデオで基調講演を行ったJensen Huang氏 去る2020年5月14日,NVIDIAは,同社CEOのJensen Huang氏によるオンライン基調講演で,新しい「Ampere」アーキテクチャ採用の新GPU「A100」を発表した。 Ampereとは,電流量の単位である「アンペア」の語源となったフランスの物理学者アンドレ=マリ・アンペール(André-Marie Ampère)にちなんだ開発コードネームだ。NVIDIAは近年,新しいGPUアーキテクチャの開発コードネームに,歴史に名を残した科学者の名を採用している。GeForce RTX 20シリーズの「Turing」や,その前世代の「Volta」も同様だ。 SXM4

                                                        西川善司の3DGE:NVIDIAが投入する20 TFLOPS級の新GPU「A100」とはいったいどのようなGPUなのか?
                                                      • “PV詐欺”じゃない、本当にすごい 「Vision Pro」を試してわかった、Appleが作りたい未来

                                                        Appleがうわさ通り、「ARデバイス」を発表した。「Apple Vision Pro」だ。6月5日(現地時間)のWWDC基調講演で発表されたが、やはりインパクトは大きかった。 短時間だが体験することができた。正直な感想として「これはすごい」。公開されたビデオは、決して「PV詐欺」ではない。 「Appleが開発した初の空間コンピュータ」という触れ込みのVision Proは、過去の「VR機器」とどう違うのか? 体験から感じた市場変化の可能性を考えてみよう。 なお、体験時には写真撮影などが許可されなかったため、実機は別の場所で撮影したものであり、その他は基調講演で公開された映像からの抜粋である。 VRではなく「空間コンピュータ」 Vision Proは非常に洗練されたデザインになっている。特にフロントのカバーガラスは美しい。 一方、全体的な「カタチ」を考えると、ここ2年で広がった「VR機器」

                                                          “PV詐欺”じゃない、本当にすごい 「Vision Pro」を試してわかった、Appleが作りたい未来
                                                        • 6年を経てFloat16ArrayをStage 3にしてもらった - pixiv inside

                                                          こんにちは。福岡オフィスエンジニアの @petamoriken です。趣味でFloat16Arrayのponyfill1を公開しECMAScriptに入れてもらうように活動していたところ、喜ばしいことに2023年5月のTC39会議にてStage 3となりました。折角なのでその経緯を書いていこうと思います。 ECMAScript excitement 😉@TC39 advanced these proposals this week 🎉 4️⃣ Atomics.waitAsync 4️⃣ RegExp v flag 4️⃣ Well-Formed Unicode Strings 3️⃣ Decorator Metadata 3️⃣ Float16Array 2️⃣ Base64 for Uint8Array 2️⃣ Promise.withResolvers 2️⃣ TimeZone C

                                                            6年を経てFloat16ArrayをStage 3にしてもらった - pixiv inside
                                                          • 西川善司の3DGE:AMDの超解像技術「FidelityFX Super Resolution」は,DLSSのライバルとなり得るのか

                                                            西川善司の3DGE:AMDの超解像技術「FidelityFX Super Resolution」は,DLSSのライバルとなり得るのか ライター:西川善司 去る2021年6月1日,AMDは,「COMPUTEX 2021」のオンライン基調講演において,同社独自の超解像(Super Resolution)技術「FidelityFX Super Resolution」(以下,FSR)を6月22日にリリースすると発表した。 その当日に合わせてAMDは,FSRについての情報を公開している。本稿では,その内容をもとに,FSRの紹介と技術的背景などをレポートしたい。 超解像技術とは何か 解像度変換ではなく解像度を復元する技術 まずは大前提として,超解像技術とは何かを解説しておこう。頭に「超」が付くことで,なんとなくうさんくさいイメージがあるかもしれない,これは立派な学術用語である。 超解像とは,学術的には

                                                              西川善司の3DGE:AMDの超解像技術「FidelityFX Super Resolution」は,DLSSのライバルとなり得るのか
                                                            • Goのヌル安全について

                                                              「ヌル参照の考案は10億ドル単位の過ち」と語ったホーア氏(Goの並列処理モデルCSPの考案者でもあります)。そしてモダンな言語処理系は「ヌル安全」を持つのが流行です。しかし、Goには完全な「ヌル安全」の仕組みを持ちません。 Goのメモリ安全機能 もちろんGoは完全なヌル安全とは言えないまでもヌルポ参照対策や不正なメモリ参照を防ぐいくつか考慮した仕組みや慣習を持っています。 ポインタの算術移動を許さない言語仕様 確保するメモリは全てゼロ値で初期化済み エラーがnilなら有効な値を返すという慣習 必須のエラーチェックがヌルチェックを兼ねている これらによりGoは完全に「メモリ安全」であり、「ヌル安全まであと一歩」までの仕組みを持っています。それでもヌルポ参照は「ランタイムパニック」という形で現れます。 ランタイムパニック Goでは「ランタイムパニック=コードの不備の通知」です。 多くのコードの

                                                                Goのヌル安全について
                                                              • WebAssembly Summitまとめ(前編)|chikoski

                                                                WebAssembly Summitというカンファレンスへ参加してきました。その午前のセッションについてまとめました。午後のセッションについては別記事でまとめます。 TL;DR; 午前はWASMを取り巻く問題について扱ったように感じました。いくつかには解決策が提示され、いくつかは問題提起にとどまった印象です。 WebAssembly Summitとは? Webブラウザの上で実行できる第2の言語、それがWebAssemblyです。誕生は2015年にW3Cのコミュニティグループが結成され、2019年末に正式な仕様としてリリースされました。このWebAssemblyのツールやランタイム、そしてWebAssemblyを使ったアプリケーションに関する発表を行うカンファレンスが、WebAssembly Summitです。 WebAssembly は、ネイティブのアプリケーションやエッジサーバにおける処

                                                                  WebAssembly Summitまとめ(前編)|chikoski
                                                                • トヨタ自動車に入社し、自動車データの収集〜分析基盤の研究開発やっていきます

                                                                  人生初の転職エントリです。お手柔らかにお願いします。 2021/09/01付でトヨタ自動車株式会社に入社しました。 大手町オフィス というソフトウェアエンジニアが多く集まる場所で、自動車のデータ収集から分析まで、エッジ(自動車)からクラウドまでの研究開発をやっていきます。 目次 転職活動の軸 業務内容(やりたいこと)について なぜトヨタを選んだか 終わりに 転職活動の軸今までの1回の新卒入社と2回の転職ではほぼ直感でズバズバ決めてきたのですが、今回の転職では自分なりにきっちりと転職活動の軸を決めて臨みました。 必須要件 年収: XX円以上(ストックオプションなどを加味して減額することあり) 業務内容: ミドルウェア以下の自分が好き&得意な領域の研究開発 嬉しい条件 一緒に働きたいと思える 人 よい 事業内容 業務内容(やりたいこと)について「ミドルウェア以下の自分が好き&得意な領域の研究開

                                                                    トヨタ自動車に入社し、自動車データの収集〜分析基盤の研究開発やっていきます
                                                                  • import文で画像やCSSを読み込むのはECMAScript仕様違反か - uhyo/blog

                                                                    近頃のJavaScript開発は、モジュールとして書かれた複数のJavaScriptファイルをimport文やexport文を通じて連携させるのが基本です。また、それらのファイルはWebpackに代表されるバンドラによって事前に処理され、import文の解決・ファイルの結合といった前処理を施されるのが普通です。まったく、各ファイルが他に影響を与えないように(function(){ ... })()で囲んで文字列連結していた時代が懐かしいですね。 さて、import文の解決を担当するバンドラは、大抵JavaScriptプログラム以外のものを読み込む機能を備えています。Webpackならばloaderと呼ばれるものですね。例えば、style-loaderやcss-loaderが持つCSS Modulesの機能を使うと次のようなプログラムを書くことができます(Reactの例)。 import s

                                                                      import文で画像やCSSを読み込むのはECMAScript仕様違反か - uhyo/blog
                                                                    • C++/Java/Ruby/Pythonの並列I/O用ファイルインターフェイス - 豪鬼メモ

                                                                      ファイルの読み書きをマルチスレッドで並列に行うための仕組みを、各種プログラミング言語(C++、C、Java、Ruby、Python)で利用できるようにライブラリを整備した。メモリマップI/O、通常I/O、ダイレクトI/Oを同じインターフェイスで利用できる。Tkrzw-0.9.38からこの機能が利用できる。メモリマップI/Oと通常I/Oは全ての処理系で、ダイレクトI/OはLinuxとMacとWindowsで利用できる。 データベースライブラリTkrzwはマルチスレッド環境での並列処理性能を重視して開発しているが、そこで利用しているファイル層の機能を直接利用できるようにAPIを整備した。データベースとしてではなく、単なるフラットなファイルとして利用するためのAPIである。テキストにもバイナリにも利用できる。 C++ API C API Java API Python API Ruby API

                                                                        C++/Java/Ruby/Pythonの並列I/O用ファイルインターフェイス - 豪鬼メモ
                                                                      • Scalaの学習コストについての私見 - kmizuの日記

                                                                        ※2022/01/25 17:10追記 以下のツイートが別に「Scalaが主眼でない」こと自体は承知しています。一般論として、Scalaに限らず言える技術選定の話ですよね。ただ、妙な方向への読解をちょくちょく見かけたので、それに乗っかる形で現状のScalaについて率直な感想を書いておこうと思ったのでした。「この話とは別なんだけど」みたいな言葉をつけておけば良かったです。申し訳ありません。 数日前、以下のツイートに端を発して色々な意見が交わされていました。 「Scala好きなメンバーがプロダクト開発にScalaを採用して1人で開発していたが、そのメンバーが抜けてしまいScalaコードの保守ができなくて別の言語で書き直すことになった」という技術選定の失敗のお手本のような事例を目の当たりにしてしまった....— コミさん (@komi_edtr_1230) 2022年1月19日 これを見て「いや

                                                                          Scalaの学習コストについての私見 - kmizuの日記
                                                                        • 書籍「コンパイラ 作りながら学ぶ」を読みながら JavaScript でコンパイラを実装してみた - Qiita

                                                                          はじめに この記事では、中田育男著「コンパイラ 作りながら学ぶ」(オーム社) に出てくるプログラミング言語 PL/0' を JavaScript で実装します。 コンパイラ 作りながら学ぶ この書籍ではシンプルなプログラミング言語 PL/0' コンパイラをC言語で実装したソースコードが巻末に掲載されており、それをもとにコンパイラの理論が説明されています。書籍では完成系のコードが一度に示されていますが、この記事では最小限のサブセットを設定して、徐々に拡張していきながら処理系を完成させます。 対象読者 この記事は以下のような人をターゲットに書かれています。 「コンパイラ 作りながら学ぶ」の本文を一通り読んだ上で、巻末のコードを理解しようとしたものの途中で挫折した人 「コンパイラ 作りながら学ぶ」はもともと1995年に「コンパイラ」というタイトルで出版されていた本の改訂版です。私は改訂前の本を高

                                                                            書籍「コンパイラ 作りながら学ぶ」を読みながら JavaScript でコンパイラを実装してみた - Qiita
                                                                          • いかにして動的型付けのRubyに静的な型検査を持ち込むか? SteepとRBSが目指すもの - Findy Engineer Lab

                                                                            Rubyをはじめとする「動的型付け」のプログラミング言語は、ソースコード中に型に関する記述が陽に出てこないことが特徴で、プログラムの実行前に(静的に)型検査をすることはありません。しかし、このようなプログラミング言語においても、大規模な開発における品質の向上や開発体験の改善、実行の高速化のために、静的な解析を活用しようという試みは多くなされてきました。この記事では、動的型付けの言語のための型検査の歴史を簡単に振り返って、現在私が開発しているRuby向けの型検査器Steepとその基盤となっている型記述言語RBSについて説明し、今後の展望を議論します。 著者:松本宗太郎さん(@soutaro) Rubyコミッター。大学院でRubyプログラムの型検査の研究に取り組み、修了後はスタートアップでWebアプリケーションの開発に従事。2017年から型検査ツールSteepの開発を始め、2019年からはRu

                                                                              いかにして動的型付けのRubyに静的な型検査を持ち込むか? SteepとRBSが目指すもの - Findy Engineer Lab
                                                                            • Hugging Face Pipelineを使ったお手軽AIプログラミング | IIJ Engineers Blog

                                                                              地方拠点の一つ、九州支社に所属しています。サーバ・ストレージを中心としたSI業務に携わってましたが、現在は技術探索・深堀業務を中心に対応しています。 2018年に難病を患ったことにより、定期的に入退院を繰り返しつつ、2023年には男性更年期障害の発症をきっかけに、トランスジェンダーとしての道を歩み始めてます。 Hugging Faceってご存じですか? AIを使用したプログラム・スクリプトを作る際、ゼロから起こす場合は以下のような部分を作り込んだり、Githubなどのリポジトリサイトからソースを入手したりする必要があったりします。 AIモデル トレーニングのためのロジック 評価・テストのためのロジック データローダ トレーニング・評価データを読み込むためのフォーマット、読み込み処理・変換処理など チェックポイントの書き出し Hugging Faceというサイトは、学習済みモデルやデータセッ

                                                                                Hugging Face Pipelineを使ったお手軽AIプログラミング | IIJ Engineers Blog
                                                                              • (わりと)任意の Mac Application に GraphQL でアクセスできるようにした

                                                                                「(わりと)任意」、と書きましたが実際には AppleScript をサポートしている Application が対象で、基本的に AppleScript で取得できる情報については全て取得できるはずです。現状では read のみ実装しています。 ソースコードはこちら 使い方 実行中の Google Chrome に対して incognito の window で開いている tab の title と url が欲しい、という query を実行してみている例です。 npx で試す とりあえずサクッと試す場合は npx jxa-graphql server <appPath> で試せます。curl でも良いですし Apollo Sandbox の Explorer などを使っても良いでしょう。 $ npx jxa-graphql serve /Applications/Google\ Ch

                                                                                  (わりと)任意の Mac Application に GraphQL でアクセスできるようにした
                                                                                • TypeScript 5.2で予告されているusingをいじってみる

                                                                                  この記事でのusing宣言の動作はBabelのtransform及びes-shimsのpolyfill実装に依存しており、実際のV8エンジンやTypeScriptのトランスパイル出力の挙動とは異なる可能性があります。 以下の挙動がusing宣言に対応している処理系の実際の挙動と異なる場合はコメントをいただけると幸いです。 導入 先日、Twitterでこんなツイートが回ってきました。 TypeScript 5.2で新しい「using宣言」が追加されるというものです。 しかも、TypeScriptの独自構文かと思いきや、JavaScriptのStage 3のProposalをTypeScriptで先行実装するという通常のTypeScriptの実装プロセスに則ったものでした。 新しい変数宣言の追加はES 2015(ES6)の「let」「const」以来でなんと8年ぶりで、JavaScript/T

                                                                                    TypeScript 5.2で予告されているusingをいじってみる