並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 3007件

新着順 人気順

データ構造の検索結果1 - 40 件 / 3007件

  • 【転職エントリ】Googleに入社します|Lillian

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

      【転職エントリ】Googleに入社します|Lillian
    • 米ハーバード大学のプログラミング授業「CS50x」日本語訳が無料公開

      米ハーバード大学がオンラインで無料公開している、PythonやJavaScriptのプログラミング学習とコンピューターサイエンスの入門講座の日本語訳ページ「CS50.jp」が無償公開されました。2022年8月31日に2022年度最新版の日本語化が完了しました。講義動画の日本語字幕の翻訳化を順次すすめています。学生向けですが、年代にかかわらず、コロナ禍で学習環境やキャリアに悩んでいる誰もが学ぶことができます。 ハーバード大学のCS50xとは ハーバード大学のCS50xとは、日本語翻訳ページ「CS50.jp」によると、コンピューターサイエンスとプログラミング技術を紹介するオンラインコースです。この講義がオンライン上で無償公開されており、世界で282万人が履修登録しています。 edX - CS50s Introduction to Computer Science 学べる内容はPythonのプロ

        米ハーバード大学のプログラミング授業「CS50x」日本語訳が無料公開
      • 良いコードとは何か - エンジニア新卒研修 スライド公開|CyberZ Developer

        CyberZ CTO室のメンバーの森 (@at_sushi_at) です。 先日、株式会社サイバーエージェントの2021年度 エンジニア新卒研修でコードの品質に関する講義を行いました。 そこで話した内容とスライドを完全公開します。 45分の内容のため、かなり長いですが、個人的にぜひ一読して欲しい内容になっています。 はじめに こんにちは、森 篤史と言います。2019年度入社で今年で3年目になります。株式会社CyberZのOPENREC.tvというプロダクトでAndroidアプリチームのリーダをやっています。 最近はプログラムを書く仕事以外に、次世代マネジメント室という全社横断組織でDevelopers Blogの改善プロジェクトを実行したり、CyberZ CTO室で組織活性化に取り組んでいます。 あと、2019年度の未踏スーパークリエータにも認定されました。 メインの仕事としては、入社して

          良いコードとは何か - エンジニア新卒研修 スライド公開|CyberZ Developer
        • 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

          • 2022年「はてなブックマーク年間ランキング」トップ100 - はてなニュース

            はてなブックマークのブックマーク数が多い順に記事を紹介する「はてなブックマーク年間ランキング」の2022年版を発表します。上位トップ100の記事をピックアップしました(集計期間:2021年12月11日~2022年12月10日)。 2022年 はてなブックマーク年間ランキング(2021年12月11日~2022年12月10日) 順位 タイトル 1位 【詳しすぎる2週間】親の死亡後にまずやること(行動チェックリスト付) 2位 逮捕にそなえる人生継続計画 - やしお 3位 150 分で学ぶ高校数学の基礎 4位 ゲームの勝敗でかんしゃくを起こす子どもにできることは大人げない大人になること|フィンランドワークショップomena|note 5位 【アメリカで話題】ただ座るだけ!股関節がみるみる柔らかくなる「90/90ストレッチ」 | ヨガジャーナルオンライン 6位 Amazonプライムビデオで観てほしい

              2022年「はてなブックマーク年間ランキング」トップ100 - はてなニュース
            • 東工大が無料公開しているPython解説サイト初心者の目線に合わせた丁寧な説明で、かゆいところに手が届く教材。基本的な文法、データ構造、ファイル入出力やオブジェクト指向、NumpyとMatplotlibの使い方などをひと通り学べる。

              QDくん⚡️AI関連の無料教材紹介 @developer_quant 金融技術職/ChatGPT等の生成AI,機械学習,データサイエンス,プログラミングの勉強に役立つ情報を発信/良質な無料教材,スライド,動画,サイトを紹介/金融工学x機械学習ブログ運営700記事 quantcollege.net /C++/Python/Julia/Rust/Amazonアソシエイト参加中 note.com/quantdeveloper QDくん⚡️AI関連の無料教材紹介 @developer_quant 東工大が無料公開しているPython解説サイト chokkan.github.io/python/index.h… 初心者の目線に合わせた丁寧な説明で、かゆいところに手が届く教材。 基本的な文法、データ構造、ファイル入出力やオブジェクト指向、NumpyとMatplotlibの使い方などをひと通り学べる。

                東工大が無料公開しているPython解説サイト初心者の目線に合わせた丁寧な説明で、かゆいところに手が届く教材。基本的な文法、データ構造、ファイル入出力やオブジェクト指向、NumpyとMatplotlibの使い方などをひと通り学べる。
              • Twitter で医師を拾ってきて Google のソフトウェアエンジニアにするだけの簡単なお仕事 - 白のカピバラの逆極限 S.144-3

                はじめに 「【転職エントリ】Googleに入社します|Lillian|note」という、医師から未経験で Google のソフトウェアエンジニアになった記事があります。 note.com 私は、この記事に出てくる「とある元 Google のソフトウェアエンジニア」で、面接の対策を立てました。 記事が出た当初から大反響で、私もそれなりの反応を見まして、いろいろと誤解されているなあ、と思う一方、アドバイザーはあくまでもアドバイザーだから、アドバイザーとして知りえた情報については、口をつぐむべきだと思っていました。 ただ、あまりにも誤解されており、悪影響が大きく、犠牲者も多くなってきたと思ったので、許可を得て簡単に背景を書いておこうかと思います。 これはあくまでもアドバイザー側からどう見えていたかを書いておくものですが、医学部卒だけでも3,4人 Google や Amazon に入っていったおぼ

                  Twitter で医師を拾ってきて Google のソフトウェアエンジニアにするだけの簡単なお仕事 - 白のカピバラの逆極限 S.144-3
                • 技術ようつべチャンネル集 - Qiita

                  役立つYouTubeのチャンネルまとめ 数学、物理、アルゴリズム、プログラミング、などなど自分が使う技術に役立ちそうだな、困ったときによく見たなと思うチャンネルを紹介する。 取っ掛かり、ハマりがち、コツみたいな物が拾える。数学がメイン。随時更新していくつもり。 当たり前だけどちゃんと本も読んで勉強するんだぞ。 背景 YouTubeは視聴する登録チャンネルの数が増えると、チャンネルが埋もれて発掘困難になりがち (chrome拡張でできるチャンネルのフォルダ分け機能は、ぽちぽち登録するのも面倒で、そのフォルダの中から掘り出すのも難しい) モチベが上がる(おべんつよしたい)チャンネルを探してるうちに湧いてくる、わんにゃんコンテンツ(だいちゅき)に流され一日が終わるため、 モチベが上がる有用なチャンネルにすぐにたどり着くために、よく使うQiitaに列挙しておくことにした Streamや大学専用サイ

                    技術ようつべチャンネル集 - Qiita
                  • AWSの膨大で複雑なサービス群をすべて「たった1行」で説明していくとこうなる

                    AmazonのクラウドサービスであるAWSは、コンピューティングやデータベース、ストレージなど、膨大で複雑なサービスで構成されています。こうした豊富なサービス群をうまく組み合わせて利用する「ビルディングブロック」がAWSのメリットでもありますが、サービス数が多すぎてなかなか全体像を把握できないのも事実。フリーランスのエンジニアでありコンサルタントでもあるジョシュア・テイセン氏が自身のブログで、AWSのすべてのサービスを「たった1行」で説明しています。 Amazon Web Services https://adayinthelifeof.nl/2020/05/20/aws.html テイセン氏によると、Amazon Dashboardから利用可能なAWSのサービスは記事作成時点で163あるとのこと。そのすべてを正確に理解する必要はありませんが、基本を押さえておくことはいいことであり、問題の

                      AWSの膨大で複雑なサービス群をすべて「たった1行」で説明していくとこうなる
                    • 【ChatGPT】個人的お気に入りプロンプトまとめ

                      あなたは、プロの【その分野の専門家】です。 以下の制約条件と入力文をもとに、【出力内容】を出力してください。 # 制約条件: 【前提条件や決まりごと】 # 入力文: 【期待する出力結果や大まかな指示】 あなたは、プロのエンジニアです。 以下の制約条件と入力文をもとに、ブログ記事の内容を出力してください。 # 制約条件: ・重要なキーワードを取り残さない。 ・文字数は30000文字程度 # 入力文: Swaggerについて技術ブログに投稿する文章を書いてください。 構成は、Swaggerとは?、Swaggerのユースケース、Swaggerのメリットとデメリット、Swaggerの書き方(YAMLファイル)、Swaggerの実行方法、まとめです。 構成間で重複した説明は省くようにしてください。 読者がブログを読みながらSwaggerを触れるようにハンズオン形式などを取り入れて文章を作ってください

                        【ChatGPT】個人的お気に入りプロンプトまとめ
                      • 「未経験文系から3ヶ月でデータサイエンティストになって一発逆転」はここで終わり (2020/7/31 更新) - todo-mentor’s diary

                        データサイエンティストを生業にする手段と実態について述べる。 途中、具体例・境界値の例として私個人の話もするが、なるべく一般性のある話をする。 この記事で言いたいことは具体的には4つだ。 プログラミングスクールをディスるなら代わりの入門方法を提供しようよ。 もう「未経験文系から3ヶ月でデータサイエンティストで一発逆転物語」を止めろ。*1 おじさんは人生逆転したいなら真面目にやれ。 若者はワンチャンじゃなくて、ちゃんと化け物になれよ。 この記事についてはパブリック・ドメインとして転載・改変・リンク記載を自由にしてよいです。 (続き書いた) a. 入門は辛いが… b. 思考停止でプログラミングスクールに通うな。 なろう系・始めてみよう系資料一覧 (最速・最短ルート用) まずは動かしてみよう。強くてニューゲームが体験出来るぞ! 入門以前の本 一般向け業界本 (AI業界と展望がわかる本) 技術者入

                          「未経験文系から3ヶ月でデータサイエンティストになって一発逆転」はここで終わり (2020/7/31 更新) - todo-mentor’s diary
                        • JavaScriptを完全無料で学習できる最強の厳選コンテンツを大公開! - paiza times

                          どうも、まさとらん(@0310lan)です! 今回は、JavaScript初心者から中級者までをカバーできる学習コンテンツを厳選してご紹介します。 完全無料で公開されているものばかりを集めており、なおかつ質の高いコンテンツを選んでいますので独学したい方にも最適です。テキスト、動画、本、Webアプリなど、さまざまな種類のコンテンツを楽しみながらぜひ学習に役立ててください! ■学習を始める前に これからJavaScriptの学習コンテンツについて解説をしていく前に、ひとつだけ以下のサイトをご紹介しておきます。 【 The Modern JavaScript Tutorial 】 これはJavaScriptの基礎構文・DOM操作・非同期処理・サーバ通信など、ほとんどの学習項目を網羅したリファレンスのようなサイトです。海外で作られたサイトですが、うれしいことに日本語化されているので初心者にも扱いや

                            JavaScriptを完全無料で学習できる最強の厳選コンテンツを大公開! - paiza times
                          • ハーバード大学のコンピューターサイエンスの講義(日本語版)が無料公開されている件「聞き取りやすいから英語も勉強できる」

                            QDくん⚡️Python x 機械学習 x 金融工学 @developer_quant 東工大が無料公開しているPython解説サイト chokkan.github.io/python/index.h… 初心者の目線に合わせた丁寧な説明で、かゆいところに手が届く教材。 基本的な文法、データ構造、ファイル入出力やオブジェクト指向、NumpyとMatplotlibの使い方などをひと通り学べる。 pic.twitter.com/XyBBslyeBa 2022-10-08 22:01:21 🎍QDくん🎍Python x 機械学習 x 金融工学 @developer_quant 東工大が無料公開しているPython解説サイト chokkan.github.io/python/index.h… 初心者の目線に合わせた丁寧な説明で、かゆいところに手が届く教材。 基本的な文法、データ構造、ファイル入出

                              ハーバード大学のコンピューターサイエンスの講義(日本語版)が無料公開されている件「聞き取りやすいから英語も勉強できる」
                            • プログラマーから見たPDFファイル - アンテナハウス PDF資料室

                              更新日: 2020年8月14日 このページの目的 プログラマーは、クライアントから提供されたPDFファイルで、その要求を実現させようとしたとき、PDFのどんなところを見ているのでしょうか。このページでは、ちょっと珍しい視点でPDFファイルを解き明かしていきます。 自分でプログラムを書いてPDFファイルからテキストデータを取り出したいという人も、ぜひご一読ください。 はじめに PDFファイルをクリックすると、あたかも紙に印刷したかのように、どんなマシンでも同じような見た目で文章や画像がディスプレイに表示されます。 この単純な事実は、日常的にPDFファイルを利用していると当たり前に感じられるかもしれません。しかし、よくよく考えると驚くべきことです。 いったい、どのような仕組みがあれば、「過去から現在に至るさまざまな種類のコンピューターで見た目を変えずに同一の紙面を再現する」という目的を達成でき

                                プログラマーから見たPDFファイル - アンテナハウス PDF資料室
                              • すべての開発者へ。すごいGitHubリポジトリ10選 - Qiita

                                本記事は、Simon Holdorf氏による「10 Extraordinary GitHub Repos for All Developers」(2021年4月4日公開)の和訳を、著者の許可を得て掲載しているものです。 こちらもどうぞ すべてのウェブ開発者へ。人気GitHubリポジトリ9選 面接のリソース、build your own X、優れたパブリックAPIのリストなど Photo by Vishnu R Nair on Unsplash はじめに GitHubは、あらゆる種類の技術、フレームワーク、ライブラリ、コレクションなどを共有するためのNo.1プラットフォームです。しかし、その巨大さゆえに、最も有用なリポジトリを探すのが難しいという問題もあります。そこで私は、すべてのソフトウェアエンジニアに大きな価値のある、素晴らしいリポジトリ10選を作ることにしました。すべてに多くのGitH

                                  すべての開発者へ。すごいGitHubリポジトリ10選 - Qiita
                                • GWの休みに勉強しよう!!!有名IT企業の研修資料まとめ - Qiita

                                  勉強について エンジニアの皆さん。エンジニア以外の皆さん。 ・勉強しようと思っているけど、何を勉強したらいいかわからない ・ネットを漁っても良質な教材が出てこない ・他人がどんなことをしているか気になる こんなお悩みありませんか? 今回は、有名企業の研修資料をまとめましたので、勉強のネタにしてみてはいかがでしょうか? 新人、ベテラン関係ありません! GWに暇を持て余したら、こちらをご覧くださいね サイボウズ サイボウズです。 22年度の内容が公開されていました。 ■モバイルアプリ開発 ■サイボウズのアジャイル・クオリティ ■MySQL - テストデータが偏るということ ■モブに早く慣れたい人のためのガイド ■テクニカルライティングの基本 ■ソフトウェアテスト ■セキュリティ ■ソフトウェアライセンス 講義資料と講義動画まで公開されています。 資料が苦手な人でも学習が捗りますね。 ラクス こ

                                    GWの休みに勉強しよう!!!有名IT企業の研修資料まとめ - Qiita
                                  • ブラウザレンダリングの仕組み

                                    フロントエンド用語を100秒で解説するチャンネルを作りました! よかったらチェックしてみてください! はじめに 以前書いた記事「Webページがブラウザに表示されるまでに何が起こるのか?」で ブラウザレンダリングについて詳細に知りたいという意見をいただいたので、調べてまとめてみました。 全体図 レンダリングの大まかな流れです。 HTMLのダウンロード サーバから送られてきたHTMLをダウンロードします。 HTMLの解析 サーバから送られてきたHTMLファイルは、「0」と「1」でできたデータになっています。 ブラウザは、サーバから受け取ったデータをそのままHTMLとして解釈することはできないので、自分で扱うことができる形、つまりDOMに変換する必要があります。この作業を 解析 ( Parse ) と言います。 HTMLをダウンロードしたら、すぐにこの解析作業に入ります。作業は以下のようなステッ

                                      ブラウザレンダリングの仕組み
                                    • GAFAコーディング面接こんな感じでした - yambe2002’s diary

                                      このあいだ、GAFA数社のコーディング面接を受けて全落ちしました。後続のため、オンサイト面接がこんな感じだったよ、というのをストーリー風に仕立てて公開します。問題と会話はダミーですが、雰囲気はかなり近くできたと思います。なお実際の会話はすべて英語で、バーチャルでの実施でした。 メイン問題はLeetCodeのNo.1472をもとに作成。 https://leetcode.com/contest/weekly-contest-192/problems/design-browser-history/ ちなみに「ぼく」はIQ+30くらいの設定です。それではどうぞ。 入室と自己紹介 面接官「やあ!わたしはシンディ。会えて嬉しいよ!」 ぼく「こんにちは、シンディ。ぼくはyambe2002。調子はどう?」 面「超いい感じだよ。きみは?」 ぼ「ぼくも超いい感じさ」 面「それはよかった。わたしは部署Aのソフ

                                        GAFAコーディング面接こんな感じでした - yambe2002’s diary
                                      • 初学者に教えたい、MicrosoftがGitHubで公開している教材が最高だった! - Qiita

                                        はじめに エンジニアやデータサイエンティストの人材育成のためのオープンソースな教材を探していたらMicrosoftがGitHubでかなり質の高い教材をweb開発、データサイエンティスト、機械学習、IoTの四項目を対象に提供してるのを発見したため共有したいと思う。 正直、マイクロソフトと聞くとGoogleやらFacebookに比べていけてないイメージを持っていたけど、実際にMicrosoftのGitHubレポジトリを見て、彼らはここ数年で大きく変わったように思える。特に人材育成や学習教材に関しては世界一かもしれないなんて思っています。本記事では筆者が自信を持っておすすめするMicrosoftのオープン教材を紹介するのでぜひ自身の勉強や人材育成に生かしてもらえれば本記事を執筆した甲斐があります。(もちろん僕がお勧めしているだけでなくてGitHubのスター数も多く世界的に認められています!) こ

                                          初学者に教えたい、MicrosoftがGitHubで公開している教材が最高だった! - Qiita
                                        • 登さん、LAPRASをどう思いますか?そしてエンジニアは今後どうすべきですか? - LAPRAS NOTE

                                          2020年4月、無償かつ即日利用可能なリモートデスクトップ環境が公開され話題を呼びました。 現在16万人を越えるユーザーを擁する「シン・テレワークシステム」です。 今回登場いただくのは、そのシン・テレワークシステムの開発者として知られる登大遊さん。 登さんは、多忙な業務の傍ら次世代の人材育成にも関心を寄せ、安易な解決策に走るITエンジニアの未来に警鐘を鳴らしています。 「万人受けするアウトプットには価値がない」と断言する登さんに、これからを担うITエンジニアが抱える課題とその解決策について話を聞きました。 プロフィール NTT東日本 特殊局員 独立行政法人情報処理推進機構 サイバー技術研究室長 登 大遊さん(@dnobori) 1984年兵庫県生まれ。筑波大学在学中の2003年に、IPA(独立行政法人情報処理推進機構)の「未踏ソフトウェア創造事業 未踏ユース部門」に採択。自作の『SoftE

                                            登さん、LAPRASをどう思いますか?そしてエンジニアは今後どうすべきですか? - LAPRAS NOTE
                                          • シリコンバレーから失意の帰国をした十年選手のITエンジニア、生き残るため大学院で情報科学を学ぶ - Findy Engineer Lab

                                            はじめまして、白山文彦(@fushiroyama)と申します。 インフラエンジニアとして5年、ソフトウェアエンジニアとして7年ほど働いて、現在は多国籍企業でクラウド関連の仕事に従事しています。 今年に入ってから、会社員としてフルタイムで勤務しながら、大学院の博士前期課程(修士課程)で情報科学を学んでいます。 この記事では、ITエンジニアとして10年以上もご飯を食べていながら、どうして今になって大学院生という道を選んだのか。業務で身についたものと、大学でしか学べないものとの違いは何なのか。そして最後に、それをどのように今後のキャリアにつなげていこうと考えているのか。そのあたりの葛藤や心の動きをシェアできたらなと考えています。 社会人大学院について 理系技術者は米国で圧倒的に尊敬されている 米国のエンジニアと日本のエンジニアの違い 学位と職業に強い関連がある米国 年齢に関係なく学位を目指すのが

                                              シリコンバレーから失意の帰国をした十年選手のITエンジニア、生き残るため大学院で情報科学を学ぶ - Findy Engineer Lab
                                            • コンピュータサイエンスが気になるプログラマに勧める書籍リスト - Rubyist Magazine 第61号 巻頭言

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

                                              • 僕「PDFとは何か知りたい」 - Qiita

                                                追記情報 - (2020/11/7 18:30) @scivola さんのコメントに基づき、 ラスタースキャン、 ベクタースキャン、 ブラウン管 の説明を追加しました。 TL;DR PDFについて次のような内容を(私の好奇心の赴くままに)調べたので共有したいと思います。 「PostScript」とは? 高速ロードの仕組み フォント埋め込み 「PDFってどんなファイルなんだろう」 PDFを使ったこと無い人はいないと思います。 それほど、PDFは身近な存在となる一方で、その仕組みについて触れる機会はほとんどないと言っても過言ではないです。 何百ページにも渡る本をPDFで開いた時、ページ移動したときに、パッと表示されたりしますよね。 あれってなんでか知っていますか? 私はもちろん知りませんでした。 たまたま仕事でPDFをあれこれいじるにあたって、仕様がわかってないこともあり、なかなかうまくいかず

                                                  僕「PDFとは何か知りたい」 - Qiita
                                                • 文系パパエンジニアが放送大学等でコンピュータサイエンス・数学を学んで理系学士を取りに行く話 - とあるCS学徒のブログ

                                                  ※取りに行く話なのでまだ取ってません。 界隈ではコンピュータサイエンス(以下CS)を学ぶことが流行っていますが、これはとあるパパのとある一例です。どなたかの参考になれば。 こちらの通り申請致しました。 https://t.co/IDkVJAWjc2— Y (@wbspry) 2021年2月13日 誰? 事の経緯 なぜ大学でCS・数学を学びたいのか CS系学位を課す外資大企業たち CSできるマンへの憧れ 立ちはだかる数学の壁 dynamicなものよりstaticなもの ところで、CSって何? 選択肢と選択 なぜUoPeopleではなかったか 週次の人巻き込み課題が大変そう 単位移行が可能なのか(※当時は)よくわからなかった とはいえ なぜ帝京理工通信ではなかったか なぜJAISTではなかったか 学位授与機構との出会い 新しい学士への途(単位累積加算制度)とは 学位取得までの流れ そして単位集

                                                    文系パパエンジニアが放送大学等でコンピュータサイエンス・数学を学んで理系学士を取りに行く話 - とあるCS学徒のブログ
                                                  • 大学に行かずにコンピュータサイエンスを学ぶときに優れている教科書や講義映像はどんなものがあるのか?

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

                                                      大学に行かずにコンピュータサイエンスを学ぶときに優れている教科書や講義映像はどんなものがあるのか?
                                                    • プログラミング言語の入門が終わったら何の勉強をすればいいの? - きしだのHatena

                                                      JJUG CCC 2022 Fallで「Javaの入門が終わったら何の勉強をすればいいの?」という内容で発表を行いました。 基本的なものが作れるようになったけども、イマイチプログラムが組めないというときに、何を勉強すればいいかをまとめました。 入門が終わって作りたいものがあれば作っていきましょう、業務で言われたものが作って行こう、でもなんだかちゃんとしたものが作れないな、もっとちゃんとしたものを作りたい、次のステップに進みたいというときに勉強していく感じです。 資料はこちらです とりあげた本についてまとめておきます。 開発作業について 概要 プログラミング言語 アーキテクチャ ミドルウェア ネットワーク デプロイ 理論 開発手法 開発プロセス まとめ フレームワークは入門でやってる前提です。Java入門書「プロになるJava」ではJavaの基本から簡単なDB操作、Spring Bootまで

                                                        プログラミング言語の入門が終わったら何の勉強をすればいいの? - きしだのHatena
                                                      • 競技プログラミングで解法を思いつくための典型的な考え方 | アルゴリズムロジック

                                                        競技プログラミングの問題を解くためには2つのステップがあります。 問題で要求されていることを言い換える知っているアルゴリズムやデータ構造を組み合わせて解く 必要な(知っておくべき)アルゴリズムやデータ構造は色々なところで学ぶことができます。 しかし、「問題の言い換え」や「アルゴリズムを思いつく」というのは、非常に様々なバリエーションがあり、問題をたくさん解かないとなかなか身につきません。 そこで、この記事は以下のことを言語化し、練習のための例題を提示することを目標とします。 問われていることを、計算しやすい同値なことに置き換える方法アルゴリズムを思いつくための考え方競技プログラミングで「典型的」と思われる考え方 ※一部問題のネタバレを含むので注意 ※良く用いられるアルゴリズムやデータ構造については競技プログラミングでの典型アルゴリズムとデータ構造 を参考にして下さい。 入力の大きさ(制約)

                                                          競技プログラミングで解法を思いつくための典型的な考え方 | アルゴリズムロジック
                                                        • はじめに - アルゴリズムとデータ構造大全

                                                          はじめに このドキュメントは,主に競技プログラミングで出題される問題を解く際に利用できるアルゴリズムやデータ構造をまとめたものです.特定の問題にはあまりフォーカスしないため,問題を解く際の考察の仕方等の内容はありません.詳しく,正確に,分かりやすく書いていこうと思っています. このドキュメントは執筆途中です. 想定する読者 C++を用いたプログラミングに慣れている方を読者として想定しており,C++言語の仕様や,文法にはあまり触れません.また,計算量という用語についても説明しません.ただし,償却計算量など,計算量の見積もりが複雑なものについては必要に応じて説明します. コードについて このドキュメントで登場するコードは,可読性向上のため,以下のようなコードがファイルの先頭に記述してあることを前提としています.また,適切な問題を用いてコードの検証がなされている場合は,コード周辺にのように,検証

                                                          • 図解 X.509 証明書 - Qiita

                                                            はじめに X.509 証明書について解説します。(English version is here → "Illustrated X.509 Certificate") ※ この記事は 2020 年 7 月 1 日にオンラインで開催された Authlete 社主催の『OAuth/OIDC 勉強会【クライアント認証編】』の一部を文書化したものです。勉強会の動画は公開しており、X.509 証明書については『#4 X.509 証明書(1)』と『#5 X.509 証明書(2)』で解説しているので、動画解説のほうがお好みであればそちらをご参照ください。 1. デジタル署名(前提知識) この記事を読んでいただくにあたり、デジタル署名に関する知識が必要となります。つまり、「秘密鍵を用いて生成された署名を公開鍵で検証することにより」、「対象データが改竄されていないこと」や「秘密鍵の保持者が確かに署名したこと

                                                              図解 X.509 証明書 - Qiita
                                                            • 文春オンラインの記事分析を支える爆速ダッシュボードを作るまで|Shota Tajima

                                                              従来のGoogleアナリティクスである、ユニバーサル アナリティクス(以下UA)のサポートがいよいよ2023年7月に終了することが、先日アナウンスされました(※)。昨年対比やトレンドをチェックすることを考えると、2022年内できるだけ早めに次世代のGoogleアナリティクス(以下GA4)へ移行したいWebメディア運営者も多いかと思います。新しいツールの勉強や、既存システムの改修が必要な問題ではありますが、この機会を、データ収集・可視化の設計を見直し、日々の意思決定の共通言語としてデータを使いやすくするチャンスと捉えてみてはいかがでしょうか。 ※  Google、ユニバーサルアナリティクスのサポートを2023年7月1日に終了。早めのGA4移行を推奨 このnoteでは、前半でダッシュボードによるデータの可視化にコストをかけるべき理由を整理します。後半では、2021年秋に文春オンラインのダッシュ

                                                                文春オンラインの記事分析を支える爆速ダッシュボードを作るまで|Shota Tajima
                                                              • クリーンアーキテクチャ完全に理解した

                                                                clean_architecture.md 2020/5/31追記: 自分用のメモに書いていたつもりだったのですが、たくさんのスターを頂けてとても嬉しいです。 と同時に、書きかけで中途半端な状態のドキュメントをご覧いただくことになっており、大変心苦しく思っています。 このドキュメントを完成させるために、今後以下のような更新を予定しています。 TODO部分を埋める 書籍を基にした理論・原則パートと、実装例パートを分割 現在は4層のレイヤそれぞれごとに原則の確認→実装時の課題リスト→実装例という構成ですが、同じリポジトリへの言及箇所がバラバラになってしまう問題がありました。更新後は、実装時の課題リストを全て洗い出した後にまとめて実装を確認する構成とする予定です。 2021/1/22追記: パートの分割と、クリーンアーキテクチャという概念の定義について追記を行いました。大部分の実装例パートを中心

                                                                  クリーンアーキテクチャ完全に理解した
                                                                • 7つの設計原則とオブジェクト指向プログラミング - ソフトウェア設計を考える

                                                                  設計原則はよい設計をするための指針です。 では、よい設計とはなんでしょうか? もっとも重要なソフトウェア品質は発展性 ソフトウェアの発展性がビジネス価値を生む 発展性をうみだす7つの設計原則 モジュール化 モジュール化の2つのアプローチ 型によるモジュール化 手続き的なモジュール化 関心の分離 関心の4象限 入出力と計算・判断の分離 業務の関心と実装の詳細の分離 もっとも複雑な関心事(ビジネスロジック)の分離を徹底する カプセル化と抽象化 カプセル化 ビジネスロジックのカプセル化 抽象化 データ抽象 ビジネスロジックとデータ抽象 高凝集と疎結合 凝集度 結合度 隠された結合性の問題 定義の一点性 見た目が同じコード 7つの設計原則の学び方 コードの実装例 ドメインオブジェクト設計のガイドライン 実践ガイドとして使える本 設計の考え方を理解するための本 もっとも重要なソフトウェア品質は発展性

                                                                    7つの設計原則とオブジェクト指向プログラミング - ソフトウェア設計を考える
                                                                  • データベース設計の際に気をつけていること - 食べチョク開発者ブログ

                                                                    皆さんこんにちは、エンジニアの西尾です。 新しい機能・サービスを開発する際、私は特にデータベース設計に気をつかいます。 データベースはシステムの土台です。 土台が不安定だと、その上に積み上げていくアプリケーションコードがいびつなものになり、つらい思いをします。 また、一度動き出してしまったシステムのデータベース設計を変えるのは、容易なことではありません。 データベース設計には”これだ!”という正解はないと思っています。 サービスの特徴、システムの性質、toB向け/toC向け、Readが多い・少ない、Writeが多い・少ない。 その他もろもろの背景により、データベース設計の仕方も変わってきます。 このテーブルは正規化していないから駄目だ、この設計はいわゆるポリモーフィック関連だから使ってはいけない、などということはありません。 アンチパターンと呼ばれるものも時と場合によっては正解になります。

                                                                      データベース設計の際に気をつけていること - 食べチョク開発者ブログ
                                                                    • ユーザのための要件定義ガイド 第2版 要件定義を成功に導く128の勘どころ | 書籍・刊行物 | IPA 独立行政法人 情報処理推進機構

                                                                      編集・発行元 独立行政法人情報処理推進機構(IPA) 社会基盤センター 発行日 2019年12月20日 サイズ B5変形判 ページ数 498ページ ISBN 978-4-905318-72-9 定価 2,500円(税込) 書籍概要 概要 デジタル技術を活用して企業のビジネスを変革し、自社の競争力を高めていく「デジタル・トランスフォーメーション(DX)」が注目を集めるなか、従来のようなITベンダやシステム部門が中心になって要件定義をすすめるスタイルから、業務部門のユーザが主体的に関与するスタイルへの変革の必要性が増しています。 システムの要件を定義する責任は、構築されたシステムを利用してビジネスに貢献する役目を負うユーザにあると言われています。しかしながら、システム開発の遅延の過半は要件定義の失敗にあると言われるように、要件定義においては、その過程で様々な問題に直面します。 そこでIPAでは

                                                                        ユーザのための要件定義ガイド 第2版 要件定義を成功に導く128の勘どころ | 書籍・刊行物 | IPA 独立行政法人 情報処理推進機構
                                                                      • 放送大学と学位授与機構で情報工学の学位を取る(科目対応表付き)|lumpsucker

                                                                        はじめにこの記事では、放送大学で修得した単位を独立行政法人大学改革支援・学位授与機構に「積み上げ単位」として提出し、2022年8月に同機構から情報工学の学士(厳密は学士(工学)、専攻の区分:情報工学)を取得した際の記録についてまとめています。 執筆者のプロフィールとこれまでの経緯についてはこちらの記事をご覧ください。いわゆる文系SEだと思っていただければ大丈夫です。これまでに何本か記事を書いていますので、この記事では学位授与機構関連の部分に絞ります。 なぜ情報工学の学位が欲しかったのか放送大学は1学部6コース構成となっており、どのコースを卒業しても(=例えば情報工学っぽい科目だけを取っても哲学っぽい科目だけを取っても)得られる学位は一律「学士(教養)」というものになります。せっかく情報科学・情報工学に全振りした履修をしたのに(教養)では少々寂しいということで、学位授与機構の「積み上げ単位」

                                                                          放送大学と学位授与機構で情報工学の学位を取る(科目対応表付き)|lumpsucker
                                                                        • できるだけ嘘を書かずに計算量やオーダーの説明をしようとした記事 - えびちゃんの日記

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

                                                                            できるだけ嘘を書かずに計算量やオーダーの説明をしようとした記事 - えびちゃんの日記
                                                                          • 登 大遊「イノベーションは“いんちき遊び”から生まれる」

                                                                            「デジタル敗戦」という言葉が確定した事実かのように語られる日本のICTの現状に対し、天才プログラマーの登 大遊氏は「あまり心配する必要はない」と話す。日本に必要なのは大企業の「遊び」だと言う。 by Yasuhiro Hatabe2021.08.30 1293 782 29 独創的な若きイノベーターを選出する世界的アワード「Innovators Under 35(イノベーターズ・アンダー35)」。その日本版「Innovators Under 35 Japan」が今年も開催され、8月31日まで公式サイトで候補者の推薦および応募を受付中だ(本人による応募のみ9月7日までに延長)。 このアワードで、「通信」領域の審査員を務める1人が登 大遊氏(36歳)である。登氏は、筑波大学入学時に、独立行政法人情報処理推進機構(IPA)の「未踏ソフトウェア創造事業 未踏ユース部門」に採択され開発したVPNソフ

                                                                              登 大遊「イノベーションは“いんちき遊び”から生まれる」
                                                                            • Shota Imai@えるエル on Twitter: "コンピュータサイエンスで有名なアルゴリズムのPython実装を大量に公開しているリポジトリ https://t.co/379T4izBle 教養レベルのデータ構造やアルゴリズムから機械学習やブロックチェーン,Web関連などの応用ま… https://t.co/vSmYZW5SHw"

                                                                              コンピュータサイエンスで有名なアルゴリズムのPython実装を大量に公開しているリポジトリ https://t.co/379T4izBle 教養レベルのデータ構造やアルゴリズムから機械学習やブロックチェーン,Web関連などの応用ま… https://t.co/vSmYZW5SHw

                                                                                Shota Imai@えるエル on Twitter: "コンピュータサイエンスで有名なアルゴリズムのPython実装を大量に公開しているリポジトリ https://t.co/379T4izBle 教養レベルのデータ構造やアルゴリズムから機械学習やブロックチェーン,Web関連などの応用ま… https://t.co/vSmYZW5SHw"
                                                                              • アルゴリズムの世界地図 - Qiita

                                                                                0. アルゴリズムとは? まず、アルゴリズムとは何かを説明します。(0 節の説明はスライド「50 分で学ぶアルゴリズム」 の説明を参考にして書きました) さて、次の問題を考えてみましょう。 問題: 1 + 2 + 3 + … + 100 の値を計算してください。 単純な方法として、式の通りに 1 つずつ足していく方法が考えられます。すると、以下の図のように答えが計算されることになります。 これで答え 5050 が正しく求まりました。これはれっきとした アルゴリズム であり、この問題を 99 回の足し算 で解いています。しかし、計算回数が多く、計算に時間がかかるのではないかと思った方もいると思います。 ここで、方法を変えて、「1 + 100」「2 + 99」「3 + 98」…「50 + 51」の合計を求めることで、1 + 2 + 3 + … + 100 の値を計算してみましょう。 50 個の

                                                                                  アルゴリズムの世界地図 - Qiita
                                                                                • Linux メモリ管理を理解したい - Qiita

                                                                                  Linux カーネルのメモリ管理方法について、勉強したことをまとめる。 メモリ管理はハードウェアに強く依存するため、x86_64 かつ OS起動後に 64bitプロテクトモード に移行したあとに話を絞る。また、OS は CentOS7.6、カーネルは次のバージョンを利用する。 ]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) ]# uname -a Linux localhost.localdomain 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux 概要 ノイマン型アーキテクチャ コンピュータの基本的な構成のひとつ。次の図が参考になる。 ほぼ全てのコンピュータが、このアーキ

                                                                                    Linux メモリ管理を理解したい - Qiita