並び順

ブックマーク数

期間指定

  • から
  • まで

201 - 240 件 / 2742件

新着順 人気順

C言語の検索結果201 - 240 件 / 2742件

  • 自堕落な技術者の日記 : 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の居場所とは
        • 「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万円、パーソルキャリアが発表
          • 生のポインタは使わないで! Modern C++のメモリ管理

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

              生のポインタは使わないで! Modern C++のメモリ管理
            • どうして Julia を作ったか

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

              • Pythonのパッケージングと配布の全体像

                EDIT: このブログと似た内容の話をPyCon APAC2023にてお話ししました。 こちらの登壇資料も合わせてご覧いただけると幸いです こんにちはWantedlyの樋口です。 Pythonのパッケージングと配布は歴史が長く、多くのツール(ex. conda, pip, pipenv, poetry, rye...)が開発されてきました。これらの多様性はPythonが多くの人に使われ、継続的に改善されたゆえの賜物ですが、同時にこれらの理解を難しくしている要因にもなっていると感じます。 そこで本記事では、Pythonのパッケージングと配布の全体像を紹介します。パッケージングと配布が何か、なぜ重要なのか、そしてそれぞれのツールが何を解決しようとしているのかについて説明します。以下のような疑問を解決できることを想定しています。 パッケージングと配布の仕組みがなぜあるのか 多数あるツールが何を解

                  Pythonのパッケージングと配布の全体像
                • Nature Remoやその関連サービスで使われている技術と今後の展望 - Nature Engineering Blog

                  Nature株式会社VPoEのid:Songmuです。当社でもエンジニアリングブログを始めることにしました。 NatureはIoTスマートリモコン製品のNature Remo1を主力製品としていますが、家庭の電力マネジメントのためのIoT製品スマートエネルギーハブNature Remo E2や、電気小売事業のNatureスマート電気3も提供しています。目指すところはクリーンエネルギー100%の世界の実現で、お客様に利便性と同時にエコであるという、気持ちの良いライフスタイルを提供したいと考えています。 先日、Nature Remoは累積販売台数30万台を越えました4が、エンジニアはハードウェアエンジニアが2名、ソフトウェアエンジニアが8名の体制です。ハードウェアも含め、技術領域が多岐にわたっているため、まだまだエンジニアを募集中です。 さて、今回は最初のエントリということで、Natureで使

                    Nature Remoやその関連サービスで使われている技術と今後の展望 - Nature Engineering Blog
                  • 求人サイトに「パクリ記事」大量掲載 誤字まで同じ、怒る権利者...運営会社「管理側が気づかなかった」

                    アールワークスの担当者によれば、記事は同社が刊行した書籍をもとにしたオリジナル記事だという。記事を比較してもらうと、「ほぼ完全な形でのコピペであり、当該記事執筆者からの流用の事前承認等の連絡もございません。今回ご連絡いただき、当記事の存在を初めて知りました」と困惑する。 「組織として問題があるなら然るべき対処をしてほしい」 情報サイト「さくらのナレッジ」に連載した記事を"無断転載"されたITエンジニアの男性は「著作権を無視する法人が運営している求人サービスは全くもって信用できない」と怒りを隠さず、「ことを大きくしたい気持ちはないが、組織として問題があるなら然るべき対処をしてほしい」と要望した。男性がアクロビジョンに問い合わせると、謝罪とともに記事を削除した旨が伝えられたという。 アクロビジョンの9月14日付記事「プログラミングソフトの種類」でも、盗用が強く疑われる記述がある。 記事中に「作

                      求人サイトに「パクリ記事」大量掲載 誤字まで同じ、怒る権利者...運営会社「管理側が気づかなかった」
                    • 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
                      • ヤフー株式会社を退職したのでついでに自分の半生を振り返ってみる|magurotuna

                        男もすなる退職エントリといふものを我もしてみむとしてするなり。 2020 年 10 月にヤフー株式会社を退職しました。退職に至るまでのあれこれと、今後のキャリアについて漠然と考えていることをまとめたいと思います。 学生時代 小・中・高は普通の公立に通い、1 年浪人して東大に入りました。 涼宮ハルヒの憂鬱からオタクになり、ニコニコ動画全盛期を経て引きこもり属性マシマシと化して、パソコンとゲームばかりしている中学・高校時代を過ごしました。 このオタク属性は大学に入って「声優おっかけ」に昇華し、声優イベントのためであれば日本国内はもちろんのこと、0 泊 2 日で台湾に弾丸で行くこともいとわないような生活を送っていました。 最終的に、大学の学園祭に声優さんを招いて自分でトークイベントを主催するというところまで行き着き、いろいろな意味で充実した学生生活を送ることができました。 電子情報工学科へ 勉強

                          ヤフー株式会社を退職したのでついでに自分の半生を振り返ってみる|magurotuna
                        • Rustの実用性が理解できる図を作成してみた 〜C/C++/Java/JS/Python/Go/TS/Elixirとの比較〜

                          エディタ支援 言語の公式がエディタ支援(LSP等)を提供しているかを示しています。 自動テスト 言語の公式が自動テスト(ユニットテスト等)を備えているかを示しています。 リンタ 言語の公式がリンタを提供しているかを示しています。 ビルドシステム 言語の公式がビルドシステムを提供しているかを示しています。 パッケージマネージャ 言語の公式がパッケージマネージャを提供しているかを示しています。 フォーマッタ 言語の公式がフォーマッタを提供しているかを示しています。 手続き型 言語のプログラミングパラダイムが手続き型プログラミングを強くサポートしているかどうかを示しています。 オブジェクト指向 言語のプログラミングパラダイムがオブジェクト指向プログラミングを強くサポートしているかどうかを示しています。 関数型 言語のプログラミングパラダイムが関数型プログラミングを強くサポートしているかどうかを示

                            Rustの実用性が理解できる図を作成してみた 〜C/C++/Java/JS/Python/Go/TS/Elixirとの比較〜
                          • Apple + NeXT、25年前の今日

                            25年前の今日、私はNeXTのフィールド・システム・エンジニアで、カナダにいる3人のNeXT社員のうちの1人でした。私たちの家族はペンシルベニア州スクラントンで、生後3週間の赤ちゃんを祖母に紹介しました。 当時、誰も信頼できる携帯電話を持っていなかったので、ほとんどのメッセージングは​​Audixというボイスメールシステムを使っていました。どういうわけか、今だにその番号、1-800-345-5588を覚えています。先日、その番号にダイヤルしてみました。この番号は使われていません。しかし、私は今でもすぐにダイヤルできます。 とにかく、突然のAudixのメッセージが来ました。緊急です。午後2時に全員がダイヤルする必要があります。それが何なのかよく分からないまま、信頼できる固定電話を探しに行ったところ、どういうわけかスチームタウン鉄道博物館の公衆電話にたどり着きました。(とにかく行ってみたかった

                              Apple + NeXT、25年前の今日
                            • 「自分の付加価値は何なのか」を考え続けていく必要がある 及川卓也氏が思う「エンジニア」と「生成AI」の関係性

                              及川卓也氏に聞く必要な“エンジニア力”の身につけ方 「自分の付加価値は何なのか」を考え続けていく必要がある 及川卓也氏が思う「エンジニア」と「生成AI」の関係性 米国OpenAI社が公開した「ChatGPT」が盛り上がりを見せている中、議論されがちなのは“AIの脅威”。それではエンジニアやプログラマーにとって、AIは脅威なのでしょうか?それとも新たな相棒なのでしょうか? 今まで多くのエンジニア組織をまとめてきた及川卓也氏に、エンジニアとChatGPTの関係についてうかがいしました。 ChatGPTに対してプログラマーができること ーー最近の話でいうと、ChatGPTのような生成AIが出てきて、なんか「エンジニアの仕事も取られるんじゃないの?」とか、エンジニアもプログラミングをやっていて、ChatGPTももちろんプログラミングをするというのはあるとは思うんですけど、そういう意見も一部はあるの

                                「自分の付加価値は何なのか」を考え続けていく必要がある 及川卓也氏が思う「エンジニア」と「生成AI」の関係性
                              • Rust言語を推進する「Rust Foundation」設立。AWS、Google、マイクロソフト、モジラ、ファーウェイらが設立メンバー

                                Rust言語を推進する「Rust Foundation」設立。AWS、Google、マイクロソフト、モジラ、ファーウェイらが設立メンバー 設立メンバーはAWS、ファーウェイ、Google、マイクロソフト、Mozillaの5社(Rust Foundationの発表、AWSの発表、Googleの発表、Microsoftの発表、ファーウェイの発表、Mozillaの発表)。 Rust Foundationは昨年、設立に向けた動きをMozillaが発表していました。今回それが正式に実現されたことになります。 参考:「Rust Foundation」が年内にも設立。Rust言語のコアチームとMozillaが発表 Rust Foundationへ、Mozillaから商標や資産などを移管 Rust言語は、Mozillaが開発し、コミュニティベースで開発が進められてきた、C言語のように低レベルのシステム開発

                                  Rust言語を推進する「Rust Foundation」設立。AWS、Google、マイクロソフト、モジラ、ファーウェイらが設立メンバー
                                • マイクロカーネルとL4について (Yabaitech.tokyo, Writing a (micro)kernel in Rust in 12 days より) - 豆腐の豆腐和え

                                  怒田さん*1のこの記事、「CとRustで一から作るマイクロカーネルOS」のおかげで、マイクロカーネルとRustが今ホットです。そこで、技術書典6, 7に出展したYabaitech.tokyoにて連載している、"Writing a (micro)kernel in Rust in 12 days"から、マイクロカーネルとL4についての話を書いた"1日目"の記事の一部冒頭を、いい機会なので再編集してご紹介します。「マイクロカーネルってタネンバウム教授とリーナスの論争のあれだよね?」とか、「L4ってなに?」って方に読んでいただいて、L4ファミリーとマイクロカーネルについて簡単にご紹介できればなと思います。 ちなみに抜粋元の上述の記事は、僕が怒田さんと同じようにRustでマイクロカーネルを書いてみよう、という趣旨の企画です。なので、Yabaitech.tokyoの方もよろしくお願いします!ただし、

                                    マイクロカーネルとL4について (Yabaitech.tokyo, Writing a (micro)kernel in Rust in 12 days より) - 豆腐の豆腐和え
                                  • 変数(variable)と値(value) - ソフトウェア設計を考える

                                    はじめてScalaに触れたとき、変数宣言(var)と値宣言(val)を使い分ける言語仕様に、なるほどなあ、と思った。簡単に言えば、変数(var)は再代入できて、値(val)は再代入できない。 プログラミングのスタイルとして、var宣言は命令的なプログラミング、val宣言は宣言的なプログラミングになる。どちらのプログラミングスタイルで書いているかを、varとvalで明示できるわけだ。 Javaだと言語の基本の仕組みはすべてが変数。final宣言をすることで再代入をコンパイルエラーにすることはできる。Javaは、C言語やC++などの命令的なプログラミングの系譜の言語なのですべて変数(variable)というのは、とうぜんの言語仕様だった。 命令的なスタイルから宣言的なスタイルに 命令的なプログラミングでは変数(variable)を使う。宣言的なプログラミングでは値(value)を使う。 再代入

                                      変数(variable)と値(value) - ソフトウェア設計を考える
                                    • 電子回路設計&プログラミングシム『Shortcuit』Steamにて体験版配信。Arduino風マイコンとC++言語でバーチャル実験 - AUTOMATON

                                      『Shortcuit』は、プログラミング言語C++と電子工学を学ぶことができる学習用サンドボックスゲームだ。オープンソースで提供されているワンボードマイコンArduinoがゲーム内に再現されており、組み上げたコンポーネントの動作を、C++にてプログラムすることができる。 マイコンボードには、Arduino UnoをシミュレートしたShortcuit Unoが実装。このほか、ブレッドボードやトランジスタ(BC550C)、抵抗器(E12・ポテンショメータ)、ダイオード(1N4148)、超音波距離測定センサー、また各種スイッチやモーター、LED、液晶ディスプレイ、バッテリーなどのパーツが用意される。 そしてプログラミングは、本作に実装されたコードエディタを使いC++にておこなう。エディタには、基本的なオートコンプリート機能や出力ウィンドウ、プログラムの検証に使えるシリアルモニターも用意。なおコン

                                        電子回路設計&プログラミングシム『Shortcuit』Steamにて体験版配信。Arduino風マイコンとC++言語でバーチャル実験 - AUTOMATON
                                      • Rust で SQLite を再実装している - kawasin73のブログ

                                        セキュリティを盾に一点突破。どうもかわしんです。最近 Rust で SQLite を実装してます。 以前の記事で HTTP Parser を Rust で実装しようとしたものの、すでに実装されていたので断念しましたが、いい題材を見つけました。SQLite です。開発中のリポジトリはこれです。 github.com 今の時点では、Read Only で1つの WHERE 句を持った SELECT 文しか処理できないですが、以下の機能を実装しています。 sqlite3 で生成された database ファイルの読み取り (cursor.rs, btree.rs, record.rs) SQL 文の解析 (token.rs, parser.rs) テーブルとインデックスのメタデータのパース (schema.rs) 動的なファイルの読み込み (pager.rs) SQL クエリとスキーマ情報を元に

                                          Rust で SQLite を再実装している - kawasin73のブログ
                                        • 機械学習エンジニアに爆速でなるための教材集 - Qiita

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

                                            機械学習エンジニアに爆速でなるための教材集 - Qiita
                                          • Rustプログラムのデバッグ辛すぎ問題 - Qiita

                                            この記事は Rust Advent Calendar 2023 シリーズ2 の1日目の記事である。 Rustは良くも悪くもシステムプログラミング言語なので、何も工夫しなければデバッグの体験がC言語と同じレベルになってしまう。例えば「rust lldb」でググると上位に Debugging Rust programs with LLDB is a nightmare というスレッドが出てきてしまう。 使うべきツールを知っていれば幾分かマシな体験にできる。Rustコンパイラはデバッガとして LLDB, GDB, WinDbg/CDB をサポート していて、僕はWinDbGは10年くらい触ってないので、この記事ではLLDBとGDBについて書く。 LLDB Apple SiliconのMacだとGDBが使えないので、必然的にLLDBを使うことになる。 CodeLLDB GDBと同じく、LLDBにも

                                              Rustプログラムのデバッグ辛すぎ問題 - Qiita
                                            • C# Win32API完全入門 - Qiita

                                              はじめに 対象とする読者について 本記事の対象者としては以下のような人を想定しています。 C#でこれからWin32APIを使ってみたい。 C言語のことがあまりよく分かっていない。 今までは適当に使っていたので一度きちんと理解したい。 自分が同じような状況であったため、一から調べて整理してみました。自分が理解した順番や内容で記載することで、また、具体的な使用例によってできることの広さや動作を感じ取ってもらうことで、理解の助けになればと思っています。 但し、分かっている人からすると冗長な説明になっている部分や好ましくない内容、正確性に欠ける内容などもあると思います。実際に使用する場合はその点にご留意願います。 Win32APIについて Windows API - Wikipedia Microsoft Windowsのシステムコール用APIのこと。特に32ビットプロセッサで動作するWindow

                                                C# Win32API完全入門 - Qiita
                                              • ZigはCMakeの代替となるか

                                                既存のプロジェクトで使用しているコンパイラを置き換えるだけで、Zigに付属しているCコンパイラを利用できる。 クロスビルドが標準で可能 上でも述べた通り、Zigは標準でクロスコンパイルが可能である。 Zig libcのTaget一覧 ❯ zig targets | jq ".libc" [ "aarch64_be-linux-gnu", "aarch64_be-linux-musl", "aarch64_be-windows-gnu", "aarch64-linux-gnu", "aarch64-linux-musl", "aarch64-windows-gnu", "aarch64-macos-none", "aarch64-macos-none", "armeb-linux-gnueabi", "armeb-linux-gnueabihf", "armeb-linux-musleabi

                                                  ZigはCMakeの代替となるか
                                                • とほほのRust入門 - とほほのWWW入門

                                                  「ラスト」と読みます。 Mozilla に従事するグレイドン・ホアレが個人的に開発していましたが、のちに Mozilla の公式プロジェクトとなりました。 2021年には、AWS, Google, Huawei, Microsoft, Mozilla がメンバーとなる Rust Foundation に権利が委譲されました。 Rust は「錆(さび)」を意味します。開発チームに自転車乗りが多く、ロゴも自転車のさび付きチェーリングを元にしています。 C言語やC++に変わる言語として開発されました。 Stack Overflow で2016~2019年の間「最も愛されているプログラミング言語」として1位を獲得しています。 Firefox の Servo(HTMLレンダリングエンジン)も Rust で開発されています。 if ... や while ... なども式として評価することができます。

                                                  • C言語から0番地へアクセスする方法についての個人的まとめ - /var/log/hikalium

                                                    発端はuchan_nos氏によるこのツイートでした。 C言語で、本当にメモリの0番地にデータを書きたいときはどうすりゃええの?— うー@技術書典8 Day1う31 BitNOS (@uchan_nos) 2020年2月12日 それに対する私のリプライ: uint8_t *p = 1; p--; *p = v;— hikalium (@hikalium) 2020年2月12日 私はこれで話が終わると思っていたのだが、どうやらそうではなかったらしく、色々な視点からの意見が加わりながら、話は混沌を極めたのでした…。 ということで、ここに私のこのツイートに対しての見解とか、わかったことをまとめておこうと思います。 私のリプライの背景について uchanさんが求める「0番地にデータを書きたい」という課題設定を、私はこのように解釈しました。 C言語において、整数0をポインタに変換すると、それはNULL

                                                      C言語から0番地へアクセスする方法についての個人的まとめ - /var/log/hikalium
                                                    • 3値論理

                                                      なぜ「= NULL」ではなく「IS NULL」と書かなくてはならないのか? これは、気になっている人も多いはずです。まだ SQL に不慣れな頃、ある列が NULL である行を選択しようとして、 SELECT * FROM table_A WHERE col_1 = NULL; というクエリを書いてしまい、エラーになったり思い通りの結果が得られなかった、という経験は、ほぼ全ての人が持っているでしょう。ちょうど C言語や JAVA を習い始めのころに「if (a = 5)」と書いてしまう間違いとよく似ています。最初は、言語仕様の汚さにぶつぶつ文句をいいながらも、そのうち「IS NULL」という書き方に慣れてしまって、疑問を持たなくなります。 でもどう考えても奇妙な書き方ですよね。こんな素直でない書き方をしなくてはならないということには、やはりそれなりの理由があるのです。今からその理由を説明しま

                                                      • <前編>【50代エンジニアのキャリアストーリー~将来のエンジニアライフを考える~】ウェビナーレポート #over50 - Findy Engineer Lab

                                                        2021年2月9日(火)ファインディが主催するエンジニア向けイベント「【50代エンジニアのキャリアストーリー~将来のエンジニアライフを考える~】」がオンライン上で開催されました。 「35歳定年説」と謳われるエンジニアのキャリア。「40歳を迎えてこれからもエンジニアを続けられるのか」「年齢的にマネジメントに進まないといけないのか」「周りに50歳以上のエンジニアがいない」といった内容の相談をファインディでも数多く受けてきました。本イベントでは、50代以上のエンジニアとして活躍されている方々をお呼びして、将来のエンジニアライフを考える上で、ヒントとなるお話をお伺いしました。 インターネット黎明期を知る、50代エンジニアのキャリアの変遷 「実益と趣味を兼ねているから」50代でもエンジニアを続けている 数々の苦労体験が、今の仕事に活きてくる 20~40代でやっててよかった!息の長いエンジニア生命を支

                                                          <前編>【50代エンジニアのキャリアストーリー~将来のエンジニアライフを考える~】ウェビナーレポート #over50 - Findy Engineer Lab
                                                        • RustでLinuxカーネルの機能を拡張しよう!

                                                          Linuxカーネルの機能を安全に拡張できるeBPFのコードはC言語で実装する必要があると知り、がっかりしているクラウドネイティブ 世代の皆様に朗報です。実は、Rustで、eBPFのコードを実装することができます。今更、C言語(クラウドネイティブ ではない感じ)を学ぶ必要はありません! eBPFとプログラミング言語eBPFを活用するソフトウェアは、カーネルスペースで動作するeBPFバイトコードと、eBPFバイトコードを制御するユーザスペースのアプリケーションから構成されます。後者は、Go、Python、Rustなど様々なプログラミング言語で実装することができますが、前者は、制限のあるC言語で実装する必要があります。 eBPFの構成Rust用eBPFライブラリRustでeBPFを扱う一般的な方法は、libbpf-rsライブラリです。これは、C言語でユーザスペースのアプリケーションを実装するため

                                                            RustでLinuxカーネルの機能を拡張しよう!
                                                          • すべてのコードやライブラリ自体が技術的負債である / 高利率な技術と低利率な技術 - Lambdaカクテル

                                                            技術的負債という言葉がある。もともとは、「楽するために導入したが、メンテにコストがかかるようになってしまった技術や構成」くらいの意味合いで使われているように思う。しかし、そもそも全部が負債ではないか、というのがこのメモの趣旨である。 負債 同僚とSlackで会話していると、「けっきょくどの言語を利用しても負債になるときはなるし、大抵負債になる」といった話になった。言われてみればそうで、基本的にコードというものは書いたそばから負債になっていく。去年書いたコードのことも思い出せない。 そんな中で思ったのだが、そもそも、負債になるコードと負債にならないコードとがあったり、技術が「負債化する」のではなく、コードや技術そのものが負債なのではないか。そして、どの言語で書こうが負債からは逃れることができない。負債にならないコードは存在しない。ゆえに、コードや技術は無ければ無いほど良い、ということになる。

                                                              すべてのコードやライブラリ自体が技術的負債である / 高利率な技術と低利率な技術 - Lambdaカクテル
                                                            • manがあるコマンドは偉いし、manを付けるべき - Lambdaカクテル

                                                              社内で、crontabのtabは実はtableだからクーロンタブじゃなくてクーロンテーブルなんだよね、という話が盛り上がった。 ファクトチェックとして、crontab(5)が紹介されていた(cron tableという言葉が出現している)。 manで事実確認がすぐできてすごいと思う一方、それを可能たらしめているmanもありがたいと思った。 man(1) とかの数字って何? 意外なものにmanがある 最近のコマンドにman pageが無い件 manまわりのコマンドの紹介 man(1) とかの数字って何? ちなみに、manのマニュアルやコマンド自体をアドレスするときに使うman(1)といった記法のカッコ内の数字は、manのセクション番号である。 コマンドと設定ファイルが同名であることがしばしばあるため、カッコ内にセクション番号を書くことで識別できるようにしている(例えば、crontab(1)はそ

                                                                manがあるコマンドは偉いし、manを付けるべき - Lambdaカクテル
                                                              • 【Rust】日本語で読めるRust言語の商業本まとめ(2023年4月)【おすすめ】 - Rのつく財団入り口

                                                                機運高まるRust言語に入門しよう Windows自体の開発に使われていることも判明、次期Android OSの開発言語にも採用、ついにLinuxでも採用される(かも)とのことで最近機運が高まっているMozilla発のRust言語。 このエントリでは商業本を分野別に、その中では発行日が新しい順にまとめてみました。第2版がある本の初版含め合計約25冊。そのうち2022年に出たのが計9冊、【追記】2023年に2冊と、数えてみると既にけっこうな冊数になっています。Go言語の日本語の本が確か合計15冊前後ぐらいだったので負けずに盛り上がっていますね。 機運高まるRust言語に入門しよう 補足的にRust本の傾向 入門者向けの本 動かして学ぶ!Rust入門 パーフェクトRust ゼロから学ぶRust システムプログラミングの基礎から線形型システムまで (KS情報科学専門書) 手を動かして考えればよく

                                                                  【Rust】日本語で読めるRust言語の商業本まとめ(2023年4月)【おすすめ】 - Rのつく財団入り口
                                                                • Appleで26年間勤め上げたプログラマーが引退後に思いを語る、「気づいたらまたプログラミングを始めてしまう」とポツリ

                                                                  Appleで26年間働き、退職してから1年半が経過したというプログラマーのジョン・カルフーン氏が、退職後に感じたことをブログにつづりました。 Same Stop https://www.engineersneedart.com/blog/samestop/samestop.html 1980年代後半、大学生だったカルフーン氏はMacintoshコンピューターを手に入れてプログラミングに夢中になりました。カルフーン氏はもともと遊びでシェアウェアのゲームを制作しており、その後生活のために商用ゲームを制作する日々が続いたあと、Appleに入社しました。 大学生時代のカルフーン氏。 退職した医師が手術をやめてゴルフを始めるように、26年間働いたAppleを退職したあとはキーボードを手放すだろうと予想していたカルフーン氏。退職後の14カ月間は木工製作やBlender・3Dプリントの実験、自転車に乗っ

                                                                    Appleで26年間勤め上げたプログラマーが引退後に思いを語る、「気づいたらまたプログラミングを始めてしまう」とポツリ
                                                                  • Appleの革新的過ぎたPDA「Newton」生誕30周年、その開発秘話とは?

                                                                    by Grant Hutchinson Appleが1992年に発売したものの、わずか5年で販売中止になった携帯情報端末(PDA)が「Newton」です。発表されてからちょうど30年を2022年5月29日に迎えたAppleのNewtonについて、IT系ニュースサイトのArs Technicaが振り返っています。 Remembering Apple’s Newton, 30 years on | Ars Technica https://arstechnica.com/gadgets/2022/05/remembering-apples-newton-30-years-on/ 1976年にAppleを共同設立したスティーブ・ジョブズは、マーケティングの第一人者であるジョン・スカリーを「このまま一生砂糖水を売り続けたいか、それとも世界を変えたいか?」という説得でペプシコから引き抜き、Apple

                                                                      Appleの革新的過ぎたPDA「Newton」生誕30周年、その開発秘話とは?
                                                                    • 「かゆうま」みたいなノリで匿名日記を書くサイト作って2年が経った

                                                                      「かゆうま」みたいなノリで匿名日記を書くサイト作った 「かゆうま」みたいなノリで匿名日記を書くサイト作って1年が経った 去年の投稿で「今では日500人切れば緊急事態宣言解除してもいい流れになってたり」と書いていたが、今や日3000人超えてても行動制限なしでゴールデンウィークは各地が賑わうと、すっかり世界が変わってしまった。 日本ではまだマスク着用が多いが、マスク着用義務を廃止した国も出てきているし、来年の今頃はマスク着けないがスタンダードになっているかもしれない。 まあワクチン打ってる人も増えてるし、オミクロン株は弱毒化してるということで、ウィズコロナ時代になったのだろう。 このまま終息してアフターコロナになることを願いたい。 サイト的にはこの1年は穏やかだった。 大きなバズはないが、投稿数が減ることもなく、むしろちょっとずつ増えてる感もある。 長く投稿してくれてる人、新たに書き込んでくれ

                                                                        「かゆうま」みたいなノリで匿名日記を書くサイト作って2年が経った
                                                                      • macOSのツールチェーンの仕組み

                                                                        macOSにはシステムにインストールされた複数のバージョンのツールチェーンを切り替えて使うための仕組みが備わっています。しかし、そのメカニズムについて記述された文書は少なく、雰囲気で xcode-select コマンドを使っている方も多いと思います。 この記事では、macOSにおけるツールチェーンの役割と仕組みについて紹介します。 ツールチェーンとは 一般的にツールチェーンとはコマンドやライブラリ、ヘッダなどをひと纏めにしたツール群のことを指すことが多いです。 例えばC言語のソースコードから実行可能なバイナリへビルドするためには、 clangやgccなどのコンパイラでオブジェクトファイルへ変換 ld64やlldなどのリンカでオブジェクトファイルとlibcを実行可能バイナリとしてリンク という操作が必要になります。 ここで登場した、コンパイラやリンカ、標準ライブラリなどのツール郡はバラバラに

                                                                          macOSのツールチェーンの仕組み
                                                                        • WebブラウザでPythonが動作する!PyScriptの詳解 | gihyo.jp

                                                                          鈴木たかのり(@takanory)です。今月の「Python Monthly Topics」では、Webブラウザ上でPythonが動作するPyScriptについて、内部構造なども含めて詳しく解説したいと思います。 PyScript公式サイト(https://pyscript.net/) Warning:PyScriptは現在非常に活発に開発が進んでいるプロダクトのため、将来的にこの記事のサンプルコードが動かなくなる可能性があります。記事執筆時点では最新バージョンであるPyScript 2023.03.1で動作確認しています。うまく動かない場合はPyScriptの公式ドキュメントなどを参照してみてください。 PyScript - PyScript documentation PyScriptとは? PyScriptは公式サイトに「Run Python in Your HTML」と書いてあると

                                                                            WebブラウザでPythonが動作する!PyScriptの詳解 | gihyo.jp
                                                                          • Ruby中間表現のバイナリ出力を改善する - クックパッド開発者ブログ

                                                                            Ruby 開発チームに4週間インターン生として参加いたしました、永山 (GitHub: NagayamaRyoga) です。 私は「Ruby中間表現のバイナリ出力の改善」という課題に取り組み、Railsアプリケーションのコンパイルキャッシュのサイズを70%以上削減することに成功しました。以下ではこの課題の概要とその成果について述べたいと思います。 InstructionSequenceの概要 まず、RubyVM 内で実行される命令の中間表現、InstructionSequence (以下 ISeq と省略) について簡単に説明します。 通常の Ruby プログラムは、以下のような手順で実行されます。 ソースコードを構文解析し、抽象構文木を作る。 抽象構文木をコンパイルして、ISeq を作る。 RubyVM (YARV) で ISeq を解釈し、実行する。 ISeq は、このように Ruby

                                                                              Ruby中間表現のバイナリ出力を改善する - クックパッド開発者ブログ
                                                                            • Pythonは何故やめとけと言われているのか?原因とおすすめできる理由を解説

                                                                              Pythonやめとけは本当なのか?AI市場が活況な今、大きく話題になっているプログラミング言語であるPythonは現職のエンジニアの方でない方もご存知なのではないでしょうか。インターネット上では、初心者向けであったり、稼げる言語、易しいなどエンジニア未経験の方におすすめできるような声が上がっていますが、その一方で「やめとけ」という声があるのも事実です。 本記事では、インターネット各所でおすすめされているPythonがなぜ「やめとけ」と言われているのか、その理由を解説し、逆におすすめできる理由を紹介していきます。 Pythonは入口としては優秀結論から言うと、Pythonは未経験者にもおすすめできる言語であり、AIをはじめとして様々な分野で活躍でき、全面的に否定されるべきものではありません。 しかし一方でPythonだけやれば、エンジニアとして活躍できる、年収がアップする、など安易なことを考

                                                                                Pythonは何故やめとけと言われているのか?原因とおすすめできる理由を解説
                                                                              • HTML要素をグラフィカルにアニメーション化できるJavaScriptライブラリ「Theatre.js」を使ってみた! - paiza times

                                                                                どうも、まさとらん(@0310lan)です! 今回は、HTML要素を簡単にアニメーション化できるJavaScriptライブラリをご紹介します。 初期設定はJavaScriptで書きますが、実際のアニメーション作りに関してはタイムラインエディタを利用した直感的な操作で実現しているのが大きな特徴です。ちょっとしたインタラクションから3Dアニメーションまでカバーできるライブラリなので、ご興味ある方はぜひ参考にしてください! 【 Theatre.js 】 ■「Theatre.js」の導入について! それでは、「Theatre.js」をどのように使えばいいのか詳しく見ていきましょう! 既存のWebサイトへ「Theatre.js」を導入する方法はいくつかあるのですが、今回はもっとも基本的な手段としてCDN経由でライブラリを読み込んでみます。これはHTMLファイルが1つあれば完結するので、ちょっと試して

                                                                                  HTML要素をグラフィカルにアニメーション化できるJavaScriptライブラリ「Theatre.js」を使ってみた! - paiza times
                                                                                • 追悼 Bram Moolenaar ~Vimへの情熱と貢献を振り返る | gihyo.jp

                                                                                  Bram Moolenaar the Creator of Vim 2023年8月5日、悲しい知らせが入ってきました。長年、多くのエンジニアに愛され今もなお使われ続けているテキストエディタVimの作者Bram Moolenaar氏が同月3日に亡くなったという知らせです。ショックでしばらく信じることができませんでした。 筆者は長年Vimを使い、Vimに多くのコントリビュートを行ったり、その都度Bram氏と対話したり議論したりしてきました。そのBram氏が突然、この世界からいなくなってしまったことをしばらく受け入れられなかったからです。 本記事では追悼の意味を込め、Bram氏がどのようにVimの開発を始め、Vimがどのように広まっていったのか、また長年Vimを追い続けてきた筆者から見たBram氏の人物像を筆者の思いを交えて解説していきます。 Vimの歴史 Bram氏についてお話しする前に、まず

                                                                                    追悼 Bram Moolenaar ~Vimへの情熱と貢献を振り返る | gihyo.jp