タグ

ブックマーク / qiita.com (106)

  • 有名企業のエンジニア向け研修資料まとめ - Qiita

    はじめに 今回は有名企業の公開されているエンジニア新人研修資料をまとめました。 昨今、新人向けの研修資料を公開する企業が増えています。 またクオリティーがかなり高いものが多く、初級者~中級者でも学びがある資料となっています。 資料の作り方も勉強になるので「勉強会で登壇している人」「企業の研修担当の人」にも有益な資料になっています。 この記事の主な対象者 有名企業の研修資料を網羅的に見たい人 エンジニア初級~中級者の人 独学で学習をしている人 研修資料の作成を今後していきたい人 ミクシィ まずはじめに紹介するのは、毎年新人向けの研修資料を公開している株式会社ミクシィです。 ミクシィの研修資料で公開されている内容は、 Git研修 データベース研修 設計・テスト研修 コンテナ研修 iOSアプリ開発研修 Androidアプリ開発研修 フロントエンド研修 ゲーム開発研修 Flutter研修 AI研修

    有名企業のエンジニア向け研修資料まとめ - Qiita
    nbisco
    nbisco 2022/07/18
  • GoogleのDesign Docsから学ぶソフトウェア設計 - Qiita

    概要 Design Documentと聞くと何を想像しますか? 一般的にDesign Documentが指すのは設計書であることが多いのではないでしょうか。 設計書、簡単に説明するのであればソフトウェアを「どうやって作るの?」を説明したドキュメントです。 Googleではソフトウェアエンジニアリング文化における重要な要素として、今回お話ししていくDesign Docsと呼ばれるものがあります。 Design Docsとは? Design Docsとは、開発者がコーディングに着手する前にソフトウェアシステムまたはアプリケーションの開発する人が作成するドキュメントです。 => ソフトウェア設計における仕様書や設計書とは別物と捉えた方がよいです。 仕様書、設計書は作成した上でのDesign Docsの作成となるようです。 このドキュメントには、高レベルの実装戦略と主な設計の決定事項がまとめられて

    GoogleのDesign Docsから学ぶソフトウェア設計 - Qiita
    nbisco
    nbisco 2022/07/12
  • Ubuntu 18.04 LTSで固定IPアドレスの設定

    Ubuntu 22.04 LTS Serverでの固定IPアドレス設定。 17.10から、IPアドレスの変更が/etc/network/interfacesをいじる方式からNetplanへ変更になっているのでメモ。 Netplan | Backend-agnostic network configuration in YAML - IPアドレスの固定 設定ファイル ( /etc/netplan/99_config.yaml ) を作成し既存の設定を上書きします。 /etc/netplan/99_config.yaml を作成しIPアドレスを設定する 以下は設定例 network: version: 2 renderer: networkd ethernets: eth0: dhcp4: false dhcp6: false addresses: [192.168.1.70/24] r

    Ubuntu 18.04 LTSで固定IPアドレスの設定
    nbisco
    nbisco 2022/04/02
  • なぜGoはDuck typingを採用していると言えるのか、データ構造から詳しく解説してみた - Qiita

    Goのinterfaceは明示的に実装を宣言せず、実装側がinterfaceのシグネチャを満たしているかによって型が決まるDuck typingを採用していると言われています。私は当初このような説明を聞いたときにピンと来ず、むしろそれはTypeScript等に見られるStructural Typingなのでは?と思いました。 しかし実際にデータ構造を調べて見ると、確かにDuck typingであり、かつStructural Typingでもあるという考えに至りました。 これまでなかなかGoのデータ構造に触れる機会がありませんでしたが、調べてみるとこれまで気づかなかった観点がいくつも出てきたのでぜひ紹介したいと思います。 Duck typingについて 今回の主題となる部分ですので、Duck typing(ダックタイピング)についておさらいします。 Duck typingはアナロジーである「

    なぜGoはDuck typingを採用していると言えるのか、データ構造から詳しく解説してみた - Qiita
    nbisco
    nbisco 2022/01/08
  • Linuxのrtmutexを調査してみる - Qiita

    これはLinux Advent Calendar 2019の17日目が空いてしまったので代打で投稿する記事です。 一言でまとめると Linuxのrtmutexは、 - mutexとほぼ同じように使える - ロック待ちが優先度付きになる - SCHED_DEADLINE、SCHED_FIFO, SCHED_RRなどのときだけ優先度付きになる - タスク間で優先度の継承をする - 「これを使えばすべて解決」するような万能機能ではない はじめに LinuxにはCONFIG_RT_MUTEXESが有効のときに使えるrtmutexがある。これは、mutexロック待ちをするタスクがSCHED_DEADLINE, SCHED_FIFO, SCHED_RRなどのリアルタイムスケジューリングのときに意味を持ち、ロック待ちが優先度付きになり、リアルタイムスケジューリングのタスクが先にロックを取れるようになる。

    Linuxのrtmutexを調査してみる - Qiita
    nbisco
    nbisco 2021/12/28
  • 最短経路問題総特集!!!~BFSから拡張ダイクストラまで~ - Qiita

    的アルゴリズム(幅優先探索など)から応用(経路復元、拡張ダイクストラなど)まで、最短経路問題に関するアルゴリズムを総特集しました。 基的なグラフ理論の用語については、次を参考にしてください。 グラフ理論 用語集 queueなどのデータ構造の用語については、次のスライドの後半を参考にしてください。 C++ STL講習会 by @e869120 最短経路問題とは 一般的に、次のような問題とされます。 $V$ 頂点と $E$ 辺からなるグラフが与えられる。頂点 $u$ と 頂点 $v$ を結ぶパスのうち、重みの総和が最も小さいものはどれか。 始点を固定して他のすべての頂点との対について最短経路問題を解く場合や、任意の2頂点の対について解く場合などが実際には多いです。 実社会とも強く密着した問題のため、古くからたくさん効率的な解法が考えられてきました。 今回はそれらを紹介しつつ、細かいテクニ

    最短経路問題総特集!!!~BFSから拡張ダイクストラまで~ - Qiita
    nbisco
    nbisco 2021/09/26
  • DFS (深さ優先探索) 超入門! 〜 グラフ・アルゴリズムの世界への入口 〜【後編】 - Qiita

    目次 DFS (深さ優先探索) 超入門! 〜 グラフ理論の世界へ 〜 【前編】 からの続きです!! 前編 0 章: はじめに 1 章: グラフとは 2 章: 計算機上でのグラフの表し方 3 章: 深さ優先探索 (DFS) と幅優先探索 (BFS) 後編 (いまここ) 4 章: グラフの様々な例題 5 章: 発展的話題 6 章: おわりに 7 章: 参考文献 4. グラフ上の様々な例題 いよいよ、深さ優先探索 (DFS) を用いて、グラフに関する様々な問題を解いてみましょう。グラフの連結性に関する問題の多くが、単純な探索によって解決できることがわかります。 そしてグラフ探索はとにかく「習うより慣れろ」の精神が重要なテーマでもあります。記事では、グラフの連結性に関する諸概念に親しみながら、探索にも慣れるという一石二鳥を狙います。なお、ここで取り上げる問題のほとんどは DFS だけでなく BF

    DFS (深さ優先探索) 超入門! 〜 グラフ・アルゴリズムの世界への入口 〜【後編】 - Qiita
    nbisco
    nbisco 2021/08/29
  • 再帰関数を学ぶと、どんな世界が広がるか - Qiita

    0. はじめに 再帰関数は初めて学ぶときに壁になりがちで なんとなくわかった...けれど どんな場面で使えるのだろう...いい感じの例を探したい! という気持ちになりがちです。再帰関数は、なかなかその動きを直感的に想像することが難しいため、掴み所が無いと感じてしまいそうです。 そこで記事では 再帰関数の動きを追いまくることで、再帰関数自体に慣れる 再帰的なアルゴリズムの実例に多数触れることで、世界を大きく広げる! ことを目標とします。特に「再帰関数がどういうものかはわかったけど、使いどころがわからない」という方のモヤモヤ感を少しでも晴らすことができたら嬉しいです。なお記事では、ソースコード例に用いるプログラミング言語として C++ を用いておりますが、基的にはプログラミング言語に依存しない部分についての解説を行っています。 追記 1. 再帰関数とは 再帰の意味はとても広いです。自分自

    再帰関数を学ぶと、どんな世界が広がるか - Qiita
    nbisco
    nbisco 2021/08/29
  • ‪実世界で超頻出!二部マッチング (輸送問題、ネットワークフロー問題)の解法を総整理!‬ - Qiita

    0. はじめに --- 二部マッチング問題は実世界で超頻出 はじめまして。NTTデータ数理システムでアルゴリズムを探求している大槻 (通称、けんちょん) です。 好きなアルゴリズムはタイトルにもある二部マッチングですが、会社ではなぜか「DP が好きな人」と呼ばれています。 以前に動的計画法 (DP) の典型パターンを整理した記事を執筆したのですが、DP と並んで超頻出の話題として二部マッチング問題があります。二部マッチング問題とは、例えばマッチングアプリなどに見られるように、2 つのカテゴリ間で最適なマッチングを構成していく問題です。実問題で登場する二部マッチングは以下のように多岐にわたります: マッチングアプリ男女のペアを最適化する (「男」と「女」) インターネット広告分野で、ユーザの興味に合う広告を出す (「ユーザ」と「広告」) 企業検索サービスなどで、ユーザの検索履歴に合う企業を

    ‪実世界で超頻出!二部マッチング (輸送問題、ネットワークフロー問題)の解法を総整理!‬ - Qiita
    nbisco
    nbisco 2021/08/22
  • 二分探索アルゴリズムを一般化 〜 めぐる式二分探索法のススメ 〜 - Qiita

    0. はじめに 二分探索法は単純ながらも効果が大きく印象に残りやすいもので、アルゴリズム学習のスタート地点に彩られた花という感じです。二分探索というと「ソート済み配列の中から目的のものを高速に探索する」アルゴリズムを思い浮かべる方が多いと思います。巨大なサイズのデータを扱う場面の多い現代ではそれだけでも十分実用的ですが、二分探索法はもっとずっと広い適用範囲を持っています。 記事では、二分探索法のエッセンスを抽象化して、適用範囲の広い「二分探索法の一般形」を紹介します。同時に無数にある二分探索の実装方法の中でも「めぐる式二分探索」がバグりにくいと感じているので、紹介したいと思います。 注意 1: 二分探索の計算時間について 二分探索の計算時間について簡単に触れておきたいと思います。例えば「$n$ 個の要素からなるソート済み配列から目的の値を探索する」というよく知られた設定であれば、 単純な

    二分探索アルゴリズムを一般化 〜 めぐる式二分探索法のススメ 〜 - Qiita
    nbisco
    nbisco 2021/08/14
  • 新人の方によく展開している有益な情報 - Qiita

    新人の方によく展開させていただいている有益な情報をまとめておきます。今後も展開することがあるかもしれないため情報をまとめております。 あらたな、有益な情報がありましたら、随時追加してまいります。 有益な記事・論文・書籍等を執筆・紹介していただいた皆様に感謝申し上げます。 ちなみに、記事に記載されている情報は、お困りごと・お悩みごとをお聞きしたとき・気づいたときに、そのお困りごとに対して参考になりそうなものだけを展開していました。この情報を一気に展開していたわけではございません。 コードリーディングについて [1]ソースコードを読むための技術 https://i.loveruby.net/ja/misc/readingcode.html [2]派生開発推進協議会 関西部会 スペックアウトチーム,「派生開発におけるスペックアウト手法の提案」,派生開発カンファレンス2015,2015 http

    新人の方によく展開している有益な情報 - Qiita
    nbisco
    nbisco 2021/05/13
  • すべての開発者へ。すごい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
    nbisco
    nbisco 2021/05/04
  • go-ginでサクッとRESTAPIを構築する - Qiita

    package main import "github.com/gin-gonic/gin" func main() { r := gin.Default() r.GET("/ping", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "pong", }) }) r.Run() // listen and serve on 0.0.0.0:8080 }

    go-ginでサクッとRESTAPIを構築する - Qiita
    nbisco
    nbisco 2021/05/03
  • アルゴリズム・AtCoder のための数学【前編:数学的知識編①】 - Qiita

    こんにちは、大学 1 年生になったばかりの E869120 です。 私は競技プログラミング趣味で、AtCoder や日情報オリンピックなどに出場しています。ちなみに、2021 年 4 月 7 日現在、AtCoder では赤(レッドコーダー)です。 記事では、アルゴリズムの学習や競技プログラミングで使える数学的な部分を総整理し、それらについて解説したいと思います。前編・中編では数学的知識、後編(2021/4/26 公開予定)では数学的考察の側面から書いていきます。 【シリーズ】 アルゴリズム・AtCoder のための数学【前編:数学的知識編①】 ← 記事 アルゴリズム・AtCoder のための数学【中編:数学的知識編②】 アルゴリズム・AtCoder のための数学【後編:数学的考察編】 1. はじめに 21 世紀も中盤に入り、情報化社会(いわゆる「IT 化」)が急激に進行していく中、

    アルゴリズム・AtCoder のための数学【前編:数学的知識編①】 - Qiita
    nbisco
    nbisco 2021/04/08
  • lit-html 入門と lit-html だけで作る Todo アプリ - Qiita

    lit-html v1.0.0 がつい先日リリースされたようです。とてもよいですね。 背景 lit-html ではテンプレートから DOM の生成と更新ができるので、これだけで Web アプリを作ることができそうな感じがしますが、どこを見ても LitElement を使おうというものばかりで、lit-html だけでやる例が無かったのでやってみました。 できたもの よくあるやつです。 live demo github.com/ryohey/lit-html-todo Todo はテキストボックスとリスト表示がある最低限の構成になってちょうどいいですね。 コンポーネントの定義

    lit-html 入門と lit-html だけで作る Todo アプリ - Qiita
    nbisco
    nbisco 2021/03/15
  • 拡張ユークリッドの互除法 〜 一次不定方程式 ax + by = c の解き方 〜 - Qiita

    NTT データ数理システムでアルゴリズムの探求をしている大槻 (通称、けんちょん) です。好きなアルゴリズムは二部マッチングです。今回は、歴史の記録に残る最古のアルゴリズムの 1 つとして知られるユークリッドの互除法について書きます。 ユークリッドの互除法は、最大公約数を求めたり、一次不定方程式 $ax + by = c$ に応用したりなど、大学受験でもお馴染みのアルゴリズムですが、整数論的アルゴリズムや数え上げアルゴリズムにおいて根幹を成す重要なものでもあります。 今回の記事では特に、一次不定方程式 $ax + by = c$ の整数解を一般に求めるアルゴリズムとして知られる「拡張ユークリッドの互除法」の理解を目指します。 1. ユークリッドの互除法とは ユークリッドの互除法は、2 つの整数 $a$, $b$ の最大公約数を効率よく求めるアルゴリズムです。記事では $a$ と $b$

    拡張ユークリッドの互除法 〜 一次不定方程式 ax + by = c の解き方 〜 - Qiita
    nbisco
    nbisco 2021/02/27
  • leetcode時代の外資コーディング面接対策 - Qiita

    GAFAMとかFAANGとかいわれるような企業群、あるいはそれに近い傾向(東京であればおそらくIndeedとかPFNとか)のソフトウェアエンジニア面接対策についてメモを残す。 コーディング面接とleetcode 外資IT企業ではソフトウェアエンジニアを雇う際にコーディング面接を非常に重視する。 業務上のコーディングよりは簡単めのプログラミングコンテスト問題に近く、アメリカの学生やエンジニアIT企業を受ける際には事前対策を数ヶ月するのが常識になっているようだ。 一般的な面接プロセスについては世界で闘うプログラミング力を鍛えるというに詳しいが、ソフトウェアエンジニアとしてオファーを得るまでには通常、45~60分程度のコーディング面接を3~5セッション程度経ることになる。 ここ数年、leetcode.comというコーディング面接の過去問サイトが広く候補者に使われるようになっている。 201

    leetcode時代の外資コーディング面接対策 - Qiita
    nbisco
    nbisco 2021/01/10
  • Playwrightも知らないで開発してる君たちへ - Qiita

    重要なのはここで、 pw.webkit.launch() とするか pw.chromium.launch() とするかで 起動するブラウザが変わるだけです。 デバイスの設定も簡単 pw.devices に主な端末のviewport, UAの情報がまとめられています。 デバイスのリスト: https://github.com/microsoft/playwright/blob/master/src/deviceDescriptors.ts const pw = require('playwright'); // iPhone11のデバイス情報を取得 const iPhone11 = pw.devices['iPhone 11 Pro']; (async () => { const browser = await pw.webkit.launch(); const context = awai

    Playwrightも知らないで開発してる君たちへ - Qiita
    nbisco
    nbisco 2020/12/14
  • Jenkins生みの親、川口さんが立ち上げたLaunchableのWebinarを聞いてきた - Qiita

    もうすでにご存じの方も多いと思いますが、Jenkins開発者の川口さんは、現在Jenkins関連のサービスを展開しているCloudbeesの一線を退き、新たなスタートアップであるLaunchableを立ち上げておられます。 今日(日時間8月7日 午前2時)に、そのWebinarがあったので、聞いてみました。 そもそもLaunchable は何を売っているのか もともとの川口さんのBlogなどでは、機械学習とテストを組み合わせた事業を行う、ということのみが語られていましたが、その後の詳細については、実はすでにPublickeyでの既報があります。 ソフトウェアテストの実行を機械学習で効率化する。Jenkins作者の川口氏が立ち上げた「Launchable」で実現しようとしていることとは 機械学習xテスト で思いつきやすいのが、テストの生成やメンテナンスそのものを(半)自動化してくれるような

    Jenkins生みの親、川口さんが立ち上げたLaunchableのWebinarを聞いてきた - Qiita
    nbisco
    nbisco 2020/12/13
  • Linuxカーネルビルド大全 - Qiita

    はじめに (記事は Linux Advent Calendar 2020 および 東京大学 品川研究室 Advent Calendar 2020の11日目の記事として書かれました。) カーネルのビルドについての情報はググると色々と出てきますが、「ここを見ればOK」と思えるサイトに巡り会えていないので、自分で書いてみることにしたのが記事です。 いずれLinuxカーネルをビルドする必要にかられるであろう研究室・学科の後輩や、忘れっぽい将来の自分のためにも、改めてLinuxカーネルのビルド方法についてまとめてみたいと思います。 概要 さて、「カーネルをビルドしよう」という状況に置かれた場合、実際にすべきことは主に以下の4点だと思います。 ソースコードの取得 ビルド環境の構築 カーネルコンフィグの準備 ビルド及びインストール そこで記事では、カーネル体のビルド上記の4点の他、関連して以下の

    Linuxカーネルビルド大全 - Qiita
    nbisco
    nbisco 2020/12/11