並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 7019件

新着順 人気順

gccの検索結果1 - 40 件 / 7019件

  • [翻訳] BioNTech/Pfizer の新型コロナワクチンを〈リバースエンジニアリング〉する|柞刈湯葉

    本記事は Bert Hubert による [Reverse Engineering the source code of the BioNTech/Pfizer SARS-CoV-2 Vaccine] を許可を得て日本語訳したものです。 はじめにようこそ。この記事では、バイオンテック社・ファイザー社による新型コロナウイルスの mRNA ワクチンのソースコードを、1文字ずつ解読していきます。 本記事を読みやすく、正しいものとするために時間を割いていただいた多くの方々に感謝いたします。間違いはすべて私の責任に属しますが、 bert@hubertnet.nl または @PowerDNS_Bert までお知らせいただけると幸いです。〔訳注:翻訳に関する指摘は柞刈湯葉 @yubais まで。〕 「ワクチンのソースコード」だって? ワクチンは腕に注射する液体だろ、そのソースコードって何だよ? と思われ

      [翻訳] BioNTech/Pfizer の新型コロナワクチンを〈リバースエンジニアリング〉する|柞刈湯葉
    • 【コンテナ技術入門】コンテナ要素技術をDocker使わずに基礎から手を動かして学べる超有用なテキスト #dockerTokyo | DevelopersIO

      「Dockerって、結局中でなにやってんの?」 先日、以下のミートアップに参加して、LT登壇してきました。 Docker Meetup Tokyo #31 (初心者歓迎LT祭り+KubeConCN報告) 自分はLTの一番手として、「雰囲気でコンテナ使っている 全ての人が読むべき 「コンテナ技術入門」の紹介」で喋ってきたので、それの登壇報告となります。 「コンテナ技術入門」は、Dockerコマンド一通り使えるようになってきたけど、もっとDockerやコンテナについて深く知っておきたいという方にはむちゃくちゃ有用なコンテンツなので、一度目を通して、実際に手を動かして試してみることをオススメします。 (祭) ∧ ∧ Y  ( ゚Д゚) Φ[_ソ__y_l〉     コンテナマツリダワッショイ |_|_| し'´J 講演概要 当日のセッションスライドはこちら。 この記事では、LTという時間枠の中

        【コンテナ技術入門】コンテナ要素技術をDocker使わずに基礎から手を動かして学べる超有用なテキスト #dockerTokyo | DevelopersIO
      • 「この位置にprintfが無いとなぜか動かないんだ。」 - Qiita

        はじめに 先日ツイッターで見かけた呟き pic.twitter.com/33Yk02hu1U — TOMO (@tomozh) October 14, 2020 そういうこともあるのか的な反応もあるようなので具体例を挙げてみることにする。 例1 所謂FizzBuzz問題。 #include <stdio.h> void fizzbuzz(int n) { int next; int i = 1; do { printf(i % 15 ? i % 5 ? i % 3 ? "%d\n" : "Fizz\n" : "Buzz\n" : "FizzBuzz\n", i); if (i++ >= n) next = 0; } while (next); } int main(void) { printf((char[]){""}); // この位置にprintfが無いとなぜか動かない fizzbuz

          「この位置にprintfが無いとなぜか動かないんだ。」 - Qiita
        • Command Line Interface Guidelines

          Contents Command Line Interface Guidelines An open-source guide to help you write better command-line programs, taking traditional UNIX principles and updating them for the modern day. Authors Aanand Prasad Engineer at Squarespace, co-creator of Docker Compose. @aanandprasad Ben Firshman Co-creator Replicate, co-creator of Docker Compose. @bfirsh Carl Tashian Offroad Engineer at Smallstep, first e

            Command Line Interface Guidelines
          • コンパイラが作ったバイナリをつなぎ合わせるプログラム 「lld」の作者が語る、リンカの仕組み

            Kernel/VM探検隊はカーネルや仮想マシンなどを代表とした、低レイヤーな話題でワイワイ盛り上がるマニアックな勉強会です。植山氏は、制作中のリンカである「mold」について発表しました。全2回。前半は、リンカの概要について話しました。 LLVMのリンカ「lld」オリジナルの作者 植山類氏:植山類です。今僕が作っているmoldというリンカについて発表します。 今回の発表の概要です。リンカが何かを知っている人はそんなにたくさんいないと思うので、まず説明します。次に、「mold」のポイントは速いことなのですが、速いと何がうれしいのかを説明します。そのあと、どれくらい速いのかを説明した上で、どう実現されているのか、概要を紹介します。詳細になると何時間あっても終わらないので、かなりハイレベルな話をします。 自己紹介のスライドを入れていませんが、僕はリンカを何度か作ったことがあって、LLVMのlld

              コンパイラが作ったバイナリをつなぎ合わせるプログラム 「lld」の作者が語る、リンカの仕組み
            • エンジニア3年目までに読んで良かった書籍 - Yuki Watanabe's Blog

              未経験からエンジニアになり3年が経ちました。 この3年間はベテランエンジニアとの差を埋めるべく、プライベートの時間の大半を学習に充ててきました。幸い少しずつ成長を感じられ、業務では難易度の高い仕事を任せてもらえるようになったと感じます。このキャッチアップのために100冊以上の技術関連書籍を読んだことでしょう。 ここ最近、知人やTwitter経由で知り合った方から、私が学習に使った書籍について質問を頂くことが多いです。そこで、今後参照していただきやすいように、これまで私が読んで良かった書籍を1つの記事にまとめようと思います。 前提:エンジニアとして経験した技術 書籍について 全エンジニア向け Web / インターネット イラスト図解式 この一冊で全部わかるWeb技術の基本 (★) HTMLコーダー&ウェブ担当者のための Webページ高速化超入門 (★) Webを支える技術 -HTTP、URI

                エンジニア3年目までに読んで良かった書籍 - Yuki Watanabe's Blog
              • 【まとめ】これ知らないプログラマって損してんなって思う汎用的なツール 100超 - Qiita

                2019/06/11追記: これは2012年の投稿です。なぜかはてなブックマークで拡散されていますが、内容は時代にそぐわなくなったものもあるのでご注意ください。 これ知らないプログラマって損してんなって思う汎用的なツールのコメントに寄せられたツールを分類分けしてみました。 解説は、ほぼコメントに寄せられた内容のコピペです。 URLのみの記述は公式サイト(か、ほぼ公式サイトと化しているサイト) 公式サイトとは別に、ページタイトルだけでツールを説明しきっているページへのリンクも付けておきました。類似ページが複数ある場合は、はてブのブックマーク数が多いものを選びました。 知らないツールもあるので、分類がいいかげんなところもあると思います。何か気づいたらコメントください。 解説が不十分なツールについても、補足(コピペで本文に取り込める体裁だとありがたい)を頂けると助かります! 元ネタの投稿は現在進

                  【まとめ】これ知らないプログラマって損してんなって思う汎用的なツール 100超 - Qiita
                • 音楽プログラミング言語って結局なんなのさ? 1.言語仕様

                  音楽プログラミング言語って結局なんなのさ? 1.言語仕様published: 2021-02-12 last modified: 2023-07-25 この記事は続き物でおおよそ週間ペースを目指しています。 言語仕様(本記事)データとプログラムの境目言語とライブラリの境目松浦知也です。ここ2年ぐらい音楽のための新しいプログラミング言語mimiumを開発しています。 https://mimium.org/ja 最近この自分で作った言語を人に説明する機会がちょこちょこ増えてきたのですが、その度に「既存の音楽プログラミング言語と比べてどこが新しいのか?」という話にたどり着く前に「そもそも音楽をプログラミングで作るってどういうこと?」みたいな疑問に対する解説をしているうちに話が続かなくなってしまうようなケースが増えてきまして、なんかそういう超初歩的な解説があればいいのになあと思っています。 プログ

                    音楽プログラミング言語って結局なんなのさ? 1.言語仕様
                  • 2023年に読んでよかった技術書

                    おそらく 2023 年に Zenn で出す最後の記事になるかと思います。 タイトルの通り、2023 年に読んだ本の中で、特に素晴らしかったものをご紹介します。 とはいえあまり今年は技術書を読んだ印象がなく… というのも、特定の xx(例えば Next.js、Ktor)といった部類に関しては公式のドキュメントを読むことがほとんどになり、書籍に求めるのは公式ドキュメントに書かれていない何かや誰かの経験・ノウハウになったからだと思います。 この記事を書くにあたって今年読んだ本を振り返ってみても、やはり十数冊程度(それでも月に 1 冊は読んでた)のでインプット:アウトプットの割合的には良いバランスではないかと思っています。 ただ、先に述べた通り公式ドキュメントに書かれていないなにかを売っている本というのはどれも本当の意味で価値があるものであり、皆さんにも本当に意味のある情報にお金を使っていただける

                      2023年に読んでよかった技術書
                    • Linuxカーネルで学ぶC言語のマクロ - 覚書

                      はじめに 本記事は電子書籍版もあります。 linuxカーネルはC言語のマクロを駆使して書かれています。それらのうち、凝ったマクロになじみの無い人には初見では意図がわからない&わかってみれば面白いであろうものをいくつか紹介いたします。対象読者は、C言語のユーザだけれども、マクロは定数定義くらいにしか使わないというライトなマクロユーザです。 マクロを使用する場所に依存するエラーを防ぐ 次のマクロは、二つの引き数の値を置換するだけの単純なものです。 #define swap(a, b) \ do { typeof(a) __tmp = (a); (a) = (b); (b) = __tmp; } while (0) 注目すべきはマクロの定義全体を囲んでいるdo { ... } while (0)という表記です。初見の人には何のことかわからないと思います。考えられる最も単純な定義から遡って、なぜこ

                        Linuxカーネルで学ぶC言語のマクロ - 覚書
                      • Ubuntu 22.04 LTS サーバ構築手順書

                        0 issue "letsencrypt.org" 0 issuewild "letsencrypt.org" 0 iodef "mailto:yourmail@example.jp" §OS再インストール さくらVPSのコントロールパネルから、OSを再インストールするサーバを選ぶ。 www99999ui.vs.sakura.ne.jp §OSのインストール操作 Ubuntu 22.04 LTS を選ぶ。 OSインストール時のパケットフィルタ(ポート制限)を無効にして、ファイアウォールは手動で設定することにする。 初期ユーザのパスワードに使える文字が制限されているので、ここでは簡単なパスワードにしておき、後ですぐに複雑なパスワードに変更する。 公開鍵認証できるように公開鍵を登録しておく。 §秘密鍵と公開鍵の作成 クライアントマシン側で生成した公開鍵を ~/.ssh/authorized_k

                          Ubuntu 22.04 LTS サーバ構築手順書
                        • printfに4285個アスタリスクをつけるとclang++が死ぬ - Qiita

                          def check(n) s = "*"*n f = open("test.cpp","w") f.puts <<EOS #include <cstdio> int main(){ (#{s}printf)("Hello World\\n"); } EOS f.close() return system("clang++ test.cpp") end check(ARGV[0].to_i) $ ruby check.rb 10000 clang: error: unable to execute command: Illegal instruction: 4 clang: error: clang frontend command failed due to signal (use -v to see invocation) Apple LLVM version 10.0.1 (clang

                            printfに4285個アスタリスクをつけるとclang++が死ぬ - Qiita
                          • 【レゴランド】パーク側の処理ミスで来園者を詐欺師扱い、後日社長から謝罪が届くも

                            いか🦑 @maikuraLEGO_ika 久しぶりのレゴランド! ウッキウキで来たのに入場でトラブル…チケット売り場で詐欺師扱いされた上にろくな謝罪ももらえず… はぁ… pic.twitter.com/gCc0Fchlex 2024-01-13 10:52:33 いか🦑 @maikuraLEGO_ika 駄目だ、先日のレゴランドの件でレゴを嫌いになりそうな自分が居る レゴランド側の手違いで主人が子供チケット(年パス)を使用したと登録されていた(確実に大人年パスチケットで入場した)のに、40分以上寒空の下で立ちっぱなしで「差額を払わないと入れない」「前回子供チケットで入場されましたよね」 2024-01-16 02:19:08 いか🦑 @maikuraLEGO_ika 何度も何度も『確実に大人年パスを買ったしそれで入場した。そもそも子供チケットで入場ゲート通れないでしょう?年パス登録の

                              【レゴランド】パーク側の処理ミスで来園者を詐欺師扱い、後日社長から謝罪が届くも
                            • Windows10+WSL2環境で快適AWSサーバレス開発 | DevelopersIO

                              Windows 10 バージョン2004 ビルド19041(通称、May 2020 Update)では、WSL(Windows Subsystems for Linux)がバージョンアップしました。WSL2+Docker Desktop for WindowsでAWSサーバレス開発環境を改善してみようと思います。 データアナリティクス事業本部の藤川です。2020年5月下旬に、Windows 10 バージョン2004 ビルド19041(通称、May 2020 Update)が正式にリリースされました。Windows版Dockerユーザにとっては待望のWindows Updateになりました。 最近、Macで開発する方が増えていると思います。クラウド/WebサービスはLinuxで運用するケースが多く、UNIX由来のOSであるLinuxやmacOSとの親和性が高いこともあり、これらOSが開発環境

                                Windows10+WSL2環境で快適AWSサーバレス開発 | DevelopersIO
                              • Visual Studio Code と Docker コンテナを使って開発する - Pepabo Tech Portal

                                技術部データ基盤チームの @zaimy です。今回は、 Visual Studio Code(以下 VS Code)と Docker コンテナを使って開発環境を構築する方法を紹介します。 データ基盤エンジニアの開発環境として、Python を使用する単一コンテナを例に記述しますが、他の言語や Docker Compose を使う場合でも応用できます。 背景: M1 Mac (Monterey) に Python 3.8.12 をインストールできない 先日、業務で使用するマシンを Intel Mac から M1 Mac に切り替えたのですが、CPU アーキテクチャが異なることに加えて、OS のバージョンが上がったことで Apple Clang に下位互換性のない変更が入っており、業務上ある理由で必要な Python 3.8.12 のインストールが困難でした。 そこで、私の所属するチームは全員

                                  Visual Studio Code と Docker コンテナを使って開発する - Pepabo Tech Portal
                                • CentOS 8 と CentOS 7 の違い、yum やミドルウェアにも要注意 - サーバー構築と設定 ~初心者にも分かりやすく解説~

                                  2019年9月24日に CentOS 8 がリリースされます。 RedHat Enterprise Linux 8 の情報を元に、CentOS 8 で想定される変更点をまとめました。 PHP や MySQL といったミドルウェアのバージョン変更や、 サービスの追加・削除など数多くの変更が入ることになります。 RHEL 8・CentOS 8 に PHP 7.3 をインストールする(remi 使用) 2020-07-07 CentOS 8 のリリースは2019年9月24日 CentOS 8 はリリース前の状態で、現在コミュニティによる開発が行われています。 2019年7月時点では、ベースとなる「RHEL 8」のパッチ開発と検証作業が進行中です。 前回バージョンアップ時は、「RHEL 7」の27日後に「CentOS 7」がリリースされましたが、 今回の進捗を踏まえると 2019年8月~9月 頃の

                                    CentOS 8 と CentOS 7 の違い、yum やミドルウェアにも要注意 - サーバー構築と設定 ~初心者にも分かりやすく解説~
                                  • Go コンパイラのコードを読んでみよう - kosui

                                    はじめに 本記事は、 DeNA Advent Calendar 2020 の 11 日目の記事です。 突然ですが、「コンパイラのコードを読んでみよう」なんて言われても、「どうせ巨大で難解で複雑なロジックを理解しないと読めないんでしょ?」と思いませんか。 コンパイラの構造を理解しようとしても聞いたことのないような専門用語がずらりと並び、コードを読もうとしたらそれらをすべて完全に理解してないと一行も理解できないんじゃないか...。Go のコンパイラ gc のソースコードを読むまでは、私もそう思っていました。 しかし、あまりにも暇な休日のある日、思い立って gc のコードを読んでみました。すると、「コンパイル」という難解な響きの処理も、一つひとつを小さなタスクに分解することで、少しずつ読み進めることができると分かったのです! 何よりも感動したことは、 gc そのものが全て Go で書かれていて、

                                      Go コンパイラのコードを読んでみよう - kosui
                                    • 【2019年】CTF Web問題の攻撃手法まとめ (Web問題のwriteupぜんぶ読む) - こんとろーるしーこんとろーるぶい

                                      CTF Advent Calendar 2019 - Adventarの25日目の記事です。 1つ前は@ptr-yudai氏の2019年のpwn問を全部解くチャレンジ【後半戦】 - CTFするぞでした。 はじめに 対象イベント 問題数 読み方、使い方 Cross-Site Scripting(XSS) SVGファイルを利用したCSPバイパス GoogleドメインのJSONPを利用したCSPバイパス サブリソース完全性(SRI)機能を利用した入力チェックバイパス Chrome拡張機能のパスワードマネージャーKeePassの悪用 HTML likeコメントを使用したコメントアウト jQuery.getJSONのJSONP機能を使用したスクリプト実行 DOM Clobberingによるコードハイジャック Service Workerを利用したスクリプト実行 XSS Auditor機能のバイパス

                                        【2019年】CTF Web問題の攻撃手法まとめ (Web問題のwriteupぜんぶ読む) - こんとろーるしーこんとろーるぶい
                                      • ゲーム製作で最初に試みない方がいいn個のこと – 東京工業大学 ロボット技術研究会公式ブログ

                                        東京工業大学 ロボット技術研究会公式ブログ 東京工業大学の公認サークル「ロボット技術研究会」のブログです。 当サークルの日々の活動の様子を皆さんにお伝えしていきます。たくさんの人に気軽に読んでもらえると嬉しいです。 どうもこんにちは。14の らりお と申します。 この記事は春の新歓ブログリレー19日目の記事です。進捗どうですか! このブログを読んでいる人には、ロ技研に入りたい人も、入るか迷っている人も、関係ない人もいることと思います。この記事では、ゲーム製作やプログラミングに興味がある新入生(ゲーム製作初心者)に向けて、私の試みと後悔と、そこから得た微妙な教訓を綴ります。 題して『ゲーム製作で最初に試みない方がいいn個のこと』です。 ケーススタディ 入出力ライブラリから作ろうとする やろうとしたこと: std::iostream のインターフェースで、透過的に圧縮・展開を行う I/O ライ

                                          ゲーム製作で最初に試みない方がいいn個のこと – 東京工業大学 ロボット技術研究会公式ブログ
                                        • 浮動小数点型の算術とお近づきになりたい人向けの記事 - えびちゃんの日記

                                          お近づきになりたい人向けシリーズです。 いろいろなトピックを詰め込みましたが、「これら全部を知らないといけない」のようなつもりではなく、いろいろなことを知るきっかけになったらいいなという気持ちなので、あまり身構えずにちょっとずつ読んでもらえたらうれしい気がします。 まえがき 予備知識 規格 用語 精度という語について 記法 表現について 有限値の表現について エンコードについて 丸めについて よくある誤差や勘違いの例 0.1 = 1 / 10? 0.1 + 0.2 = 0.3? 整数の誤差 Rump’s Example 基本的な誤差評価 用語に関して 実数の丸め 有理数の丸め 基本演算の丸め 差について 複数回の演算 補題たち 桁落ちについて Re: Rump’s example 融合積和 数学関数に関する式の計算 誤差の削減に関して 総和計算 数学関数の精度について 比較演算について 雑

                                            浮動小数点型の算術とお近づきになりたい人向けの記事 - えびちゃんの日記
                                          • リンカ

                                            ついに、リンカの説明をするときが来た。 ここに至るまでに、何度「リンカのところで説明する」と書いただろうか? ここまで読んできた人ならば、 リンカというものが、なにやら色々やっているんだな、というのはわかってきたのではないかと思う。 筆者が常々思っていることのひとつに、「C言語に関する書籍は、リンカの説明をおざなりにしすぎだ」というのがある。 多くのC言語の書籍は、 コンパイラがソースコードをアセンブリコードに変換します アセンブラがアセンブリコードを機械語に変換します リンカが機械語をリンクして実行ファイルが作られます と、いう解説がなされがちである。この説明を見たら、多くの人が、「え、リンクってなんですか?」と、思うに違いない。 アセンブラには、「人間が読めるニーモニックを、機械が読める機械語に変換する」みたいな、最低限の説明が付くものの、 リンカの説明は「リンクをします」のひとことだ

                                            • 20年でソフトウェア開発の景色はどのぐらい変わったのか? - Qiita

                                              PySpa統合思念体です。 某チャットで、「今時のOSSのプロジェクト管理とかのベストプラクティスが書いてある本ないかな、陳腐化早そうだしないか」みたいな話題が投入されました。その中で、エキスパートPythonプログラミングとか、Pythonプロフェッショナルプログラミングとかは思い出して紹介したけど、他の人からはShip It、Manage It、Release It三部作とか、達人プログラマーとかも出てきました。 このあたりの源流を辿ると、そういえば今流行ってる開発の源流としてはエクストリームプログラミングの開発系のプラクティスの遺伝子を受け継いでいるのが多いよな、そういえば当時から見て今ってどう変わっているのかな、という話題に。せっかくなので20年前を思い出しつつ、当時と今でどういう風に変わってきたのか適当にまとめてみます。 20年前の状況 XP白本こと、eXtreme Progra

                                                20年でソフトウェア開発の景色はどのぐらい変わったのか? - Qiita
                                              • Raspberry Piで学ぶコンピュータアーキテクチャ

                                                本書は、未来のプログラマ、コンピュータ設計者のために書かれた、Raspberry Piを題材にコンピュータの「仕組み」、コンピュータサイエンスの基本を学ぶ書籍です。Raspberry Pi開発者たちが、プロセッサ、メモリ、ストレージ、ネットワーク、オペレーティングシステム、プログラミング、3Dグラフィックス、オーディオ、そして入出力制御などについて、それらの歴史的な背景なども合わせて詳細に解説を行います。また、解説内容の一部は、実際にRaspberry Piで動かしながら学ぶことも可能です。 はじめに ケンブリッジ ここからが本題 成長曲線の伸び悩むところ 将来に向けて 監訳者まえがき 1章 驚くべきコンピュータの姿 おいしくて果汁あふれるラズベリーの成長 SoC わくわくするクレジットカードサイズのコンピュータ Raspberry Piに何ができるか? Raspberry Piボードの紹

                                                  Raspberry Piで学ぶコンピュータアーキテクチャ
                                                • マイクロソフト、「Teams」に対する一連の機能強化を発表

                                                  印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます Microsoftは米国時間5月31日、「Microsoft Teams」に対する一連の機能強化を発表した。これには、動画品質の向上や、チャット時における返信候補表示機能の多言語化、チームのタスク管理を支援する新たな「Updates」アプリが含まれている。 また、Teamsアプリがついに「Microsoft Store」に登場した。このため、個人向けや職場向け、学校向けのアカウントを有する「Windows 10」ユーザーは同ストアからのインストールが可能になる。 MicrosoftはTeamsに関する今回のアップデートで、動画の品質を向上させるために、画像をスムーズにする効果を有した「ソフトフォーカス」フィルターと、光量が不足している場

                                                    マイクロソフト、「Teams」に対する一連の機能強化を発表
                                                  • YouTube チャンネル「ニコニコプログラミング」を開設しました

                                                    Twitter では告知しましたが、ちょうど 1 ヶ月前の 7 月 1 日に、YouTube チャンネル「ニコニコプログラミング」を開設しました。まさかの YouTuber デビューです。 Description のところにも書いているように プログラミングの楽しさを伝えるために、プログラミングにまつわる様々なことをしています。短い時間でプログラミングの実況をしながらゲームを作り上げる実況プログラミングシリーズをメインに展開していきます。 というチャンネルです。 2009年「テトリスを1時間強で作ってみた」を発表 私は昔から、気まぐれに動画投稿をしております。例えば YouTube に「Prince of Persia(PC9801) within 10 minutes」という RTA 作品(ゲームクリアのタイムアタック、この作品はエミュレータですが)を上げて 53 万再生されていたり、ニ

                                                    • ようこそdotfilesの世界へ - Qiita

                                                      はじめに 少し前から話題になっているが、日本の労働生産性はG7で最も低いらしい。 日本生産性本部資料より https://www.jpc-net.jp/intl_comparison/intl_comparison_2018_press.pdf 日本は人口減少に突入していることもあって、「作業の効率化」や「自動化・省力化」をいうフレーズをあらゆる業種で聞くようになった。 ITエンジニアは、あらゆる職業の中でも最も効率化、自動化をして生産性を高められるといっても過言ではないだろう。プログラマの三大美徳(「怠惰」「短気」「傲慢」)にもあるように、同じことを何度もやらない、楽をするためにがんばるという生産性を意識した感性が重要視されているからだ。 生産性を高めることで、勉強する時間が作れたり、新しいことを経験したりするなどしてさらにスキルアップができ、さらに生産性が上がるという好循環を作り出すこ

                                                        ようこそdotfilesの世界へ - Qiita
                                                      • 「Linux」、バージョン6.1でRustを導入へ--トーバルズ氏が明言

                                                        LinuxにRustを導入するかどうかという議論は終わりを迎えた。Rustの実装は既に始まっている。Linuxの父であるLinus Torvalds氏は電子メールによる筆者との対話の中で「何かおかしなことが発生しない限り、それ(Rust)は6.1で導入される」と述べた。 Linuxカーネルの記述言語としてプログラミング言語Rustを導入するという議論は、かなり前から存在していた。Linuxカーネルの開発者らは、年次カンファレンス「Linux Plumbers Conference(LPC)2020」の場で、Linuxの新たなインラインコードでのRustの使用について検討を開始していた。また、「Android」(それ自体がLinuxのディストリビューションだ)の開発言語としてRustを支持しているGoogleは、2021年4月にLinuxカーネルへのRust導入の動きを後押しし始めていた。

                                                          「Linux」、バージョン6.1でRustを導入へ--トーバルズ氏が明言
                                                        • Gitは最初1244行しかなかった

                                                          概要 Junio C Hamanoさんに興味を持って調べていると、Linusさんが書いたGitの初版は1244行ということが分かりました。Gitの初版について、軽く行数の確認とビルドチャレンジをして、あまり調べずに動かしながら機能を推測してみました。 はじめに Highlights from Git 2.39 の冒頭で登場するcommit数が一番多い方「Junio C Hamano」さんを知らなかったので調べてみました。 gihyoのインタビュー記事が面白かったです。Junio C HamanoさんはGitのメンテナで、LinusさんからGitのメンテナを引き継いだすごい方だということを知りました。 このgihyoのインタビュー記事の中で「MLで流れてきたGitのコード行数は1244行だった」というところが気になりました。調べてみると、2020年にTwitterでRui Ueyamaさんへ

                                                            Gitは最初1244行しかなかった
                                                          • ラズパイ+魚眼レンズ+KinesisVideoStreamで低コストの防犯カメラ - Qiita

                                                            sudo apt-get update sudo apt-get -y install git sudo apt-get -y install autoconf cmake bison automake libtool gcc flex sudo apt-get -y install gstreamer1.0-plugins-bad gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-tools sudo apt-get -y install gstreamer1.0-omx sudo apt-get -y install gstreamer1.0 sudo apt-get -y install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstrea

                                                              ラズパイ+魚眼レンズ+KinesisVideoStreamで低コストの防犯カメラ - Qiita
                                                            • Neovimを一瞬でVSCode並みに便利にする - k0kubun's blog

                                                              去年8年ぶりに vimrc を書き直した時はLSPの体験があんまりよくなくてLSPなしでNeovimを使い続けていたのだが、様々な言語のOSSをメンテする都合で用途に応じてIntelliJとVSCodeとNeovimの三刀流で暮らしていた結果、可能ならNeovimに寄せたいけどそれならLSPを使いたいなということになり、今回LSPの所を真面目に設定し直して、かなり良い体験になっている。 正直Neovimの設定はVSCodeのそれに比べたら面倒なんじゃないかという印象がありサボっていた節があるが、実際にやってみるとVSCodeと同程度に簡単に済む方法もあったので紹介したい。 何故Neovimなのか LSPの話の前に、タイトルだけ見た人がそもそも単にVSCode使えばいいじゃんと言いそうなので、どうしてIntelliJやVSCodeではなくNeovimに揃えようと思ったのかについて書いておく。

                                                                Neovimを一瞬でVSCode並みに便利にする - k0kubun's blog
                                                              • ChatGPTでプログラマはお払い箱になるのか

                                                                ChatGPTが今後ますます精度がよくなると世の中で働くホワイトカラーの大半がAIに置き換えられるという論調を最近しばしば目にする.なかでもプログラマは失業まったなし,なんだそうだ. しかし,本当にそうなのだろうか?まずはChatGPTの実力を知らねば話にならない.簡単なCのプログラムを書かせてみた.以下,「[私] 〜」とあるのは私がChatGPTに対して入力した文字列であり,「[ChatGPT] 〜」およびそれに続くコード例は,ChatGPTの回答である. 1回目の対話それでは,ChatGPTの底力をみてみることにしよう. (対話ここから) [私] コマンドライン引数で2つの数字を受け取って足し算をした結果を表示するCのプログラムを書いてください. [ChatGPT] 以下が、2つの数字を受け取って足し算をするCのプログラムです。 #include <stdio.h> #include

                                                                  ChatGPTでプログラマはお払い箱になるのか
                                                                • シンプルかつ高速な文字列照合アルゴリズムを紹介します - エムスリーテックブログ

                                                                  こんにちは! エンジニアリンググループ マルチデバイスチーム 新卒1年目の小林です。 エムスリーでは、2週間に1度、Tech Talkという社内LT会(現在はリモートで)が開催されています。これは、とある回の発表テーマリストです。 Tech Talkのとある回の発表テーマリスト このように、最近エムスリーでは文字列が流行っている(?)ようなので、その勢いに乗って私も文字列照合アルゴリズムについて書きたいと思います!(業務とは全然関係ない話です) Knuth-Morris-PrattやBoyer-Mooreアルゴリズムは解説記事がたくさん出ていると思うので、この記事ではシンプルかつ高速なQuick-SearchとQuite-Naiveアルゴリズムについて説明し、速度比較を行った結果についてご紹介します。 文字列照合アルゴリズムとは テキストとパターンという文字列が与えられたときに、中に出現す

                                                                    シンプルかつ高速な文字列照合アルゴリズムを紹介します - エムスリーテックブログ
                                                                  • Pythonが速度改善に本気出すと聞いたので恒例のたらい回しベンチをとってみたら、RubyがYJITですごく速くなっていて驚いた話 - Smalltalkのtは小文字です

                                                                    2022-09-09改訂: gcc バージョンが古すぎたのと、C が内部計測でなかった点を改め計測しなおしました。結果、Rust は C より速くはなくなりました。紛らわしいことで、ごめんなさい。また、gcc のバージョンアップに伴い、Python および Ruby についてはビルドと計測をしなおしたので、これらも少し速い値に変わっています。この点もどうぞあしからず。 2022-09-10追記:ご要望のあった Python numba.njit 使用時と Go の結果を追加しました。PHP は JIT 有効化が面倒だったので断念しました^^; 2022-09-10追記2:C の計測で clock() を使うのはフェアではないという指摘がありましたので、念のため clock_gettime() を使用したコードに差し替えました。結果に大きな差はありません。 2022-09-10追記3:PHP

                                                                      Pythonが速度改善に本気出すと聞いたので恒例のたらい回しベンチをとってみたら、RubyがYJITですごく速くなっていて驚いた話 - Smalltalkのtは小文字です
                                                                    • 【2020年】CTF Web問題の攻撃手法まとめ - こんとろーるしーこんとろーるぶい

                                                                      はじめに 対象イベント 読み方、使い方 Remote Code Execution(RCE) 親ディレクトリ指定によるopen_basedirのバイパス PHP-FPMのTCPソケット接続によるopen_basedirとdisable_functionsのバイパス JavaのRuntime.execでシェルを実行 Cross-Site Scripting(XSS) nginx環境でHTTPステータスコードが操作できる場合にCSPヘッダーを無効化 GoogleのClosureLibraryサニタイザーのXSS脆弱性 WebのProxy機能を介したService Workerの登録 括弧を使わないXSS /記号を使用せずに遷移先URLを指定 SOME(Same Origin Method Execution)を利用してdocument.writeを順次実行 SQL Injection MySQ

                                                                        【2020年】CTF Web問題の攻撃手法まとめ - こんとろーるしーこんとろーるぶい
                                                                      • ドイツでは航空交通管制にEmacsが使われていた

                                                                        https://old.reddit.com/r/emacs/comments/lly7po/do_you_use_emacs_lisp_as_a_general_purpose/ 1990年代初頭、東欧革命で東西ドイツが統一したあと、私は厄介な仕事、というか誰もやりたがらない仕事に派遣された。ある月曜日の朝、DASAの工場に入った(DASAというのは当初ドイツ航空で、そのあとダイムラー航空になり、今はエアバスに吸収された) プロジェクトはDASAからHPが受注したもので、東西のATC(航空交通管制)システムを統一するというものだった。つまり2つの大企業と政府からの発注ということで、うちのような受注会社はおこぼれを預かっていたわけだ。Emacsの話は実は2つある。 最初の話。その月曜日の朝、手助けする開発者達と顔合わせした。彼らは素晴らしいものに囲まれた研究所にいた。最新のHPワークステー

                                                                        • あけまして Ubuntu 20.04 開発環境 - 誰かの役に立てばいいブログ

                                                                          あけましておめでとうございます。年賀状代わりに開発環境の構築記事を差し上げます。 いやわりと真剣に、開発環境にはその開発者の近況が表れていると思うのですよ。 いっちょあなたもどうですか 😀 閑話休題。 以下今日やった Ubuntu 20.04 LTS のインストール作業記録です。語調変わるのはご勘弁。 Hyper-V VM の用意 Ubuntu のインストール インストール後の作業 systemd-networkd の設定 不要なツールを purge build-essential をインストール dotfiles で初期設定 Go をインストール Docker をインストール 以上 Hyper-V VM の用意 特に難しいことはない。 ブリッジ仮想スイッチを作り、第2世代タイプにしてセキュアブートを無効化するくらい。 あとチェックポイント(自動スナップショット)はうざいので無効化してい

                                                                            あけまして Ubuntu 20.04 開発環境 - 誰かの役に立てばいいブログ
                                                                          • Linux カーネルをバイパスして TCP 通信を 10 倍速くする | IIJ Engineers Blog

                                                                            【IIJ 2023 TECHアドベントカレンダー 12/16の記事です】 この記事について 背景:TCP はコンピュータネットワークの通信において広く利用されているプロトコル・標準化された通信規格です。コンピュータは TCP/IP スタックと呼ばれるようなソフトウェアを実行することで、定められた規格に則って通信を行います。汎用 OS 環境では、TCP/IP スタックは多くの場合、カーネル空間に OS 機能の一部として実装されています。 課題:通信に関するソフトウェアの研究コミュニティでは、そのようなカーネル空間に実装されている TCP/IP スタックは、近年の高速な NIC の性能を十分に引き出すことが難しいという課題が指摘されてきました。 テクニックの紹介:当記事では、近年の研究コミュニティにおいて比較的一般的な高速化テクニックとされている「カーネルをバイパス(迂回)して TCP 通信を

                                                                              Linux カーネルをバイパスして TCP 通信を 10 倍速くする | IIJ Engineers Blog
                                                                            • カゴヤのVPS+SoftEther VPNで簡単にVPNサーバーを自作しよう

                                                                              「フリーWiFiでも安全にインターネットを使いたい」 「接続元に固定IPアドレスを使いたい」 「国外からでも日本国内と同じインターネット環境を使いたい」 これらの要望は、VPNサーバーを使えば全て叶えることができます。ただしVPNサーバーの構築は、方法によっては手間がかかる上にコストも高くなるため手軽には行えません。 この記事ではVPNサーバーとは何か初心者の方にもわかりやすく解説した上で、VPS+SoftEhterで簡単かつ安価にVPNサーバーを構築する方法を紹介します。 VPNサーバーとは VPNとは、「Virtual Private Network」(仮想プライベートネットワーク)を略した言葉です。VPNでは通信キャリアの公衆網を使い、仮想的に自社専用のプライベートネットワークを構築します。 その上でVPNサーバーとは、自社でVPNを実現するために必要なサーバーのことです。VPNサー

                                                                                カゴヤのVPS+SoftEther VPNで簡単にVPNサーバーを自作しよう
                                                                              • ネイティブコンパイルEmacsの登場

                                                                                日本時間の2021年4月26日午前3時6分、Emacsのmasterブランチにfeature/native-compブランチがマージされました(コミット:Merge branch ‘feature/native-comp’ into into trunk)。これにより、HEADのEmacsをビルドすると、Native compilation機能を兼ね備えたネイティブコンパイルEmacs、通称Gcc Emacsが使えるようになりました。 ネイティブコンパイルEmacsの機能 # ネイティブコンパイルEmacs(以下、Gcc Emacsと呼びます)は、Andrea Corallo、Luca Nassi、Nicola Mancaの3名によるBringing GNU Emacs to Native Code という論文で詳細が説明されています。 簡単に説明すると、これまでのEmacsは、Elisp

                                                                                  ネイティブコンパイルEmacsの登場
                                                                                • それ、非再帰で書けます - Qiita

                                                                                  この記事は再帰自体を全否定する趣旨ではありません。 両方の良さを理解した上で非再帰で書きたいと思ったときの参考にしていただければと思います。 まだ再帰関数書いてるの? 再帰関数はプログラミング言語の有用な機能で、深さ優先探索をベースとする様々なアルゴリズムの実装として有用です。 その一方で、関数呼び出しはオーバーヘッドが大きく、定数倍が弱くなります。また、JavaやPythonなどのスタック領域の制限が厳し目の言語では深すぎる再帰のせいでRuntime Errorが発生する場合があります。 C++などのコンパイル言語ではインライン展開によって関数呼び出しのオーバーヘッド解消されることもありますが、再帰関数は中でもインライン展開の難易度が高く、深い再帰ではそのまま実行せざるを得ない状況になります。 ところが、再帰関数は生のスタックを自分で用意するなどして非再帰に書き直すことができます。(「停

                                                                                    それ、非再帰で書けます - Qiita