並び順

ブックマーク数

期間指定

  • から
  • まで

601 - 640 件 / 2720件

新着順 人気順

C++言語の検索結果601 - 640 件 / 2720件

  • 2ちゃんねる商標侵害裁判のひろゆき氏の主張から見えた「論破王」の正体 - 清義明|論座アーカイブ

    2ちゃんねる商標侵害裁判のひろゆき氏の主張から見えた「論破王」の正体 Qアノンと日本発の匿名掲示板カルチャー【11】 清義明 ルポライター 前回の第10回「ネット空間の海賊のユートピアをつくったひろゆき氏の厚顔無恥な「才覚」」で、4chanについて取材を進めていた私が、西村博之(ひろゆき)氏とジム・ワトキンス氏との2ちゃんねるを巡る裁判の第2ラウンドのことを知ったというところまで書いた。今回は、そこから話を始めよう。 「2ちゃんねる乗っ取り裁判」と呼ばれる、2ちゃんねるの所有権を明らかにする裁判に、西村博之(ひろゆき)氏が敗訴したことについては、この連載ですでに語ってきた(参照:第1回「西村博之とジム・ワトキンスの2ちゃんねる骨肉の争い/上」、第2回「西村博之とジム・ワトキンスの2ちゃんねる骨肉の争い/下」)。だが、もうひとつの裁判が進行していることについては、これまで書いていなかった。

      2ちゃんねる商標侵害裁判のひろゆき氏の主張から見えた「論破王」の正体 - 清義明|論座アーカイブ
    • 機械学習サービスを開発 / 運用していく時に役立つ知識をまとめてみた【Python x Azure】 - Qiita

      はじめまして、ますみです! 本記事のターゲットと概要は以下の通りです。 ターゲット / Target 機械学習に携わる研究者 機械学習を用いたソフトウェアに従事する方々(エンジニア / デザイナー / プロマネ / マーケター / セールス / コンサル / 経営者など) 概要 / Abstract 機械学習をAzureというクラウドサービス上で実行 / 運用していく場合に知っておくべき知識の紹介。 ※ 求ム!Pythonを使ってAzureで開発する時のTips!【PR】日本マイクロソフト Advent Calendar 2020 の23日目の記事です。 また、本記事の作者(私)はAzure Fundamentalの資格を取得しているものの(証明書)、まだまだ学び足りないことがたくさんあります。そのため、もしも「こういうサービスもあるよ!」や「こういうメリットとデメリットもあるよ!」などの

        機械学習サービスを開発 / 運用していく時に役立つ知識をまとめてみた【Python x Azure】 - Qiita
      • (書籍レビュー)大企業のWebサイトの脆弱性発見事例が学べる「リアルワールドバグハンティング」 - 虎の穴開発室ブログ

        あけましておめでとうございます。CTOの野田です。 オライリー社の「リアルワールドバグハンティング」(https://www.oreilly.co.jp/books/9784873119212/)を読みましたのでその感想になります。 本を読んだきっかけ この本は発売されたのが2020年09月と発売してから暫く経っていますが、オライリー新刊のタイトルを必ずチェックしている私の視界には当時入ってきませんでした。 表紙がカマキリなこと、「リアルワールド」「ハンティング」というタイトルから本当にリアル世界で虫をとる本かと思って手にとっていませんでした(最近DIYや健康の本もオライリーは出しているのでありえない話ではないと当時思っていました) 最近セキュリティ系の本を探していたときに改めてアンテナにひっかかったので今回を機会に読み始めました。 全体的な本の概要 実際の企業で起きたバグの内容とその報奨

          (書籍レビュー)大企業のWebサイトの脆弱性発見事例が学べる「リアルワールドバグハンティング」 - 虎の穴開発室ブログ
        • 登録不要で完全無料!ブラウザだけで完結する静的サイトジェネレータ「T3MPL」を使ってみた! - paiza times

          どうも、まさとらん(@0310lan)です! 今回は、ブラウザ上で誰でも簡単にWebサイトを作成できる無料の静的サイトジェネレータをご紹介します! 特別な開発環境を用意する必要はなくて、コマンドラインからの実行も不要でユーザー登録もありません。そのため、誰でも気軽にWebサイトを作り始められる手軽さが特徴になっています。 本記事の後半では、書き出したソースコードを使ってネット上に公開する手順についても解説しているので、ご興味ある方はぜひ参考にしてみてください! 【 T3MPL 】 「T3MPL」の使い方 それでは、「T3MPL」をどのように使えばいいのか詳しく見ていきましょう。 まずはサイトのトップページを下方にスクロールして、いくつかのテンプレートが表示されることを確認してください。 2020年10月時点において、以下のようなテンプレートを選択できるようになっています。 ランディングペー

            登録不要で完全無料!ブラウザだけで完結する静的サイトジェネレータ「T3MPL」を使ってみた! - paiza times
          • 1995年前後の画像処理 - Qiita

            NHKで再放送された(デジタルリマスター版)プロジェクトX「男たちの復活戦 デジタルカメラに賭ける」を見た。カシオの技術者たちが、アナログスチルカメラの大失敗を乗り越えて QV-10 を開発・発売するまでの話。パソコンにデータを取り込めるようにすることで魅力がより増して大売れ、みたいな話に感心しつつ、ふと、「そういえば自分もそのころは、当然のようにデータを計算機に取り込んで画像処理してた」みたいなことも思ったので、当時の画像処理がどんな感じだったのか、誰も読まないだろう昔話などをしてみる。 簡単に自分のプロフィールを書いておく。小学校時代にパソコン(日立ベーシックマスターとか)に触れ、中学時代にはポケコンの BASIC 等でプログラミング。しかしこのころはむしろアマチュア無線や電子工作が中心だった。高校時代に K&R でC言語を習得し、レイトレーシングで生成したカラー画像をディザリングで1

              1995年前後の画像処理 - Qiita
            • Pythonで不統一なExcelファイル繋ぐワザの神髄

              そもそもPythonとは Pythonとはプログラミング言語のひとつで、他のプログラミング言語に比べシンプルな文法でプログラムを書けることが大きな特徴です。従ってPythonはC言語やJavaなどと比べると、プログラムの記述量を少なく抑えることが可能です。 さらに{}(波かっこ)は使わずインデントで処理のまとまりを示すので、どこまでが1つのまとまりかを直感的に把握しやすいという利点もあります。 このような理由からプログラミング入門者に適しているといわれているPythonですが、次のようにさまざまな場面で利用されています。 ・アプリケーション開発 ・Excelなどの作業の自動化 ・Webスクレイピング ・データ分析・機械学習 このように多くの場面で利用されている理由のひとつとして、企業や個人が開発したライブラリ(機能を提供するプログラムをまとめたもの)が充実しているということがあげられます。

                Pythonで不統一なExcelファイル繋ぐワザの神髄
              • 2023年にやったこと - k0kubun's blog

                今年で30歳、社会人9年目、在米5年目になった。今年は 趣味でRJITを作り、仕事でYJITを超高速化した 初めて論文を国際会議に投稿し、採択された 子供とプリスクールに行き始めた という感じの一年だった。 仕事 大変ありがたいことに、自分が今一番興味のある仕事であるYJITの高速化に集中できた一年だった。 いろいろやったが、代表作は以下の三つかなと思う。 スタックオペランドのレジスタアロケータ 最適化未対応なメソッド呼び出しのフォールバック 例外ハンドラのコンパイル どれもベンチマークがかなり速くなった。 特に二つ目と三つ目は、自分で発案してかつ主に僕が重要性を訴えていた奴で、 それらで大きな成果が出たときはかなり達成感があった。 単独のPRでRailsベンチが7%速くなった時はこりゃ昇給するわと思ったが、実際めちゃくちゃ昇給した。 ベンチマークも速くしている一方、僕は本番アプリの最適化

                  2023年にやったこと - k0kubun's blog
                • Ruby: メモ化のイディオムが現代のRubyパフォーマンスに与える影響(翻訳)|TechRacho by BPS株式会社

                  概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Performance impact of the memoization idiom on modern Ruby | Rails at Scale 原文公開日: 2024/02/14 原著者: Jean Boussier(byroot) Ruby 3.2における主要な内部変更のひとつに、オブジェクトシェイプ(object shape)の導入があります。 本記事では、オブジェクトシェイプが導入された理由、仕組み、制限事項について解説します。 🔗 オブジェクトのインスタンス変数はどのように保存されるのか Rubyは非常に動的な言語なので、インスタンス変数へのアクセスという単純な操作でも多くの作業を伴います。 Rubyオブジェクトは、ほとんどの場合インスタンス変数を「参照の配列」に保存します。 たとえば、インスタンス変数を2個持つ

                    Ruby: メモ化のイディオムが現代のRubyパフォーマンスに与える影響(翻訳)|TechRacho by BPS株式会社
                  • 「Rust」言語を採用したAWS、Rustプロジェクト支援を開始

                    Amazon Web Services(AWS)は2019年10月14日(米国時間)、オープンソースのシステムプログラミング言語「Rust」について、開発プロジェクトをスポンサーとして支援することを発表した。 Rustは、高速で信頼性が高く、効率的なコードを作成、保守できるように設計されている。2015年に最初の安定版がリリースされて以来、実システムへの導入が大きく進んでおり、GoogleやMicrosoft、Mozillaのような企業がいずれもRustを使用している。 例えばMicrosoftは自社製品の脆弱(ぜいじゃく)性の約7割を占めるメモリ安全性の問題を解決するためにRustが役立つと指摘している(関連記事)。 AWSでもRustの利用は大幅に拡大しており、「Lambda」「EC2」「S3」のようなサービスにおいて、パフォーマンスに敏感なコンポーネント用の言語として採用している。

                      「Rust」言語を採用したAWS、Rustプロジェクト支援を開始
                    • 「Visual Studio 2022」にC++言語のクラスや構造体のメモリレイアウトを視覚化する機能/v17.9 Preview 1でテスト中

                        「Visual Studio 2022」にC++言語のクラスや構造体のメモリレイアウトを視覚化する機能/v17.9 Preview 1でテスト中
                      • 作って理解するBabelマクロ - uhyo/blog

                        Babelは今どきのJavaScript開発には欠かせないパーツのひとつです。その主な使い道は、新しいJavaScriptの文法を古いJavaScriptに変換するトランスパイラとしてのものでしょう。しかし、Babelをより広範にマクロの機構として使おうという動きもあります。それを担うのがbabel-plugin-macrosというプラグインです。 ここで言うマクロとは、大ざっぱに言えばプログラムを生成するための機構であり、特にソースコード中に書かれるもののことです。例えばC言語などに見られる#defineは原始的なマクロであると言えます。最近の言語ではRustが強力なマクロの機構を持ち、Rustの文法を逸脱したトークン列をソースコード中に書くことができます。そのようなプログラムはマクロによってRustプログラムに変換されます。マクロを用いることで、通常の言語機能では不可能なメタプログラミ

                          作って理解するBabelマクロ - uhyo/blog
                        • Pythonを使って関数型プログラミング Part.2

                          2019年9月16、17日、日本最大のPythonの祭典である「PyCon JP 2019」が開催されました。「Python New Era」をキャッチコピーに、日本だけでなく世界各地からPythonエンジニアたちが一堂に会し、さまざまな知見を共有します。プレゼンテーション「Pythonで始めてみよう関数型プログラミング」に登壇したのは、株式会社SQUEEZEの寺嶋哲氏。講演資料はこちら 不変/永続データ構造を提供するパッケージ 寺嶋哲氏:続いて、不変/永続データ構造についてです。 listを操作する関数の問題点について、例題で見ていきましょう。add_mangoは果物名の文字列のlistをとって、mangoをそのlistに足して返します。change_from_apple_to_bananaは、同じようにlistをとってappleを探して、bananaに入れ替えて返します。 その

                            Pythonを使って関数型プログラミング Part.2
                          • 書籍「コンパイラ 作りながら学ぶ」を読みながら JavaScript でコンパイラを実装してみた - Qiita

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

                              書籍「コンパイラ 作りながら学ぶ」を読みながら JavaScript でコンパイラを実装してみた - Qiita
                            • MS-DOS(PC-98)のアプリケーションをC言語で作る - 少ないリソースを酷使する

                              前回の記事でPC-98エミュ+FreeDOSの環境でMS-DOSアプリが動くことを確認した. となると,あと思うことは1つ. MS-DOSのアプリケーションを自作したい! ということです. 今回はC言語でMS-DOSのアプリケーションを作ってみましょう. 環境 OS:Ubuntu 20.04 PC-98エミュ:xnp2kai rev.22 d3fe02a FreeDOS(98):20200709更新のHDI形式 Cコンパイラのinstall i8086版GCC フリーのCコンパイラと言えばGCC.便利ですよね. しかし,少し前までGCCは32bit || 64bitのアーキテクチャしかターゲットにしてきませんでした. なので16bitのPC-98x1向けのバイナリは生成できなかったわけなんですよね. それが最近,ついに16ビット版GCCが登場しました.しかもDOS環境特化. 詳しい話は以下

                                MS-DOS(PC-98)のアプリケーションをC言語で作る - 少ないリソースを酷使する
                              • 2020年はLinuxカーネルにおけるRust元年になるか? - YAMDAS現更新履歴

                                hackaday.com 昨年9月に「Rustこそがシステムプログラミングの未来(で、C言語はもはやアセンブリ相当)なら、Rustで書かれたドライバのコードをLinuxカーネルは受け入れるべきなのか?」という話を書いているが、その続きというか、今年こそ Linux カーネルに Rust が入る年になるかという話で、実際 LKML でも議論が行われている。 thenewstack.io 面白いのは、少し前に行われた Open Source Summit North America における VMWare の最高オープンソース責任者 Dirk Hohndel とリーナス・トーバルズとの対談(昨年この組み合わせで、「私はもうプログラマーではない」とリーナスが語ったことがあったっけ)で Rust について触れているところ。 Hohndel が「今じゃ新しいプロジェクトはどれも Go やら Rust

                                  2020年はLinuxカーネルにおけるRust元年になるか? - YAMDAS現更新履歴
                                • Google、「Android Game Development Kit」を発表/C/C++言語ライブラリの提供で断片化を削減しつつ、ゲームを加速。Androidのパワーを引き出す

                                    Google、「Android Game Development Kit」を発表/C/C++言語ライブラリの提供で断片化を削減しつつ、ゲームを加速。Androidのパワーを引き出す
                                  • irb に show_source があることをもっと知らしめたい - id:onk のはてなブログ

                                    要は以下の記事の繰り返しなのだが。 k0kubun.hatenablog.com Kaigi on Rails _2022_ new というイベントの LT で、メソッド定義を探ろうという話があった。 speakerdeck.com Rails のソースをシュッと眺めに行くという、非常に尊い良い発表でした。 Object のことは Object に聞け、は Ruby の非常に面白いところなので、Method を取り出して source_location を尋ねるのは一度体験して感動して欲しいんだけど、実務だとタイプ数の少ないやり方も知っておくと更に便利に使えるのでご紹介。 irb の show_source も武器に加えてあげたい #kaigionrails— Takafumi ONAKA (@onk) October 9, 2022 Pry の $ https://github.com/

                                      irb に show_source があることをもっと知らしめたい - id:onk のはてなブログ
                                    • 自作ゲームが動かせるハンドヘルドゲーム機いろいろ - ABAの日誌

                                      ちょっと前に自作ゲームを動かせる環境・デバイスとしてどんなものがあるのかな?と思ってリストアップしたことがあった。 ちょっと前じゃなかったわ。2009年だから13年前だったわ。 ちょうどスマホが出てきたところで、PDAはもう消えた頃。携帯コンシューマ機としてのWonderWitchや、オープンなゲーム機としてGP32シリーズやP/ECEがあった。懐かしすぎるな。 2022年の今、同じようなリストを作ろうとした場合、世の中はだいぶ様変わりしている。Arduinoを代表とするワンボードマイコンをコアとし、それにディスプレイやボタンを追加したハンドヘルドゲーム機をDIYで作るというトレンドになった。 自分好みのゲーム機を自由に作れるのが利点である一方、様々なデバイスが乱立するために、それらで動作するゲームも個別の作りこみが必要な部分が増えているようにも思える。 それらに対して共通的なゲームライブ

                                        自作ゲームが動かせるハンドヘルドゲーム機いろいろ - ABAの日誌
                                      • 第734回 UbuntuでSBOM(ソフトウェア部品表)を作る方法 | gihyo.jp

                                        「SBOM(Software Bill Of Materials:ソフトウェア部品表)」という概念があります。これはあるソフトウェアを構築する上で利用しているライブラリの一覧をまとめたものです。また、システムにインストールされているソフトウェア一覧を示す場合もあります。今回は手元のUbuntuにインストールされているソフトウェア一覧を簡易的にまとめる方法を紹介しましょう。 SBOMの必要性 昨今のソフトウェアは多種多様なライブラリに依存しながら構築されています。太古のC言語のプログラムなら、シンプルなものならlibcだけ、そこそこ複雑なものでも2、3個のライブラリに依存するだけで済むことが大半でした。それが今風のプログラミング言語になると、特定の便利そうなライブラリに依存するだけで、「⁠だったら俺も僕も私もミーも」といくつものライブラリがバンドルされてしまうのです。 結果的に広く使われてい

                                          第734回 UbuntuでSBOM(ソフトウェア部品表)を作る方法 | gihyo.jp
                                        • 「接待どうぶつ将棋AI」が爆誕!おもてなし接待AIを作る物語。 - Qiita

                                          はじめに AIが将棋のプロ棋士より強くなってから久しい。 一方で羽生善治先生は、 「接待将棋のようなことはAIには難しい」と喝破している。 では実際に接待AIを作ろうとすると、どのような点が難しく、 どこまでのレベルの「接待」なら出来るのだろうか? 本稿は、「接待将棋」という難問に挑んだ開発日誌的な記録として、 得られた接待AIの考え方にいたるまでの物語である。 参考: 人工知能に「接待将棋」はできない──羽生善治と石山洸が語る将棋とAIの進化 先に完成品を記載(実際に遊べるURL) 結論から述べると、あるシンプルな実装方針で、 自身ではある程度納得出来る実装を得ることが出来た。 以下がその結果(接待AI)と実際に遊べるアプリだ。 PC/スマホどちらでも対応。 「将棋」は難しすぎるため「どうぶつしょうぎ」で作った。 「どうぶつしょうぎ」は、そのユーザを考えると、 実は地球上で最も「接待」が

                                            「接待どうぶつ将棋AI」が爆誕!おもてなし接待AIを作る物語。 - Qiita
                                          • Swisstable Hash に使われているビット演算の魔術 - methaneのブログ

                                            Googleが開発したSwisstableと呼ばれるハッシュテーブル実装がAbseilとして公開されて、Rustの標準のHashMap実装にもその移植であるhashbrownが採用されました。 Swisstable の面白いところは、8または16要素をグループ化して、グループ内の各要素のハッシュ値のうち7bitをそれぞれ1byteに格納した8または16バイトの配列を作り、その配列に対して一気に並列でマッチングを行うことです。 この並列マッチングにはSSE2もしくはビット演算が使われます。この記事ではこの並列マッチング部分について解説します。 SSE2を使う場合 SSE2を使う場合は、グループのサイズは16になります。ハッシュ値を格納する配列のことを control と呼ぶことにすると、 control は char control[16] になります。control の各バイトの状態は次の

                                              Swisstable Hash に使われているビット演算の魔術 - methaneのブログ
                                            • 「説明サイトとリファレンスサイトの両立を目指したい」 「とほほのWWW入門」管理者・杜甫々氏が執筆時に気をつけていること

                                              「とほほのWWW入門」管理人の杜甫々氏が、これまでの経歴と、「とほほのWWW入門」執筆時に気を付けていること、自身の趣味について話しました。全2回。前回はこちらから。 今まで勉強してきた言語 杜甫々:今日はYAPC、Perl(のイベント)なので、プログラミングに関してのことをちょっとしゃべります。 (スライドを示して)今までこんな言語の勉強だけしてきました。よく使う言語はC言語が最初で、C++、そこから掲示板を作っていた頃はPerl。そこからPHPに移って、今はPython、JavaScriptが多いですかね。あとはたまにAWKをまだ使っています。 Perlの好きなところ、今後サポートしてほしいところ (スライドを切り替えて)えっとー…。謝ります(笑)。 (会場拍手) ずいぶん昔にPerl入門を書いたんですが、ほったらかしになっていて。今回このお話をいただきまして「それじゃあ、やはりいかん

                                                「説明サイトとリファレンスサイトの両立を目指したい」 「とほほのWWW入門」管理者・杜甫々氏が執筆時に気をつけていること
                                              • JavaScriptのみ!3つのメソッドだけで手を検出可能な機械学習ライブラリ「Handtrack.js」を使ってみた! - paiza times

                                                どうも、まさとらん(@0310lan)です! 今回は、JavaScriptで機械学習モデルを手軽に扱える便利なライブラリをご紹介します! わずかなプログラムで静止画像やWebカメラからのリアルタイムな映像を解析して「手」を検出できるのが特徴です。JavaScriptライブラリを読み込むだけですぐに使えるので、HTMLファイル1つあればブラウザ上で実行できるのも魅力的です。 手の動きを利用したWebアプリを簡単に開発できるので、機械学習にご興味ある方はぜひ参考にしてみてください! なおJavaScriptの基本は、paizaラーニングの「JavaScript入門編」で学ぶことができます。 【 Handtrack.js 】 ■「Handtrack.js」で実現できること 使い方を解説する前に、まずは「Handtrack.js」でどのようなことが実現できるのかサンプル例を見ていきましょう。 「H

                                                  JavaScriptのみ!3つのメソッドだけで手を検出可能な機械学習ライブラリ「Handtrack.js」を使ってみた! - paiza times
                                                • 2020年現在 Web系企業で採用されてる技術についてまとめてみた - Qiita

                                                  はじめに 2020年も始まりましたね! タイトル通りですが、2020年現在スタートアップや大手のWeb系IT企業で採用されている、トレンドとなっている技術についてそれぞれのジャンル毎に求人や採用ページ、ブログを元にまとめてみました。 いくつかピックアップしている形になるので、記述できてないものもありますが、ご了承くださいm(_ _)m (適宜アップデートしていきたいと思います。) (自分のメイン領域がバックエンドなので、そちらに偏っていると思います) 言語編 Ruby サーバーサイドのスクリプト言語、動的型付け言語です。 まつもとゆきひろさん(Matzさん)により開発されたオブジェクト指向スクリプト言語。 日本生まれの言語です。 整数や文字列なども含めデータ型はすべてがオブジェクトであり、純粋なオブジェクト指向言語です。 有名なフレームワークである Ruby on Rails を使うと開発

                                                    2020年現在 Web系企業で採用されてる技術についてまとめてみた - Qiita
                                                  • tar(1) はなぜオプション引数にハイフンが不要なのか?

                                                    TL;DR tar(1)の引数はオプションではなくkeyだから 歴史 tar(1)は Unix v7 (1979) で導入されたが、その前身は Unix v4 (1973) の tp(1)、更にこれは Unix v1 (1971) の tap(1) に遡る。 80年代に入りSystemV v.s. BSDといったことが起きたりし、PWB/UNIX (Programmer's WorkBench)で導入された cpio(1)とtar(1)、どちらがUnixの標準アーカイバか争われた結果、IEEE Std. 1003.1-2001 (POSIX.1-2001) を以って tar(1)は規格から削除され、代わりに IEEE Std 1003.2-1992 で導入された折衷案のpax(1)が標準となった。よって、現在実装中立なtar(1)の仕様書がそもそも存在しない。最後の中立規格は1997―19

                                                    • プログラミングのなんとか安全まとめ

                                                      プログラミングのなんとか安全まとめ 安全とは 安全の正確な定義は難しいですが、ここでは「特定のリスクが十分に低減されている状態」について考えたいと思います。 人間社会を例に考えてみると、我々の生活は常に犯罪や災害、疫病などの危険にさらされています。しかし通常の生活において、これらのリスクを強く意識することはありません。それは行政(警察や消防や法制度など)の社会システムが、リスクを十分に低減する処置をとっているからです。 ソフトウエアにおける安全も基本的に同質であり、言語やフレームワーク、開発プロセスによって、リスクを管理することで安全の実現を目指します。 リスク管理は何らかの制限を伴いますので、何を自由とし、リスクとするかは、エコシステム毎に異なります。例えば銃器は、国によって所有に対する規制の強弱が分かれています。しかし認可されている国の治安が、必ずしも悪いわけではありません。社会がその

                                                        プログラミングのなんとか安全まとめ
                                                      • C言語で16文字でセグフォらせる - Qiita

                                                        ↓PythonをSegmentation Faultで落とすのが最近流行っているようなので。 pythonを三行でセグフォらせる pythonを2行でセグフォらせる pythonを1行でセグフォらせる Pythonを33文字でセグフォらせる Pythonをctypesを使わずに1行でセグフォらせる Rustを5行でセグフォらせる 主語(Python)をC言語に変えるだけで途端につまらなくなりますが、やってることは同じです。 コード gcc 10.1.0で動作確認(警告は出ます) > gcc segf.c segf.c:3:4: 警告: データ定義が型または記憶域クラスを持っていません 3 | *a;main(){*a=0;} | ^ segf.c:3:5: 警告: 型がデフォルトの ‘int’ に ‘a’ の宣言内でなります [-Wimplicit-int] 3 | *a;main(){*

                                                          C言語で16文字でセグフォらせる - Qiita
                                                        • シェルスクリプト用の国際化ライブラリの決定版! sh-i18n を作りました ~ gettext.sh 代替・すべてのPOSIXシェルと環境に対応 - Qiita

                                                          シェルスクリプト用の国際化ライブラリの決定版! sh-i18n を作りました ~ gettext.sh 代替・すべてのPOSIXシェルと環境に対応ShellScriptBash国際化GettextPOSIX はじめに POSIX 準拠でどの環境でも動くシェルスクリプト用の国際化ライブラリ sh-i18n を作りました。同様のライブラリとしては GNU gettext に含まれている gettext.sh が有名です。すでにライブラリがあるのになぜ作ったのかと言えば、gettext.sh は基本的に GNU gettext 専用で、書きづらく単一の書き方でどのシェルどの環境でも動くわけではなかったからです。一言で言えばすべての環境で動く完璧なシェルスクリプト用の国際化ライブラリを作りたかったのです。 ちなみにすべての環境で動くというのはおそらく嘘です。動かない環境は今のところ認知していません

                                                            シェルスクリプト用の国際化ライブラリの決定版! sh-i18n を作りました ~ gettext.sh 代替・すべてのPOSIXシェルと環境に対応 - Qiita
                                                          • 『Go言語プログラミングエッセンス』を読み始めた - Magnolia Tech

                                                            Go言語プログラミングエッセンス エンジニア選書 作者:mattn技術評論社Amazon 『Go言語プログラミングエッセンス』、C言語の勉強に役立つなぁ(?)— magnoliak🍧 (@magnolia_k_) 2023年3月11日 普段、Go言語のコードを書くことは無いのだけど、ざっと読むくらいのスキルは身につけておきたいなーと思って、『Go言語プログラミングエッセンス』を読み始めた。 単に言語の仕様とか、ツールの使い方を知りたいだけならば公式ドキュメントを読んで、他の人のコードを読んで、実際に書いてみればいいのだけど、この本ではしつこいくらいに、「他の言語との比較」や、「仕様が決まった背景」が語られている。 変数や関数の定義の記述順に関しては、わざわざC言語の構文解析の難しさを図を使ってまで説明した上で、「一方、Go言語ではこうなっている」と説明されてとても分かりやすかった。 この

                                                              『Go言語プログラミングエッセンス』を読み始めた - Magnolia Tech
                                                            • プログラミングで初学者のときにつまづいたこと - yucatio@システムエンジニア

                                                              プログラミングでつまづいてきたことというブログ記事を見たので、私も書いてみます。 satoru-takeuchi.hatenablog.com mizchi.hatenablog.com 自己紹介 記事をリンクしたお2人と違って大したプログラマではないですが、システムエンジニアとして働いて10年経ってみて今の仕事が向いていると思っているところです。 大学でC言語とJavaを習って、仕事はWeb系で主にJavaを使用しています。 以下、つまづいたことです。だいたい古いのから新しいものになっています。 代入文 a = 1 b = 2 c = a + b でcが3になるのは分かったのだが、 a = a + 1 これを見て、"左右が等しくない。"と混乱し、そこで思考が止まってしまった。 半年後くらいに代入文という言葉を覚え、上記は"a + 1を計算した結果をaに入れる"だということが分かった (が

                                                                プログラミングで初学者のときにつまづいたこと - yucatio@システムエンジニア
                                                              • 初心者が知らないプログラミングの常識、なぜ「状態は悪」なのか

                                                                これまでこのコラムでは、プログラミング言語やソフトウエア開発といったプログラミング周辺の話題を取り上げてきた。一方、プログラミングそのものについてはあまり解説してこなかった。というのは、具体的なプログラミングに関心がある読者は必ずしも多くないと考えられるからだ。 もっとも、せっかくタイトルに「プログラミング」とついているコラム連載である。たまにはそうした話題を正面から取り上げてみたいと思う。 さて、「プログラムには状態がある」と聞いてピンとくる人はどれくらいいるだろうか。おそらく、プログラムを書いたことのない人は、何のことかわからないはずだ。逆に、きちんとプログラミングに取り組んでいるなら、「ああ、あの話題か」とすぐにわかるのではないだろうか。 日常的にプログラムを書いているのにピンとこないなら、自身のプログラミングのレベルを疑ったほうがいいかもしれない。「プログラムには状態があり、状態は

                                                                  初心者が知らないプログラミングの常識、なぜ「状態は悪」なのか
                                                                • ソフトウェア1 (2022)

                                                                  ソフトウェア1 (2022)¶ 本サイトは、東京大学工学部電子情報工学科・電気電子工学科の進学内定者(2年生、A1ターム)を主たる対象としたソフトウェア1の講義ページです。C言語の基礎を勉強します。 電気系の学科のslackにて講義に関する通知を行うので、常時学科slackをチェックするようにしてください。 電気系の学生は既に全員slackに招待されるはずですが、もし招待されていなければこちらを参考に入ってください。 電気系以外の学生も、上記リンクを参考に入ってください。講義を受講する学生なら誰でも参加出来るという運用になっています。 本サイトは2022年度版です。2023年度版はこちら。 ニュース¶ [2022.11.24] week7を追加しました。 [2022.11.10] week6を追加しました。 [2022.11.03] week5を追加しました。 [2022.10.27] w

                                                                  • オレオレASICとオレオレCPUで作る「オレたちのSoC」 CPU脳をたたき直す“自由ASIC時代”の到来

                                                                    Kernel/VM探検隊は、カーネルやVM、およびその他なんでもIT技術の話題ジャンルについて誰でも何でも発表してワイワイ盛り上がろうという会です。takeoka氏は、現在開発中のSoC(System-on-a-chip)について発表しました。 LSI(Large Scale Integration)の民主化が進んでいる takeoka氏(以下、takeoka):俺ASICと俺CPUを作っているのでその話をちょっとします。 最近、日本でも半導体復興と言われています。(半導体は)お金持ちの物だと思っていたけれど、近頃はGoogleが安く作れるようにしてくれていたり、OpenEDAやOpenLANEというOSSのツールを使えば作れます。 これはだいぶ前からですが、Googleががんばっています。ほかにも、FOSSi(Free and Open Source Silicon Foundation

                                                                      オレオレASICとオレオレCPUで作る「オレたちのSoC」 CPU脳をたたき直す“自由ASIC時代”の到来
                                                                    • 計算機に推論できる型、できない型 | Wantedly Engineer Blog

                                                                      本記事は Wantedly 21新卒 Advent Calendar の17日目の記事です。本記事では、いくつかの言語の型システムに実装されている様々な機能を紹介するとともに、それが型推論の実現性に与える影響について述べます。 最近静的型付き言語が盛り上がりを見せ、動的型付き言語の筆頭格だった Ruby もバージョン 3.0 で型解析ツールを導入するまでに至った一因には、きっと型推論の有用性が知られるようになったことが挙げられることでしょう。C言語で、関数ポインタを含んだ複雑なプロトタイプ宣言を書いている時ほどストレスを感じる時間はないし、かと言って Ruby on Rails で書かれたバックエンドを弄っている時に、型チェッカがあれば自明に発見できたであろうエラーでインシデントを起こすほど悲しいことはありません。プログラマが型を書かなくても静的な型チェックの恩恵を受けられる型推論の、何と

                                                                        計算機に推論できる型、できない型 | Wantedly Engineer Blog
                                                                      • バグ調査やパフォーマンス改善に役立つ!eBPFを用いたトレーシングについて | さくらのナレッジ

                                                                        はじめに この記事では、Linuxカーネルに実装されているパケットフィルタであるeBPFを使ったトレーシングツール、具体的にはDTrace, SystemTap, bpftrace,bcc-toolsなどについて紹介させていただきます。この記事の目標を以下に示します。 DTraceやSystemTapを簡単に説明し、eBPFを用いたトレーシングのうれしいところをお伝えします。 bpftraceやbcc-toolsといったツールの簡単な使い方を紹介し、細かいツールを調べる上での足がかりになるようにします。 公式の資料がかなり充実していることをお伝えします。この記事で使っている画像はそこから使わせていただいています。 eBPF概説 eBPFは、Linuxカーネル3.15からBPF(Berkeley Packet Filter)の拡張仕様として導入されました。BPFはこれまでにもパケットフィルタ

                                                                          バグ調査やパフォーマンス改善に役立つ!eBPFを用いたトレーシングについて | さくらのナレッジ
                                                                        • WebAssemblyでPOSIXの機能を利用可能にする仕様「WASIX」が公開

                                                                          米Wasmerは、WebAssemblyでPOSIX(Portable Operating System Interface)の機能を利用可能にする新しい仕様「WASIX」を5月30日に公開した。WASIは、WebAssemblyをWindows、macOS、Linuxで動作可能にするための仕様であるWASIを拡張したものだ。WASIでは、OSのファイルシステムやネットワークなどを安全に利用可能にするAPIを定義している。 WASIXは、マルチスレッド処理やバークレーソケット、プロセスのフォーク、DNSによる名前解決など、POSIXが定義する機能の多くをWebAssemblyで利用可能にする。現在のところWASIXはRustとC言語で利用でき、ZigやAssemblyScriptへの対応も予定している。 WASIXを利用したプログラムを作成するには、上記の対応言語でWASIXのAPIを使っ

                                                                            WebAssemblyでPOSIXの機能を利用可能にする仕様「WASIX」が公開
                                                                          • 詳説 eBPF 実装編 - VA Linux エンジニアブログ

                                                                            1. はじめに 2. 使用環境 3. コンパイル 4. opensnoopとは 5. opensnoop.bpf.cの解説 5.1 mapの宣言 5.2 BPFプログラムのメイン処理 5.2.1 33-68行目 5.2.2 88-124行目 5.2.3 プログラムタイプとコンテキスト 5.3 opensnoop.bpf.cのコンパイル 6. opensnoop.cの解説 6.1 ヘッダファイルのインクルード 6.2 BPFアプリケーションのメイン処理 6.3 231-232行目 6.4 opensnoop_bpf__open 6.4.1 bpf_object__init_maps 6.4.2 bpf_object_init_progs 6.5 241-245行目 6.6 opensnoop_bpf__load 6.6.1 bpf_object__create_maps 6.6.2 bpf_

                                                                              詳説 eBPF 実装編 - VA Linux エンジニアブログ
                                                                            • C言語、Java言語、Go言語、Rust言語……

                                                                              人間の言葉は「イングリッシュ語」「ジャパニーズ語」と書いたらおかしいと誰でも理解できるのに、プログラミング言語に「言語」をつけるとおかしいというのを理解できる人がめったにいないのはなぜなのか。

                                                                                C言語、Java言語、Go言語、Rust言語……
                                                                              • ゼロからはじめるPython(79) 550円で電子工作ラズパイピコを始めよう

                                                                                テレワークで自宅時間が増えた。そうなれば、自宅を快適にしたいという流れが自然だろう。とは言えお金はかけたくないと誰もが思うところだ。せっかくPythonが使えるならRaspberry Picoを活用してみよう。550円から電子工作が始められるので手軽だ。今回は、Picoのセットアップから温度取得までやってみよう。 Raspberry Pi Picoを使えばPCにさまざまな電子部品を接続して活用できる 550円の衝撃 - Raspberry Pico 「Raspberry Pi Pico」(以後、ラズパイピコと略す)とは、2021年初頭に発売されたRaspberry Piの新シリーズだ。そもそも、Raspberry Piは手のひらサイズの小型Linuxであり、世界中で3700万台以上を売り上げた大ヒット製品だ。 主要最新モデルのRaspberry Pi 4 Model Bは、CPU1.5GH

                                                                                  ゼロからはじめるPython(79) 550円で電子工作ラズパイピコを始めよう
                                                                                • 初心者でも使いやすい!「iPython(アイパイソン)」の活用方法総まとめ

                                                                                  iPythonとは iPythonはPythonの対話型インタプリタを実行するためのシェルになります。対話型インタプリタとは、対話的に1行ずつプログラムを実行していく方式のことで、シェルとはユーザとのインターフェースを提供するためのプログラムのことです。オープンソースのソフトウェアとして開発されていて、ソースコードもGithub(ギットハブ)で公開されています。 iPythonはCPython(シーパイソン)に内蔵されているシェルに比べてコードのハイライティングやタブによる補完といった便利な機能を使えます。CPythonはC言語で書かれたPythonのリファレンス実装です。これらの便利な機能を使えることで効率よくプログラミングできます。 また、iPythonはプロセス間通信や並列コンピューティングの仕組みも持っています。iPythonから並列コンピューティングの機能であるMPI(Messa

                                                                                    初心者でも使いやすい!「iPython(アイパイソン)」の活用方法総まとめ