並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 127件

新着順 人気順

LanguageImplementationの検索結果1 - 40 件 / 127件

LanguageImplementationに関するエントリは127件あります。 プログラミングprogramming勉強 などが関連タグです。 人気エントリには 『【転職エントリ】Googleに入社します|Lillian』などがあります。
  • 【転職エントリ】Googleに入社します|Lillian

    はじめに この記事には、Googleのオンサイト面接に向けて勉強した内容が記載されていますが、それらはすべて面接を受ける直前に書いておいたものです。このエントリを読むことで面接で聞かれた内容が予測されてしまわないようにそのようにさせていただきました。ご了承お願いします。 この記事について 令和元年に医師を退職し、ソフトウェアエンジニアに転職します。 自分にとって大きな転機であったのと、とても大変な道のりであったので、私という人間が辿った道筋を最初から最後までちゃんとまとめておきたいと思いこの記事を書くことにしました。 私のような他業種から未経験での転職を目指されている方にとっても、何らかの参考になる内容であれば幸いです。 私の生い立ち 私は小さい頃からテレビゲームが大好きで、学校から帰るとずっと家でゲームをしている子でした。あまりにもゲームが好きだったので、遊ぶだけではなく自分で作ってみた

      【転職エントリ】Googleに入社します|Lillian
    • CS50 for Japanese: コンピュータサイエンスの入門 – 当ウェブサイトは、Creative Commons ライセンスに基づいて管理されています。

      お知らせ: 2022/9/1 CS50 を活用した非営利/協賛企業による「コロナ学生支援」プロジェクトを実施中 ▼ 学生の方へ:CS50 の学習(履修証明書の取得)を一緒に取り組むプロジェクト CS50日本語版の翻訳コントリビューターである CODEGYM が主催する、非営利/無償のプロジェクト「CODEGYM Academy (外部リンク)」は、昨年に続き2022年度(春/秋)も、キャリア選択を控えた学生に対し、以下の企業の協賛により無償で17週間のプログラミング教育カリキュラムを提供します。 CODEGYM Academy 協賛企業(2022年) https://codegym.jp/academy/ 今年度のエントリーは締め切りました — ようこそ! このページは、ハーバード大学 CS50 の日本語版翻訳プロジェクトのページです。当サイトのドメインに掲載されているコンテンツは、Cre

      • 「1Byteが8bitに決まったワケ」についての長い話 まずは「バベッジの階差機関」から

        いつものようにヘロヘロと仕事をしていると、突如担当編集の松尾氏からMessengerで「これに対するちゃんとした回答を書けるのは大原さんだなということで、また歴史物をお願いしたく」という依頼が飛び込んできた。 いやちゃんとした回答も何も、上のTreeで出題されたSEライダー氏が正解を出されているわけですが、歴史的経緯というか、ここに至るまでの話というのが長い訳で、その辺りを少し説明してみたいと思う。 ちなみに出題に少しだけ違和感がある(なぜ10bitがキリがいいと思うのか?)のは、筆者もこっち側の人間だからかもしれない。 回答の前に、その根底にある2進数採用の経緯 そもそも非コンピュータ業界の方からすれば、2進数がベースという辺りから違和感を覚えるのではないかと思う。実際、世界最初の計算機(≠電子計算機)とされる「バベッジの階差機関」(写真1)にしても、世界最初の電子計算機(※1)であるE

          「1Byteが8bitに決まったワケ」についての長い話 まずは「バベッジの階差機関」から
        • Keigo Hattori on Twitter: "YouTubeで学ぶコンピュータ・サイエンス。これを完了したら実質学位を取ったようなもん。という話だが、すごいなこれ・・・。全部無料でここまでの・・・。 https://t.co/xNHNvBM5Aa"

          YouTubeで学ぶコンピュータ・サイエンス。これを完了したら実質学位を取ったようなもん。という話だが、すごいなこれ・・・。全部無料でここまでの・・・。 https://t.co/xNHNvBM5Aa

            Keigo Hattori on Twitter: "YouTubeで学ぶコンピュータ・サイエンス。これを完了したら実質学位を取ったようなもん。という話だが、すごいなこれ・・・。全部無料でここまでの・・・。 https://t.co/xNHNvBM5Aa"
          • 富士通の撤退する「メインフレーム」ってそもそも何?

            はじめに 富士通がついに2030年にメインフレーム市場から撤退し、66年の歴史に幕を閉じるという話が出てきました。 富士通といえば国産大型コンピュータの先駆けであり、IBM互換機を作って巨人IBMに食らいついたベンダーでもあります。そんなわけで中々に歴史の転換点を感じる話題ではあるのですが 「ところでメインフレームって何? 」 という方も多いでしょう。という分けで名前は聞いたことがるけど実態が良く知らない「メインフレーム」 に関して少しだけ解説をする動画を作りました。 この記事は動画では話しきれなかった事も含めて、もう少し深堀した解説をしていきたいと思います。ちょっと長くなりましたが、前半が歴史の話で後半がアーキテクチャの話になるので好きな所にジャンプして読んでみてください。 メインフレーム? 汎用機? ホスト? メインフレームは他にも汎用機とかホスト機と呼ばれることもありますよね。Wik

              富士通の撤退する「メインフレーム」ってそもそも何?
            • コンピュータサイエンスが気になるプログラマに勧める書籍リスト - Rubyist Magazine 第61号 巻頭言

              コンピュータサイエンスが気になるプログラマに勧める書籍リスト Rubyist Magazine 第 61 号をお届けします。 (今回は内容に合わせて文体を変えております。ご了承ください。) さて、コンピュータサイエンス(以下「CS」)は知らないけど日々プログラミングしている、というプログラマの方はたくさんいらっしゃるかと思います。 そんな方でも、ふとCSを知ってる方がいいのかなとか、CSも知らないとまずいのかな……などと思い、改めて勉強してみたいけどとっつきが悪いとか、うっかり手にとったCSの教科書が何を言ってるかさっぱりで10秒で閉じた、という方もいらっしゃるかと思います。 それでもCSが気になるので、「本腰を入れて勉強をする前に、どういうことをやってるのか眺めてみたい」くらいの温度感の方向けに、CSに隣接するジャンルで、職業プログラマや趣味プログラマの人なら読めそうな書籍のリストを作っ

              • Webサーバーアーキテクチャ進化論2023

                はじめに 最近プログラマーとしてのキャリアに一区切りつけようと思っており、これまでのプログラミングの勉強の集大成となるブログを書きたくなったので書く。初めてプログラミングをして、フロントエンド開発をして、サーバーから値が返ってきたときは「どういう仕組みで値が返ってきたんだ?」と疑問に思っていた。ずっと理解したくて理解できていなかった。だからずっと勉強していた。そして最近になってようやく自分の言葉で説明できるようになった気がしたのでブログを書きたい。 2015 年版が自分の原点であり、この記事を書くモチベーションになった このような記事は実は過去に存在している。 FYI: https://blog.yuuk.io/entry/2015-webserver-architecture その記事はサーバーがどういう仕組みで動いていて、どのように進化し、2015 年に至るかを解説してくれた記事だ。自

                  Webサーバーアーキテクチャ進化論2023
                • 大学に行かずにコンピュータサイエンスを学ぶときに優れている教科書や講義映像はどんなものがあるのか?

                  急速なIT化の進行によってエンジニアが不足しており、情報系の学位を取得せずに独学やプログラミングスクールを通してエンジニアになる人も増えています。そうした人たちがコンピュータサイエンスを学ぼうとしたときにおすすめの分野や本・オンライン講義などが「teachyourselfcs.com」というサイトにまとめられています。 Teach Yourself Computer Science https://teachyourselfcs.com/ ◆コンピュータ・アーキテクチャ コンピュータが実際にどのように機能しているのかをしっかりとイメージできなければ、安定した抽象化を行うことはできません。この分野を学ぶのにおすすめなのは「コンピュータ・システム ~プログラマの視点から~」という本で、タイトルに「プログラマの視点から」とついている通り、高速で効率的で信頼性の高いソフトウェアを作成するという目的

                    大学に行かずにコンピュータサイエンスを学ぶときに優れている教科書や講義映像はどんなものがあるのか?
                  • Hiroshi Takahashi

                    Skip to the content. 機械学習の研究者を目指す人へ 機械学習の研究を行うためには、プログラミングや数学などの前提知識から、サーベイの方法や資料・論文の作成方法まで、幅広い知識が必要になります。本レポジトリは、学生や新社会人を対象に、機械学習の研究を行うにあたって必要になる知識や、それらを学ぶための書籍やWebサイトをまとめたものです。 目次 プログラミングの準備 Pythonを勉強しよう 分かりやすいコードを書けるようになろう 数学の準備 最適化数学を学ぼう 基本的なアルゴリズムとその実践 機械学習の全体像を学ぼう 基本的なアルゴリズムを学ぼう 深層学習の基礎を学ぼう scikit-learnやPyTorchのチュートリアルをやってみよう サーベイの方法 国際会議論文を読もう Google Scholarを活用しよう arXivをチェックしよう スライドの作り方 論文の

                    • 働きながらアメリカの大学院でCS修士号を取った - k0kubun's blog

                      4年前に会社の福利厚生を使ってスタンフォードの授業を取ってみたら面白く、 働きながらでも続けられそうだなという実感を得たので、 2年後、受験を経てジョージア工科大学にリモートで通い始めた。 そして先日、ジョージア工科大学からコンピュータサイエンス修士号をいただくことができた。 画像の学位記は卒業式イベント用の非公式のもので、1~2か月すると Masterとちゃんと書いてある本物が来るらしい *1 。 After 1 year and 9 months, I graduated from Georgia Tech and got a master's degree in computer science. It was intense to be a student while working full-time, but I learned a lot. pic.twitter.com/J

                        働きながらアメリカの大学院でCS修士号を取った - k0kubun's blog
                      • Excelの新機能「Lambda関数」によって「Excelの数式がチューリング完全になった」とナデラCEO。プログラミング言語としてのExcel数式であらゆる計算が可能に

                        Excelの新機能「Lambda関数」によって「Excelの数式がチューリング完全になった」とナデラCEO。プログラミング言語としてのExcel数式であらゆる計算が可能に マイクロソフトCEOのサティア・ナデラ氏は、Excelの新機能である「Lambda関数」の登場をとりあげ、「世界で最も人気のあるプログラミング言語、Excelの数式が、チューリング完全になった」とツイートしました。 Excel formulas, the world’s most popular programming language, is now Turing-complete. Go check it out! https://t.co/qkw3Bmt1gp — Satya Nadella (@satyanadella) February 9, 2021 Lambda関数は、上記のツイートが示す図にあるように、E

                          Excelの新機能「Lambda関数」によって「Excelの数式がチューリング完全になった」とナデラCEO。プログラミング言語としてのExcel数式であらゆる計算が可能に
                        • 「2年目になって泣きながら勉強してる」プログラミングに興味を持つのはいいが、これらの知識を先に入れておかないと入社したときに結構病む

                          きさらぎ @zer0_ykisaragi プログラミングに興味を持つことは良い事だけど、自分自身の後悔を書くと、 コンピュータサイエンス ネットワーク セキュリティ Linux SQL/DB GitHub を先にやっておくべきだった。 入社してからここが分からないと結構病むレベル 2021-09-22 06:39:02

                            「2年目になって泣きながら勉強してる」プログラミングに興味を持つのはいいが、これらの知識を先に入れておかないと入社したときに結構病む
                          • 🙂コンピュータサイエンスと魔法のYコンビネータ

                            こんにちは、上杉周作と申します。米国在住のプログラマ兼ブロガーです。2019年に日経BP社から発売された『ファクトフルネス』の共訳者でもあります。詳しいプロフィールとブログはこちら。 『ファクトフルネス』 本稿「コンピュータサイエンスと魔法のYコンビネータ」は、プログラミング未経験者向けの、邪道なコンピュータサイエンスの入門書です。どういう意味かは、すぐに説明しますね!

                              🙂コンピュータサイエンスと魔法のYコンビネータ
                            • できるだけ嘘を書かずに計算量やオーダーの説明をしようとした記事 - えびちゃんの日記

                              計算量についてのお話です。対象は、プログラミング経験はあるが計算量のことを知らない初心者から、計算量のことを知っているつもりになっている中級者くらいです。 数式を見たくない人にとっては読むのが大変かもですが、深呼吸しつつ落ちついて読んでくれるとうれしいです。 それから、この記事が自分には合わないな〜と思ったときは、(別の記事を Qiita とかで検索するよりも)この記事の一番下の 参考文献 にある本を読むことをおすすめします。Amazon の試し読みで無料で読めます*1。 TL; DR 関数の増加度合いのことをオーダーと呼ぶよ 計算量は、入力サイズ(など)を受け取ってアルゴリズムの計算回数(など)を返す関数だよ その関数のオーダーについての議論がよく行われるよ オーダーを上から抑えるときは \(O\)、下から抑えるときは \(\Omega\) を使うよ オーダーを上下両方から抑えたいときは

                                できるだけ嘘を書かずに計算量やオーダーの説明をしようとした記事 - えびちゃんの日記
                              • 大学で読んだ情報科学関連の教科書 - ジョイジョイジョイ

                                先日、博士(情報学)になりました。学部と大学院をあわせた 9 年間で読んだ情報科学関連の教科書・専門書を思い出を振り返りつつここにまとめます。私は授業はあまり聞かずに独学するタイプだったので、ここに挙げた書籍を通読すれば、大学に通わなくてもおおよそ情報学博士ほどの知識は身につくものと思われます。ただし、特に大学院で重要となる論文を読み書きすることについては本稿には含めておりません。それらについては論文読みの日課についてや論文の書き方などを参考にしてください。 joisino.hatenablog.com 凡例:(半端)とは、数章だけ読んだ場合か、最後まで読んだものの理解が浅く、今となっては薄ぼんやりとしか覚えていないことを指します。☆は特におすすめなことを表します。 学部一年 寺田 文行『線形代数 増訂版』 黒田 成俊『微分積分』 河野 敬雄『確率概論』 東京大学教養学部統計学教室『統計学

                                  大学で読んだ情報科学関連の教科書 - ジョイジョイジョイ
                                • Computer Scienceの学位を取るために学費無料のオンライン大学UoPeopleに入ってもうすぐ1年 - えんぴつぶろぐ

                                  この記事は社会人学生 Advent Calendar 2020 7日目の記事です。 米国のオンライン大学University of the People(以下、UoPeople)に入って約1年経った振り返り記事となります。 これまでのUoPeople関連の記事はこちら 自分について University of the Peopleとは 動機 入学するには 授業について 卒業までの所要期間 Computer Science専攻はどんなコースが受けられるのか これまでの進捗 これまでにかかった金額 課題がめっちゃ出る どうやって勉強時間を確保しているか よかったところ 学習内容への満足度は高い 英語のライティングスキルは多分あがった 日英両方でインプットするメリット 毎日強制的にアウトプットできる。 GPAのためなら頑張れる よくなかったところ National Accreditationなの

                                    Computer Scienceの学位を取るために学費無料のオンライン大学UoPeopleに入ってもうすぐ1年 - えんぴつぶろぐ
                                  • これが現代の科学力……! 「スーパーマリオメーカーはチューリング完全」はなぜたった1年半で証明されたのか

                                    「マリオメーカー学会」というものをご存じでしょうか。自作ステージを作って遊べるゲーム「スーパーマリオメーカー」に斜め上過ぎる楽しみ方を見いだした“研究者”の集まりで、これまでには「クリアに20万年ほどかかるステージ」「ギミックを巧みに活用した計算機」などが開発されています。 話がぶっ飛んでいて何が何だか分からないかもしれませんが、きっとそれだけ研究が進んでいるということでしょう。今回は、5分間で数学を語るイベント「日曜数学会」から、同学会のハイレベルさが伝わる発表「スーパーマリオメーカーはチューリング完全」を書き起こしました。 拡大画像でスライドを見る スーパーマリオメーカーはチューリング完全 イベント:2019年6月29日開催の第15回「日曜数学会」(Twitter:@nichimath) 発表者:yos1upさん(Twitter:@yos1up) 発売から約2週間で、計算機になったスー

                                      これが現代の科学力……! 「スーパーマリオメーカーはチューリング完全」はなぜたった1年半で証明されたのか
                                    • インターネットは最終的に、0と1の信号をサーバークライアント間で発受信しているということでしょうか?非常に非効率な気がします。

                                      回答 (14件中の1件目) 「最終的に、0と1の信号を…発受信している」おかげで現実的な価格で世界中と通信することができるようになりました。 このデジタル処理の理論とそれを実現する電子回路(コンピュータも含めて)の登場発展によって低品質な回線でも高品質な通信ができるようになったのです。 エラーを検出して再送する事により、((後で出る)エラー訂正ではリカバーできなかった) ”ノイズ”をユーザーに気づかせること無く正しいデータを送ることができます。これはインターネットのように、パケット通信でなければ実現困難です。インターネットで通常使われるTCPが高品質なのはこの再送のおかげです。(UD...

                                        インターネットは最終的に、0と1の信号をサーバークライアント間で発受信しているということでしょうか?非常に非効率な気がします。
                                      • 24年4月の量子コンピュータ業界の動向がよくわからんというので書いてみました。 by Yuichiro Minato | blueqat

                                        昨年から量子コンピュータ業界は大きな転換期に入りました。これまで人類には難しすぎるという量子コンピュータはみんなで四苦八苦しながら開発をしてきたと思います。具体的な沿革としては、 1、2012年に簡易型量子コンピュータみたいな量子アニーリングマシンが出る。 2、量子アニーリングマシンは2016年をピークに2018年ごろに廃れる。(デスクトップパソコンと大差ないことがわかる) 3...

                                          24年4月の量子コンピュータ業界の動向がよくわからんというので書いてみました。 by Yuichiro Minato | blueqat
                                        • 古典プログラマ向け量子プログラミング入門 [フル版]

                                          サブタイトル:ショアのアルゴリズムから巡回セールスマン問題まで プログラマ向けに量子プログラミングの解説をした資料です。できるだけソースコード付きにすることで独習可能な内容になっています。また必要となる数学の知識に関しても解説しています。よろしければご活用ください!Read less

                                            古典プログラマ向け量子プログラミング入門 [フル版]
                                          • コンピュータサイエンスのすべての分野に精通していると何が嬉しいか

                                            2019-07-05 社内LT会で発表した内容です。

                                              コンピュータサイエンスのすべての分野に精通していると何が嬉しいか
                                            • This is The Entire Computer Science Curriculum in 1000 YouTube Videos

                                              This is The Entire Computer Science Curriculum in 1000 YouTube Videos In this article, we are going to create an entire Computer Science curriculum using only YouTube videos. The Computer Science curriculum is going to cover every skill essential for a Computer Science Engineer that has expertise in Artificial Intelligence and its subfields, like: Machine Learning, Deep Learning, Computer Vision,

                                                This is The Entire Computer Science Curriculum in 1000 YouTube Videos
                                              • Nand2Tetris(コンピュータシステムの理論と実装)でCPUからOSまで一気通貫で作るのが最高に楽しかった話 - ( ꒪⌓꒪) ゆるよろ日記

                                                どうも、しいたけです。 去年あたりからローレイヤー周りの知識を充実させようと思い、 低レイヤを知りたい人のためのCコンパイラ作成入門 を読んでCコンパイラを書いてみたりx86_64の勉強をしたりしていました。 今年に入ってから、よりローなレイヤー、具体的にはハードウェアやOSについてもう少し知りたいと思い始め、手頃な書籍を探していました。 CPUなどのハードウェア周りについては概要しか知らなくて手を動かしたことがないので、実際に何か作りながら学べるものとして、 O'Reilly Japan - コンピュータシステムの理論と実装 に挑戦することにしました。 O'Reilly Japan - コンピュータシステムの理論と実装 成果物は以下のリポジトリに置いてあります。 yuroyoro/nand2tetris 結論から言うと、やってみて大変楽しめました! 特にハードウェア周りは今まで挑戦したこ

                                                  Nand2Tetris(コンピュータシステムの理論と実装)でCPUからOSまで一気通貫で作るのが最高に楽しかった話 - ( ꒪⌓꒪) ゆるよろ日記
                                                • プログラミングする際に今日も役立ってる文献 - HackMD

                                                  # プログラミングする際に今日も役立ってる文献 プログラミングを独学する上で役立つ(役立った)書籍を紹介する流れが 最近ちらほら見受けられて読んでいて非常に楽しいので、 見てるばっかりでなく自分も出

                                                    プログラミングする際に今日も役立ってる文献 - HackMD
                                                  • パイプライン演算子の歴史 - まめめも

                                                    (You can read this article in English.) Ruby の開発版にパイプライン演算子(pipeline operator)が試験的に導入されましたが、いろいろあってプチ炎上になっています(チケット)。 せっかくの機会なので、パイプライン演算子の歴史を調べてみました。付け焼き刃の調査なので、間違ってたら教えてください。 パイプライン演算子とは こんな感じのものです。 x |> f |> g |> h # h(g(f(x))) と同じ意味 h(g(f(x))) という関数適用の式は、関数が呼ばれる順序(f→g→h)と、プログラムの字面上の順序(h→g→f)が逆でわかりにくいとされます。この問題は、特に、関数が大きくなったときに顕著になります。 wonderful_process_h( marvelous_process_g( fantastic_process

                                                      パイプライン演算子の歴史 - まめめも
                                                    • 川崎市のコンビニで他人の戸籍謄本誤発行 「2人同時に発行申請すると上書き」バグが原因 富士通

                                                      富士通Japanは5月9日、神奈川県川崎市のコンビニの証明書交付サービスで、他人の戸籍謄本が発行された問題について、原因を公表した。 「2カ所のコンビニで、2人の住民が同一タイミング(1秒以内)で交付申請した際に、後続の処理が先行する処理を上書きしてしまう」プログラムのバグが原因だったという。 このプログラムは川崎市以外では使われておらず、他の自治体で起きた問題と原因は異なる。バグは既に修正・入れ替えたとしている。 富士通Japanの証明書交付サービスは、全国200弱の自治体に導入されているが、川崎市の他、横浜市、東京都足立区で、他人の住民票の写しを誤って発行するなどの問題が発生。それぞれ別のプログラムが原因であることが分かっている。 河野太郎デジタル大臣は5月9日の記者会見で、同システムの一時停止を富士通Japanに要請したと発表。同社は9日付のニュースリリースで、「サービスの総点検は既

                                                        川崎市のコンビニで他人の戸籍謄本誤発行 「2人同時に発行申請すると上書き」バグが原因 富士通
                                                      • 大学の情報工学科はGitを教えませんが、それで実務ができるのでしょうか?企業は大学で習わなくても自分で勉強しており、入社したらGitは当たり前に使える人間が欲しいですか?

                                                        回答 (13件中の1件目) 社会に出てすぐ役立つスキルを教える大学は「職業訓練校」です(暴言) 大学の情報工学科の役目を図で表してみましょう。 まず、横軸は分野・ジャンルを表します。世界全体はもっと広いものですが、画面の横幅には制限があるのでご勘弁を。 縦軸は一般から専門までの、専門性の高さを表します。 一番下の層は「常識」です。だれもが持つべき知識や能力です。この常識をなるべく埋めようと、長い年月をかけて義務教育が行われます。 下から二番目の層は「スキル」です。社会で付加価値を生む専門性です。例えば、IT・財務・外国語・プレゼンテーション・交渉術・チームマネジメント・・・等...

                                                          大学の情報工学科はGitを教えませんが、それで実務ができるのでしょうか?企業は大学で習わなくても自分で勉強しており、入社したらGitは当たり前に使える人間が欲しいですか?
                                                        • Go コンパイラのコードを読んでみよう - kosui

                                                          はじめに 本記事は、 DeNA Advent Calendar 2020 の 11 日目の記事です。 突然ですが、「コンパイラのコードを読んでみよう」なんて言われても、「どうせ巨大で難解で複雑なロジックを理解しないと読めないんでしょ?」と思いませんか。 コンパイラの構造を理解しようとしても聞いたことのないような専門用語がずらりと並び、コードを読もうとしたらそれらをすべて完全に理解してないと一行も理解できないんじゃないか...。Go のコンパイラ gc のソースコードを読むまでは、私もそう思っていました。 しかし、あまりにも暇な休日のある日、思い立って gc のコードを読んでみました。すると、「コンパイル」という難解な響きの処理も、一つひとつを小さなタスクに分解することで、少しずつ読み進めることができると分かったのです! 何よりも感動したことは、 gc そのものが全て Go で書かれていて、

                                                            Go コンパイラのコードを読んでみよう - kosui
                                                          • C10K 問題、実は理解していない

                                                            お願い 「C10K 問題とは何か」がわかる方は是非 Issue や Twitter などで教えてください。 追記: 自分の立場 1req ごとに 1 native thread を割り当てていたら、クライアントの数が増えれば増えるほど負荷が高まるのは当然だ。ただハードウェアの性能的に余裕があっても性能が劣化することがあり、それを C10K 問題と呼ぶ。C10K 問題は fd, pid の枯渇、スレッドを固定長サイズで確保することによるメモリの無駄遣い、コンテキストスイッチコストを含む。これを解決する方法が 1req ごとに 1 native thread を割り当てない技術で、シングルスレッド+イベントループ+IO 多重化といったテクニックや M:N モデルにつながる。 追記: @naoya_ito さんに解説してもらった当時の歴史的背景 https://twitter.com/naoya

                                                              C10K 問題、実は理解していない
                                                            • 0.1は浮動小数点数で正確に表せないのに、printしたときに0.1と表示されるのはなぜか - Qiita

                                                              当たり前のことに感じますが、0.1は浮動小数点数(IEEE 754)では正確に表現できません。 なのにprintをしたときに0.1と表示されるのは不思議です。 このことについて分かったことを書いておきます。 環境 この記事ではPython 3.7を使用しています。 【前提】浮動小数点数 この記事で、以降"浮動小数点数"という場合は、"IEEE 754 倍精度"のことを指します。 浮動小数点数のフォーマットは、数を以下の形式に変換し、sign、exp、fracを順に並べたものです。

                                                                0.1は浮動小数点数で正確に表せないのに、printしたときに0.1と表示されるのはなぜか - Qiita
                                                              • ゴーファーくんと辿るプログラミング言語の歴史/history-of-programming-languages-with-gopher

                                                                若手向けに開催した勉強会の資料です。 一般的なアプリケーション開発をターゲットに、主要言語と歴史を解説しています。

                                                                  ゴーファーくんと辿るプログラミング言語の歴史/history-of-programming-languages-with-gopher
                                                                • Cコンパイラを作ろう!

                                                                  こんにちは、21Bのseasonです。この記事はtraP夏のブログリレー3日目の記事です。 自作Cコンパイラでセルフホスト達成しました。 リポジトリ: https://github.com/season1618/c-compiler/tree/main 自作Cコンパイラでセルフホスト達成しました!!!!!!🎉🎉🎉https://t.co/8fLIAJWksQ pic.twitter.com/2fgH5sKoZ0 — season (@season1618) July 27, 2022 実際にどうやって作るかを書くと長くなるので、ここでは経緯とか完成までの流れとかを書こうと思います。一応開発メモは以下に上げておきました。 開発メモ: https://github.com/season1618/note/blob/main/cs/c-compiler/index.md 経緯 大学の講義で

                                                                    Cコンパイラを作ろう!
                                                                  • ソフトウェア工学を学びにアメリカへ - pco2699’s blog

                                                                    はじめに お世話になった方々への謝辞 参考にしたブログ・その作者の方への謝辞 私のスペック なぜ米国大学院を志したのか まとまった時間でCS、エンジニアリングの勉強をしたかった 英語で学ぶという経験をしたかった アメリカで働いてみたかった ソフトウェア工学修士とは何か 計算機科学修士とソフトウェア工学修士の違い 大学院の選び方 専攻 何を専攻するか 研究するか?しないか? 授業料 おわりに Appendix: そのほか参考になる記事 はじめに こんにちは、一昨年からアメリカの大学院への入学を目指し勉強してきました。 結果、アメリカのピッツバーグにあるカーネギーメロン大学のソフトウェア工学修士課程(Master of Software Engineering)から合格通知をいただき、今年の8月からアメリカに行くことになりました。 合格通知をいただいたのは昨年の3月なのですが、仕事や家庭の事情

                                                                      ソフトウェア工学を学びにアメリカへ - pco2699’s blog
                                                                    • JAISTに入学してひと月が経ちました - 怠惰を求めて勤勉に行き着く

                                                                      JAISTに入学してようやくひと月が経ちました1。 ひと言でいうとJAISTは最高です。働きながら大学院生になった感想を残しておこうと思います。 JAISTは最高 JAISTは最高です。僕は東京サテライトの学生なので以下特に「石川本校」と断りのない限り東京社会人コースのことだと思ってください。 学生のレベルとモチベーションが高い 社会人コースはその名の通り社会人しかいません。働きながら勉強しようという連中なので当然非常に高いモチベーションです。 グループワークをするとみんなつばを撒き散らしながら白熱の議論をしますし、発表するとなるとマイクを奪い合って登壇します。 また、どういうわけかすでに高い教育を受けて世界を股にかけて活躍している第一線のビジネスパーソンがずらりと揃っています。JAISTは入試の際に「自分の出身大学、指導教官、勤め先などを一切明かしてはならない」というルールがあります。こ

                                                                        JAISTに入学してひと月が経ちました - 怠惰を求めて勤勉に行き着く
                                                                      • Pythonは遅い遅い言われてJITとか中途半端なことせずにフルネイティブコンパイラを作ったらどうですか?

                                                                        回答 (13件中の1件目) JIT方式は中途半端なものではありません。もちろん万能でなんでも優れているわけでもありませんが以下の利点があります。 * プログラムは単一の機械独立、OS独立の形式で配布できる(実行時に実行環境の機械語に変換できる) * 配布形式が小さくなる。マシン中立なバイナリ表現にした場合は特に。 * 全体をネイティブコンパイルするのではなく、速度にシビアに関わる最内周ループや何度も実行される場所に限ってネイティブコンパイルすることで実行に必要なメモリフットプリントを減らすことができる。 * 実行時だけわかる情報を元にした最適化やコード生成が可能。例えば、 *...

                                                                          Pythonは遅い遅い言われてJITとか中途半端なことせずにフルネイティブコンパイラを作ったらどうですか?
                                                                        • コンパイラをつくってみよう / How to make a compiler

                                                                          Builderscon 2019 の発表資料です。 ライブコーディングでフルスクラッチでコンパイラを書くというのをやりました。 コンパイラのソースコードはこちらです https://github.com/DQNEO/HowToWriteACompiler

                                                                            コンパイラをつくってみよう / How to make a compiler
                                                                          • NPTEL IITm

                                                                            • Ruby中間表現のバイナリ出力を改善する - クックパッド開発者ブログ

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

                                                                                Ruby中間表現のバイナリ出力を改善する - クックパッド開発者ブログ
                                                                              • 並行処理の基礎を学ぼう - Enablement Workshop for Gophers

                                                                                はじめに 2023年5月10日に開催されたEnablement Workshop for Gophersで「並行処理の基礎を学ぼう」というタイトルで講義を行ないました。 Enablement Workshop for Gophersは、ナレッジワークが学生向けに提供する手を動かしながら基礎を学ぶ"Enablement"の機会です。 今回のテーマは2023年6月21日〜23日に行われるEnablement Internship for Gophersに合わせて『並行処理』です。 具体的には主に以下のような並行処理の基礎や最近または今後のアップデートについてお話しました。 ゴールーチンとチャネル syncパッケージ コンテキスト 講義の様子はYouTubeで公開されています。 ゴールーチンとチャネル Goの有名な特徴の1つとしてゴールーチンとチャネルを用いた並行処理があります。 講義では、ゴー

                                                                                  並行処理の基礎を学ぼう - Enablement Workshop for Gophers
                                                                                • セルフホスト可能なCコンパイラを書く

                                                                                  最近、コンパイラを書くことが流行っているようだ。流行に乗ってやってみたらいろいろな知見が得られたので紹介したい。 コンパイラを書くと一口に言ってもいろいろなスコープがある。ここではC言語を用いてCコンパイラを書くことを選択した。C言語は言語仕様的にコンパクトで広く知られている。また、ツールとしてのCコンパイラも普及している。その場合、自分が書いたCコンパイラで、自分が書いたCコンパイラのソースコードをコンパイルすることが原理的には可能だ。これをセルフホストという。ひとつの到達目標として非常に興味深い。 当初は冬の間に終わらせる予定だったのだが春まで伸びてしまった。しかし、春になっても寒かったり雨で家に居る日が多く、アウトドアシーズンまでに目標のセルフホストを達成することができた。 昔、Cのインタプリタを書いたことがあったが、コンパイラを書くのは、はじめてである。時代も進んで開発手法が変わっ

                                                                                  新着記事