並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 1504件

新着順 人気順

GCCの検索結果1 - 40 件 / 1504件

  • [翻訳] 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 の新型コロナワクチンを〈リバースエンジニアリング〉する|柞刈湯葉
    • 「この位置に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」の作者が語る、リンカの仕組み
          • とほほのRust入門 - とほほのWWW入門

            Rustとは インストール Hello world Cargoプロジェクト キーワード コメント(//) 値 変数・定数(let, mut, const) 型 基本の型(bool, i16, char, str...) 型変換(as) 構造体(struct) 共用体(union) 列挙型(enum) タプル(tup) 配列(array) ベクタ(vec) ハッシュマップ(HashMap) 文字列(&str, String) 演算子(+ - ...) ヒープ領域(Box) スライス(&var[n..m]) 関数(fn) クロージャー(|...|{...}) マクロ(macro_rules!) 制御構文 条件分岐(if) 繰り返し(while) 繰り返し(for) ループ(loop) ループ制御(break, continue) マッチ(match) インプリメンテーション(impl) トレイ

            • C言語をマスターしたい人はGCCのバージョン14を使いましょう - pyopyopyo - Linuxとかプログラミングの覚え書き -

              C言語(C++を含む)を習得したい人,ポインタを勉強したい人はgcc-14を使いましょう.難しいところは gcc-14 が丁寧に解説してくれます C言語の難しいところ 例を示します.C言語で記述された,たった6行のソースコードです int main() { int buf[10]; buf[10] = 0; return 0; } このソースコードには問題があります.初見でわかるでしょうか? : : : 問題があるのは buf[10]=0 の部分です.C言語でやりがちなミスですが,これがバグやセキュリティホールの原因になります. C言語が難しい理由は二つあります.この手の問題を見逃しやすい点と,この手の問題を理解することが難しい点の二つです gcc 14 に解説してもらいましょう 上記の6行のソースコードをgcc14を使ってコンパイルしてみます ソースコードのファイル名は test.c と

                C言語をマスターしたい人はGCCのバージョン14を使いましょう - pyopyopyo - Linuxとかプログラミングの覚え書き -
              • エンジニア3年目までに読んで良かった書籍 - Yuki Watanabe's Blog

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

                  エンジニア3年目までに読んで良かった書籍 - Yuki Watanabe's Blog
                • 音楽プログラミング言語って結局なんなのさ? 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 24.04 LTS サーバ構築手順書

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

                          Ubuntu 24.04 LTS サーバ構築手順書
                        • 【レゴランド】パーク側の処理ミスで来園者を詐欺師扱い、後日社長から謝罪が届くも

                          いか🦑 @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
                              • とほほのHaskell入門 - とほほのWWW入門

                                概要 Haskellとは 関数型言語 純粋関数型言語 インストール Haskell Stack Hello world 基本 予約語 コメント ブロック レイアウト 入出力 型 変数 数値 文字(Char) 文字列(String) エスケープシーケンス リスト([...]) タプル((...)) 演算子 関数 演算子定義 再帰関数 ラムダ式 パターンマッチ ガード条件 関数合成(.) 引数補足(@) 制御構文 do文 let文 if文 case文 where文 import文 ループ データ型 データ型(列挙型) データ型(タプル型) データ型(直和型) 新型定義 (newtype) 型シノニム (type) 型クラス (class) メイビー(Maybe) ファンクタ(Functor) アプリケイティブ(Applicative) モナド(Monad) モジュール (module) 高階関

                                • 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ぜんぶ読む) - こんとろーるしーこんとろーるぶい
                                    • 浮動小数点型の算術とお近づきになりたい人向けの記事 - えびちゃんの日記

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

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

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

                                        • マイクロソフト、「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 万再生されていたり、ニ

                                            • 「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を導入へ--トーバルズ氏が明言
                                              • ようこそdotfilesの世界へ - Qiita

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

                                                  ようこそdotfilesの世界へ - Qiita
                                                • ラズパイ+魚眼レンズ+KinesisVideoStreamで低コストの防犯カメラ - Qiita

                                                  前置き/要件 子供が出入りするコワーキングスペースを運営するにあたり、安全のため店内に防犯カメラを設置したい。 店番がいなくなる時間帯が発生するため、撮影データはローカルではなく、クラウド保存にしたい。 ケーブルを這わせるのが面倒なので、有線LANではなく無線LANで。 なるべく低コストで。 参考記事 基本はこちら。ありがとうございます。 https://qiita.com/mksamba/items/86bdd70e7d289073cdc4 ぶっちゃけ、私の記事には、gstreamerの設定とコストくらいしか、追加情報ありません。 使用機材&サービス raspberryPi3 Model B+ 品薄で2019/10/21現在手に入らず。2台設置するので、1台はraspberryPi3 Model Bで構築 最終的にどちらがどちらだっけ? という状況になるくらい、CPU負荷やメモリ負荷は変

                                                    ラズパイ+魚眼レンズ+KinesisVideoStreamで低コストの防犯カメラ - Qiita
                                                  • 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行しかなかった
                                                    • 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でプログラマはお払い箱になるのか
                                                        • 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は小文字です
                                                          • シンプルかつ高速な文字列照合アルゴリズムを紹介します - エムスリーテックブログ

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

                                                              シンプルかつ高速な文字列照合アルゴリズムを紹介します - エムスリーテックブログ
                                                            • 【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ワークステー

                                                                • インシデント発生時に電源を入れたままにすべきか問題 - Qiita

                                                                  更新履歴 2024/6/28 ネットワーク遮断の是非について追記しました。 はじめに とあるセキュリティインシデントにおいて、サーバを電源ケーブルごと引き抜いたという対応が行われ、X(Twitter)ではこの対応について賛否両論が見られました。このうち電源を入れたままにすべきという人の意見には、「マルウェアの中にはシャットダウンすることで自分自身を削除し、感染痕跡を削除するものがある」「メモリを調査すべきなのでシャットダウンすべきではない」のような意見が見られました。 本記事では実際にメモリからどのような情報がわかるか、そしてメモリダンプを解析することの有用性と課題について記載します。 また、インシデント発生時の特に封じ込めフェーズについても考察します。 メモリフォレンジック セキュリティインシデントにおいてはフォレンジック調査が行われる場合があります。フォレンジック調査には、HDDやSS

                                                                    インシデント発生時に電源を入れたままにすべきか問題 - Qiita
                                                                  • あけまして 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
                                                                            • 【競プロ】新人SEがAtCoderを始めて水色になった【色変記事】 - Qiita

                                                                              AtCoderで水色になりました。いわゆる色変記事です。 本記事では以下の4点について書きます。 競プロをしていて良かったこと・できるようになったこと 勉強したこと・改善案 レート推移や目標ラインの話 環境やマクロの紹介 最初に自己紹介すると、自分は情報系出身のSEで、現在は2年目です。 今年の頭に競プロをはじめ、先日水色になりました。 「プログラミング未経験から~」「50歳を超えて~」みたいな少数派ではないですし、「たったN回で達成!」「M年の苦闘の末に」みたいなドラマもありません。 普通に勉強しているエンジニアが競プロを半年間そこそこ頑張ったみたいな記事です。 バッググラウンドや参加回数については③で詳しく書きます。 なお、競技プログラミングについてザックリ知っている前提で書きます。 「競プロってなに?」「水色ってどのあたりなの?」という場合は が良くまとまっています。 ① 競プロをし

                                                                                【競プロ】新人SEがAtCoderを始めて水色になった【色変記事】 - Qiita
                                                                              • Vine Linux News - VineSeed 以外の Vine Linux リリースを終了します

                                                                                長期間に渡りリリースがないままの状態になっていた VineSeed 以外の すべての Vine Linux リリース版を終了いたします。 Vine Linux 7 はリリースされる予定はありません。 今後は VineSeed のみを残し、今後はこれに集約されます。 引き続き開発を継続・強化・引き継ぎたい方がいらっしゃれば Slack までご連絡ください。 なお、VineSeed については現在も以下のようなバージョンで開発は継続されています。 kernel-5.4 gcc-10.3 rpm-4.16 gnome-40

                                                                                • 「バグを意図的にバグのまま残す」という選択肢がある

                                                                                  はじめに gcc v12.1において、C++の正規表現ライブラリstd::regexに、正規表現のバリデーションを改善するパッチ(以下"改善パッチ"と表記)が取り込まれました。改善パッチによって、これまではバリデーションにひっかからなかった不正な正規表現文字列が"正しく"不正なものと認識されて例外が発生するようになりました。 これだけ聞けばいいことだけのように思えるかもしれませんが、実はそうでもなかったりします。経験豊富なかたであれば見た瞬間ゾッとしたかもしれません。本記事では、この一見問題なさそうな改善パッチによって発生しうる問題、および、その具体的例について紹介するとともに、この手のパッチを当てるかどうかは難しい判断になるという知見を共有します。 結論 改善パッチによって発生する問題 発生条件 gcc v12.1以降、あるいは改善パッチをバックポートされた任意のバージョンを使ってC++

                                                                                    「バグを意図的にバグのまま残す」という選択肢がある