並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 575件

新着順 人気順

C言語の検索結果161 - 200 件 / 575件

  • なぜC言語は、B言語を継承して、1から設計し直さなかったのでしょうか?

    回答 (3件中の1件目) なかなか理解しづらい話だと思いますが、当時のベル研究所において、Unixのグループは濃密な知のルツボだったのです。B言語が発明されるとすぐに、十数人の人々が使い始め、良かったところと悪かったところのフィードバックが集まりました。デニスは数日後にはインタプリタ言語だったB言語をコンパイラ化し、古いバージョンを分かりやすいところに置いていました。B言語のユーザーは、バグを見つけるとデニスにメールし、バグが直るまで古いコンパイラを使っていました。 B言語をC言語に改名した主な理由は2つあります。まずB言語(とBCPL)は、CPUのアドレスがバイト単位ではなくてワード...

      なぜC言語は、B言語を継承して、1から設計し直さなかったのでしょうか?
    • 【パソコンと炊飯器は同じ?】本当にバカでもわかるプログラミングの世界 | オモコロ

      プロのエンジニアの方に聞けば、知識がないバカ3人でも「プログラミングの世界とは何か」を理解することができるのか?! ※PR記事とは…お金をもらって書くお仕事記事のことだよ! 今回は、株式会社divさんのプログラミングスクールサービス「テックキャンプ」のPR記事をお届けします。 この「テックキャンプ」は、誰でもゼロからプログラミングのことが学べて、なんと未経験者でもエンジニア転職ができるスクールなんだそうです。へ〜! それを聞いて、我々はこう思いました。 なんですかエンジニア転職って。 「プログラマー」の話をしてると思ったら、急に「エンジニア」という知らん職業が出てきました。これは一体どうしたことでしょう? プログラマーは大工さんで、エンジニアは建築士みたいなイメージです は〜〜〜〜??? 何言ってっかわかんね〜〜〜〜〜〜んだが????? PRしなきゃいけないのに、プログラミングのことなんて

        【パソコンと炊飯器は同じ?】本当にバカでもわかるプログラミングの世界 | オモコロ
      • Rust3000行でテキストエディタを作るチュートリアルをやった

        想定よりだいぶ大変でした。 hecto 成果物はこれ↓ 参考サイトはこれです↓ インスパイア元↓ 感想 Rustはこのチュートリアルが初体験 ずっと勉強したいとは思っていたので良い機会だった チュートリアルを進めていくなかで所有権とかライフタイムとかを少しずつ導入していき説明も挟んでくれるので助かった しかし3000行の経験を積んだ程度ではまだまだエラーの読み解きは難しいな〜という印象 https://bsky.app/profile/kawarimidoll.bsky.social/post/3l3znqvdbx42q パターンマッチ、ResultやOptionといった概念は先にGleamをやっていたおかげで問題なく理解できた 外部依存ナシのC言語版が1000行程度だったので外部ライブラリを使えるRust版は行数が少ないのかしらと思ったが結果的に3000行になった C版は1週間ほどで完成

          Rust3000行でテキストエディタを作るチュートリアルをやった
        • Linux eBPFトレーシング技術の概論とツール実装 - ゆううきブログ

          eBPF(extended Berkley Packet Filter)という用語を著者が初めてみかけたのは、2015年ごろだった。最初は、eBPFをその字面のとおり、パケットキャプチャやパケットフィルタリングを担うだけの、Linuxの新しいサブシステムであろうと認識していた。しかし、実際にはそうではなかった。 システム性能の分析のための方法論をまとめた書籍Systems Performance 1 の著者で有名なBrendan Greggが、Linuxのネットワークサブシステムとは特に関係ない文脈で、古典的なシステム性能計測ツールでは計測できないことを計測するツールを作っていた。その計測ツールがeBPFという技術によって実装されていることを知ったときに、eBPFに興味をもったのだった。また、eBPFは、システム性能を調べる用途以外にXDP(eXpress Data Path)と呼ばれるプ

            Linux eBPFトレーシング技術の概論とツール実装 - ゆううきブログ
          • 依存モジュールが少ないソースコードを読む - スペシャリスト岡野真也に聞くPythonの読み方と使い方 - エンジニアHub|Webエンジニアのキャリアを考える!

            依存モジュールが少ないソースコードを読む - スペシャリスト岡野真也に聞くPythonの読み方と使い方 現在、多くの支持を集めるPython。10年以上にわたりPythonを使い続ける岡野真也さんに、同言語の学び方、使い方を聞きました。 機械学習やデータサイエンスの隆盛に伴い、Pythonは多くの人に使われる言語になりました。GitHubの「The State of the Octoverse 2019」のレポートによると、GitHubリポジトリのコントリビューターから人気のあったプログラミング言語として、PythonはJavaScriptに次いで2位となっています。 「さまざまな課題を、楽に解決できるのがPythonの魅力」と語るのは、10年以上も前からPython・Djangoフレームワークのヘビーユーザーであり続けてきた岡野真也(おかの・しんや/ @tokibito )さん。彼はいか

              依存モジュールが少ないソースコードを読む - スペシャリスト岡野真也に聞くPythonの読み方と使い方 - エンジニアHub|Webエンジニアのキャリアを考える!
            • 【連載】世界一わかりみが深いコンテナ & Docker入門 〜 その1:コンテナってなに? 〜 | SIOS Tech. Lab

              こんにちは、サイオステクノロジー技術部 武井(Twitter:@noriyukitakei)です。タイトルが少々長いのですが、今回はこれからコンテナ、Docker、Kubernetesを始める人のための、入り口的なブログを書こうと思っております。 本記事の対象としては、コンテナとかDockerとかKubernetesって言葉は聞いたあるけど、なんとなくぼんやりとしたイメージを持っている人を想定しております。このブログを読んで頂くことで、少しでもそのイメージがクリアになればいいなと思っております。ちなみに、本ブログではコンテナ、Dockerの細かいオペレーションには触れません。 7回シリーズでお届けする予定で、今回は第1回目となります。 今回はこちら → その1:コンテナってなに? その2:Dockerってなに? その3:Dockerfileってなに? その4:docker-composeっ

                【連載】世界一わかりみが深いコンテナ & Docker入門 〜 その1:コンテナってなに? 〜 | SIOS Tech. Lab
              • Rust の 所有権、借用、ライフタイムについて初心者目線で説明と整理を試みる

                自分のブログを辿ってみたところ Rust を 2020 年には書いているようだが、初心者を名乗らせていただく。なぜならブログのネタにする以外で Rust 書いたことないし、これも調べながら書いているからだ。もっと練習したい、どこかに Rust を書ける機会ないかな〜チラッチラッ 👀 なぜありふれていそうな題材で書くか 題材はありふれているし解説もたくさんあるが、それらを読んで理解できるのか?という疑問がある。というのも、所有権、借用、ライフタイム自体についての説明は至る所で見るが、これらが無いと何が大変なのか、導入することで何が解決されるかがよく分からないと思うからだ。勿論、そのような点まで解説してくれているものもたくさんあるが、正直なところ Not for Me だった。何が Not for Me だったかというと、C++ の知識やコンピュータサイエンスの知識があることが前提になってい

                  Rust の 所有権、借用、ライフタイムについて初心者目線で説明と整理を試みる
                • Pythonの独学を支える教科書づくりの裏側、京都大学の喜多教授が授業に込めた思いとは?

                  Pythonユーザのためのグローバルイベント「PyCon APAC 2023」が2023年10月27日と28日に、TOC有明コンベンションホールで開催された。1日目の基調講演に登壇したのは、京都大学国際高等教育院の喜多一教授。「Why University Teachers Wrote a Python Textbook?」と題し、大学の授業のために書き下ろされたPythonの教科書執筆の背景を紹介した。プログラミング初心者のつまずきポイントを理解しているからこそ、オリジナルの教科書を作ったという喜多教授。はじめてプログラミングに触れる学生向けの授業と教科書に込めた思いを語った。 Pythonを学び、学生は興味をひろげてゆく 喜多教授がPythonを教えるワケ 京都大学の国際高等教育院で教養教育、特に新入生向けの教育を担っている喜多教授。自身のプログラミングとの出会いは、学生時代の1978

                    Pythonの独学を支える教科書づくりの裏側、京都大学の喜多教授が授業に込めた思いとは?
                  • ファミコンエミュレータ実装の感想 - ichirin2501's diary

                    とりあえずスーパーマリオが動いて一段落したので覚えているうちに感想書いていく。 (この記事の情報量は、デバッグは大変、以上) 動機 単に好奇心。ただ、ファミコンのエミュレータに着手したのはこれで3回目になる。 1度目は10年前の身内ハッカソンのとき。このときはC言語で実装してて強引にHELLO, WORLD!を表示するだけで終わった。 実装の続きをしたかったけど、この後は忙しくなってしまって挫折している。 2度目は2年前で、過去の心残りを精算するためにGo言語で着手したのだけど、CPUの実装が終わった後ぐらいからまた忙しくなって挫折している。 今回は2年前のGoコードの続きからコミットを積んでここまで来たので、一応リベンジ成功....と言って良いんじゃないかな、たぶん。 過程 PPUの実装は最初からinternal register(v,t,x,w)を使う方法にした(PPU scrolli

                      ファミコンエミュレータ実装の感想 - ichirin2501's diary
                    • RustではじめるWebAssembly入門~JavaScriptを超える高速なWebアプリ開発を実践しよう

                      本連載では、Webブラウザー上でJavaScriptとともに動作できるバイナリ形式のプログラムファイル「WebAssembly」を、Rustプログラミング言語で実装する方法について、順を追って説明していきます。初回となる今回は、WebAssemblyの概要を説明するとともに、Rustを利用した簡単なサンプルで、実装方法のイメージを紹介します。 はじめに 現在、Webフロントエンド開発においては、ページ構造を表すHTML、スタイルを表すCSSとともに、挙動を実装するためにJavaScriptが利用されます。JavaScriptの登場当初はWebページに動きをつける程度の扱いでしたが、その後の言語仕様の拡張や、WebブラウザーでのJavaScript実行速度の向上、Node.jsなどWebブラウザー以外でJavaScriptを動作させる環境の登場などにより、本格的なプログラミング言語としてその

                        RustではじめるWebAssembly入門~JavaScriptを超える高速なWebアプリ開発を実践しよう
                      • eBPFに3日で入門した話 - CADDi Tech Blog

                        はじめに eBPF とはなにか ざっくり概要 「Packet Filter」なのに「Virtual Machine」? eBPFでなにができるか? カーネルイベントのフック ユーザーランドアプリケーションとのやりとり eBPFの主な用途 eBPFが注目される背景 eBPFの仕組み アーキテクチャと処理フロー カーネルモジュールとeBPFの違い eBPFプログラムの作り方 eBPFプログラムを作ってみる 環境の準備 Hello world もう少し複雑なサンプル その他のサンプル HTTPリクエストのダンプ TCP接続先の調査 tcplife dirtop filetop oomkill まとめ eBPFはなにに使えるか 参考サイト はじめに こんにちは、Platformチームの小森です。 eBPF (extended Berkley Packet Filter) について、2022年8月2

                          eBPFに3日で入門した話 - CADDi Tech Blog
                        • 高速なPython互換言語「Mojo」のMac版登場、Appleシリコンにネイティブ対応。Pythonの9万倍、C言語に比肩する高速性

                          高速なPython互換言語「Mojo」のMac版登場、Appleシリコンにネイティブ対応。Pythonの9万倍、C言語に比肩する高速性 Modular社はPythonの高速なスーパーセットと同社が位置づける開発中の新言語「Mojo」の、Appleシリコンにネイティブ対応したMac版をリリースしました。 Today is the day! Mojo for Mac is live! Download it right now! Read our launch blogpost on how to get startedhttps://t.co/XSMkqUmHKt — Modular (@Modular_AI) October 19, 2023 Mojoは9月に初めてローカル環境でコンパイルなどを実行可能なLinux対応のツール群を公開しています。今回のAppleシリコンにネイティブ対応した

                            高速なPython互換言語「Mojo」のMac版登場、Appleシリコンにネイティブ対応。Pythonの9万倍、C言語に比肩する高速性
                          • 温故知新 makeを使いこなす - Qiita

                            最近社内でビルドの手順がちょいちょいMakefileで書かれているため、意外と知らなそうなmake及びMakefileの基本的な使い方をまとめてみました。 参考図書はこちらです https://www.oreilly.co.jp/books/4873112699/ 。 基本 まずは基本から。makeの本来の用途は、ソースコードのビルド手順を自動化することで、Makefileはその手順を記載したファイルになります。主にC言語をターゲットにしています。 一番基本的な内容はターゲットと依存、そしてビルド手順の3つを記載したルールで構成されています。たとえば、次のように書きます。

                              温故知新 makeを使いこなす - Qiita
                            • Flutter2.0で新しくなったこと

                              日本時間の3/4の未明に行われたFlutter EngageでFlutter2.0が発表されました。 変更点をまとめていきます。 Web/Windows/MacOS/LinuxのサポートがStableに 元々モバイル向けのクロスプラットフォームであったFlutterは、ベータ機能としてWeb、 Windows、 MacOS、Linuxをサポートしていましたが、 Flutter2.0でこれらのサポートがStableになりました。 従来の「モバイルフレームワーク」から、「ポータブルフレームワーク」へ変わるぞ!と発表されています。 Flutter for WebではWebassemblyとSkiaを使って直接CanvasにUIを描画するCanvasKitが紹介されました。 これは従来のdomを直接操作する方法と比べてパフォーマンスに優れ、モバイル版との差異も少ないレンダリング方法ですが、 Ski

                                Flutter2.0で新しくなったこと
                              • NuitkaでPythonプログラムを配布してみよう

                                こんにちは。Technicalスペシャリストの黒住です。 最近、Pythonの人気がさらに加速していますね。特に、AI開発やデータ分析においてはPythonの利用頻度が非常に高くなっています。 しかし、「Pythonプログラムを配布する」部分では問題が多いのではないでしょうか。そこで、今回は「Pythonプログラムをexe形式で配布する方法」についてご紹介します。 Pythonでexeファイルを作成する方法 C#やC/C++などのプログラミング言語では、実行可能なexe形式のプログラムファイルを作成できますが、Pythonにはexeファイルを作成する機能はありません。 そこで、Pythonのコードを実行可能な状態で配布したい場合は、他のツールを使用してexeファイルを作成する必要があります。exe化のツールはいくつか存在しますが、有名なものは以下の通りです。 PyInstaller Py2

                                  NuitkaでPythonプログラムを配布してみよう
                                • 村井純氏 ✕ 登大遊氏 ✕ 田中邦裕 in 未踏会議2022「世の中を動かす人たちの原動力」 | さくマガ

                                  IT・デジタル 村井純氏 ✕ 登大遊氏 ✕ 田中邦裕 in 未踏会議2022「世の中を動かす人たちの原動力」 2022年3月29日 「天才が天才を育てる」という発想のもと、数々のクリエータを発掘・育成し、世の中に送り出してきた「未踏」。経済産業省所管である独立行政法人情報処理推進機構(IPA)が主催し実施しています。2000年からはじまったこの国家事業によって、多くのクリエータが育成されています。 未踏による「未踏会議2022」が、3月10日に開催。スペシャルディスカッションに、村井純さん・登大遊さんが登壇。モデレーターをさくらインターネット代表の田中邦裕が務めました。 村井純さん プロフィール 慶應義塾大学教授 内閣官房参与 (デジタル政策担当)。 工学博士。1984年日本初のネットワーク間接続「JUNET」を設立。1988年インターネットに関する研究コンソーシアム「WIDEプロジェクト

                                    村井純氏 ✕ 登大遊氏 ✕ 田中邦裕 in 未踏会議2022「世の中を動かす人たちの原動力」 | さくマガ
                                  • Figmaを最強のデザインツールに変えるプラグインを厳選してまとめてみた! - paiza times

                                    どうも、まさとらん(@0310lan)です! 今回はブラウザ上でWebデザインやプロトタイプを作成できる「Figma」をパワーアップしてくれる、厳選された拡張機能をまとめてご紹介します。 デザインの構築を便利にしてくれるものから、Web開発の即戦力となるプラグインやツールの枠を超えたユーティリティを提供してくれるものまで、幅広くピックアップしていますのでぜひ参考にしてみてください! ■Figmaのデザインをコードに変換できるプラグイン 【 Figma to Code 】 Figmaで作成したWebデザインを、そのまま実際の開発に利用できるソースコードに変換してくれるプラグインが「Figma to Code」です。 2020年11月時点では、汎用性の高い「Tailwind CSS」を利用したHTMLへの書き出しに対応しており、他にもFlutterやSwiftUIのソースコードが出力可能です。

                                      Figmaを最強のデザインツールに変えるプラグインを厳選してまとめてみた! - paiza times
                                    • Cloudflare、NGINXに代えて自社開発のRust製HTTPプロキシ「Pingora」をグローバルCDNに採用。性能向上しつつCPUとメモリ消費を3分の1に

                                      Cloudflare、NGINXに代えて自社開発のRust製HTTPプロキシ「Pingora」をグローバルCDNに採用。性能向上しつつCPUとメモリ消費を3分の1に CDNプロバイダのCloudflareは、同社のグローバルなCDNの基盤として長らく利用してきたNGINXに代えて、同社自身がRust製のHTTPプロキシである「Pingora」を開発し利用していることを明らかにしました。 Pingoraはすでに同社のCDNに採用され、毎日1兆回以上のリクエストを処理し、性能向上や数多くの新機能の提供を実現しつつ、従来と比較してCPUとメモリリソースの消費はいずれも3分の1程度に収まっているとのこと。 Pingoraは現時点でコードなどは公開されていませんが、いずれオープンソース化の計画についても明らかにするとCloudflareは説明しています。 Today we are excited t

                                        Cloudflare、NGINXに代えて自社開発のRust製HTTPプロキシ「Pingora」をグローバルCDNに採用。性能向上しつつCPUとメモリ消費を3分の1に
                                      • 「別プロセスの PHP が今何をしているか」を実況するプログラムを PHP で作った - Qiita

                                        0 fgets <internal>:-1 1 <main> <internal>:-1 0 fgets <internal>:-1 1 <main> <internal>:-1 0 fgets <internal>:-1 1 <main> <internal>:-1 ... 0 time_nanosleep <internal>:-1 1 PhpProfiler\Lib\Loop\LoopMiddleware\NanoSleepMiddleware::invoke /home/sji/work/php-profiler/src/Lib/Loop/LoopMiddleware/NanoSleepMiddleware.php:33 2 PhpProfiler\Lib\Loop\LoopMiddleware\KeyboardCancelMiddleware::invoke /home/sji/

                                          「別プロセスの PHP が今何をしているか」を実況するプログラムを PHP で作った - Qiita
                                        • あらためて学ぶOSの役割 - 「OSの気持ち」を知り、コンピュータをよりよく理解しよう |ハイクラス転職・求人情報サイト AMBI(アンビ)

                                          あらためて学ぶOSの役割 - 「OSの気持ち」を知り、コンピュータをよりよく理解しよう パソコンを操作するうえで、欠かすことができないOS(オペレーティングシステム)ですが、あまりにも「あたりまえ」の存在ゆえ、その実像をイメージすることは多くはないでしょう。OSは「なにを」「どのように」処理しているのかを学ぶと、自身が使用するパソコンがもっとよく理解できるようなるかもしれません。内田公太さんが、OSの役割と働きの基本、そして「OSの気持ち」を理解するための方法を解説してくれました。 こんにちは、内田公太(@uchan_nos)です。 普段皆さんはパソコンを使っていろいろな処理をしていると思います。ネットサーフィンに文書作成、音楽を聴いたり絵を描いたり。この記事をお読みの方はプログラミングもしている方が多いと思います。 C言語の入門書で学ぶ最初のプログラムはだいたい printf("Hell

                                            あらためて学ぶOSの役割 - 「OSの気持ち」を知り、コンピュータをよりよく理解しよう |ハイクラス転職・求人情報サイト AMBI(アンビ)
                                          • Rustで古典的なDisk-Oriented DBMSを実装した話 - Write and Run

                                            KOBA789 です。みなさん DBMS は好きですか。私は好きです。 最近、自作 DBMS をずっと作っていて、ようやく最低限の機能ができたので公開をしました。 (とはいえコードを書いていたのは正味2日ほど。設計と勉強に2週間かかった) github.com この記事ではこれを作った目的と、そのちょっとした詳細についてご紹介します。 目的 Disk-Oriented DBMS の学習に適している Rust で書かれた実装が欲しかった、というのが理由です。 DBMS の勉強に適している実装というのは意外と多くありません。 MySQL や PostgreSQL といった有名な実装は実用的である一方でコード量は非常に多く、また細かな最適化によって教科書的なアルゴリズムと実際のコードの差が大きくなっているため、初学者にとっては構造を把握しづらくなっています。 教科書的な実装の Disk-Orie

                                              Rustで古典的なDisk-Oriented DBMSを実装した話 - Write and Run
                                            • ついに日本で利用可能になったChatGPTの強力ライバル「Claude」使用レビュー、テキストファイルやPDFファイルの認識も可能でランチの相談からコーディング補助までサクサク応答

                                              チャットAI「Claude」は人間の学者に匹敵する能力を持つとされるほどの性能を備えており、ChatGPTのライバルとみなされています。そんなClaudeが日本でも利用可能になったので、実際にClaudeを使う方法や性能をまとめてみました。 Now users in all supported countries can access both our free experience and Claude Pro to boost their productivity and get more done.— Anthropic (@AnthropicAI) ◆Claudeのアカウント作成手順 Claudeを使うには無料のアカウントを作成する必要があるので、まずは以下のリンクをクリックしてアカウント作成画面にアクセスします。 Claude https://claude.ai/login アカ

                                                ついに日本で利用可能になったChatGPTの強力ライバル「Claude」使用レビュー、テキストファイルやPDFファイルの認識も可能でランチの相談からコーディング補助までサクサク応答
                                              • 最も電力を使わないプログラミング言語は?

                                                エネルギー使用量のデータは、プログラミング言語の品質について何か教えてくれるのでしょうか? 昨年、ポルトガルの3つの異なる大学の6人の研究者からなるチームがこの問題を調査し、最終的に「プログラミング言語全体のエネルギー効率」と題する論文を発表しました。彼らは、27の異なる言語で書かれた10のプログラミング問題の解答を実行し、それぞれがどれだけ電力を使用しているか、速度やメモリ使用量と同様に注意深く測定しました。 具体的には、コンピュータ言語ベンチマーク・ゲームの10の問題を使用しました。これは、パフォーマンスを比較するためのフリーソフトウェア・プロジェクトであり、単純なアルゴリズムの問題の標準セットと、テストを実行するためのフレームワークが含まれています。(以前は「The Great Computer Language Shootout」と呼ばれていました。)「これにより、コンパイル/実行

                                                  最も電力を使わないプログラミング言語は?
                                                • ほとんどのプログラミング言語で関数のreturnが1つしか出来ないのはなぜですか?

                                                  回答 (12件中の1件目) 多くの言語で多値のリターンができない理由ですが、昔のC言語(Sys V以前のC)が単一レジスタに格納できる値しかリターンできなかったのを引きずってるだけだ、という意見を見つけました(勝手な読み取り)。 多値について本気で考えてみた - ぐるぐる~ この先に書かれていることを自分なりにまとめると、 * 多値返しがファーストクラスではないという意味でタプル返しの劣化版なのは認めよう。しかし考えを進めよう。タプルの劣化版としての意味を。 * 多引数関数があるのと同様に多値関数があってもいい * スタックマシンではむしろ自然に実装できる(レジスタ返しに縛ら...

                                                    ほとんどのプログラミング言語で関数のreturnが1つしか出来ないのはなぜですか?
                                                  • 嫁のはてブが閉鎖し、なれのはてブを作って1週間が経った

                                                    嫁のはてブが閉鎖して1週間が経った。変わらず手癖でGoogleに「嫁のはてブ」と入れてサイトに飛んでしまうのが悲しい。 [補足] 嫁のはてブ関連のブコメで「嫁のはてブって何だ?」というコメントを見かけたので、もし嫁のはてブを知らない人は以下ページを見てもらうといいと思う。 ■「はてブ」をリニューアル前風デザインで 個人が一晩で開発 - ITmedia NEWS https://www.itmedia.co.jp/news/spv/1301/09/news089.html 2013年から約10年間ほぼ毎日嫁のはてブを使っていた。 嫁のはてブの閉鎖が決まってからはてなブックマーク公式サイトを使おうとしてみたが、正直キツい。 アプリの方はまだ見た目には良さそうだったのだが、自分は気になった記事ページとブクマページを一旦タブで全部開いて、開ききってから読んでくというスタイルなのでアプリは合ってなか

                                                      嫁のはてブが閉鎖し、なれのはてブを作って1週間が経った
                                                    • PHPとSQLiteをWebAssembly化し、Webブラウザ上でWordPressを実行可能にしたデモをVMwareが公開

                                                      VMwareのWasm Labsは、Webブラウザ上でWordPressを実行可能にしたデモを公開しました。 デモページをWebブラウザで開くと、実際にWebブラウザ上でWordPressが実行されます。 WordPressはオープンソースで開発されている代表的なCMSです。PHPで開発されています。バックエンドデータベースとしてMySQLが使われることが一般的ですが、今回のデモではSQLiteが使われています。 今回のデモを公開したVMwareのWasm Labsは、C言語をWebAssemblyバイナリにコンパイルできるEmScriptenコンパイラを用いて、PHPとSQLiteのコンパイルを行っています。 さらにメモリ上にファイルシステムを構築し、Service Workerをプロキシとするなど追加でWordPressを実行可能な環境を作り上げ、デモを作成したとのことです。 WebA

                                                        PHPとSQLiteをWebAssembly化し、Webブラウザ上でWordPressを実行可能にしたデモをVMwareが公開
                                                      • JavaScriptからGo言語に乗り換えた感想 - 新しいことにはウェルカム

                                                        JavaScript(TypeScript)で書かれたプログラムを、Go言語で書き直しました。 その動機や、書き換えた結果などを書こうと思います。 また、今回Go言語が初めてだったので、Go言語とはどういったものかや、Go言語をやってみた感想なども合わせて書こうと思います。 動機 メンテナンスしづらい 移植したプログラムは、JavaScript(TypeScript)で書かれた、データ処理関連のプログラムで、サーバーで動かしていました。 JavaScriptはポピューラーな言語ですが、フロントエンドをやらない人にはあまり馴染みがないようで、扱える人が限られていて何かあった時の対応が不安でした。 どのプログラム言語にも似たような文法があり、ちょこっと修正するくらいなら、一通り文法書に目を通せば何とかなりそうな気もするのですが、PromiseなどのJavaScriptの非同期プログラミング文法

                                                          JavaScriptからGo言語に乗り換えた感想 - 新しいことにはウェルカム
                                                        • GoogleやBingの検索結果にChatGPTを表示させる拡張機能「ChatGPT for Search Engines」

                                                          OpenAIのChatGPTは高度な自然言語処理モデルを利用した対話型AIで、文章を入力するとまるで人間が書いたような自然な文章を返してくれます。これまでの検索エンジンでは検索クエリに複数の単語を入力する必要がありましたが、このChatGPTを応用すれば、調べたいことを直接文章で入力することでより適切な検索結果を示す次世代の検索エンジンが可能になると期待されています。そんなChatGPTの回答を実際にGoogleやBingなどの検索結果に表示させる拡張機能「ChatGPT for Search Engines」が、Chrome・Firefox・Edge向けにリリースされています。 ChatGPT for Search Engines https://chatonai.org/ ChatGPT for Search Enginesを利用するには、あらかじめChatGPTにアカウントを作成して

                                                            GoogleやBingの検索結果にChatGPTを表示させる拡張機能「ChatGPT for Search Engines」
                                                          • Lispを実装したくなったら読んでほしい本6選 - Arantium Maestum

                                                            言語実装 Advent Calendar 2022の1日目の記事として書いた。 Lisp Advent Calendar 2022でも枠が空いていたのでダブル投稿。 プログラミング言語を実装してみたい!と思ったらまずは簡単なLispインタプリタから始めるというのは一つの王道だと思う。 複雑な構文解析は要らず最低限の再帰下降法パーサで手に入る構文木を、そのまま再帰的な関数で実行していくtree walking評価器。メモリ確保もヒープにそのまま置いていって、メモリ解放は実装言語のGCに任せるなりプログラムの終了時までやらなかったり。そんなインタプリタを作る経験から得られるものは非常に大きく、どんなプログラマでも一回は試してみてもいいのではないか?と思っている。(個人的な感想です) そんな簡易Lispを実装してみて沼にハマってしまい、より精緻な言語処理系を作りたいと思ったとする。その時点で:

                                                              Lispを実装したくなったら読んでほしい本6選 - Arantium Maestum
                                                            • Goエラーハンドリング戦略

                                                              Goのエラーハンドリングが採ったスタイル 多値返し 直積(関数の返値とエラーを両方返す) try-finallyをdeferという機構でカバー panicはプロセスを落とすためのもの Goはこの戦略でエラーハンドリングを行うとしましたので、「多値はなぜタプルじゃないんだ?」、「直和(返値orエラー)で十分じゃ?」「panic-recoverでtry-catchできそう?」などいう様な他の処理系の風習を持ち込むことは意味がありません。そしてそれらの提案の多くはすでに検討されリジェクトされてきた経緯があります。 「try組み込み関数」プロポーザルなんかも検討されマージ直前くらいまで進んだこともありますが、「Goのエラーハンドリング」にとって一長一短がありました。その欠点課題は解決できずに最終的にリジェクトされました。 「多値返し」は実にCPUフレンドリーな機構で、C言語の関数呼び出し規約にちょ

                                                                Goエラーハンドリング戦略
                                                              • 高卒30代未経験からモダン・フロントエンドエンジニアになった軌跡を全て書いていく - Qiita

                                                                ※Qiitaのおかげ(?)で転職できた話です。 【22歳】工場勤務ワイ ワイ「毎日毎日、接着剤で部品をくっつけるのしんどいな・・・」 ワイ「ワイ、作業が遅すぎて先輩に嫌われてるし・・・」 ワイ「転職したいな・・・」 ワイ「プログラマーってカッコええな・・・」 ワイ「よっしゃ、C言語ってやつの本を買って、勉強してみよか・・・!」 C言語の勉強開始 ワイ「さっそく本を読んでいくで」 ワイ「変数・・・関数・・・なるほどな」 ワイ「オモロイやんけ」 翌日 ワイ「よっしゃ、黒い画面(コマンドプロンプト)で動く、足し算プログラムができたで!」 一週間後 ワイ「・・・来る日も来る日も、黒い画面ばっかりや!」 ワイ「いつになったら、デスクトップアプリみたいなのを作れるようになんねん!」 結果 一週間で挫折しました。 【23歳】無職ワイ ワイ「工場がなくなって、無職になってもうたわ」 ワイ「ほな、職業訓練校

                                                                  高卒30代未経験からモダン・フロントエンドエンジニアになった軌跡を全て書いていく - Qiita
                                                                • 自堕落な技術者の日記 : jsrsasignの寄付金を募ることにしてみました(やりがいって何だっけ?) - livedoor Blog(ブログ)

                                                                  私はjsrsasignというJavaScriptのオープンソース暗号、PKIライブラリを個人的な趣味で開発し公開しています。ところが最近、npmパッケージのダウンロードが月間60~70万件と、異常にユーザーも増え、製品でも使われ始め、ちょっと厄介なことになっており、いろいろ悩んだ挙げ句、これが正解なのかもわかりませんが、ライブラリの維持のために寄付金を募ることにした次第です。今日は、心の吐露をつらつら書いていくことにします。 jsrsasignとは 2010年ごろ、スタンフォードの学生さんであるTom Wooさんという人のJavaScriptでRSA暗号化できるコードを見つけ、自分はPKIや電子署名を専門にしていたので「JavaScriptでRSA署名できたら面白いな」と思い、2010年6月に、ほんのRSA署名単機能のライブラリとして公開したのが jsrsasign です。当時のはしゃぎっ

                                                                  • 【2024年】ITエンジニア本大賞まとめ

                                                                    アジャイルプラクティスガイドブック チームで成果を出すための開発技術の実践知 チーム・組織にプラクティスを導入し、根付かせるために! 116の手法を一冊にまとめた“実践”の手引き チームでのアジャイル開発には、開発技術やツールなどの「技術プラクティス」の活用が重要です。 プラクティスはそれぞれの目的や役割を意識することで効果を発揮します。しかし、目まぐるしく状況が変化する開発では、当初の目的を忘れて、プラクティスに取り組むこと自体が目的化してしまうチームも少なくありません。 本書は、チーム・組織でアジャイル開発に取り組んできた著者が、プラクティスの効果的な選択・活用のしかたについて、自らの実践経験に基づいてまとめたガイドブックです。 架空の開発現場を舞台にしたマンガとともに、チーム開発の様々なシーンで役立てられるプラクティスを、幅広くかつわかりやすく解説しています。開発現場に備えておけば、

                                                                      【2024年】ITエンジニア本大賞まとめ
                                                                    • トーバルズ氏が考える、LinuxにおけるRustの居場所とは

                                                                      Steven J. Vaughan-Nichols (Special to ZDNET.com) 翻訳校正: 村上雅章 野崎裕子 2021-03-31 07:30 Linuxはプログラミング言語Cの申し子のような存在だ。しかし時は流れ、状況は変わった。RustをLinuxのシステム記述言語として採用しようという動きが少しずつ支持を集めてきている。例を挙げると、Linuxカーネル開発者のための年次カンファレンス「Linux Plumbers Conference(LPC)2020」において、開発者らはLinuxのインラインコード部分でのRustの採用を真剣に議論していた。その議論は現在どうなっているのだろうか?筆者はLinuxの父と目されるLinus Torvalds氏と、Linuxの安定版カーネルのメンテナーであるGreg Kroah-Hartman氏から考えを聞いた。 これはRustに魅

                                                                        トーバルズ氏が考える、LinuxにおけるRustの居場所とは
                                                                      • WebAssemblyとしてPostgreSQLをビルドした「PGlite」公開。Node.jsやブラウザ上でPostgreSQLを実行、DBの永続化も可能

                                                                        PostgreSQLのソースコードをWebAssemblyバイナリとしてビルドしたことで、Node.jsなどのJavaScriptランタイムやWebブラウザ上で(ほぼ)フル機能のPostgreSQLを実行可能にした「PGlite」が公開されました。 PGliteはPostgreSQLのCのソースをEmscriptenでコンパイル PostgreSQLはオープンソースの代表的なリレーショナルデータベースであり、C言語で開発されています。 PGliteはこのPostgreSQLのCのソースコードのビルドにEmscriptenコンパイラを使用してWebAssemblyバイナリとして出力、JavaScript/TypeScriptからライブラリとして呼び出せるようにしたものです。 ただしEmscriptenでコンパイルされたプログラムは新しいプロセスをフォークできないため、PGliteはPostg

                                                                          WebAssemblyとしてPostgreSQLをビルドした「PGlite」公開。Node.jsやブラウザ上でPostgreSQLを実行、DBの永続化も可能
                                                                        • 生のポインタは使わないで! Modern C++のメモリ管理

                                                                          本連載では、Modern C++と称されるC++について、Modern C++らしい言語仕様をピックアップし紹介していきます。第3回は、スマートポインタについて紹介します。高度なメモリ管理には生のポインタの使いこなしが必須という古い常識はもはや通用しません。メモリを効率よく、しかも安全に使うことを実現しているスマートポインタについて理解を深めます。 はじめに C言語から派生したオブジェクト指向プログラミング言語であるC++は、21世紀に入ってまったく別物とも言えるプログラミング言語に成長していきました。それは、Modern C++と称されています。1990年代にC++を触っていたプログラマが現在の仕様を知れば、隔世感に苛まれるのではないでしょうか。本連載では、かつてはC++をたしなんでいたという方、今からC++言語を始めるという方に向けて、Modern C++らしい言語仕様をピックアップし

                                                                            生のポインタは使わないで! Modern C++のメモリ管理
                                                                          • 「ITフリーランスエンジニアの平均月額単価ランキング」言語別1位は「Ruby」で88.3万円、パーソルキャリアが発表

                                                                            パーソルキャリアのIT・テクノロジー領域特化型エージェントサービス「HiPro Tech(ハイプロ テック)」は、2022年1年間に「HiPro Tech」が受領した案件の月額単価平均を算出した「ITフリーランスエンジニアの平均月額単価ランキング」を3月28日に発表した。 職種別の単価ランキングを見ると、「DXコンサルタント」が99.1万円と全職種の中で最も高く、次いで「ITコンサルタント」(95.5万円)となった。さらに「PM/PMO」(91.3万円)も4位にランクインし、DX戦略の推進に関わるポジションで単価が高いことがわかった。 3位は、「プロダクトオーナー/プロダクトマネジャー」(92.6万円)となった。また、「データサイエンティスト」(5位、90.2万円)や「機械学習・AIエンジニア」(7位、87.5万円)も需要の高さに比例して上位にランクインしている。 WEB系サービスの開発経

                                                                              「ITフリーランスエンジニアの平均月額単価ランキング」言語別1位は「Ruby」で88.3万円、パーソルキャリアが発表
                                                                            • どうして Julia を作ったか

                                                                              プログラミング言語「Julia」開発者さんの文章がとても好きなので、雰囲気重視で訳しました。結構意訳です。原典:https://julialang.org/blog/2012/02/why-we-created-julia/ =================================================「どうして Julia を作ったか」 それは、僕らが欲張りだからだ。 Matlab はめっちゃ使う。僕らの中にはLispの天才もいるし、PythonやRuby のすげー奴、Perl を巧みに使いこなす奴もいる。毛も生えない子供の頃からMathematica で遊んだ奴もいる。いまだにツルツルな奴だって仲間だ。Rではアホみたいにたくさんグラフを書いた。C言語からは、いつだって冒険の匂いがする。 ぜんぶ、大好きだ。面白いし、いろいろなことができる。何かをしたいと思った時--科

                                                                              • 機械学習エンジニアに爆速でなるための教材集 - Qiita

                                                                                0. はじめに 昨今のAI、DXブームの影響で、機械学習、深層学習(ディープラーニング, Deep Learning) への注目は増すばかりですが、初学者の方にとって機械学習を学ぶハードルは依然高い状態かと思います。 機械学習、特にディープラーニングを習得するには学ぶべきことが多く、また分野によっては難易度が高いということもあり、学んでいる途中で挫折してしまうという人も多いという印象があります。 そこで本記事では、これから機械学習を学びたい方が自学自習する際の助けになるようにと、有用な自習コンテンツをまとめました。 本記事では、機械学習エンジニアとして実務に参画できるレベルを目指して、コンテンツを収集しました。よって機械学習の理論やライブラリに加え、社会実装する上で付随して必要となるソフトウェアエンジニアリングのスキルも含めています。 コンテンツについては、適宜追記していく予定です。 対象

                                                                                  機械学習エンジニアに爆速でなるための教材集 - Qiita
                                                                                • C言語でSQLiteのクローンを作るチュートリアルやった - valid,invalid

                                                                                  2019年12月の冬休みに1週間程かけて"Let's Build a Simple Database"という、C言語でSQLiteのクローンを作るチュートリアルをやりました。この存在を教えてくれた同僚に感謝 :pray: cstack.github.io チュートリアルの内容 Richard Feynman先生の“What I cannot create, I do not understand.”という言葉が掲げられているように、データベースを作ることでデータベースをより深く理解することに主眼が置かれているチュートリアルです。 これは重要事項説明かつタイトル詐欺に関する謝罪なのですが… 残念ながらこのチュートリアルは完成しておらず、Part 13が2017-11-26に公開されたのを最後に更新が止まってしまっており、以下の13章しかありません。 Part 1 - Introduction

                                                                                    C言語でSQLiteのクローンを作るチュートリアルやった - valid,invalid