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

  • 【保存版】データサイエンティスト転職を決めるポートフォリオのガイドライン【書籍化決定】 - Qiita

    書籍化されました 記事をベースに監修者の村上さんが1冊のにまとめてくれました(感謝) データサイエンティストのキャリア面やポートフォリオの細かい部分をさらに追加・ブラッシュアップした内容になっています。 まえがき はじめに 皆さん、「データサイエンティスト」という職種をご存知でしょうか? この数年間で、AIやディープラーニングといったバズワードと共にデータサイエンティストというワードも、よく耳にするようになりました。最新の技術を扱えて、年収も高い非常に魅力的な職業なため、データサイエンティストへの転職を検討されている方もいらっしゃるのではないでしょうか? 実際、データサイエンティスト職への就職・転職希望者は年々増加しています。しかし、未経験の人材を育成できる会社はまだまだ少なく、未経験からの転職転職希望者の増加に伴い高まっています。 データサイエンティストは求められるスキルの幅が広く

    【保存版】データサイエンティスト転職を決めるポートフォリオのガイドライン【書籍化決定】 - Qiita
  • 僕「PDFとは何か知りたい」 - Qiita

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

    僕「PDFとは何か知りたい」 - Qiita
  • Next.js 4年目の知見:SSRはもう古い、VercelにAPIサーバを置くな - Qiita

    Next.js by Vercel - The React Framework 画像は Next.js サイコー!っていう顔です。 Webフロントエンドエンジニアであれば、「Reactのフレームワーク」と聞いて真っ先に思いつくであろうNext.js。僕は小規模の趣味開発から中規模の業務まで、4年程度Next.jsを使い続けてきました。触りはじめの当時はバージョン4で、”SSR(Server-side Rendering)を提供するReact製フレームワーク”だったものが、執筆時時点の最新バージョン(10.0.1)ではガラッと異なるフレームワークへと進化しています。 この4年間は実務で利用するだけでなく、新しいものや廃止された機能、RFC止まりになった機能など、Next.jsに関する情報を追いかけており、ある程度の知見をためつつも、Next.js並びに開発元のVercelが目指す方向性を何と

    Next.js 4年目の知見:SSRはもう古い、VercelにAPIサーバを置くな - Qiita
  • Goで開発していたが、途中でPythonに切り替えた件を振り返る。 - Qiita

    イントロダクション 目下、開発中のプロダクトなので詳しいことは書けないのですが、いろいろと気付きの多い出来事だったので、 少し自分自信の振り返りも兼ねて、投稿してみたいと思います。 これは、決してGoよりPythonのほうが優れているとかそういった話ではないです。 今回、自分は開発者というよりプロジェクトマネージャー(以降、PM)という立場になります。 Goの採用 当社のコア技術Pythonなのですが、今回、開発にあたってGoを採用していました。 主な採用理由としては、「プロトコルとしてgRPCを採用するにあたって、gRPCとの組み合わせ事例が多い」からでした。 gRPCの採用理由は、「同時に企画されていた別プロダクト(Python)との連携が想定されており、異なるプログラミング言語間でも型を維持したままデータ交換が可能」なことからでした。 当初は、プロダクトのリリース時期も未定でプロト

    Goで開発していたが、途中でPythonに切り替えた件を振り返る。 - Qiita
    igatea
    igatea 2020/10/24
  • ユニットテストの心得 - Qiita

    前置き ユニットテスト(≒テストコード)は開発のペースや品質に安定をもたらします。 しかし、テストコードを書くこと自体にもコストがかかり、また下手なテストコードは保守性や開発ペースを下げてしまいます。ここではテストコードのメリットがデメリットを上回る様、うまくテストを書くための心得を3つにまとめてみましたので紹介します。 さっそく心得 ひとつ、良いテストを知るべし。 ひとつ、書くべきテスト、書くべきでないテストを見極めるべし。 ひとつ、テストを起点にコードを書くべし。 良いテストの状態とは 次のような状態を目指す、維持することが良いとされています。 すぐにテスト結果を得られること(Fast) わかりやすいこと(Clean) 頼れる、信用できること(Confidence) 実装がテストに縛られないこと(Freedom) すぐにテスト結果を得られること(Fast) 実行時間が長いと開発ペースが

    ユニットテストの心得 - Qiita
    igatea
    igatea 2020/10/22
  • Go言語で幸せになれる10のテクニック - Qiita

    はじめに Go近辺を徘徊していて見つけたブログポスト。 Ten Useful Techniques in Go Goな方々には常識なのかも知れないけど、Go初心者の私にとっては面白かったのでちょっとまとめてみる。 紹介されているのは以下の10個の項目。 Use a single GOPATH Wrap for-select idiom to a function Use tagged literals for struct initializations Split struct initializations into multiple lines Add String() method for integers const values Start iota with a +1 increment Return function calls Convert slices,maps,et

    Go言語で幸せになれる10のテクニック - Qiita
    igatea
    igatea 2020/09/25
  • Goのtimeパッケージのリファレンスタイム(2006年1月2日)は何の日? - Qiita

    Goのtimeパッケージのフォーマットは独特だ。普通のUnixのstrftimeとかだとフォーマット文字列は%Yとか%mといった文字列なのだけど、Goの場合はそのかわりにある種の「サンプル文字列」を与えるという仕組みになっている。 たとえば次の文字列はGoでは時刻の正しいフォーマット文字列だ。 %Y(年)の代わりに"2006"、%b(月の名前)の代わりに"Jan"と書くといったルールになっている。"%Y-%m-%d"の代わりに"2006-01-02"と書くのは見た目にわかりやすいといえばわかりやすいが、"2006年1月2日15時04分05秒"以外の時刻は正しいフォーマット文字列としては認識されない。2006の代わりに2007とか書いても意味がない。 では一体この2006年1月2日という特別な日は、なんの日なのか? 最初は1970年1月1日(エポック)から特定の時間が経過した日だとか、あるい

    Goのtimeパッケージのリファレンスタイム(2006年1月2日)は何の日? - Qiita
    igatea
    igatea 2020/09/24
  • SQL記述者全員が理解すべきSELECT文の論理的な処理順序のお話 - Qiita

    2020/9/30追記 記事は元々、「SQL記述者全員が理解すべきSELECT文の実行順序のお話」というタイトルで投稿しておりました。 しかし、知見のある方からのコメントと自分でも調べてみた結果、今回紹介している順序はあくまで論理的な処理順序であり、実行順序とは別物ということがわかりました。 誤った知識を布教してしまい申し訳ございません。 2020/9/30のタイミングで、記事のタイトルを「SQL記述者全員が理解すべきSELECT文の論理的な処理順序のお話」に変更させていただきました。 はじめに 「SQLといえば、エンジニアが扱うスキル」と思われがちですが、最近はマーケターや営業など、非エンジニアの方もSQLを使って、自らデータを抽出し分析する方が増えてきています。 またエンジニアの方でも、ORM任せでなんとなく理解している状態の方もいるのではないでしょうか? 今回は、そんな方々にこそ

    SQL記述者全員が理解すべきSELECT文の論理的な処理順序のお話 - Qiita
    igatea
    igatea 2020/09/23
  • Goで開発していたが、途中でPythonに切り替えた件を振り返る。 - Qiita

    イントロダクション 目下、開発中のプロダクトなので詳しいことは書けないのですが、いろいろと気付きの多い出来事だったので、 少し自分自信の振り返りも兼ねて、投稿してみたいと思います。 これは、決してGoよりPythonのほうが優れているとかそういった話ではないです。 今回、自分は開発者というよりプロジェクトマネージャー(以降、PM)という立場になります。 Goの採用 当社のコア技術Pythonなのですが、今回、開発にあたってGoを採用していました。 主な採用理由としては、「プロトコルとしてgRPCを採用するにあたって、gRPCとの組み合わせ事例が多い」からでした。 gRPCの採用理由は、「同時に企画されていた別プロダクト(Python)との連携が想定されており、異なるプログラミング言語間でも型を維持したままデータ交換が可能」なことからでした。 当初は、プロダクトのリリース時期も未定でプロト

    Goで開発していたが、途中でPythonに切り替えた件を振り返る。 - Qiita
    igatea
    igatea 2020/08/30
  • 1年以上かけて生産性倍増+成長し続けるチームになった施策を全部公開 - Qiita

    1. はじめに 稿は、私が1年以上の期間をかけて、成長し続けるチームに変わることができた施策を紹介します。 稿は長文なので、忙しい人は太字だけを拾い読みして、興味をもった施策だけを詳しく読んでいただければと思います。 なお、稿の内容で「Developers Summit 2020 KANSAI」というカンファレンスで発表した結果、ベストスピーカー賞1位をいただきました。発表を視聴してくださった方々に感謝しております。 発表資料と発表動画はコチラ 2. 施策の効果 私の開発チームは当初(1年と数ヶ月前)は、以下の状態でした。 あまり積極的に今のやり方を変えようと思っていないチーム メンバーは、中堅(私)が1名と入社2年目と3年目の3人(後に新人が配属して途中から4名に) 全員、技術記事を書いたことがない 全員、社外の勉強会などのイベントに参加したことがない 全員、開発知識は、業務で教え

    1年以上かけて生産性倍増+成長し続けるチームになった施策を全部公開 - Qiita
  • 【AtCoder】普通の人である私が緑になるまでにしたこと - Qiita

    こんにちは、Kotaです。 ご閲覧いただきありがとうございます! 昨日開催されましたAtCoder Beginner Contest 176でレーティングが緑になりました! ついに!入緑しました!!! ここまで長かったのでめちゃくちゃ嬉しい😄 kota0501さんのAtCoder Beginner Contest 176での成績:1754位 パフォーマンス:1241相当 レーティング:754→815 (+61) :) Highestを更新し、6 級になりました!#AtCoder #ABC176 https://t.co/ONTPDcUzzV pic.twitter.com/jQKX7gwBsa — Kota (@kota0501_orca) August 22, 2020 要約 競プロ開始してから7ヶ月弱で緑になったよ! この界隈は人外な人が多いよ!(人外についての説明は記事内で!) だ

    【AtCoder】普通の人である私が緑になるまでにしたこと - Qiita
    igatea
    igatea 2020/08/24
  • データベースオブジェクトの命名規約 - Qiita

    DB設計によく携わっていた頃に多くのプロジェクトで共通で規定されていた規約をまとめてみました。 ここでは オブジェクト として以下のものを対象としています。 (カラムはテーブルの一部ではありますが、別で切りだしています。) テーブル カラム インデックス 制約 1.全般 大文字を利用しない テーブル名、カラム名ともに大文字を利用しない。 (DBにより大文字小文字を区別するもの、しないものなどがあるため小文字で統一を図る) 名前 OK/NG

    データベースオブジェクトの命名規約 - Qiita
  • 【MySQL】照合順序とは? - Qiita

    照合順序(collations )が違うためSQLjoinで失敗。 これを機会に照合順序について調べてみる。 SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '=' MySQLは文字コードとソート順を持っていて、ソート順の部分がCollationとよばれている。(文字コードの部分はCharacter Set) 比較するときには文字コードだけでなくてCollationが一致するかどうかを比較する(順序が合わないと比較できない)。 ので、JOINしようとするとエラーになる。 DB単位、テーブル単位、カラム単位で設定可能。 照合順序の意味 例えば cp932_japanese

    【MySQL】照合順序とは? - Qiita
    igatea
    igatea 2020/08/22
  • RESTful APIのURI設計(エンドポイント設計) - Qiita

    RESTful APIのリソース設計で述べた通り、何をリソースとするかを決めたらそのリソースを識別するURIを検討する必要がある。 エンドポイントとは何か エンドポイントとはAPIにアクセスするためのURIのこと。例えば、QiitaのAPIで自分の情報を取得する時のエンドポイントは以下となる。 http://qiita.com/api/v2/users/nagaokakenichi 似たような言葉に「エントリポイント」というものがある。エントリポイントとはプログラムやサブルーチンの実行を開始する場所のこと。 Qiita視点で考えると、 http://qiita.com/api/v2/users/nagaokakenichi を参照されることでプログラムが開始されるので、Qiitaからすると上記URIはエントリポイントとなる。 つまり、エンドポイントはAPIにアクセスする側からの、エントリポ

    RESTful APIのURI設計(エンドポイント設計) - Qiita
  • このWeb APIってCSRF対策出来てますか?って質問にこたえよう - Qiita

    前文 時々、このWeb APIってCSRF対策出来てますか?とか そのCSRF対策ってなんで安全なんですか?とか、そういう質問を友人・知人・同僚から受けます。 その質問に対して、都度回答をしているのですが、改めて記事としてまとめようかな、というのがこの記事です。 もし私の認識に穴・誤りがありましたら、ぜひ指摘お願いします。 前提事項 この記事中では、CSRF対策のみにフォーカスします。 そのため、以下はスコープ外です(無駄な議論回避のための前提事項です)。 セキュリティに銀の弾丸などないので、複数の脆弱性対策を組み合わせて、安全に行きましょう。 XSS脆弱性により、CSRFが可能である ブラウザの脆弱性により、CSRFが可能である XXXの脆弱性により、CSRFが可能である 前提知識 CSRF対策について語る上で必要な知識はいくつかありますが、この記事では以下の知識を前提に扱います。 ご存

    このWeb APIってCSRF対策出来てますか?って質問にこたえよう - Qiita
    igatea
    igatea 2020/08/19
  • Windowsのタスクバーでもネコ走らせてみた🐈 - Qiita

    はじめに みなさまはMacのメニューバーでネコを飼うRunCatというアプリをご存知でしょうか?CPU負荷に合わせて走る速度の変わるネコをメニューバー上に表示するだけというしょうもないアプリですが、現在では世界累計45,000ダウンロードを突破し、多くのみなさまに可愛がってもらえる定番アプリとなりつつあります。はじめは悪戯心で作成したジョークアプリが、思いもよらず高評価をいただけており大変嬉しいです。 一方で、Windows版がほしいとの声もちらほら聞こえるようになり、Windows版の模倣アプリも作られつつあることを知りました。そこで、ちゃんと家からWindows版も出したいなぁと思い立ったが吉日ということで、格安でThinkPadを仕入れてWindowsアプリ開発に初挑戦してみました。 成果物 RunCat for Windows Windowsのタスクバー上に常駐し、CPU負荷に応

    Windowsのタスクバーでもネコ走らせてみた🐈 - Qiita
    igatea
    igatea 2020/08/16
  • 【JS/ Python両方OK!】「データ可視化」が歴史から実装まで体系的に学べるStanford講座の独習ノート - Qiita

    【JS/ Python両方OK!】「データ可視化」が歴史から実装まで体系的に学べるStanford講座の独習ノートJavaScriptd3.jsデータ分析データサイエンスcolaboratory CS 448B Visualization (2020 Winter)は、Maneesh Agrawala氏による、Stanford大で行われた、データの可視化に関する体系的な講義です。 スタンフォード大の"CS 448B Visualization (2020 Winter)" がすごい。 データ可視化の体系的講義。どう図表に変換するかの理論、探索的データ分析、ネットワーク分析等の実践と盛り沢山。 スライドに加え、Observable(JavaScript), Colab(Python)どちらでも例を試せる。https://t.co/lGyPElrihg pic.twitter.com/mWZn

    【JS/ Python両方OK!】「データ可視化」が歴史から実装まで体系的に学べるStanford講座の独習ノート - Qiita
  • 【Linux】インフラエンジニアの僕が「hostname」コマンドを使わない理由とは? - Qiita

    はじめに Linuxの運用監視~設計構築迄経験している僕が、「hostname」コマンドを基的に使わない理由について書いていきたいと思います。 今回の対象OS Linux系OS全般(RHEL/CentOS/Solaris等) そもそも「hostname」コマンドとは? Linux系OSのホスト名を確認するコマンドになります。 使い方は、こんな感じになります。

    【Linux】インフラエンジニアの僕が「hostname」コマンドを使わない理由とは? - Qiita
    igatea
    igatea 2020/08/10
  • C# 9.0 で条件式が革命を起こす - Qiita

    何が嬉しいかと言うと、i の評価が一回で済むところです。二番目のコードをよく見てください。i が一回しか書かれていませんよね? 評価が一回で済むということは、変数だけではなく、副作用を持つ関数などにも使えるということです。

    C# 9.0 で条件式が革命を起こす - Qiita
    igatea
    igatea 2020/08/10
  • スタートアップである弊社が全員ほぼ未経験でRuby on RailsをScalaに移行した理由、その効果と苦労点 - Qiita

    スタートアップである弊社が全員ほぼ未経験でRuby on RailsScalaに移行した理由、その効果と苦労点RubyRailsScalaポエムスタートアップ この記事を書くに至った経緯 僕が代表をしている株式会社KOSKAでは製造業の原価管理をIoTで自動化するGenkanというサービスを提供しております。 そんな弊社では半年前、バックエンドをRuby on RailsからScalaに移行したのですが、その効果が思ったよりだいぶ大きく、いずれこの効果を共有したいなーと思っていました。 弊社ではスタートアップで全員ほぼ未経験状態のScalaを採用するという挑戦をした結果、「Scalaを書きたい」というレベルの高い人材をかなりの確率で捕まえられるようになり、開発がものすごい加速した上に堅牢になったのでそのうちスタートアップでScalaを採用するメリットを記事にする予定。 https://t

    スタートアップである弊社が全員ほぼ未経験でRuby on RailsをScalaに移行した理由、その効果と苦労点 - Qiita