プログラム解析入門 もしくはC/C++を安全に書くのが難しすぎる話 Last updated: Jul 30, 2022 Kinuko Yasuda <@kinu>
本イベントでは、人事・労務担当者がおさえておくべき2024年の法改正の概要とその裏側を読み解いていきました。カゴメ株式会社 常務執行役員/カゴメアクシス株式会社 代表取締役社長 兼 経営管理部長の有沢正人氏とKKM法律事務所代表の倉重公太朗氏が登壇し、法改正の裏側や今後の人事課題について議論が交わされました。本記事では、カゴメで実施されているジョブ型雇用についてお話しされた内容をお届けします。 カゴメ・有沢正人氏が語る、雇用や働き方の変化 倉重公太朗氏(以下、倉重):ではここからは対談コーナーということで、カゴメの有沢さんに来ていただいております。(有沢さんは)大人気ですけど。 有沢正人氏(以下、有沢):いやいや。 倉重:自己紹介をお願いしてもいいでしょうか。 有沢:よろしくお願いします。私は今のカゴメが4社目で、もともとは銀行員でした。銀行では公的資金をいただき国有化されまして、みなさん
LLVMやSwiftを作ったChris LattnerがCEOをやっている会社が、Pythonの使用感とC言語並の性能を併せ持つ言語としてMojoをアナウンスした。 まだ手元で試せる状態でリリースされてはいないが、最大35000倍Pythonより速いという。 Mojo🔥 combines the usability of Python with the performance of C, unlocking unparalleled programmability of AI hardware and extensibility of AI models. Also, it's up to 35000x faster than Python 🤯 and … deploys 🏎 pic.twitter.com/tjT09U4F80— Modular (@Modular_AI) May
はじめに 本記事は電子書籍版もあります。 linuxカーネルはC言語のマクロを駆使して書かれています。それらのうち、凝ったマクロになじみの無い人には初見では意図がわからない&わかってみれば面白いであろうものをいくつか紹介いたします。対象読者は、C言語のユーザだけれども、マクロは定数定義くらいにしか使わないというライトなマクロユーザです。 マクロを使用する場所に依存するエラーを防ぐ 次のマクロは、二つの引き数の値を置換するだけの単純なものです。 #define swap(a, b) \ do { typeof(a) __tmp = (a); (a) = (b); (b) = __tmp; } while (0) 注目すべきはマクロの定義全体を囲んでいるdo { ... } while (0)という表記です。初見の人には何のことかわからないと思います。考えられる最も単純な定義から遡って、なぜこ
この記事は「初心者だった時に知りたかったな…」っていう普通のC#入門だと教えてくれないことが書いてあります。 なので入門記事というより、C#初心者にはちょっと難しい内容もあります! C#の特徴的なところ C#は変化が早い💨 最近は毎年メジャーアップデート 2019: C# 8.0 2020: C# 9.0 2021: C# 10.0 2022: C# 11.0 2023: C# 12.0 新記法、新しい書き方がモリモリ入る しかも新しい書き方の方が便利で性能が良い(ことが多い) 少し前のC#を知ってる人からするともう別物 解説 C#は6.0までゆっくりな変化だったんですが… 7.0から様子が変わって8.0以降は毎年変わるようになりました。 ↓こちらのスライドの7ページから数枚が参考になります! あんまり変わらないバージョンもありますが、特に大きなところだと, 「null安全」になった (
ビジネスパーソンが仕事をする上で最も利用されているソフト、Excel。使い方を調べなくても直感的に操作できるので、多くの人は特に勉強することなく使っているでしょう。しかし、Excelは「使い方を知っているかどうか」で作業効率が激変します。もっと便利な操作・機能があるのに、知らずに不便なやり方をしていませんか? Excel医氏の著書『人生を変える Excelの神スキル』(KADOKAWA)より一部を抜粋し、「コピペ」の超便利な機能を紹介します。 --------------------------------------------------- <セルのコピペをしたいとき…> ●Excel初心者: ・【Ctrl】+【C】→【Ctrl】+【V】でコピペして、表の書式が崩れる、参照がずれてエラー値になる ●Excelできる人: ・「貼り付けオプション」をよく使う ・形式を選択して貼り付け(【C
米Appleは9月14日(米国時間)、新型「iPad mini」を発表した。「iPad Pro」や「iPad Air」のように狭額縁にし、Air同様に電源ボタンにTouch IDを搭載。5G通信やUSB-C端子を新たに搭載した。価格は5万9800円から。同日から注文を受け付け、24日に発売する。 現行のiPad Air(10.9インチ)を8.3インチに凝縮したようなモデル。SoCは新チップである「A15 Bionic」を搭載。2019年に発売した従来のiPad miniに比べCPUは40%、GPUは80%高速に。ニューラルエンジンは2倍高速になったとしている。 アウトカメラは1200万画素の1基のみで、光で奥行きを測定する「LiDARセンサー」は搭載しない。筆圧検知する「Apple Pencil」はProやAir同様に第2世代に変わった。筐体カラーはパープル、ピンク、スターライト、スペース
はじめに 登壇版 Taskの本質 C# のイテレータ async/await Compiler Transform ExecutionContext builder.Start() の重要性 IAsyncStateMachine.MoveNext おわりに はじめに C#er は呼吸するように使っている async/await。 そんな async/await について、先日 Stephen Toub 氏 (.NET の中の人。中心人物の一人。) が How Async/Await Really Works in C# という非常に面白い記事を投稿していました。 この記事では Stephen 氏の記事をベースに、C# において async/await は実際どうやって動いてるの?というお話をしていきます。 以前に C#での非同期メソッドの分析。 という翻訳記事を書いたのですが、元になった記
厚生労働省新型コロナウイルス感染症対策推進本部は、都道府県などに出した事務連絡(18日最終改正)で、新型コロナウイルス感染者等情報把握・管理支援システム(HER-SYS)での新型コロナウイルスワクチン接種歴の入力について、「現時点では4回目までしか入力できない仕様となっている」と伝えた。既に5回目接種が行われているが、接種回数を「不明」とするよう求めている。【新井哉】 事務連絡では、「今後、5回目以降の入力を可能とする改修を行う予定である」と説明。それまでの間、「新型コロナウイルスワクチン接種歴」の接種回数は「不明」とし、「感染経路分析」の「医師が必要と認める事項」に「ワクチン5回」と入力する。 HER-SYSを巡っては、入力作業に追われ、医療現場が逼迫した事態を踏まえ、入力する際、症状や診断方法などの項目をなくす改修を行っていたが、ワクチン接種歴に関しては、5回目以降に未対応だった。
5月13 「C2」が合成された話 カテゴリ:有機化学構造 有機化学は、いうまでもなく炭素原子を中心とした化学の分野です。炭素は極めて奥深い可能性を持ちますが、やはり一つの元素を世界の化学者がよってたかって200年も研究しているわけですから、炭素だけから成る全く新しい化学種が出てくることは、今やそうそうありません。1985年に登場したフラーレンはその数少ない例の一つであり、だからこそ科学者は驚きと興奮を持ってこれを迎えたわけです。 しかし最近になり、「C2」という化学種がフラスコ内で作れることが報告されました(論文。オープンアクセスです)。東京大学の宮本和範准教授、内山真伸教授らの研究グループによる成果です。今回はこの何がすごいのか、ちょっと書いてみます。 水素や窒素、酸素といった元素は、それぞれH2、N2、O2といった二原子分子を作り、これらはいずれも安定に存在します。しかし炭素の二原子分
ノートパソコンやタブレット、スマートフォンを中心に、USB Type-C搭載の機器を目にすることが多くなりました。表裏関係無く接続できるコネクターと、リバーシブルに接続できるケーブルによって、利便性が向上したと感じられている方も多いかと思います。USB Type-Cを機器に搭載するメリットは他の記事にお任せするとして、ここでは実際に現行のUSBコネクターをUSB Type-Cに置き換えるための方法を連載でご紹介します。 本記事は第1話概要編となり、置き換えるためにまず知っていただきたいType-Cの原理について、重要なポイントを説明します。実際に置き換えるための設計方法については、今後の実践編で掲載していきます。 概要編 USB Type-Cに置き換える方法 第1話 Type-Cの原理を知る 実践編 USB Type-Cに置き換える方法 第2話 USB2.0の場合 実践編 USB Type
こんにちは、Choimirai Schoolのサンミンです。 0 はじめに先日Twitterに投稿したツイートに対し、添削で使えるプロンプトを教えてほしい、というコメントがありましたのでこのnoteでシェアします。 実は英語を教えてる全ての方にお勧めしたいのが、ChatGPTです。添削ツールとしても超優秀で、作文を渡すと改善が必要な箇所を直してくれる。また、"直した理由を含めテーブルにまとめて"、と指示すれば表にしてくれるのも大変助かる。うまく活用すればより付加価値の高い学習体験を提供できるはず👏。 https://t.co/tCQMXkCe6e pic.twitter.com/84q7y52EqZ — sangmin.eth @ChoimiraiSchool (@gijigae) January 17, 2023 1 一連の流れツイートでシェアした添削は下記の流れで実施された結果で
米Appleは10月19日、タブレット端末「iPad」の新モデルを発表した。これまでのiPadと異なり、デザインをAirやProと同じスタイルのデザインに刷新した。同日より予約受付を開始し、10月26日に発売予定。価格は6万8800円から。第9世代の旧モデルも4万9800円で併売する。 ディスプレイは、10.2インチから10.9インチ「Liquid Retinaディスプレイ」に大型化。指紋認証「Touch ID」に対応したホームボタンが姿を消し、Touch IDは本体横にあるトップボタンに統合された。iPad Airと同じ方式である。また、これまでインタフェースにLightningを搭載していたが、新たにUSB-Cを採用した。 チップは「A14 Bionic」を採用し、ストレージは64GB、256GBから選べる。セルラーモデルは、新たに5G通信に対応した。カメラは、ウルトラワイドになった1
僕がプログラミングに触れた当時は、プログラミングといえば「まず C 言語」でした。それから 10 年以上が経ちました。学校の授業や企業の研修では未だに C 言語を教えているところがあるようです。関数型プログラミング言語という波が来ている 2012 年にもなって未だに C 言語をやっているというのはまるで進歩が無く残念な気もしますが、比較的多くのプログラマに浸透している共通言語を最初に教えるというのは、一方では喜ばしい事だと解釈する事もできるのかもしれません*1。まぁとにかく、本意にせよ不本意にせよ現場で プログラム初心者に C 言語を教える羽目になった 人がたくさんいて、プログラム初心者なのに C 言語を学ばざるを得なくなった 若者がたくさんいるということです。 C 言語を教えるときに避けて通れないのがポインタで、プログラム初心者が C 言語を学ぶときにやたらとつまずく人が多いのがポインタ
はじめに C#は「Windowsでしか開発出来ない言語」などクローズドなイメージから一転し、.NET Coreの誕生によって様々なことが出来るようになりました。最近ではokazukiさんのC# で出来ること一覧が大きな反響を呼び、C#であらゆるアプリが作れることを多くの方に知ってもらえたかと思います。C#のよさを知ってもらうことは嬉しい限りではありますが、他言語をやってきた身としてはC#を取り巻くエコシステムの情報が少ないと感じることが多く、新たに参入される方にとって抵抗があるのも事実だと思います。この記事ではまともなアプリ開発を行うために必要なエコシステムなどご紹介し、C#でも快適に開発出来ることを知ってもらえれば嬉しいです。筆者はWEB開発を主としているので、WEB寄りな話が多くなる可能性がありますがご了承下さい。 「まとも」とは? タイトルにも書いたまともなアプリ開発とは、一定の品質
知識・Tips 2021年04月21日 80年前のセメダインCとネットがつなげた多くの人の想い セメダインの歴史に迫る奇跡の大発見【前編】 2020年の夏から秋にかけて、ちょっとした奇跡がありました。その奇跡は、およそ80年前のものと思われるセメダインCが、石川県にある古民家で見つかるところから始まります。そこから3カ月ほどの間に、存在だけが知られ、現物も写真も残っていないとされていた製品が次々と発見されたのです。ものづくりへの情熱や、価値をわかる人にものを届けようとする想い、それらを繋ぐ優しさに包まれたネットの力。その中のどれか1つでも欠ければ、今回の奇跡は起きなかったかもしれません。セメダインの歴史の謎を解くカギになるかもしれない大発見の話を、3回に分けてレポートしていきます。 堅苦しく始まりましたが、そんなに難しい話ではありません。物を大切にしておくと遠い未来で何かいいことがあるかも
W3C、中央集権的な管理を不要にする「Decentralized Identifiers (DIDs)」(分散型識別子)の仕様が勧告に到達 World Wide Web Consortium (W3C)は、「Decentralized Identifiers (DIDs) 」(分散型識別子)バージョン1.0(以下、W3C DID)の仕様が勧告に到達したと発表しました。 W3C press release: "Decentralized Identifiers (DIDs) v1.0 becomes a W3C Recommendation" "This new type of verifiable identifier... will enable both individuals and organizations to take greater control of their onl
Googleの技術者Chandler Carruth氏らは、C++の後継を目指す実験的なプログラミング言語として「Carbon Language」(以下、Carbon)をGitHubで公開しました(Chandler Carruth氏のツイート)。 GitHubのドキュメントでは、C++が性能を重視するソフトウェア開発において主流のプログラミング言語である一方、言語そのものにおいて数十年にわたる技術的負債が蓄積されていることなどにより段階的に改良していくことが極めて困難になっていると指摘。 一方で、GoやSwift、Kotlin、Rustを始めとする優れた開発者体験を提供する多数のモダンな言語は、C++の代わりに採用する、あるいはC++の開発から移行するには、プログラミング言語の違いや性能のオーバーヘッドなど障壁が多すぎるといった課題があるとも指摘しています。 そこでC++の段階的な改善では
RISC-Vも一段落したところで、さて次に何をやろうかと編集氏と話あっていた時に出たお題が「あとやってないのは消えていったインターフェースですかね。IDEとかSCSIとかRS-232Cとか」。うん、まぁそれはアリだな、なんて思いながら仕事をしていた時に、いろいろ筆者にお題を下さることで定評のある(?)岩崎啓眞氏が「RS-232Cだった時代を知らない人たちの方が圧倒的に多い」なんて事をPostされてて、これはちょうど手頃なお題ではないか、と確信した次第。 そうか…どんなPCでもたいていあった(もしくは準備可能だった)インターフェースがセントロとRS-232-Cだった時代を知らない人たちの方が圧倒的に多いわけだよなあw — 岩崎啓眞@スマホゲーム屋+α (@snapwith) February 3, 2024 ということで、「昔のPCにはあったのに、もう今はどこに行ってしまったやら」というI/
数年前までは、Micro USB端子を搭載したAndroid端末が多かったものの、すっかり主流はUSB Type-C端子へ。「3年ほどケータイの機種変してないい」という人が、次に機種変更する際には、USB Type-C端子搭載のものである確率が高いことでしょう。 USB Type-C搭載のスマホを初めて買う人を困惑させるのが、「ケーブルの価格差」かもしれません。Micro USB(to USB Standard A)ケーブルであれば数百円で、かなりまともなものを入手できたのに、USB Type-Cコネクターが端に付いているケーブルの値段はピンからキリまであります。百均で入手することさえ可能です。 コンビニや百均など、生活圏にある店舗で買えるのはありがたいのですが、「スマホにPCから音楽ファイルを入れておこう」「スマホから大量の写真をPCにバックアップ取っておこう」「なんか、モバイルディスプ
お願い 「C10K 問題とは何か」がわかる方は是非 Issue や Twitter などで教えてください。 追記: 自分の立場 1req ごとに 1 native thread を割り当てていたら、クライアントの数が増えれば増えるほど負荷が高まるのは当然だ。ただハードウェアの性能的に余裕があっても性能が劣化することがあり、それを C10K 問題と呼ぶ。C10K 問題は fd, pid の枯渇、スレッドを固定長サイズで確保することによるメモリの無駄遣い、コンテキストスイッチコストを含む。これを解決する方法が 1req ごとに 1 native thread を割り当てない技術で、シングルスレッド+イベントループ+IO 多重化といったテクニックや M:N モデルにつながる。 追記: @naoya_ito さんに解説してもらった当時の歴史的背景 https://twitter.com/naoya
2018年モデルの13インチ MacBook Proには、Thunderbolt 3対応のUSB Type-Cポートが4つ搭載されているだけで、LANケーブルを接続するには有線LANアダプターが別途必要になります。そんな13インチMacBook Proを使っているソフトウェアエンジニアのデニス・シューベルトさんが、これまで使ってきた3つの有線LANアダプター分解した上で見えてきた問題点を解説しています。 USB-C hubs and my slow descent into madness - Dennis Schubert https://overengineer.dev/blog/2021/04/25/usb-c-hub-madness.html ◆1台目:Satechi Multiport Adapter V2 シューベルトさんが最初に購入したのが、アメリカのメーカー・Satechi
米Intelや米Appleら業界大手7社が中心となるUSB推進団体、USB Promoter Groupは9月1日、次世代USBアーキテクチャである「USB4 Version 2.0」の仕様を発表した。USB5ではないが「メジャーアップデート」としており、USB4対応のType-Cケーブルで、従来のUSB4の2倍に相当する最大80Gbpsの伝送速度を実現するという。 USB規格の管轄団体USB Implementers Forum(USB-IF)による正式発表は11月のUSB DevDaysイベントの前に行う予定だ。 この高速性能を実現するために、USB Type-Cと電力供給の仕様が更新される予定という。 USB4 Version 2.0の主な特徴は、以下の通り。 既存の40Gbps USB Type-Cパッシブケーブルと新たに定義された80Gbps USB Type-Cアクティブケーブ
今回の記事はオブジェクト指向プログラミングにおける設計の基本、「SOLID原則」について。 ある程度プログラミングの文法を知っていれば、動作するコードを書くことは可能です。しかし、より良いコードを書きたいのであれば、文法の知識だけではなく、設計に関する知識も必要になってきます。 特にUnityでは、適当にコードを書いていくと目も当てられないようなスパゲッティーコードが容易に出来上がります。「とりあえずシングルトンにすりゃいいや!」みたいなノリで「何とかManager」クラスを作りまくった結果、「あれ?この処理どこに書いたんだっけ?」という状況になったこと、誰しも一度はありますよね…? 今回は、そんなクソk…良くないコードを書かないための設計原則である「SOLID原則」について紹介します。記事内のコードはC#で記述しますが、言語に関わらずSOLID原則は広く応用の効く考え方なので、是非とも覚
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く