並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 24 件 / 24件

新着順 人気順

C言語の検索結果1 - 24 件 / 24件

  • 2024年版のDockerfileの考え方&書き方 | フューチャー技術ブログ

    最近はお客さんとの勉強会でDockerのドキュメントをつまみ食いして読むというのをやっていますが、改めて最新版を読んでみて、いろいろ思考が整理されました。2020年の20.10のマルチステージビルドの導入で大きく変わったのですが、それ以前の資料もweb上には多数あり「マルチステージビルドがよくわからない」という人も見かけるので過去の情報のアンラーニングに使っていただけるように改めて整理していきます。 仕事でPythonコンテナをデプロイする人向けのDockerfile (1): オールマイティ編で触れた内容もありますが改めてそちらに含む内容も含めて書き直しています。 本エントリーの執筆には@tk0miya氏から多大なフィードバックをいただきました。ありがとうございます。 基本的なメンタルモデル現代的な使い方を見ていくために「Dockerを使ってビルドする」というのはどのようなものか考えを整

      2024年版のDockerfileの考え方&書き方 | フューチャー技術ブログ
    • C言語の知られザル・許されザル仕様 - Qiita

      はじめに どうも、y-tetsuです。 かれこれC言語には、10年以上携わっているのですが、最近ふと学びなおしをしています。 「Cクイックリファレンス第2版」これを完走めざして読み始めました。全816ページの超大作! 先は長いので、日頃からかたわらに置いておき、表紙の牛さん(雌牛)と目が合ったら黙って少し読むようにしています。 言語の"歴"だけは長い筆者ですが、この本をちらっと読んだだけでもいまだに知らなかったことが結構潜んでいました。意外と己の"目"ってザルでした。 そんなこんなで学びなおしのため、今回は筆者が感じたままの知られザルそして許されザルなC言語の仕様について、備忘録を残します。 知られザル仕様 恥ずかしながら、今まで存じ上げザルだったシリーズ。 ダイグラフ 名前からして???だったんですが、キーボードによっては存在しない記号を別の2文字で表わすためのものだそうです。 !?…っ

        C言語の知られザル・許されザル仕様 - Qiita
      • 高速化のエンジニアリング。注文してから0.722秒。100倍速いぞ!Python : 75.884 C++ : 3.392   JIT Python : 0.722 JITコンパイラで高速化されたコードを自動生成するツール。 - Qiita

        アリスは驚きと興奮を抑えきれませんでした。彼女はすぐに新しいコードを試し、その速さに目を見張りました。今まで数時間かかっていた計算が、ほんの数分で終わったのです。 翌日、アリスはこの発見を友人たちに話しました。友人たちも同じように魔法の本を使い、彼らのコードを高速化しました。こうして、プログラミング王国全体で「JITの魔法の本」が広まりました。 やがて、アリスは王国のプログラミング大会で優勝し、JITの魔法の本の力をさらに広めることになりました。彼女は「JITの守護者」として称えられ、プログラミング王国はかつてない繁栄を迎えました。 アリスはいつも心に誓いました。どんなに強力なツールも、それを使う人々の努力と情熱があってこそ、本当の力を発揮するのだと。彼女の言葉は次世代のプログラマーたちに伝わり、JITの魔法の本は永遠に受け継がれていくのでした。 前回のあらすじ。 Python count

          高速化のエンジニアリング。注文してから0.722秒。100倍速いぞ!Python : 75.884 C++ : 3.392   JIT Python : 0.722 JITコンパイラで高速化されたコードを自動生成するツール。 - Qiita
        • 「第4のブラウザ言語」WebAssemblyが変えるフロントエンド開発 | レバテックラボ(レバテックLAB)

          執筆 山内 直 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)に所属するテクニカルライター。出版社を経てフリーランスとして独立。ライター、エディター、デベロッパー、講師業に従事。屋号は「たまデジ。」。著書に『Bootstrap 5 フロントエンド開発の教科書』、『作って学べるHTML+JavaScriptの基本』など。 監修 山田 祥寛 静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「独習」シリーズ、「これからはじめるReact実践入門」、「改訂3版 JavaScript本格入門」他、

            「第4のブラウザ言語」WebAssemblyが変えるフロントエンド開発 | レバテックラボ(レバテックLAB)
          • Pythonが遅い理由とその対策 - Qiita

            はじめに Pythonは柔軟性が高く、初心者にも適したプログラミング言語ですが、その一方で速度面では他の言語に劣るとされています。本記事では、先月ピッツバーグで開催されたPyCon US 2024で紹介されたPythonの高速化技術について詳しく解説します。 Pythonの速度問題 「Pythonはランタイムにコストを払う」という古い格言が示す通り、Pythonは解釈型言語であり、実行時に多くの処理を行うため速度が遅くなることがあります。Pythonはソースコードを効率的なバイトコードに変換し、それを直接実行することで動作します。このプロセスには多くの間接処理が含まれ、単純な命令でさえも多数のCPU指示に分解されます。例えば、二つの数値を足すだけでも500以上の命令が実行されることがあります。 高速化のためのコンパイル技術 Cythonによる最適化 PyCon 2024でのSaksham

              Pythonが遅い理由とその対策 - Qiita
            • GPT-3.5ベースのChatGPTのコーディング能力は「古い問題には有効も新しい問題では困難に直面する」ことが明らかに

              GoogleやMistral AIなどからプログラミングに特化したAIツールが登場しており、大手テクノロジー企業のCEOが「AIがコードを書くのでもうプログラミングを学ぶ必要はない」と発言するなど、AIによるプログラミングは注目を集めています。そんなAIによるプログラミング能力を分析した研究が公開されており、AIモデルがトレーニングされたタイミングによっては困難に直面することがあることが判明しました。 No Need to Lift a Finger Anymore? Assessing the Quality of Code Generation by ChatGPT | IEEE Journals & Magazine | IEEE Xplore https://ieeexplore.ieee.org/document/10507163 ChatGPT Code: Is the AI

                GPT-3.5ベースのChatGPTのコーディング能力は「古い問題には有効も新しい問題では困難に直面する」ことが明らかに
              • Java Champion・谷本心が3段階の技術レベルに合わせて読んでほしいJava本6選

                谷本 心 EverforthとAcroquestの2社で正社員として働くエンジニア。仕事のかたわらでコミュニティ活動も行っており、日本Javaユーザーグループの代表を務めるほか、アメリカで開催されたJavaOneやSpringOneなど国内外のイベントで登壇。その実績から日本で3人目の「Java Champion」に任命された。著書に『Java本格入門』(技術評論社)。趣味は対戦格闘ゲームと、BABYMETALを追いかけて世界中を旅すること。 X: @cero_t Blog: https://cero-t.hatenadiary.jp/ 1. 『Java本格入門~モダンスタイルによる基礎からオブジェクト指向・実用ライブラリまで』(谷本心、阪本雄一郎、岡田拓也、秋葉誠、村田賢一郎 著) 2. 『プロになるJava―仕事で必要なプログラミングの知識がゼロから身につく最高の指南書』(きしだなおき

                  Java Champion・谷本心が3段階の技術レベルに合わせて読んでほしいJava本6選
                • OS徒然草 (1) - VA Linux エンジニアブログ

                  はじめに コンピュータのアーキテクチャ プログラムの構造 あとがき 執筆者 : 小田 逸郎 はじめに 筆者は自分のことを OS 開発者 (OS屋) だと思ってます。最近は、OSにあまり深く関われていないのですが、筆者が若かりし頃に情熱を注いだものであり、筆者の基盤をなしているものであることには間違いないです。 筆者が OS (UNIX) の開発に携わり始めたのは、1986年のことなので、もう40年近く経ってしまいました。その間に OS の規模も随分大きくなってしまったようです。 筆者が始めた頃の UNIX は、デバイスドライバを除くと、20K行くらいだったと記憶しています。 全コードをラインプリンタで出力、コピー、製本し、皆で読み合わせて、勉強会をしたりしていました。そんなことができる分量だったのです。 今の Linux の規模はどれくらいでしょうか。筆者たちが「Linuxカーネル 2.6

                    OS徒然草 (1) - VA Linux エンジニアブログ
                  • 第822回 CLIだけでUbuntuを使いたい人向けのUbuntuサーバー講座2024 | gihyo.jp

                    前々回の第820回では「改めてUbuntuに入門したい人向けのUbuntuサーバー講座2024」と題してUbuntu 24.04 LTSのサーバー版のインストール方法を紹介しました。もちろんUbuntuはインストールしただけで終わりではありません。豊富なパッケージ資産の利用や、自分なりの環境のカスタマイズなどを行って初めて、「⁠Ubuntuを使う」状態になるのです。そこで今回は、Ubuntuサーバーを使い始めてまず実施するであろう定番の作業をいくつか紹介しましょう。 UbuntuのCLIを使えるようになると、他のLinuxディストリビューションやWSL、Raspberry Pi OSなど他の環境におけるハードルもぐっと下がります。その人の使い方に合うか合わないかは別にして、一度は経験しておくことをおすすめします。 図1 fastfetchでUbuntuの情報を表示した様子 SSHサーバーの

                      第822回 CLIだけでUbuntuを使いたい人向けのUbuntuサーバー講座2024 | gihyo.jp
                    • より価値の高いソフトウェアを開発するために。C++エキスパート・高橋晶が薦める、C++の技術書5選 - レバテックラボ(レバテックLAB)

                      より価値の高いソフトウェアを開発するために。C++エキスパート・高橋晶が薦める、C++の技術書5選 2024年7月16日 C++ライブラリアン 高橋 晶 C++日本語リファレンスサイトcpprefjpを運営し、C++の最新情報を日本語で発信している。株式会社Preferred Networksに所属し、スーパーコンピュータのソフトウェア開発に携わっている。 著書として、『C++テンプレートテクニック』(SBクリエイティブ)、『C++ポケットリファレンス』(技術評論社)、『プログラミングの魔導書』(ロングゲート)。 X: @cpp_akira GitHub: faithandbrave 1. 『Effective C++ 第3版』Scott Meyers 著、小林健一郎 翻訳 2. 『Effective Modern C++ ― C++11/14プログラムを進化させる42項目』Scott M

                        より価値の高いソフトウェアを開発するために。C++エキスパート・高橋晶が薦める、C++の技術書5選 - レバテックラボ(レバテックLAB)
                      • C言語を学びたての人のための電卓自作

                        電卓を通じて、再帰下降構文解析を使った構文解析を行います。インタプリタ自作やコンパイラ自作の前段階として挑むとちょうど良いのではと思います。 ステップ1からステップ15まであり、最終的に括弧を使った式を解析できる電卓が出来上がります。各ステップは少しの書き換えだけで済むようになっています。 「大学に入ってからプログラミングを始めて、1年生でC言語を学んでいる」という人に向けて書きました。 「このステップは難しすぎる」「説明が分からない」「ここの説明は間違っている」等があれば、sou7まで連絡を頂けるとありがたいです。また、実装してみて「みてみて!電卓が実装できたよ!」というときにも連絡を頂けると嬉しいです。 参考実装はこちらにありますCommits · soukouki/c-calc · GitHub。ステップごとにコミットを分けてあるので、難しくて進められない場合は参考にしてください。

                          C言語を学びたての人のための電卓自作
                        • C言語のアロー演算子ってどこまで繋げられるんだろうか | DevelopersIO

                          #include<stdio.h> #include<stdlib.h> struct PointerLimit{ struct PointerLimit* next; int value; } typedef PointerLimit; PointerLimit* getTail(PointerLimit* base){ while(base->next != NULL){ base = base->next; } return base; } PointerLimit* add(PointerLimit* base, int value){ PointerLimit* new = (PointerLimit*)malloc(sizeof(PointerLimit)); new->value = value; new->next = NULL; PointerLimit* tail =

                            C言語のアロー演算子ってどこまで繋げられるんだろうか | DevelopersIO
                          • 【この沼】キーボード自慢大会【深い】 - 株式会社ヘンリー エンジニアブログ

                            株式会社ヘンリーで SRE をやっている id:nabeop です。 みなさん、キーボードを使っていますか?エンジニアに限らず、毎日触っているガジェットで一番使っているガジェットは何か?という問いをすると、かなりの割合でキーボードが上がると思います。実際にヘンリーの Slack ワークスペースにはキーボードに関する話題を扱う #zzz-social-keyboard というチャンネルがあり、おすすめのキーボードの相談から、気になるキーボードやキースイッチの紹介などで賑わっています。 そんな中で M3 さんのテックブログで突撃! 隣のキーボード M3 2024 - エムスリーテックブログというエントリが公開され、#zzz-social-keyboard でも話題になりました。で、#zzz-social-keyboard の参加者もキーボードには負けないくらいのこだわりがあるので、アンケートを

                              【この沼】キーボード自慢大会【深い】 - 株式会社ヘンリー エンジニアブログ
                            • 6万5000人以上の開発者に「好きな言語」「好きなOS」「好きな開発環境」「好きなAI」を聞いた年次調査「2024 Stack Overflow Developer Survey」の結果が公開される

                              開発者のためのコミュニティ「Stack Overflow」が実施した年次調査「2024 Stack Overflow Developer Survey」の結果が公開されました。6万5000人を超える開発者が、コーディングやAI、使用および学習したいと考えるテクノロジーやツール、職場での体験などについて回答しています。 2024 Stack Overflow Developer Survey https://survey.stackoverflow.co/2024/ まず、回答者の最終学歴は以下の通りで、41%が学士号を、25.6%が修士号を取得しています。Stack Overflowは「開発者の66%が学士または修士の学位を持っているが、学校でコードを学んだ開発者は49%に過ぎない」とも指摘しています。 コードを学習するために最も優先する選択肢を問うた項目では、「その他のオンラインリソース

                                6万5000人以上の開発者に「好きな言語」「好きなOS」「好きな開発環境」「好きなAI」を聞いた年次調査「2024 Stack Overflow Developer Survey」の結果が公開される
                              • Steepのメモリ使用量を改善するつもりが、実行速度の改善をしていた - Money Forward Developers Blog

                                こんにちは。id:Pocke です。 私は最近、Steep のメモリ使用量の改善に取り組んでいます。その過程で(意図せず) Steep の実行速度の改善に成功しました。 その中で行った、メモリ使用量の調査や、結果として実行速度が改善されたことは自分にとって中々楽しい体験でした。この記事では実行速度の改善に至るまでの経緯を紹介します。 記事中のソフトウェアは、執筆時点で最新のものを使用しています。具体的なバージョンは以下の通りです。 Ruby: 3.3.4 MemoryProfiler: 1.0.2 Steep: 1.8.0.dev.1 TL;DR メモリ使用量の調査のために、memory_profiler gem を使った それだけだと不十分なので、Ruby にパッチを当てた上で計測をした 結果としてsteep checkの解析対象ファイル数が多い場合に速度が遅くなることが分かり、改善した

                                  Steepのメモリ使用量を改善するつもりが、実行速度の改善をしていた - Money Forward Developers Blog
                                • Ruby言語の進化を追いかけて意外な構文機能を発見した話(翻訳)|TechRacho by BPS株式会社

                                  概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Vignettes on language evolution: discovering an old syntax feature history 原文公開日: 2024/07/01 原著者: zverok 日本語タイトルは内容に即したものにしました。 私がこれまでまったく気づいていなかった、ある構文機能がRubyに存在します。 Rubyの進化をテーマにした前回記事を書きつつ(かつ今後出版する書籍の形式を構想しつつ)、私はRuby言語の歴史をどこまでも深く掘り下げ始めています。同時に他の言語についても調べ、あるソリューションが業界で広まったのがいつだったのか、逆にある手法が流行らなくなったのはいつだったのかを理解しようとしています。 Rubyについては、NEWSやChangelogファイルに目を通したり、変更された時期を独自に構

                                    Ruby言語の進化を追いかけて意外な構文機能を発見した話(翻訳)|TechRacho by BPS株式会社
                                  • 今どきの言語ならこの2択、歯ごたえ十分のRustか型を使えるTypeScriptか

                                    日経クロステックが実施した「プログラミング言語利用実態調査2023」で「今後、スキルアップしたいと思う言語はどれですか」と複数回答可で尋ねたところ、トップ10の言語が分かった。それぞれの言語の特徴を解説する。 4位 Rust 多機能でC/C++並みに高速。ただし、難易度は高め 2015年に最初の安定版である「Rust 1.0」がリリースされたRustは、近年人気が高まっているプログラミング言語です。Rustの魅力は、高速に動くプログラムを、現代的なプログラミングテクニックを使うコードで作成できることです。これはプログラミング言語の歴史から見ても興味深い点です。 近年、プログラミング言語の進化の方向は、PythonやRubyのように実行速度を犠牲にする代わりに様々な機能を提供するか、Go言語のように提供する機能を絞って実行速度の向上を追求するかという2つの道に分かれていました。その中で、Ru

                                      今どきの言語ならこの2択、歯ごたえ十分のRustか型を使えるTypeScriptか
                                    • C言語のif文はswitch文に書き換えた方が良いけど、どの順番で比較を行うか保証されてないからあえてifで書くこともあるよという話

                                      にょもこ @tmkymd_ C言語を256倍使うための本にifはswitchに書き換えた方が良いけどどの順番で比較を行うか保証されてないからあえてifで書くこともあるよというようなことが書いてあった pic.twitter.com/GNTseCeB8w x.com/shigerufujita/… S𝓱𝓲𝓰𝓮𝓻𝓾 F𝓾𝓳𝓲𝓽𝓪 @shigerufujita C言語では、if elseについて実行順が保証されるが、switch caseでは、評価順が保証されないから、「敢えてif文で条件分岐」という話が書いてあったのは、アスキーから出ていた「C言語を256倍使う方法」だったと思う #老害

                                        C言語のif文はswitch文に書き換えた方が良いけど、どの順番で比較を行うか保証されてないからあえてifで書くこともあるよという話
                                      • シンプルで高速なGo言語とWeb開発の「Rails」でブレイクした日本発のRuby

                                        日経クロステックが実施した「プログラミング言語利用実態調査2023」で「今後、スキルアップしたいと思う言語はどれですか」と複数回答可で尋ねたところ、トップ10の言語が分かった。それぞれの言語の特徴を解説する。 8位 Go言語 ガベージコレクション付きの高速言語 Go言語は、2009年に米Googleが発表したプログラミング言語です。C言語やC++並みの実行速度を実現しながらもガベージコレクションを備えます。つまり、高速でメモリー安全なコードを容易に書ける言語です。 Go言語が登場するまで、カリカリにチューニングするような実行速度の速さを求めるならば、C言語かC++くらいしか選択肢はありませんでした。しかし、これらの言語にはガベージコレクションがないので、メモリーの管理はプログラマの役割になります。そうなると、メモリーの解放忘れによるメモリーリークといった問題が発生しがちです。さらに、C言語

                                          シンプルで高速なGo言語とWeb開発の「Rails」でブレイクした日本発のRuby
                                        • 「ChatGPT」が開発で役に立たない納得の理由 ただし、GPT-3.5版に限る:787th Lap

                                          開発現場においてプログラミング作業を効率化できると「ChatGPT」に期待が集まる。一方で、まだ開発を任せられる段階ではないとの意見もある。 生成AIに期待できることの一つに「コード生成」がある。2024年2月にNVIDIAのジェンスン・フアンCEOが「AIの登場によってプログラミングはもはや人に不可欠なスキルではなくなった」と公言したこともあってか、「プログラマーは不要になるのでは」などとささやかれた。それに対して、「決してプログラマーを葬るようなことにはならない」と異を唱える開発者もいる。 ある研究結果によって、ChatGPTが開発に“使えない”理由が明かされた。 生成AIがコーディングを得意としているのは事実だが、コーディングを任せるにはまだ不安がある。そんな研究結果が発表された。 この件の詳細が、IEEEが発行しているソフトウェアエンジニアリング分野の研究や技術進展を扱う学術雑誌『

                                            「ChatGPT」が開発で役に立たない納得の理由 ただし、GPT-3.5版に限る:787th Lap
                                          • 著者の一言:Web API設計実践入門──API仕様ファーストによるテスト駆動開発

                                            1978年4月に九州工業大学情報工学科に入学して初めてコンピュータに触れてから,さまざまなソフトウェア開発に従事してきました。しかし,大学・大学院での6年間や社会人になってからも,ソフトウェア開発におけるAPI(Application Programming Interface)設計とは何かを教えてもらったことはなく,試行錯誤してきました。今から思えば,最初のころはかなりひどいAPI設計を行っていたのではないかと思います。 たとえば,C言語で実装を隠ぺいするAPI設計の方法を覚えたのは,社会人となってから7,8年が過ぎたころでした。防御的プログラミングを始めたのは,社会人になってから15年もすぎたころでした。当然,それまでに設計したさまざまなソフトウェアでは,そのAPI仕様に防御的プログラミングを反映したような仕様は書いていなかったことになります。 防御的プログラミングを反映して,かなりき

                                              著者の一言:Web API設計実践入門──API仕様ファーストによるテスト駆動開発
                                            • Embarcadero、無償版「Delphi 12」「C++Builder 12」をリリース(窓の杜) - Yahoo!ニュース

                                              米Embarcadero Technologiesは7月30日(現地時間)、「Delphi 12 Community Edition」「C++Builder 12 Community Edition」をリリースした。 【画像】アカウント登録して「Delphi 12 Community Edition」をダウンロードすると、メールでライセンスキーが届く。インストーラーに入力すれば、セットアップが可能 「Community Edition」(CE)は、「Professional Edition」に相当するすべての機能をフリーランス開発者、スタートアップ、学生向けに無償で提供するエディション。CEを利用して開発したアプリが年間売上5,000米ドルに達するまで、あるいはチームが5名以上になるまで利用できる。評価を目的とした製品ではないので、企業などが導入を検討する場合はフル機能を試用できる30日無

                                                Embarcadero、無償版「Delphi 12」「C++Builder 12」をリリース(窓の杜) - Yahoo!ニュース
                                              • Google Chrome 127のベータ版にAIモデル「Gemini Nano」が追加されたのでチャットしてみた

                                                Googleは2024年5月に、AIモデルのGemini NanoをChromeデスクトップクライアントに直接組み込むことを明らかにしていました。そして2024年6月に公開されたGoogle Chrome 127のベータ版でGemini Nanoが組み込まれていることが確認されたので、実際に使ってみました。 Chrome is adding `window​.ai` — a Gemini Nano AI model right inside your browser. It already works with the AI SDK:https://t.co/Edzs9qDA8jpic.twitter.com/mTmFTCwqHB— Guillermo Rauch (@rauchg) June 27, 2024 Googleは2024年5月に開催された「Google I/O 2024」にお

                                                  Google Chrome 127のベータ版にAIモデル「Gemini Nano」が追加されたのでチャットしてみた
                                                • Rust の中で TypeScript を書くには

                                                  はじめに 先日ユニークビジョン株式会社の UV Study というイベントで Rust に関する LT 登壇を行いました。 この記事はそれを zenn 用にまとめ直したものです。 当日の発表は 10 分と短かったため、当日の発表で話せなかったところも補足しています。 作ったもの FFI は面倒 あるプログラミング言語で書かれたプログラムの中から、別のプログラミング言語で書かれた処理を呼び出したいことがあります。 それぞれプログラミング言語は文法やライブラリだけでなく、内部でどのようにリソースを管理しているかの仕組みも異なるため、そのままでは相互に関数を呼び出せません。(例えば呼び出し先のプログラムでなにかデータを生成してそれを呼び出し元に返そうとしても、その生成されたデータは誰がどうやって面倒を見るべきかという問題が生じます。) このようなことを可能にするための仕組みを FFI (Fore

                                                    Rust の中で TypeScript を書くには
                                                  1