はじめに 皆さんPythonでプログラミングしてますか? Pythonの基本的な文法はある程度理解したけど、もう一歩詳しくなりたい、という方のために、中級的なテクニックや書き方について解説します。 この記事をマスターすれば、あなたも明日からPython中級者になれるかも? では、始めましょう。 変数の代入について Pythonでは、複数の変数の定義を1行で行うことが可能です。 普通に代入した場合:
今年から、できるだけシェルスクリプトを書くのをやめようとしている。私が毎日 zsh に打ち込んでいるのも広義のシェルスクリプトだし、自分用の雑なスクリプトを書くことはあるけれど、チームの他の人も将来に使ったり改変したりするようなものは、なるだけ他の言語を使っている。 シェルスクリプトを書くのは難しいし、その難しさは、学ぶに値しないといったら言い過ぎかもしれないけれど、2021年に初心者が取り組むべき問題とは言い難いと思う。 シェルは悪いプログラミング言語である Bash Strict Mode とかを使ってみても、シェルスクリプトには落とし穴が多すぎる。自分で書いたものを自分で使っている分には大丈夫なのだけど、スクリプトがチーム内で使われるようになると、考慮していなかったところ、例えばファイル名に空白文字が含まれるとか、そういうレベルの微妙なところで、ちゃんと書かれていないスクリプトは壊れ
Progateを一度やった程度のプログラミング初心者ですが、 何かWebアプリケーションを作りたいなぁと思い、Flaskを学ぶついでに サイゼリヤのメニューから1000円以内で組合せを出してくれるガチャを作りました。 2022.10.31 追記 Heroku有料化に伴い、以下をお知らせ致します。 LINE Bot版 サービス終了 Web版 旧アドレス(herokuapp.com)からのリダイレクト停止 2019.5.10 追記 Twitterで紹介頂いたようで、たくさんの方から反応を頂いていてびっくりしております! メニューが古いままだと、何かと店舗側にもご迷惑をおかけしそうだったので、 本日時点でのグランドメニューに更新させていただきました。 非公式であることをご了承の上、店舗ではマナーを守って楽しんで頂ければ本望です! (たくさん注文して食べ残す・・・などが起こらないことを祈ってます)
Netflix Tech BlogのgRPC APIに関する以下の2つの記事に感銘を受けたので、ここにその概要を日本語で記します。 (めんどくさかったので)翻訳の許可は取ってませんが、再構成してますし元のJavaではなくPythonで書き直していますので、容赦して下さい… Practical API Design at Netflix, Part 1: Using Protobuf FieldMaskPractical API Design at Netflix, Part 2: Protobuf FieldMask for Mutation OperationsまとめgRPCでは、FieldMaskをうまく使うことで、必要な情報だけ取得したりあるいは与えたりしたりできまっせ第一部まずField Maskをどのように使うかを述べています。 背景Remote Callというものは、そもそもコ
こんにちは、鈴木です。 20 万行を超えるアプリケーションのほとんど全てのソースコードを変更し、テストを行わずに本番リリースしました。 「それってテストいるんですか?」問題 いきなりですが質問です。ソースコードを 1 バイトでも変更したら再テストする必要はあるでしょうか。「絶対に再テストすべき」という方もいれば、「状況によるしケースバイケースかな・・」という方もいらっしゃると思います。 ケースバイケースと考える方は、どのような場合にテストを行わなくて良いと考えるでしょうか。例えば、コメント内の誤字を修正した場合はどうでしょうか。ローカル変数の名前を typo していたので修正した場合、デッドコードを削除した場合はどうでしょうか。 こんなことがありました ある日、Python のソースコードを眺めていると、「# $Id」のような CVS 時代のコメントがありました。いまやソースコードは Gi
機械学習, データサイエンスを志向してPythonを勉強したり,この辺のエントリーで本を読み漁ったりすると*1, もしかして, 私の仕事ってプログラミングで楽になるのでは!? と気がつく(もしくはそういう記事・本を読んで触発される)瞬間があるかと思います, この本とかあの本とか. このエントリーではそんな素晴らしい学び*2に対して,一つの回答を示してみたいと思います. TL;DR(ここは読んでほしい) プログラミングで解決できる「退屈なこと」とは「回数が多く, 属人性が少ない」作業のことである. 属人性がある仕事はプログラミングをする前に因数分解しよう or 「仕事ごっこ」だったらやめる努力をしよう. Pythonで「退屈なこと」をやるなら,「退屈なことはPythonにやらせよう」もいいですが,「できる仕事がはかどるPython自動処理 全部入り。」が個人的にはおすすめです. 言いたいこと
PDFは扱いにくい PDFファイルをPythonで扱うのは大変です。 表がPDFの中に埋め込まれているケースも割とあります。 例えば 平成30年 全衛連ストレスチェックサービス実施結果報告書の中にはたくさんの表データが埋め込まれています。 例えばファイルの40ページの【表14 業種別高ストレス者の割合】を抜き出したいと思ったとします。 この表を選択して、Excelにコピペしてみましょう。 コピーして、Excelに貼り付けます。 おや?うまくいかないですね。 1つのセルの中に、全部のデータが羅列されてしまっています。 実はPythonを使ってこのPDF中の表を比較的簡単にcsvやExcelに変換することができます。 PythonでPDFの表をcsvに PythonでPDF内の表(テーブル)をcsvやexcelに変換する手順は2ステップです。 ステップ1. PDFから表をpandasのData
この記事は Python その2 Advent Calendar 2018 - Qiita の1日目です。 responderとは GitHub - kennethreitz/responder: a familiar HTTP Service Framework for Python 2018年10月に公開された イケてるPython WebFramework です。 requestsやpipenvなどの開発者である Kenneth Reitz が(おそらく)今年のHacktoberfest 2018 - DigitalOcean 用に開発したものだと思われます。 GitHubのタグを見ると(Topic: hacktoberfest2018 · GitHub )、hacktoberfestで2位 今年10月に公開されたのに関わらず既にStarが2000以上付いており、かなり勢いがあります
Hacker NewsとRedditでバズっていたPythonのデバッグツールが便利だったので紹介です! PySnooperというライブラリです。 Hacker News - PySnooper: Never use print for debugging again Reddit - PySnooper: Never use print for debugging again ※追記 想像以上にたくさんの方に読んでいただき、printデバッグなど他のデバッグ方法との比較について追記として文末に補足しました。釣りタイトルですみませんでした…🙇 何ができるライブラリか 一言で言うと「デバッグがめちゃくちゃ簡単にできるライブラリ」です。 github.com 例を見たほうがわかりやすいと思うので見てみましょう。 インストールは pip で行えます。 pip install pysnooper
Pythonの勉強をしています 今年の2月29日「PyCon Mini Shizuoka」というイベントでキーノートスピーカーとして登壇予定です(詳細は以下参照下さい)。 キーノートスピーカーを引き受けたものの。よく考えると、私はPythonがあんまり分かっていません。「これは、幾ら何でもまずいのでは?」というお気持ちになりました。そこで、今年の年末年始を中心にPythonの本をいくつか読んで、PyConの議論についていけるように、少しでもPythonへの理解を深めておくことにしました。 学んだことは、折角なので以下のQiita記事にまとめていきます(随時追加中)。 この記事では、学習に使用した本と、簡単な感想を書いてみます。興味ある方は参考にしてみて下さい。 私のブログから買うのが嫌だ!という人は、タイトルをコピーしてAmazonで検索してもらえば大丈夫ですし、もちろん買わなくても大丈夫
AWSによるクラウド入門 少し前に話題になっていた東京大学の講義資料をやってみたので、内容、感想などメモ。 講義で使用するソースコードはすべて Python で書かれていますが、自分が実際に使うとしたら TypeScript で書くだろうなと思ったので TypeScript で写経しました。 が、CDK のコードはすべて TypeScript で書けましたが、Lambda 関数や動作確認用のスクリプトなどを全て置き換えるところまでは至らず、Python のままです。 写経したリポジトリは https://github.com/zaki-yama-labs/intro-aws に。 学べること 本講義資料には全部で5つのハンズオンがあります。 各ハンズオンで利用する AWS のサービスについては以下の通り。 全般 AWS CDK: Cloud Development Kit CloudFor
PHPとPythonとRubyの連想配列のデータ構造がそれぞれ4〜5年ほど前に見直され、ベンチマークテストによっては倍以上速くなったということがありました。具体的には以下のバージョンで実装の大変更がありました。 PHP 7.0.0 HashTable高速化 (2015/11) Python 3.6.0 dictobject高速化 (2016/12) Ruby 2.4.0 st_table高速化 (2016/12) これらのデータ構造はユーザーの利用する連想配列だけでなく言語のコアでも利用されているので、言語全体の性能改善に貢献しています1。 スクリプト言語3つが同時期に同じデータ構造の改善に取り組んだだけでも面白い現象ですが、さらに面白いことに各実装の方針は非常に似ています。独立に改善に取り組んだのに同じ結論に至ったとすれば興味深い偶然と言えるでしょう2。 本稿では3言語の連想配列の従来実
(編注:2020/08/18、いただいたフィードバックをもとに記事を修正いたしました。) Pythonは高い人気を誇り、DevOps、データサイエンス、Web開発、セキュリティの分野で使われています。 しかし、速度に関しては高い評価が全くありません。 JavaとC、C++、C#、Pythonの速度を比べるには、どうしたらいいのでしょう? 答えは、実行するアプリケーションのタイプに大きく左右されます。完璧なベンチマークはありませんが、[手始めに比べる手段](https://algs4.cs.princeton.edu/faq/)としてはThe Computer Language Benchmarks Gameが適しています。 私は10年ほどthe Computer Language Benchmarks Gameを参照していますが、Java、C#、Go、JavaScript、C++などの他言
コレステロールは最低摂取基準量はないので0としています(実はこれが伏線になっている)。 そして目的は、一日必要な栄養素を満たす最もカロリーの低い商品の組み合わせとします。金に糸目はつけません。健康第一! 解く 商品の数が96個、栄養素の数が16個なので、とても人間の手では解けません。そこでコンピューターの力を借ります。幸いPuLPというPythonで無料で利用できるソルバーがあるので、これで計算します。ちなみにExcelにもソルバーが搭載されていますが、この程度の数の決定変数でもエラーになって計算できませんでした。 # Import PuLP modeler functions from pulp import * # A new LP problem prob = LpProblem(name="mac", sense=LpMinimize) # Variables AA = LpVar
↓新作もよろしくやで! ジェネリクスをもう少しだけ使いこなす。 コロナウィルス対策でリモートワークしてみたらReduxやVuexのメリットが分かった 36歳ザコーダーの休日 ワイ「何やこのコード、全然動かへんやん」 ワイ「怖いな~怖いな~…なんか嫌だなあ~」 よめ太郎「(何で自分が書いたコード見て稲川淳二みたいに怯えとんねん・・・)」 よめ太郎「(そんな鳥肌立つようなクソコード書いてんのかいな・・・)」 娘(4歳)「ねぇ、パパ」 ワイ「なんや、娘ちゃん」 娘「ちょっと、作ってほしい関数があるの」 ワイ「またかいな」 ワイ「娘ちゃんはホンマに関数が大好きやなぁ」 ワイ「しゃあない、パパはプログラミング苦手やけど、頑張って作ったるわ」 娘「ありがとう、パパ」 今回の要件 ワイ「ほんで、今回はどんな関数を作ればええんや?」 娘「えっとね」 娘「'あ'という文字列を渡したら」 娘「['あ', 'あ
@rana_kualuさんの2018年の最先端バックエンドエンジニアになろうという翻訳記事がとても興味深かったのですが、記事内で提示されているロードマップに関して微妙に違和感を感じる部分もありましたので、 記事に記載されているスキルは現場でどの程度必要なのか 記事に記載されていないが現場において重要なスキルは何か といった辺りを、自分なりの意見を交えてちょっと書き出してみました。 自分をエンジニアとして最先端だとは全く思っていないのですが、最近のバックエンドのトレンドに一応多少なりともきちんとキャッチアップしてるかなとは思うので、若い方や、まだ経験の短いエンジニアの方たちのご参考になりましたら幸いです。 言語 ロードマップに記載されていた言語のうち、私は一応 Elixir Scala Java .NET (C#とVB.NET) Python Ruby PHP TypeScript Gola
こんにちは。 決定木の可視化といえば、正直scikit-learnとgraphvizを使うやつしかやったことがなかったのですが、先日以下の記事をみて衝撃を受けました。そこで今回は、以下の解説記事中で紹介されていたライブラリ「dtreeviz」についてまとめます。 explained.ai dtreevizの概要 dtreevizとは より良い決定木の可視化を目指して作られたライブラリです。 解説記事 : How to visualize decision trees Github : GitHub - parrt/dtreeviz: A python machine learning library for structured data. Sample Imagesdtreeviz/testing/samples at master · parrt/dtreeviz · GitHub 多
Pythonでコードを書くときのGood/Badプラクティス こちらの記事は、DuomlyによりDev.to上で公開された『 Good and Bad Practices of Coding in Python 』の邦訳版です(原著者から許可を得た上での公開です) 元記事:Good and Bad Practices of Coding in Python ※ 記事の内容に注意すべき点と誤りがあるので、詳しくは注釈まで目を通すことをおすすめします。 (以下、翻訳した本文) この記事は元々 https://www.blog.duomly.com/good-and-bad-practices-of-coding-in-python/ に公開されたものです。 Pythonは可読性を重視した高水準のマルチパラダイムプログラミング言語です。Pythonは、「Pythonの禅」、別名ではPEP 20と
マイナビ出版社様および、著者(かつ、私から見たら元同僚)の櫻井さん(このエントリーではこの後sakuさんと称す)*1のご厚意により、一冊頂戴いたしました. Dockerによるアプリケーション開発環境構築ガイド 作者: 櫻井洋一郎,村崎大輔出版社/メーカー: マイナビ出版発売日: 2018/05/29メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見る ありがとうございます! 結論から言うと、タイトルの通り プロのエンジニアを名乗って一人前に仕事するなら一冊個人なり会社なりで持っておけ!!! っていうくらい(元同僚バイアスを抜きにしても)よくできている本なので、感想(書評)と自分のDockerなお話を書きたいと思います. TL;DR Dockerはじめての人も使ってる人も「Dockerによるアプリケーション開発環境構築ガイド」は手元においておけ、それぐらい良い本だぞ! サ
こんにちは世界。このたびシェアオフィスやコワーキングスペース等で、滞在者が確認できるサービスを制作しリリースしました。既に複数のコミュニティで使用をしてもらっており、今後も広く皆さんに使ってもらおうと思ってます。 このブログでは40歳を過ぎてプログラミングを始めた顛末や、技術的な方法論の共有、備忘録、またサービスの発展や、今後行って行きたい事柄についてなるべく気軽に書いて行こうと思います。 コンセプト 誤字脱字気にしません。 事実誤認のご指摘あれば直します。 文章で議論とかはしません。 気軽に、軽めに、自分の負担にならない形で記事を書きます。 今回はサービスの概要とプログラミングを初めてからサービスをリリースするまでの経緯を書きます。 どんなアプリなのか? 任意の人がある程度自由に集まる場所で『今、誰がいるか?』が、スマホに通知され確認できるサービスです。シェアオフィスやコワーキングスペー
はじめまして。ピクシブで広告関連のプロダクトを開発しているeastです。今回は、社内で運用している広告配信サーバーの負荷テストを実施したので、その話をしたいと思います。 経緯 ピクシブの広告配信サーバーは、pixiv本体を中心に複数のサービスに対して広告配信を行なっています。現在私はこの広告配信サーバーの大規模改修を行なっているのですが、先日ついに広告配信サーバーの改修がほぼ完了したので、試しに負荷試験を行なってみたいと思い立ちました。 目標は毎秒1万リクエスト ピクシブの広告配信サーバーへのリクエスト数はDailyで 4〜6億req もあり、これは毎秒平均に直すと約 5,000RPS(Request Per Second) になります。さらに、ピークタイムである休日の深夜帯には 12,000RPS にも達します。つまり新しい広告配信サーバーにも、毎秒12,000のリクエストを捌く性能が必
自分がよく使用する日本語自然言語処理のテンプレをまとめたものです。 主に自分でコピペして使う用にまとめたものですが、みなさんのお役に立てれば幸いです。 環境はPython3系、Google Colaboratory(Ubuntu)で動作確認しています。 Pythonの標準機能とpipで容易にインストールできるライブラリに限定しています。 機械学習、ディープラーニングは出てきません!テキストデータの前処理が中心です。 前処理系 大文字小文字 日本語のテキストにも英語が出てくることはあるので。 s = "Youmou" print(s.upper()) # YOUMOU print(s.lower()) # youmou 全角半角 日本語だとこちらのほうが大事。 全角半角変換のライブラリはいくつかありますが、自分はjaconv派。 MIT Licenseで利用可能です。 import jaco
みなさんこんにちは。くにです。 データ分析の世界に足を踏み入れてから9年が過ぎました。 分析実務未経験でキャリアチェンジできたのは幸運としか言えませんが、ある意味無知だったからこそ無謀な挑戦ができたのかもしれません。この挑戦の泥臭い記録は、この記事に書きました。 ポジションは変われど、データを扱う仕事をまだ続けています。 私は実務で手を動かしつつ、不格好に失敗しながら学んできました。わからないことにぶつかるたびに本を買い、その本でわからないことがあればまた本屋に行き、自分が少しでも理解できそうな本を探して買いました。そして、気になる参考文献があれば、それも買って読んでみる…。 こんな生活を続けているうちに、部屋が本だらけになってしまいました。 正直に言って読み切ったという実感のある本はありません。しかし、実務で何かしらお世話になった本は数多くあり、そういう本は手放さずに手元に置いています。
(2019/10/12追記 データ解析のプログラムもGitHubで公開しました) (2019/10/15追記 会員の見分け方に誤りがありました。本文中では"非会員"と"有料会員"に分けると述べていますが、正確には"非会員・無料会員"と"有料会員"に分かれています。以後の図・文章は脳内で変換していただけると幸いです。詳細は https://anond.hatelabo.jp/20191011180237 で他の方が調べてくださっています) はじめに この記事は、藍屋えん氏( @u874072e )の以下のブログに触発されて、個人的に行った一連のデータ解析をまとめたものです。 clean-copy-of-onenote.hatenablog.com 上のブログでは、食べログ3.8問題と称される問題、 「評価3.8以上の店舗は年会費を払わなければ評価を3.6に下げられる」 との説を食べログの店舗
みなさんはHomebrewをお使いでしょうか。macOSをお使いの多くの開発者が使っていると思います。 HomebrewのインストーラーはRubyで書かれており、次のコマンドでインストールするようになっていました。 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" HomebrewがRubyに依存していることは良いのですが (formulaの書きやすさはRubyならでは)、インストーラーの話になると事情が変わってきます。HomebrewのインストールコマンドはmacOSの工場出荷状態でも動く必要があります。こういうものにRubyを使っているのはリスクがあります。 将来的にmacOSデフォルトにRubyやPythonが含まれなくなる (参考リンク
砲撃する自走砲(PzH2000自走榴弾砲)。自走砲は戦車によく似ていますが、戦車ではありません。*本編とは関係ありません。 こんにちは、エムスリー基盤開発チーム小本です。 Pythonのパッケージ管理周りでは、 「setup.pyでrequirements.txtを読み込むのが普通なんですよね?」 「pipenv があれば venv はオワコンなんですね?」 「pyenvは要らないんですよね!?」 「Pythonは歴史が古い分、Rubyなどに比べてカオス」 みたいな混乱をよく目にします。 実際、複数のツールがあって(一見)複雑です。また「なぜこうした状況にあるのか」がドキュメント化されているわけでもありません。 なので、私なりに整理してみることにしました。 ※「追伸」を追加しました。この記事では汎用プログラミング言語としてPythonを使うケース(Webアプリとか、CLIツールとか、ライブ
Python環境構築ベストプラクティス2019 Published at: 2019-02-18 / Updated at: 2019-05-14 Web上には新旧さまざまなPython環境の構築の方法が乱れており, 正しい情報にたどり着けない人がいて不憫なので2019年2月現在のベストプラクティスをPythonを使いたい人の属性ごとに紹介したいと思います. 自分がどのような環境を作ればいいかわかったなら公式ドキュメントというほぼ絶対的な1次資料を元に最高の環境を作っていきましょう. For Beginners とりあえずPythonを勉強してみたい, 手軽に手元にあるデータを解析してみたいという人はこちらです. プログラムをガリガリ書いていくのではない場合, 自分のPCに環境構築する必要はありません. Googleが提供しているColaboratoryを使いましょう. 苦労することなくP
以下はjavinpaul( Webサイト / Twitter / Facebook / dev.to )による記事、11 Essential Skills Software Developers should Learn in 2020の日本語訳です。 なおリンク先URLは元記事のままであり、和訳にあたり変更などは行っていません。 11 Essential Skills Software Developers should Learn in 2020 注意事項:この記事にはアフィリエイトリンクが含まれています。 この記事に記載されているリンクを踏んで製品やサービスを購入すると、私が利益を受けとることがあります。 ソフトウェア開発を始めてしばらくすると、優れたプログラマになるには何をすればいいのかという考えが時によぎるでしょう。 より良い開発者になるために、2020年には何を学ぶべきでしょう
インターナショナルチームでプログラミングの仕事をしていると、いろんなところで同僚との差を感じてしまう。いろんな国の人がいて、レベルは人によりそれぞれなんだけど、一般的にいうと、アメリカのプログラマのレベルは平均してとても高い場合が多い。とにかくコードがきれいでシンプルで仕事が早い。 彼らがなぜそれができるのかを観察しているが、一つ気が付いたことについてその対策も含めて書いてみたい。 彼らがプログラマとして優れているところ USにいるとお客様の技術レベルが高いとか、新しいことにチャレンジするとかいろいろ要素はあるのだけど、個人の生産性、コードの美しさをみても、平均値を観察するとアメリカの人が一番に感じる。その他にも、ドキュメントを見てすぐ理解できる能力は、アメリカの人はおろか、ヨーロッパ圏やインドの人と比べても、私は圧倒的に負けていると感じる。 Williams 衝撃の読解力 新しいライブラ
Google、ORMが生成するSQLが遅いときの調査を容易にする「sqlcommenter」をオープンソースで公開。Rails、Spring、Djangoなど主要なフレームワークに対応 SQL文を直接書かなくとも、自動的にSQL文を生成、実行してくれるORM(Object-Relational Mapper)は、プログラミングを容易にしてくれる技術としてRailsやHibernate、Springなどさまざまなフレームワークなどで活用されています。 一方で、ORMが生成するSQL文はときに複雑に、あるいは非効率なものとなり、データベース処理の遅さにつながることもあります。 このとき、SQL文の生成と実行を明示的にコードとして記述する必要がないというORMの特徴が、なぜデータベース処理が遅くなったのか、どのようなSQL文が生成され、そのどこに原因があるのか、といった調査を難しくている面があり
English version 要約 dockerはデフォルトでセキュリティ機構(Spectre脆弱性の対策)を有効にします。この影響で、RubyやPythonのようなインタプリタは速度が劣化します。特にCPU律速なプログラムで顕著に遅くなります(実行時間が倍くらいになることがあります)。 現象 Rubyで1億回ループするコードを、直接ホスト上で実行する場合と、docker上で実行する場合で実行時間を比較してみます。 直接ホスト上で実行した場合: $ ruby -ve 't = Time.now; i=0;while i<100_000_000;i+=1;end; puts "#{ Time.now - t } sec"' ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-linux] 1.321703922 sec docker
りょうくんグルメをご存知だろうか。知らなくても、本人のツイートの雰囲気は料理のレシピなんかで一度は見た文脈のはずだ。 こんなやつ。 まじでこの世の全てのタピオカ好きに教えてあげたいんだが新宿三丁目のceleb縁味には全ての人間を虜にする禁断のオレオミルクフォームがある。 これが濃厚黒糖で超絶美味いからぜひ全国のタピオカ好き、タピオカを愛する者たち、タピオカを憎む者たち、全てのタピオカ関係者に伝われ pic.twitter.com/wnnPvkJ2pr— りょうくんグルメ (@uryo1112) 2019年6月15日 「りょうくんグルメ」は文章が情報量に対してやたら長いので、pythonの練習も兼ねてアイデンティティである上から目線の構文を取り去ることにした。逆りょうくんグルメである。 手順は大雑把に分けて以下の3ステップ。 1. Twitterからりょうくんグルメのツイートをスクレイピング
主な確率分布の関連図 こんにちは、吉岡(@yoshiokatsuneo)です。 Webサービスを運営していると、利用状況を分析・予測したり、A/Bテストなどで検証したりすることがよくあります。 データを一個一個見ていてもよくわからないので、データ全体や、その背景の傾向などがまとめて見られると便利ですよね。そんなとき、データの様子を表現するためによく使われているのが「確率分布」です。 学校の試験などで使われる偏差値も、得点を正規分布でモデル化して、点数を変換したものです。 今回は、Webサービスなどでよく使われる確率分布18種類を紹介します。 それぞれ、Webサービスでの利用例やPythonでグラフを書く方法も含めて説明していきます。コードは実際にオンライン実行環境paiza.IOで実行してみることができますので、ぜひ試してみてください。 【目次】 正規分布 対数正規分布 離散一様分布 連続
はじめに 日々、StackOverflow や Qiita や Medium らで pythonについてググっている私がこれ使えるな、面白いなと思った tips や tricks, ハックを載せていくよ。 簡単な例文だけ載せてくスタイル。新しいの発見次第、じゃんじゃん頻繁に追加していくよ。 これも知っとけ!これ間違ってる!ってのがあったら、コメント下さい。 このモジュルやライブラリーの関数とか基本/応用的な使い方を知りたいけど、自分で探すの面倒、英語意味不ってのがありましたらそれもコメントにどうぞ。私が代わりに調査 • 解析を努力致します。 簡単な例文を心がけてはいますが、なにせ読むな!見て感じろ!なくらい説明不十分なので、初歩的な関数の使い方などのpython知識を所有しているとすんなり理解しやすいかと思います。多分。 注:リンク先は全て英語です。PEP8をいつかは読みましょう。良いスタ
はじめに 2020/8/12に発売されたImpractical Python Projects: Playful Programming Activities to Make You Smarterの日本語訳書である、「実用的でないPythonプログラミング」をひょんな事から献本していただく事になった。(訳者が同僚である) 実用的でないPythonプログラミング: 楽しくコードを書いて賢くなろう! 作者:ヴォーン,リー発売日: 2020/08/12メディア: 単行本 ありがちなプログラミング初学者向けの本から1段上がった中級者向けの良い本だと感じたので、当ブログでたまにやっている筆者、訳者に媚びを売るシリーズの一貫として、感想を記す。 書籍の概要 「実用的でないPythonプログラミング」は、想定する中級レベルのアルゴリズムの問題を例に取り、Pythonでの美しいコードの書き方や、コンピュ
- はじめに - Pythonのパッケージ管理ツールは、長らく乱世にあると言える。 特にpip、pipenv、poetryというツールの登場シーン前後では、多くの変革がもたらされた。 本記事は、Pythonパッケージ管理ツールであるpip、pipenv、poetryの3つに着目し、それぞれのツールに対してフラットな背景、技術的な説明を示しながら、所属企業内にてpoetry移行大臣として1年活動した上での経験、移行の意図について綴り、今後のPythonパッケージ管理の展望について妄想するものである。 注意:本記事はPythonパッケージ管理のベストプラクティスを主張する記事ではありません。背景を理解し自らの開発環境や状態に応じて適切に技術選定できるソフトウェアエンジニアこそ良いソフトウェアエンジニアであると筆者は考えています。 重要なポイントのみ把握したい場合は、各章の最後のまとめを読んで頂
(Image by Pixabay) この記事は以前の書籍リスト記事のアップデートです。 機械学習エンジニアやデータサイエンティストとして(もしくはそうではない職名であったとしても)機械学習システム開発や統計分析を仕事にしたい人なら、最低限これだけは読んでおいて損はないだろうという書籍を初級向け5冊、中級向け10冊選定しています。ただし、以前とは若干異なり「仕事にする」イコール「プロフェッショナルを目指す」ということで、特に初級向けリストを若干レベルアップさせています。中には初学者でも結構読みこなすのが難しい本だけになっているかもしれませんが、中級向けリストに進む上でどうしてもこれだけは読破して欲しいという願望も込めました、ということで。 完全にお馴染みのネタなので特に説明することはないかと思いますが、言うまでもなく以下のリストは完全なる僕個人の独断と偏見で、最近出版されたり自分で読んだ本
フローチャート ※依存関係・フローチャートはJavaScriptのみです。 対応言語は、下記の通り。 JavaScript TypeScript Python PHP Java C++ 望む言語が他にあればIssueにどうぞ、とのことです。 Code Crumbsのデモ デモでは、JavaScriptのコードでその動作を確認できます。 デモページ 依存関係はDependenciesをオンに、フローチャートはFlowChartタブをクリックします。 Code Crumbsの使い方 セットアップ codecrumbをインストールします(yarn global add codecrumbs)。 codecrumbs -d project-src-dir -e project-src-dir/index.jsを実行し、プロジェクトに合わせてパラメータを変更します。-dはソースコードを含むディレクト
ここ1〜2年くらいで、業務やプライベートのデータ分析・データサイエンスで参考にした本(と一部本じゃないもの)をまとめてみました(注:もちろん全部読んでいます).*1. なお, あくまでワタシ個人(@shinyorke)の見解に基づいた独自解釈であり、所属組織・チームの意向とは関係ありません(とだけ最初に断っておきます). サクッとまとめると 「レベル感(はじめて・経験者)」だけででなく,「エンジニア面を鍛える or 理論を固める」の軸で考えると良い書籍・学び方に出会える確率上がる エンジニアでも理論でもどっちから初めても良い, がどちらかが得意な方が絶対幸せ(≒片方だけじゃお話にならない可能性) 個人的なオススメは「機械学習図鑑」「前処理大全」「機械学習のための特徴量エンジニアリング」そして「試して学ぶ機械学習」です. おしながき サクッとまとめると おしながき 対象読者&執筆者について
こんばんみんみん。 バーチャル幼女プログラマーという肩書でインターネットをやっているきりみんちゃんというものです。 去年の7月に競技プログラミングのAtCoderを始めてだいたい1年くらい経ったので、勉強したこととかを振り返りたいと思います。 で、誰?YouTubeでAtCoderの過去問を解く配信をしたり、Twitterで無限にAtCoderについてつぶやいたりしているVTuberです。 普段の仕事での専門分野はAndroidアプリ開発です。 半年くらい前にAtCoderを普通の社会人エンジニアに布教するエントリを書きました。 また、技術書典で「AtCoderの歩き方 -数学が得意じゃないエンジニアにこそ競技プログラミングを布教したい!-」という本を出したりもしました。 現在のAtCoderコミュニティの中心層は理系の学生やもともと数学がかなり好きなタイプの人たちです。 一方きりみんちゃ
はじめに システム作ってるとかライブラリ作ってるみたいなある程度Pythonを綺麗に1書くことが求められる方々に向けた記事です。 (機械学習系のライブラリを使うためにPython書いてる方とか、初学者の方にはちょっとあわないかも知れません) 綺麗に書くための作法の難しさって共有が面倒なところだと思うんですよね。その書き方は間違いじゃない、間違いじゃないけどもっといい書き方があるぞみたいなやつってなかなか指摘し辛いですし、じゃあ1人に対してレビューしたら他のメンバーにはどう伝える?そもそも伝える必要?俺の工数は?みたいになりがちです。 一番いいのはこういう時はこう書く!みたいなドキュメントを作って「ドキュメント違反です」ってレビューをしてあげることなんですが、まーそれもそれで超面倒じゃないですか。なのでこの記事がそのドキュメントの代わり、とまではいかなくとも礎くらいになればいいなと思って書き
0 0 719 0 この 4 年間、Dropbox では、デスクトップ クライアントの同期エンジンを白紙の状態から再構築しようと懸命に取り組んできました。同期エンジンは、デスクトップ パソコン上の Dropbox フォルダの陰に隠れた魔法です。これは、Dropbox で最も長く使われているコード部分であり、最も重要なコード部分の 1 つでもあります。今回、新しい同期エンジン(コードネーム「Nucleus」)をすべての Dropbox ユーザー向けにリリースさせていただくことを、ここに発表いたします。 同期エンジンの書き換えは本当に大変な作業で、多くの環境でマイナスともなりうる構想であったことに鑑みると、手放しで祝う気持ちにはなれません。結果的には Dropbox にとって素晴らしいアイデアであったわけですが、それは、私たちがこのプロセスにどのように取り組むべきかを熟考したからこそ、たどり着
ホーム ホーム 1. Python を始める 2. 基本仕様 3. クラス 4. モジュールとパッケージ 5. ファイル操作 6. 例外 7. ジェネレータ 8. テスト このサイトは Python を学ぶ人向けのオンライン学習サイトです。 対象¶ Python を初めて学ぶ人 プログラム言語を 1 つ以上経験したことのある人 関数やクラス・オブジェクト指向に対する知識をある程度前提にします。 Python の特徴¶ 学習コストが低い 標準ライブラリが非常に豊富 インデントをすることが言語仕様になっている Python のバージョンについて¶ 2.x.x: 2020 年 1 月 1 日でサポート終了 3.x.x: 現行バージョン 2.x.x 系は新規開発では使用すべきではありません。このサイトでは 3.x.x をベースに説明を行います。
取り上げた技術は、本格的な開発でも役に立つもので、最も学習コストが低いものを選んだ。 重要度が低いものは載せていない。たとえばHTMLとCSSなんてググりながら書けば全く問題ない。Bootstrapなどのフレームワークも全くやる必要はなく、仮に就職先で使っていたら覚えればいい。 逆に言えば以下に挙げる技術は、そもそも概念自体がプログラミングにとって普遍的なものであり、(基礎的な部分を)調べながら使うようではエンジニア失格ということ。 基本的に現在では、バックエンド・フロントエンド・運用保守全てができないエンジニアに価値は無い。 以下に挙げた技術(①⑤⑥は他の言語やフレームワークで代替可能)が身に付いていなければまともな企業に就職することは難しい(もちろん、下らない業務システムを下請けで作ってる底辺企業には入れるだろうが)。 経験者でも、これらができない/わからないのは、相当恥ずかしいことだ
4/30 公開 5/1 増補改訂: 大幅加筆しました。 この記事では、2018年以降に実現可能になったモダンなPythonプロジェクトのはじめかたを整理して紹介します。 PythonにもPipenvという公式推奨の高機能なパッケージマネージャーが登場し、さらに2018年に入ってからの機能向上で、npmやyarnのような開発体験が得られるようになってきました。 私はここしばらくはフロントエンドやNode.jsに携わっていて、npmやyarnに慣れきっていたせいか、pipenv導入以前はvirtualenvやpipを組み合わせた開発が面倒で仕方なかったですが、Pipenv導入によって一変しました。 これからはPythonのプロジェクトがよりクリーンかつ簡単にはじめられるようになり、開発体験も向上するでしょう。 それでは、まずはPythonのインストールからです。 Pythonのインストール P
こういう人間です ・ 文系(英文学科) ・ Webエンジニア ・ 統計を勉強中モチベーションここ2年ほど統計を勉強しているのですが、そこで毎回立ちふさがるのが数学の壁でした。わたしは文系ということもあって数ⅡB(しかも途中まで)しか履修していなかったため、微分積分や線形代数などが出てくると理解することが難しく時間がかかってしまいます。 でももっと統計を知りたいし理解したい 😭 という気持ちをずっと感じていて今回数学をやり直すことにしました。 高校3年分と考えるとなかなか決心するのに時間がかかりましたが、やってよかったと思います。スケジュール感や実際使った本などを共有することで同じような方の参考になればよいなあ、と思います。 実際使用した本 ・ 講座■ よくわかる数学シリーズ 主にMY BESTシリーズを使用しました。カラーで説明もわかりやすく、目にも心にもやさしい仕上がりになっております
プログラミングを知らない人でも、Pythonという言葉を聞いたことがある人は多いのではないでしょうか。 書店などに行くと、Pythonに関する書籍があふれていますが、プログラミングを知らない人からするとPythonを学ぶと何がうれしいのか、 さっぱりわかりませんよね。 そこで今回は、Pythonを学ぶとどんなことができるようになるのかを、普段プログラミングに触れていない人にもわかりやすくまとめてみたいと思います。一緒にどうやればできるようになるのかについても解説します。 ちなみに!先に言っておきますが、Pythonができると めちゃくちゃ 便利です!また、初学者でも学びやすい言語なので、エンジニアではない人でも非常に重宝します。 このツイートに書いたとおり、Python使えると本当に便利なんですよね~ では、Pythonではどういうことができるのでしょうか。結論からいうと、 Webスクレイ
Information 2024/1/8: pandas , Polars など18を超えるライブラリを統一記法で扱える統合データ処理ライブラリ Ibis の100 本ノックを作成しました。長期目線でとてもメリットのあるライブラリです。こちらも興味があればご覧下さい。 Ibis 100 本ノック https://qiita.com/kunishou/items/e0244aa2194af8a1fee9 2023/2/12: 大規模データを高速に処理可能なデータ処理ライブラリ Polars の 100 本ノックを作成しました。こちらも興味があればご覧下さい。 Polars 100 本ノック https://qiita.com/kunishou/items/1386d14a136f585e504e はじめに この度、PythonライブラリであるPandasを効率的に学ぶためのコンテンツとして
フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
現在のインターネットの基本をなしているIPv4というプロトコルには、広く知られた大きな欠点がある。パケットのアドレスフィールドの幅が32ビットなので、ネットワークに接続可能なホスト数の上限が2³²(約43億)になってしまっているのだ。その欠点を修正するために、1990年代後半にIPv6という新たなプロトコルが設計されたのだけど、いまだにインターネットではIPv6は少数派で、主流ではいまだにIPv4が使われている。 1990年代当時は、IPv6は規格を策定すれば比較的すぐに普及するはずで、それによってインターネットが抱えているアドレス枯渇の問題が解決されるという雰囲気だったように思う。1998年にタイムトラベルして、20年たってもまだIPv4を置き換えることに成功していないと当時の人のIPv6推進者たちに教えたら、多分すごくびっくりされるだろう。一体どうしてこんなに普及が遅れてしまったのだろ
はじめに やめろ、ではなく、やめたほうがいい。です。自分のユースケースに合ってるか今一度確認することを推奨します。基本的にはAlpineは避けたほうが良い、というのが2021年時点での私の認識です。 なんで? libcに一般的な互換性が不足しているからです。Ruby、Python、Node.jsなどでNativeモジュールをバンドルしているアプリケーションの場合、パフォーマンスの劣化や互換性の問題にぶち当たる場合があります。 superuser.com あとは他のベースイメージの軽量化もそれなりに進んできていて、Alpineが定番軽量イメージと言う認識は2018年頃には消えつつあったかなという認識でいます。 どうすりゃええねん ※Debian Slimがあるやんってツッコミ結構もらったんですが、Slimは当たり前過ぎてもう紹介しなくていいかなっていう甘えで省略していました。よろしくおねがい
EF15形は高性能な電気機関車であったが、引き出し性能が蒸気機関車に劣ると誤解されていた。 誤った運転方法により本来の性能を引き出せていなかったのである。 (spaceaero2 [CC BY 3.0], ウィキメディア・コモンズより) こんにちは、エムスリー・エンジニアリングG・基盤開発チーム小本です。 WEBサイトは RailsやSpringなどの「本体部分」だけでは完結しません。レポート作成・データ更新などの細かい処理も必要です。 過去にはこうした用途にはBashがよく使われました。しかし、Bashは落とし穴が多かったり、クラスなどの抽象化機能がなかったりして、規模が大きくなると辛くなります。 そこで、Bashの代替候補に挙がるのがPythonです。エムスリーでもかつてはBashを使っていましたが、現在は新規案件にはPythonを推奨しています。 しかし、実際にPythonで書き直そ
送信元表記が送信者IDのケース SMSのメッセージを受信した際に表示される送信元には、電話番号の代わりに任意の英数字も表記できる。この英数字の送信元表記を「送信者ID(Sender ID)」という。JC3の図では 通信事業者A が送信者IDに当たる。 なお送信者IDの利用可否は受信側の通信事業者の対応状況によって異なる。Twilioの販売パートナーであるKWCの説明によると、日本国内ではNTT DOCOMOとSoftBankが送信者IDに対応し、KDDIは対応していないとのこと²。私はKDDIの回線を所有していないため、受信側がKDDIの電話番号を使用している場合の挙動は検証できていない。 まずはiOSの公式メッセージアプリに届いていたAmazonからのメッセージのスレッドで偽装を試みる。送信者IDは Amazon となっているため、TwilioでSMSを送信する際のFromの値に Ama
ブロックチェーンの社会実装の勢いが止まらない。テック市場に特化したイギリスの調査会社Juniper Researchが、今年の夏に発行した調査レポートの結果によると、 大企業の65%がブロックチェーンの導入を検討しているか、導入している最中 大企業の50%程度がイーサリアム上で分散型アプリケーションを立ち上げを予定 大企業の25%程度はProof of Conceptを終え、商品化を終えたか、その段階に差し掛かっている (大企業=1万人以上) とのことだ。 え!導入比率、意外に高くない?国内でも例えば、つい昨日は日本経済新聞の朝刊にLINEがトークンエコノミー構想の詳細を明らかにしたことが話題になったりして、たまに見かけるけど、まさかここまで来ていたとは驚きだ。ここまで来てしまうと、そろそろ私のような一介のサラリーマンであっても、ブロックチェーンを理解しておかないといけない雰囲気が漂ってき
追記) プログラミング教育・就活などについてツイッターでも発信しています。この記事を読んで興味を持っていただけた方がぜひフォローよろしくお願いします! ------------------------------------------------------------------------- プログラミングで「これ創りたい!」というときに何を学んだらいいのか創りたいもの別にまとめてみました。 主にAidemy, Progate, noteのチュートリアルの教材をまとめた記事になります。これから学習するルートに従って勉強を始めると、創りたいアプリができるようになると思います。全体像はこんな感じになります。 ①Webページを創りたい まずはWebページの作り方です。お店のホームページなどを作るためには、以下の言語を学ぶ必要があります。 ・HTML ・CSS ・JavaScript ・jQ
import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns import json import glob import math from pathlib import Path from collections import Counter from sklearn.linear_model import LogisticRegression from sklearn.metrics import accuracy_score from sklearn.metrics import confusion_matrix from sklearn.metrics import roc_auc_score from sklearn.model_selection imp
2020年も多くの素晴らしい技術書がたくさん出ました. その中でも(昨今のトレンド・流行りも手伝ってか)Python本の多さ・充実度合いは目立つものがあります. (このエントリーを執筆した12/19時点で)Amazonの本カテゴリで「Python」と検索すると1,000件以上出てきます*1. これだと目的の本にたどり着くだけで疲れそうです. このエントリーでは, 主にPythonを学びたい・現在使っている方 手元の業務を効率化したり, RPAっぽいことをやりたい方 エンジニア・データサイエンティストとして業務や趣味・個人開発をされている方 を対象に, 今そして来年2021年に読んでおきたいPython関連書籍(と抑えておきたいサービス) をエンジニアでありデータサイエンティストである私独自の視点で紹介します*2. なおこのエントリーはこのブログで例年執筆している「Python本まとめ」の2
Pyxelの開発が一区切りしたので、改めて紹介記事を書いてみました。 [2020.4.4追記:最新版の紹介記事はこちらです] Pyxelって何? Pyxel(ピクセル)は、昔ながらのドット絵タイプのゲームを簡単に作れる「レトロゲームエンジン」です。 2018年7月30日にリリースされた、非常に新しいゲームエンジンなのですが、海外を中心に急速にユーザーが増えています。 github.com プロジェクトはGitHubでオープンソースとして公開されており、公開4日でGitHubのデイリーランキングで全1億のプロジェクト中1位を獲得。ついでに作者である私もGoogle、Facebook、Microsoft等の企業アカウントを含む3100万人の開発者ランキングで1位になっています。(1位の座は48時間持ちませんでしたが…) GitHub上ではその後もスター数が増え続けており、現在は4000スターを
5ch(旧2ch)ではここ数年はTwitterを使用するようになってしまいましたが、ネットのミームの発信地点であって、様々なスラングを生み、様々な文化を作ってきたと思います。 学生時代、2chまとめとか見ていたので、影響を受けてきたネット文化で、感覚値からすると、どうにも流行り廃りがあるようです。 5chの過去ログを過去18年ほどさかのぼって取得する方法と、懐かしいネットスラングのドキュメントに占める出現具合を時系列でカウントすることで、時代の変遷でどのように使用の方法が変化したのか観測することができます。 文末に「orz」って付けたら若い人から「orzってなんですか?」と聞かれて心身共にorzみたいになってる— ばんくし (@vaaaaanquish) October 19, 2018 図1. 今回集計したorzの結果 例えば、今回集計した5chの書き込み500GByte程度のログからで
データサイエンティストを生業にする手段と実態について述べる。 途中、具体例・境界値の例として私個人の話もするが、なるべく一般性のある話をする。 この記事で言いたいことは具体的には4つだ。 プログラミングスクールをディスるなら代わりの入門方法を提供しようよ。 もう「未経験文系から3ヶ月でデータサイエンティストで一発逆転物語」を止めろ。*1 おじさんは人生逆転したいなら真面目にやれ。 若者はワンチャンじゃなくて、ちゃんと化け物になれよ。 この記事についてはパブリック・ドメインとして転載・改変・リンク記載を自由にしてよいです。 (続き書いた) a. 入門は辛いが… b. 思考停止でプログラミングスクールに通うな。 なろう系・始めてみよう系資料一覧 (最速・最短ルート用) まずは動かしてみよう。強くてニューゲームが体験出来るぞ! 入門以前の本 一般向け業界本 (AI業界と展望がわかる本) 技術者入
こんにちは、ほけきよです。 pythonでデータを取り扱っているとき「あれ、これどうやるんだっけ??」 ってなること、ありませんか?僕は10分に1回程度なります。 いや、覚えろと自分でも思うんですが、覚えられないんですよね。100回くらい同じコマンドを調べてたりする。 物覚えが良くないので、ココを見れば絶対大丈夫なようにしておこうと思い、まとめてみました。 jupyterで最初に開くときに読み込むモジュールたち datetime 日付⇔文字列の変換 datetimeの足し算引き算 json dict型⇔json jsonファイルの入出力 datetimeをjsonにする時、エラーが出る pandas ~以外を表すやつ andとor inf弾く リストをdfにサクッと変換 datetimeとして読み込み 読み込み時にcodecのエラーが出る DataFrameのfor文 numpy lins
長年、後回しにしてきた「正規表現」。四の五の言わずにはじめようよ!と20年前の自分に伝えたく、まとめてみました。 詳しい方が見ると、乱暴だったり、おかしなところがあると思いますが、入り口に立つことが大切だと考えています(書いた人は文系・グラフィックデザイン関連です)。 はじめにたとえば、文章中に「コンピュータ」と「コンピューター」が混在していて、これを「コンピューター」に統一したいとき、あなたなら、どうしますか? 単純な検索置換なら、次のような順番で処理できます。 ❶「コンピューター」を「コンピュータ」に一括置換する ❷「コンピュータ」を「コンピューター」に一括置換する ❸ ちょっと心配なので「ーー」(音引きの繰り返し)をチェック これはこれでアリなのですが、1回の作業でできたらベターです。 しかし、「コンピュ-タ」のように正しく音引き(ー)が入力されていない場合には単純な検索置換ではお手
「線形代数を簡単に理解できるようになりたい…」。そう思ったことはないでしょうか。当ページはまさにそのような人のためのものです。ここでは線形代数の基礎のすべてを、誰でもすぐに、そして直感的に理解できるように、文章だけでなく、以下のような幾何学きかがく的なアニメーションを豊富に使って解説しています。ぜひご覧になってみてください(音は出ませんので安心してご覧ください)。 いかがでしょうか。これから線形代数の基礎概念のすべてを、このようなアニメーションとともに解説していきます。 線形代数の参考書の多くは、難しい数式がたくさん出てきて、見るだけで挫折してしまいそうになります。しかし線形代数は本来とてもシンプルです。だからこそ、これだけ多くの分野で活用されています。そして、このシンプルな線形代数の概念の数々は、アニメーションで視覚的に確認することで、驚くほどすんなりと理解することができます。 実際のと
指針 厳密解法に対しては、解ける問題例の規模の指針を与える。数理最適化ソルバーを使う場合には、Gurobi かmypulpを用い、それぞれの限界を調べる。動的最適化の場合には、メモリの限界について調べる。 近似解法に対しては、近似誤差の指針を与える。 複数の定式化を示し、どの定式化が実務的に良いかの指針を示す。 出来るだけベンチマーク問題例を用いる。OR-Libraryなどから問題例をダウンロードし、ディレクトリごとに保管しておく。 解説ビデオもYoutubeで公開する. 主要な問題に対してはアプリを作ってデモをする. 以下,デモビデオ: 注意 基本的には,コードも公開するが, github自体はプライベート そのうち本にするかもしれない(予約はしているが, 保証はない). プロジェクトに参加したい人は,以下の技量が必要(github, nbdev, poetry, gurobi); ペー
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の使い方などをひと通り学べる。
メディア関係者向けお問い合わせ先 メールでのお問い合わせ: pr-jp@google.com メディア関係者以外からのお問い合わせにはお答えいたしかねます。 その他すべてのお問い合わせにつきましては、ヘルプセンターをご覧ください。
東京大学がちょっとびっくりするくらいの超良質な教材を無料公開していたので、まとめました Python入門講座 東大のPython入門が無料公開されています。scikit-learnといった機械学習関連についても説明されています。ホントいいです Pythonプログラミング入門 東京大学 数理・情報教育研究センター: utokyo-ipp.github.io 東大のPython本も非常にオススメです Pythonによるプログラミング入門 東京大学教養学部テキスト: アルゴリズムと情報科学の基礎を学ぶ https://amzn.to/2oSw4ws Pythonプログラミング入門 - 東京大学 数理・情報教育研究センター Google Colabで学習出来るようになっています。練習問題も豊富です https://colab.research.google.com/github/utokyo-ip
ChatGPTが思いがけずいろいろなことを人間より賢くやっているのを見てシンギュラリティという言葉を使う人が増えたように思いますが、逆に、シンギュラリティは来ないのではという思いを強くしています。 まず、この文章でのシンギュラリティがなにかという話ですが、レイ・カーツワイルが「シンギュラリティは近い」の1章の終わりで「さあ、これが特異点だ」といっている特異点、そのシンギュラリティです。 シンギュラリティは近い―人類が生命を超越するとき 作者:レイ・カーツワイルNHK出版Amazon この特異点は単にAIが人間より賢くなるというだけではありません。人間より賢くなるだけだと、便利な道具が増えるだけなので、大騒ぎするほどの変化は起きません。人の仕事を奪うといっても、蒸気機関ほどでもないですね。印刷機などと並んで、人の生活を変える転換点にすぎず、ただひとつの点をあらわすシンギュラリティには なりま
某所で書いたら意外に皆さん知らなかったようなので書いておきます。Windowsでファイルを削除したり名称変更しようとすると、別のプログラムが使っているので変更できない、といったエラーが出る事があります。こういう場合、後述の方法で「誰がファイルを掴んでいるのか」を調べられるかもしれません。 (あくまでローカル環境での話ですので、ネットワーク越しに掴まれているものや、インフラの運用で役立つ情報というわけではありません。ご了承ください) ファイルやフォルダーの利用者をリソースモニターで検索する リソースモニターという、タスクマネージャーの高機能版のようなツールがWindowsには標準搭載されています。これで、CPUタブにある「関連付けられたハンドル」というエリアの検索欄にファイル名やフォルダー名を入力すると、それを使っているプログラム(プロセス)を特定できることがあります。 リソースモニターの起
まえがき こんにちは。Owners Experience Backend Group の杉浦です。主にサーバーサイドのアプリケーションの実装をしています。 エンジニアとして働いていると、当然、技術的なことには意識を向けるのですが、ROI(Return of Investment = 投資利益率)を意識することはあまりないと感じたので、この観点でエンジニアリングを考察しました。 想定する読者としては、下記を意識しています。 エンジニアの方で、ROIというビジネスの概念を知りたい方 エンジニアではない方で、ROIの観点でエンジニアリングの理解を深めたい方 このため、テックブログではあるものの、エンジニアではない方にも趣旨を理解いただけるように、技術に関しては少々噛み砕いて書いています。普段、コードには触れないビジネスパーソンの方にとっても、エンジニアリングを理解する一助になりましたら幸いです。
こちらの記事は三部作です その1:とあるスタートアップが最初のフルタイムエンジニア採用を決意するまで 番外編:スタートアップ技術顧問は技術を見ない <= 現在の記事 その2:とあるスタートアップが最初のフルタイムエンジニア採用のために準備したこと その3:とあるスタートアップが Twitter Spaces からフルタイムエンジニアを採用した話 番外編:メンテモに転職した話 タイトルは嘘です。(必要なときに)見ます。最近は通知を送る方法*1について考えられる設計のパターンをいくつか例示した上で、今ならどれを選択しどんな感じで実装していったらいいかについて議論したりしました。 初めまして、@tagomorisです。今年の6月からメンテモで技術顧問をしています。技術的な専門としてはデータ処理基盤からWebサービス一般・ITインフラまでですが、メンテモの技術顧問では技術領域を特定せず、ありとあら
最初にお断りしておくと、このエントリは驚くほど僕固有の私的な話に終止するので、他の人の参考にはならないでしょう。 ICというのはIndividual Contributorの略で、最近だとHashiCorp創業者のあのMitchell Hashimoto氏が、HashiCorp社内でICになるというのも話題になりました。日本でも、こにふぁーさんがそういう動きをしていたりして、ちょいちょい聞くようになってきた印象です。 今回の僕の転職は、言ってしまえば、自分が培ってきたソフトウェアエンジニアとしてのスキルを活かして世界の舞台で戦いたいという気持ちを抑えきれなかった、という幼稚な理由です。自分が求めているものがLaunchableにはあるように感じて入社しました。 振り返ってみると、最近の自分の転職における決め手は「自分を一番必要としてくれるところ」という側面が強かったと感じています。その結果
10/22(金) 追記 この記事で解説している内容について解説する勉強会を開催することとなりました。以下のconnpassよりお申し込みください。 pixiv.connpass.com 10/22(金) 追記 pixivのブックマークについて ブックマークDBの問題について 具体的な対策内容 論理削除廃止・index追加・ブックマークタグのテーブル分割 適応ハッシュインデックスの無効化 アプリケーションコードのリファクタリング・全発行クエリの列挙と見直し 大きな更新処理の非同期化 結果 あわせてよみたい pixivではサービスの成長に伴い、気に入った作品に対して付けることができるブックマークの総数が急速に増加しており、ユーザーの皆様に滞りなくサービスを提供し続けるためブックマークに関するデータベース(以後DB)の負荷対策が必要になりました。 2021年2月より対策を行うプロジェクトを発足し
逃げるプログラマー、避けられない壁 Web系アプリケーション開発をするとなると、React, Angular, Vueといったフレームワークの話題は避けて通れないのだけど、面倒にかまけてみて見ぬふりをしているデヴェロッパー諸君は多いと思う。 自分もそういうダメグラマーの一人でした。 だが、Nodeベースでバックエンドを開発していると、どうしてもフロント側が必要だし、使いたいライブラリーや機能、操作性を組み込むためには、フロント側のフレームワークからは逃げられず、立派なフルスタックデベロッパーになる為に、重いけつを上げ、学習することにしたのであります。 React, Angular, Vueの3大フレームワークをざっと調べてみた際に、一番取っつきやすそうだったReactをチョイス。 しょせんはHTMLとCSSとJavascript で、結局Reactは何をやっているかというと、しょせんはHT
仕事で役に立つサイトから何の役にも立たないサイトまで! オモコロブロス編集部が「良いと思ったもの」を毎月定期的にご紹介するコーナー、それが「今月の善」です。今月はみんながブックマークしているウェブサイトを教えてもらいました! ブロス編集部です。 本日は、「バーグハンバーグバーグの社員に聞いた、ブックマークしてる便利〜なサイト」を聞いてみました。 また、ご提示いただいたサイトは「ふくろう博士」が実際に使用して感想を教えてくれるそうです。何でも知ってるふくろう博士のお眼鏡に敵うものはあるのでしょうか。 ■ネタ出しに使える「Word Cascade」 Word Cascade 【教えてくれた人:ダ・ヴィンチ・恐山】 サイトを開くと言葉が無限に落ちてくるだけのサイトです。バーグハンバーグバーグの企画会議中に眺めていると自分の頭の中に無かったワードが降りてきて、それをヒントに新たなアイデアがわいてく
Ruby on Rails を用いたシステム上で入力フォームを実現する際、Rails が提供しているフォームヘルパーを利用した実装や、React や Vue によるコンポーネントの自前での実装が一般的に行われます。 ここで、職業で学生を選択した場合は学校名と学年、会社員を選択した場合は役職と年収を入力する...といった、条件分岐が大量に生まれる入力フォームを想像しましょう。 一般的な実装手法では、あるフォームの入力値が他のフォームに影響を与えるような、複雑で動的な入力フォームの実現をするために、大量の if 文を書く必要があります。 また、ユーザから送信された入力値の正しさをバリデーションするために、バックエンド側に同様の if 文を大量に書く必要が出てきます。 そこで私は、複雑な仕様の入力フォームの実装のための JSON Schema 活用方法および事例について紹介します。入力フォームの
そんむーさんのこの記事を読んで、すごいなぁかっこいいなぁって思って、そういえば僕も41歳だーって思ったので、書くことにした。軽い気持ちで書き始めたら思っていたよりもとても考え込んでしまった。 songmu.jp CircleCI に入社しました 11年勤めた楽天を離れて CircleCI に入社しました。先週の月曜日の10月18日から Senior Full Stack Engineer として仕事をしてます。大阪の自宅からフルリモートです。 寒くなってきたからちょうど良かったー! https://t.co/td9lks2qVS pic.twitter.com/9AW6X8CPgH— Mitsuyuki Shiiba (@bufferings) October 20, 2021 次の挑戦をするのに、ちょうどいい時期かなぁ ここ数年は、色んなチームのサポートをするエンジニアをやってました。テ
現在、TypeScriptの重要性は、フロントエンド開発を中心としてますます増すばかりであります。それだけに、TypeScriptをどのように使うべきかという問題については多様な意見が見られます。 これまで筆者はTypeScriptの使い方に、特にコンパイラオプションの使い方について意見を散発的に発信してきましたが、このたび記事にまとめました。この記事では、特に次のような意見に対しての反対意見を述べます。 厳しいコンパイラオプションは型パズル愛好者のためのものであり、普通の人は細かいことを気にせず緩い設定でよい。熟練のJavaScript使いにはTypeScriptは必要ない。例え話最近はTypeScriptを補助輪に例えたりするのが流行っていますので、この記事でも例え話をしてみます。筆者の考えでは、TypeScriptというのは例えるならば料理人が使う包丁のようなものです。コンパイラオプ
ここ2年くらい、仕事では大体 Go を書いている。jmuk さんが Go言語は、なんというか「ちょうどいい」言語だな、と思っている。異論は認める。 と書いていたけれど、私はやっぱり Scala や Kotlin あたりが好きで、これは変わらなそう。 例えばコレクションを map しているのをみると、私は「なるほど、ここではコレクションの要素数は変わらないんですね」と思う。filter だったら「コレクションの要素数は変わるけど、個々の要素は変わらないのか」ということを、あるいは Result を map していたら「ここではエラーのほうは触らないのね」ということを読みとっている。 こういう意図が、素朴な for ループと、if err != nil だと読みきれなくて、いや真面目に字面を追っていけばわかるんだけど、私が「map するか」と思いながら for ループを書いて、その for ル
メモリの状態確認コマンド freefree コマンドはメモリの利用状態を確認することができます。 例えば以下のように表示されます。(数値の単位は KiB= 1024 Bytes) [root@localhost ~]# free total used free shared buff/cache available Mem: 3868920 197528 3402296 8680 269096 3444844 Swap: 839676 0 839676ヘッダ (total, used, free, shared, buff/cache, available) のそれぞれの関係は下図の通りです。 このコマンドで、メモリの空き状況を確認したいのであれば、free を見るよりも available を見ましょう。 というのも、Linux の特性として「空きメモリを無駄にしない」という設計思想の元
こんにちは。shirou(@r_rudi) と申します。アーキテクトという名の雑用係をしています。 Alpaca Japanでは、2021年8月に「アルパカ証券」という証券サービスをはじめました。 この一連の文章は、アルパカ証券の裏側のシステムやその開発体制などについて述べたものです。なるべく証券分野に限らず説明していく予定ですので、証券サービスを立ち上げようとしている人たちにはもちろん、それ以外の方にも参考にしていただけるような文章を目指したいと思っています。 アルパカ証券とはアルパカ証券の詳細はホームページをご覧ください。また、第一種金融商品取引業者登録完了時のプレスリリースにも、「アルパカ証券」サービスの特徴が記載されています。 全体設計方針まず最初に、アルパカ証券を構成するシステムの全体設計方針について説明します。 マイクロサービス vs モノリシック設計は2018年中頃ぐらいから
「ちゃんと復習したはずなのに、試験本番になると忘れている......」 「参考書を何度も読んでいるけど、いっこうに問題を解けるようにならない......」 勉強する人なら誰しも、一度はこうした壁にぶつかったことがあるでしょう。 知識を頭に定着させるには、勉強の反復が欠かせません。しかし、ただ反復するだけだと効果がないことも。勉強で成果を出せる人は、具体的にどのような ”繰り返し” を行なっているのでしょうか? この記事では、勉強のエキスパートたちによる「繰り返し勉強法」についてご紹介します。 1.「計画的に4回」繰り返す 覚えるまで何度でも復習すべきであることは大前提として、「少なくとも4回復習する」とよい――こう説くのは、『30代で人生を逆転させる1日30分勉強法』の著者で、税理士や大学講師などさまざまな顔をもつ石川和男氏です。 石川氏が自身の経験から特に重視しているのが、復習のタイミン
はじめに プログラミング自体は文系、理系、年齢関わらず勉強すればある程度ものになります。プログラミングがある程度できるようになるとTensorflow,PyTorchやscikit-learn等のライブラリで簡単にできる機械学習やデータサイエンスに興味を持つの必然! これからさらになぜ上手くいくのか・いかないのかの議論をしたい、社内・外に発表したい、理論的な所を理解したい、先端研究を取り入れたい、応用したい等々と次々に実現したい事が増えるのもまた必然でしょう。このときに初めて数学的なバックグラウンドの有無という大きな壁が立ちはだかります。しかし、数学は手段であって目的ではないので自習に使える時間をあまり割きたくないですよね。また、そもそも何から手を付けたら良いかわからないって人もいるかと思います。そんな人に向けた記事です。本記事の目標は式の意図する事はわからんが、仕組みはわかるという状態に
Lorca+SvelteKitでやってみる! https://github.com/zserge/lorca https://github.com/sveltejs/kit あらかじめ必要なもの go(version 1.17.2以降) nodejs(16.9.0以降),npm(7.21.1以降) Chrome/Chromium/Edgeのいずれか プロジェクトの開始 mkdir sample-gui cd sample-gui go mod init sample-gui npm init svelte@next frontend // Choice "Svelte app template" is "Skelton Project". // Choice "Use TypeScript" is No. // Choice "ESLint" is No. // Choice "Prett
ほぼノー知識でスクラム開発の現場に乗り込んで失敗した話を書き記します。 「なぜスクラムは上手くいかないのか」「スクラム開発のアンチパターン」などチームにフォーカスした記事はあれど、個人にフォーカスした失敗談が見当たらなかったので書こうと思いました。 はじめに 大前提として、その現場が悪かったとかスクラム開発が悪いとかそういったネガティブキャンペーンをするつもりではありません。 ウォーターフォールと比較して、継続的にプロダクトを作って完成に近づけていくスクラムのメリットは十分理解しているつもりです。 その中で自分が「あ、無理かも」と感じてしまった理由を記して同じ立場に立ってしまった人の救いになれればいいなと思い記します。 概要 AWSを基盤とするインフラ開発の現場Joinし、スクラムメンバーとしてプロダクトを開発する役目を受けました。 結論から言うと2週間のスプリントでベロシティを上げること
【累計3500部突破(商業版含む)🎉】 SAMLaiの道は果てしなく険しい。 本書では、SAML2.0で一般的に多く使用されるフローであるWeb Browser SSOのSP-initiatedとIdP-initiatedと呼ばれるものを中心に、SP側の目線でなるべく簡潔に解説します。 SAML認証に対応してほしいと言われても、もう頭を抱える必要はありません。 筆者自身も何もわからない状態からもがき苦しみながらSAML SPを実装し、数年間サービスを運用してきました。 そのつらい経験を踏まえて、SPを実装する上で今まで触れられることのなかった ・どういう設計が必要か? ・何を気をつけなければならないか? のエッセンスを詰め込みました。 SAMLはエンタープライズ用途では求められることが非常に多く、歴史もそれなりに長いものですが、実装する上で必要な体系的な情報はなぜかほとんどありません。
こんにちは id:cohalz です。はてなブログでは2021年4月の公式ブログで、すべてのブログをHTTPSに一本化していくことを案内しました。 ▶ 「HTTPS配信」への切り替えと、ブログの表示の確認をお願いいたします この時点でまだ数百万件のHTTPのブログが残っている状態でしたが、2021年8月には上記の案内に追記したように、全ブログでHTTPS化を完了できました。 完了までに行ってきたことをこの記事で振り返ってみようと思います。 はてなブログのHTTPS化のこれまで はてなブログのHTTPS化は、2017年9月に最初のお知らせを行ってスタートしました。 当初の予定より時間がかかりましたが、2018年2月にHTTPS配信の提供を開始し、これ以降に作成されたブログは最初からHTTPSのみで配信されています。また、それ以前に作成されたブログでも、ユーザ側で設定を変更することで自分のブロ
おしらせ:12/23 に後編記事がでました! tech-blog.monotaro.com こんにちは、データ基盤グループの香川です。 現在モノタロウではBigQueryに社内のデータを集約し、データ基盤を構築しています。 およそ全従業員の6割が日々データ基盤を利用しており、利用方法や目的は多岐に渡ります。 データ基盤グループはこれまでデータ基盤システムの開発保守と利用者のサポートを主な業務として取り組んできましたが、これら多岐にわたる社内のデータ利用における課題の解決及びさらなるデータ活用の高度化を目的として、今年の5月よりデータ管理を専門に行う組織として新たに体制を再構築しました。 そこで改めて組織として取り組むべき課題や方向性を決めるために、まず自分たちの現在地を知ることが重要と考え、データ基盤の歴史を振り返り、社内のデータ活用における課題やそれを取り巻く状況がどう変わってきたのかを
2021年現在、ベイジの柱の事業はウェブ制作事業とウェブアプリデザイン事業です。ウェブ制作事業は会社設立の2010年からの主力事業で、サービス品質の平準化を目的に2014年頃からワークフローの整備を進めてきました。 一方ウェブアプリデザイン事業については、事業拡大したのがここ数年で、まだワークフローが整備されておらず、各人の裁量に委ねた進め方になっていました。そこで今後の事業拡大とメンバー増員を想定し作成したのが、業務システムやSaaSのUIデザインに特化した「ベイジの業務システムUIデザインワークフロー2021年版」です。 基本的な進め方は国際規格(ISO 9241-210※)の人間中心設計プロセスに基づいて組み立てていますが、細かいタスクの順序や内容は、今までベイジで培ってきたノウハウをふんだんに盛り込み、組み換えています。 また今回ワークフローを整備するうえでは、クライアントごとの開
Argo Tunnel Client(cloudflared)をngrokの代替として使う cloudflaredというArgo Tunnelクライアントを使えば、ngrokのようにローカルサーバを外部に公開することができる。 # localhost:8080 を公開する。実行後に表示されるURLを使ってどこからでもアクセスできる。 cloudflared tunnel --url http://localhost:8080 これだけならばわざわざ乗り換える理由にはならないが、ngrokでは有料でしか使えない機能も無料プランで使える。 カスタムドメインの割り当て SSOによる認証 TCPのプロキシ セキュアでDDNSのいらないVPNの構築 例えば個人で自宅にVPNの環境を作る場合、ルーターのVPN機能を使うか、VPNサーバを立ててDDNSでドメインを自宅のグローバルIPに紐付けるといったや
Golangの標準パッケージであるnet/httpを使ってHTTPルーターを自作する話です。 表紙は新書メーカーさんで作成しました。 https://yubais.net/tools/paperback-maker/ 追記: 要約版をqiitaに書いてあります。手短に知りたい場合はこちらが良いかもしれません。 https://qiita.com/bmf_san/items/312fac5b3132d8bee4ca 自作ルーターがawesome-goにリストアップされました :D https://github.com/avelino/awesome-go#routers 追記: コードのハイライトを修正しました。 追記: Go Conference 2021 Autumnで"net/httpでつくるHTTPルーター自作入門"というタイトルで発表しました。 https://speakerdec
先日、某VC投資先の方々に対して、「ソフトウェアエンジニアの採用時にコーディングテストをやりたいがどうしたら良いか?」ということについて語ってきたので、こちらにもエッセンスをまとめたいと思います。 コーディングテストの目的 なぜ我々はコーディングテストをやるのでしょうか? もちろん、第一目的はソフトウェアエンジニアの採用候補者のスキルを見極めるためです。 過去に、経歴も良さそう、技術的な議論もスムーズにできる、なのにコードが書けない候補者に、私は何度か出会っています。「コードが書けない」のレベルは、(ある程度易しい)論理をプログラムに翻訳できず、まともな if 文が書けないというレベルを言っています。熟練者でもド・モルガンの法則をうっかり間違えるぐらいはあると思いますが、そういう話ではありません。コードが書けない候補者は、そもそも条件が書き下せません。このような候補者を雇ってはいけません。
「要点の見分け方をどうやって身に着ければいいのか」という話をします。 いきなり例示から入るんですけど、ちょっと次の引用文を読んでみて頂けるでしょうか。面倒な方は斜め読みで大丈夫です。 鎌倉を拠点とした源頼朝は、無断で朝廷から官位を受けた弟の義経を許さず、義経をかくまった平泉の奥州藤原氏をほろぼして、東北地方をも支配下におきました。一方、にげた義経をとらえることを口実に、1185年、国ごとに守護を、荘園や公領に地頭を設置しました。頼朝は1192年に征夷大将軍となり、武士による新しい政治を始めました。 頼朝の開いた鎌倉幕府は、家来となることを誓った武士を御家人にして、先祖から引きついできたその領地の支配を認め、てがらに応じて新たな領地や守護・地頭の職を与えました。 鎌倉幕府成立前後の経緯についての記述ですね。 文章としては、帝国書院、「中学生の歴史」からの引用です。長男が学校で使ってる教科書な
こんにちは。TIGの伊藤です。この記事は秋のブログ週間2021の3日目です。 はじめに私は普段会社でクラウドをまたいでTerraformを日々書いたり、メンバーに教えたりしています。もはや俗に言うプログラミング言語を書かずにここまで全振りしてきたくらいなので、比較的自信を持ってコードを書いて仕事をしています。 特にここ最近はほぼ1からコード設計をして運用まで持っていくこともあり、「より腐りにくい、より息の長いコード」というものを考えるようになりました。Terraformだからこその「定期メンテを簡易にするためには」「より簡単に変更するためには」をひたすら突き詰めていった結果、アツい気持ちが生まれ、今回は筆を取っています。 そんな私のアツい気持ちをしたためた今回の記事ですが、可能な限り例も添えつつ、いくつか解説できればと思います。公式にも実は載っているような内容もあったりしますが、日本語の記
こんにちは、よしこです。 この記事は 2020年に立ち上げたWebフロントエンド構成の振り返り の「Componentのディレクトリ構成」項の詳細記事です。単体でも読めますが、よければ元記事もあわせてどうぞ! この記事では、今わたしが 株式会社ナレッジワーク というスタートアップで開発・運用しているプロジェクトにおいてうまくいっていると感じているComponentのディレクトリ構成についてご紹介していきます。 ディレクトリ構成 Componentは src/components の中にまとめていて、その下に以下の4種類の分類ディレクトリを切っています。 src/components/page src/components/model src/components/ui src/components/functional 分類ディレクトリを考えるにあたって重視したポイントは以下。 新しくco
むかし、この国が深い森におおわれ、そこに太古からの神々がすんでいた頃から語り尽くされているドキュメントが更新されない問題について雑に書く。 実態が変わったのにドキュメントが更新されない問題はいつどの時代も絶えない。これにいちいち憤りを感じるのは不幸になるだけなので、何かしら対処を考えておかねばならない。パッと思いつくのは次のようなものだろうか。 使う 使わないから更新もされなくなる。定期的に使われるように設計して、そもそも使わない場合は消した方がいい いっそ参照回数が少ないドキュメントは自動でアーカイブしちゃうみたいな硬派なスタイルの方がいいのかも 詳細に書きすぎない 細かいところを書きすぎると保守できない。骨組みだけ大事にして、細かいところはフロー情報として分けて書くのがよい 管理者を置く ちゃんと更新されるようロールを作る。属人化しないようにロールを引き継ぐ設計も必要 個人的にはあんま
先日の Next.js Conf で Vercel は Next.js の新しいバージョン「12」をリリースした。 興味深いのは、Vercel は同時にEdge Functionsというサービスを開始したことだ。 Edge Functions – Vercel 謳い文句のひとつに Push your functions to the edge とあるように、「エッジ」で実行される「関数」を提供するプラットフォームである。 ここで言うエッジとはなにかというと、Vercel は明言していないが CDN のエッジのことだ。 Vercel の例のように「CDN のエッジで実行する系」が増えている。例えば以下の 7 つだ。 Cloudflare Workers Fastly Compute@Edge AWS CloudFront Functions AWS Lambda@Edge Deno Depl
未経験から入社して7ヶ月間頑張ったら、協力会社のつよつよエンジニアさんに案件を指示する立場になれたし、他チームでは3年目以上の人がやってる重要案件の開発サブリーダーも任せてもらえるようになったし、2年後にチームリーダーになる道筋が見えるようになって、成長を実感して嬉しくなってる。 — 壮 (@sew_sou19) June 3, 2021 そんな折にふと「あれ、最初不安大きかったけど今思ってみれば比較的いい感じにエンジニアとしてのキャリア築けてるな」と思えるようになりました。 そこで、僕が入社する前と入社してから何を考えどういう行動をしたら、エンジニアのキャリアを順調にスタートさせられ、さらには評価をもらえたのかを振り返って言語化してみようと思いnoteにまとめました。 少しでも参考になれば幸いです。 入社までにやっておいてよかったことこれを読んでくださっている多くの方は認識されていると思
はじめに ソフトウェアプロジェクトには不思議な性質があります。現状のスケジュールに課題を感じて、短くするために人員を投下しても、なかなか思い通りに短くならない。それどころか悪化してしまうことがあります。場合によってはプロジェクト自体が破綻して失敗してしまうことすらあります。 今回は、このようなソフトウェアプロジェクトに潜む直感に反する性質を数理的なモデルを介して理解していく試みです。ある種の思考実験としてお楽しみください。 宣伝 Qiitaさんとコラボ企画でアドベントカレンダーをつくりました。 DXをめちゃくちゃ改善した話を募集しています。 https://qiita.com/advent-calendar/2021/dx-improvement 10人の妊婦がいても1ヶ月で一人の子供は生まれない これは誰かの技術力やプロジェクトマネジメント力に欠陥があるのではなく、「人月の神話」で有名な
こんにちは。 id:akawakami です。はてなの企業ロゴリニューアルを担当しました。 はてなでは、20周年を機に企業ロゴのリニューアルを行いました。ロゴマークのコンセプトなど、表現上の意図についてはプレスリリースで触れられているので、ここでは制作面にフォーカスして、ロゴマークのデザインをご紹介したいと思います。 hatenacorp.jp はてなロゴの変遷 今回リニューアルしたロゴマークは、はてなの企業ロゴとしては4代目となります。 2001年 〜 2005年 「人力検索はてな(人力検索サイトはてな)」とともにデビューした、はてなの最初のロゴマークです。 2005年 〜 2007年 ブロックを組み合わせてはてなマークを表現したロゴマークです。この時に生まれたはてなマークの表現が、その後のロゴマークに踏襲されていきます。 2007年 〜 2021年 ブロックのはてなマークをシンプルにア
長い記事なので先に結論を書きます。 Spectre の登場で、ウェブサイトに必要とされるセキュリティ要件は増えました。具体的に必要な対策は下記の通りです。 すべてのリソースは Cross-Origin-Resource-Policy ヘッダーを使って cross-origin なドキュメントへの読み込みを制御する。 HTML ドキュメントには X-Frame-Options ヘッダーもしくは Content-Security-Policy (CSP) ヘッダーの frame-ancestors ディレクティブを追加して、cross-origin なページへの iframe による埋め込みを制御する。 HTML ドキュメントには Cross-Origin-Opener-Policy ヘッダーを追加して popup ウィンドウとして開かれた場合の cross-origin なページとのコミュニ
こんにちは。モノタロウでフロントエンド寄りの開発をしている、陳です。 今回はモノタロウの新フロントエンドのメインフレームワーク選定についてお話しします。 選定結果から言うと、モノタロウ独自の7つの選定基準をもとに、Reactを選ぶことになりました。 背景 新フロントエンドプロジェクトの立ち上がり Vue.jsとReactの比較検討をしてみた 俯瞰して改めて選定基準を考えた 一般的な視点 モノタロウの社内事情 7つの選定基準 選定結果 技術選定を通して得た3つの学び 背景 まず、モノタロウの現フロントエンドについてざっくり説明します。 モノタロウは2002年から、PythonとJavaScriptでECサイトを開発してきました。 基本構成として、サーバサイドのPythonでHTMLを生成し、クライアントサイドのJavaScriptでカートインなどの動的処理を補完する形ですが、実はこの構成で違
わたしがこれまでに書籍でなにか新しいことを学ぼうと思ったときにどういう手段で目的を達成してきたかについて書きます。生業にしているIT系のこともそうですが、それ以外も同じ方法を使っています。 はじめに書いておくと、これまでの自分自身の体験や優秀な人の観察などから、学習の原則コツコツと反復練習を続けることであり、近道は無いと思っています。原則を守るための典型的な方法の一つが「網羅的に書かれた決定版と呼ばれる本を何度も精読する」です。これができる人はこうしたほうがいいと思いますし、ここから先を読む必要はないです。しかしながら、わたしはこの方法がうまくいったためしがないので、自分なりに工夫して、金銭的コストがやや高いながらそこそこうまくいく方法にたどり着きました。本記事ではこの方法を紹介します。 わたしは何かを理解しようとするときには、まずは初心者向きのページ数が少なくて読みやすそうな本をたくさん
これまでエンジニアやスクラムマスターとしてスクラムチームに関わって来ましたが、その過程で何度も「相対見積もり」や「ストーリーポイント」に纏わる悩みにぶち当たってきました。工数や期間での見積もりに慣れていた私にとって、それらは理解も実践もしにくい手強いものでした。 今回は、私が実際に直面した問題と、それらを打破するためチームで取り組んできたことを思い返してみようと思います。 壁1. 「相対見積もり」の考え方を理解できない 壁2. ストーリーポイントが「何を見積もる手段か」を理解していない 壁3. 見積もりをコミットメントと捉えてしまう まとめ 壁1. 「相対見積もり」の考え方を理解できない バックログ上に積まれたユーザーストーリーやエピックを見積もろうとしたとき、私たちは真っ先に「こんなコンポーネントを新規実装するだろう、おそらく2日くらい掛かる」「あの既存機能をいじる必要があるが、複雑な箇
概要 この記事ではRust初心者が驚いたり混乱させられたりするようなRustの文法を10項目集めてみました。 これらの項目は知らないと理解できなかったりコンパイルエラーに悩まされたりする一見厄介なものたちなのですが、そのような直感的でない挙動を敢えてさせているところには重要な意味が込められていることが多いです。 そのため、これらの項目を通してRustが目指しているものや実現したい機能の一部を垣間見ることができると思います。 1. デフォルトの代入がムーブ Rustの最大の特徴が所有権の概念であることは有名ですが、それでもなお初心者殺しになるのがムーブです。 以下のコードがコンパイルエラーになるメジャーな言語は現状Rustくらいしか無いでしょう。 let mut a = vec![1, 2, 3]; let mut b = a; // ここでaの持つベクタの所有権がbにムーブされ、aは無効に
どうもさいちゃんです。 AWSには利用者が仮想環境を構築していくのに役立つベストプラクティスと呼ばれるものがあります。 これからAWSでガンガン仮想環境を構築していくにあたって設計のベストプラクティスを復習してみようということで、今回はAWS公式から出ている「AWS 設計のベストプラクティスで最低限知っておくべき 10(+1) のこと」という動画を視聴したのでご紹介をしていきます。 登録さえすれば、無料で動画の視聴と資料のダウンロードができます。 こちらから受講が可能です。 はじめに このセッションはAWSにおける設計おベストプラクティスの理解を深める目的で、 クラウド導入を検討している方 オンプレミスからクラウドへの移行を検討している方 クラウドを使い始めたがベストプラクティスを適用できているか悩んでいる方 向けに細かくわかりやすくベストプラクティスについてを説明しているものになります。
エンジニア単価表の記事はこちら! はじめに 社会人になってから数年。数々の失敗を目撃 & 体験をしてきました。 その教訓で、改善すればより仕事も人間関係も円滑に進み、エンジニアとしても成長できるだろうなというネガティブな点をまとめてみました。 僕も過去できていなかったり、今もできていないところはありますが、反面教師として伝えられたらと思います。 特徴 1.納期に間に合わない時、自分から報告してこない 明確に期日が共有できているのにも関わらず、直前もしくは遅れる旨を報告してこないパターンです。 責任感がない人に多い気がします。実力不足であったり、実装していくうちにタスクの見積もりがずれることもあるので勇気を持って報告しましょう! 2.タスク分解しないで、仕事し始める 機能実装のような中規模以上のタスクは、DB変更など下のレイヤーが間違っているとその上位の実装も全て修正しなくてはいけなくなりま
はじめに これらの横棒、コンピュータにとっては全て違うのですが 見分けがつくでしょうか? -˗ᅳ᭸‐‑‒–—―⁃⁻−▬─━➖ーㅡ﹘﹣-ー𐄐𐆑 郵便番号、住所、電話番号など、横棒が使われているデータを扱うとき、 人が入力したデータや購入したデータであると、同じ記号が使われていないことはよくあることです。 090-1234-5678 090᭸1234᭸5678 090‑1234‑5678 090−1234−5678 これらの電話番号の文字列も phone_no_list = ['090-1234-5678', '090᭸1234᭸5678', '090‑1234‑5678', '090−1234−5678'] # 文字をUnicodeコードポイントに変換 for n in phone_no_list: # 文字列の4番目の横棒の文字コードを見てみる print(n[3], ord(n[3]
このPython入門講座では、プログラミング経験の未経験者・初心者を対象に、ブラウザからPythonを実行できるサービスGoogle Colaboratory(Colab)を使って、Pythonの基礎をチュートリアル形式で解説します。 Colab は、Google社が提供する、Webブラウザからプログラミング言語Pythonを実行できるサービスです。Colabは無料で使えますし、めんどうな環境設定なしに、いきなりプログラミングを体験できますから、これからプログラミングをやってみたい、という方にはおすすめの学習環境です。 この講座では、プログラミング未経験者を対象に、Pythonプログラミングに必要な最低限な操作方法と、基礎知識を覚えてもらうことを目標にしています。この講座でかんたんにプログラミングの概要を学び、それから一般的なPythonの入門書に取り組むと、学習がスムーズに進むのではない
どうも、まさとらん(@0310lan)です! 今回は、誰でも無料で使える天気予報APIを提供してくれるWebサービスをご紹介します! 面倒なユーザー登録やAPIキーの設定などが不要で、欲しい天気情報のパラメータを含めたURLを好きなように構成するだけで簡単にJavaScriptから制御できるのが特徴です。 日本はもちろん、世界中の詳細な天気情報を取得できるのでご興味ある方はぜひ参考にしてみてください! 【 Open-Meteo 】 ■「Open-Meteo」の使い方 それでは、「Open-Meteo」をどのように使えばいいのか詳しく見ていきましょう! 「Open-Meteo」が提供する天気予報APIを利用するにあたり、何か特別な登録や申請は必要ありません。もっと言えば、ユーザー登録も不要でAPIキーもありません。 非営利プロジェクトであれば誰でも自由に使うことが可能で、以下のエンドポイント
Introduction 概要 待機状態 UI のデザインについての記事です。 待機状態 UI というのは、ローディングや情報の処理待ち時に用いられる UIのことです。ここで待機状態の UI と読んでいる理由は、各デザインシステムやガイドラインなどで言い方が違うため、今回はこのように言及させてください。 この記事では、既存のデザインガイドラインや既存のデザインシステムから待機状態の UI の概観、デザインにおいて考慮することをまとめます! ベストプラクティスを提案するわけではなく、作成する際、配慮することを頭に入れて思考できる記事にします。 背景、課題感 WebFront-end における各 UI の実装を行おうと考えているが、実装する際、ビジネス側やデザイン側と実装する UI について話し合って作ることが多いです。 小さなプロジェクトだと、デザイナーがいない事も多く、Front-end
2021 年の 4 月から家族で東京を離れて静岡県の富士市で暮らしています。 富士市での暮らしも落ち着いてきたのでまとめということで書いてます。 移住を決めるまで きっかけはコロナです。コロナでフルリモートワークが続いている中で軽く移住でもするかという話をしたところ、思った以上に家族からの反応がよく移住の検討が始まったという感じでした。 住む場所については、個人的にこだわりはないのである程度任せていたのですが、一つだけ条件として「東京に週一くらいで通うことが可能な場所」というのを出しました。 これは、フルリモートになっていくことでオフラインでのコミュニケーションがより大事になるなという感覚があったのでそれが可能な場所にはしたいという気持ちからです(実際にはコロナ後に週一で東京行くことはないとは思いますが)。 そんなこんなで家族のいくつかの希望や、将来家を建てる時にそれが可能なくらいの土地の
Scrum Fest Sapporo 2021でプレゼンしました。 私達の愛したDDDを取り戻すための苦悩と挑戦について紹介します。本作品はマリリン・マンソン Rock is dead オマージュ作品となっております。 DDDはその構造上、デザイン思考やリーンスタートアップやディスカバリーといったものを考慮しておらず、デリバリーフェーズを意識した手法になっているのですけど、これはチーム開発のボトルネックを生み出す原因になりがちではないでしょうか? デリバリーにおいてはドメインを語れる人がいく人かおり、それをベースにそこそこの規模のシステム設計やアプリケーション設計をしていく。その過程でDDDを実践したという経験がつくわけですが、その人に対して、新規事業であったり、若々しい状態の事業のサポートをお願いすると、劣化したDDDのような設計をベースに進めつつ、現場のプログラマーを説得する行為に走る
こんにちは、検索基盤部 検索基盤ブロックの渡です。私は検索基盤ブロックで、主にZOZOTOWNの検索周りのシステム開発に従事しています。 以前の記事では、Elasticsearchのマッピング設定の最適化について取り上げました。そして、今回は日本語による形態素解析を実現するまでの手順をご紹介します。 techblog.zozo.com 目次 目次 はじめに Elasticsearchで全文検索を実現させる手順 全文検索のためのマッピング定義 Analyzerの構造 日本語対応のAnalyzer 日本語対応のためのプラグイン追加 kuromoji Analyzerを指定したマッピング定義の例 kuromojiプラグイン機能 カスタムしたAnalyzerのマッピング定義 Analyzerの動作確認 modeを選択した場合のマッピング定義の例 Analyzer適用の注意点 kuromoji以外の
Excel医@4/28(金)『人生を変える Excelの神スキル』大発売! @Excel_design_Dr 30代内科医|Excel大好き|職場の悲惨なデータベースを見てExcel猛勉強→初心者からVBA使えるようになる→ユーザーフォームでシステム構築。何も伝わらない学会スライドに唖然→デザイン勉強中。全国民のExcelリテラシー上げたい。Amazonアソシエイト参加中。著書👉amzn.to/3tnd2fh excel-design-dr.com Excel医@デザイン勉強中 @Excel_design_Dr これから社会に出る若者へ。一つ忠告しておくが、マジで「Excelができる」ってのは神スキルだから勉強しとけ。プログラミングとか動画編集ができるのもいいけど、それを活かせる会社って少ないからな。Excelはほとんどの会社で使われてるけど、使いこなせる人はほんと少ない。マジで無双でき
マスタリングLinuxシェルスクリプト 第2版 ―Linuxコマンド、bashスクリプト、シェルプログラミング実践入門 作者:Mokhtar Ebrahim,Andrew MallettオライリージャパンAmazon 令和最新版のシェルスクリプトの入門書とリファレンスがセットになった1冊。手元に置いておくと安心感ありますよね。 令和最新版なので、冒頭からデバッグしたいならVisual Studio Code がオススメ、と出てきます。 コンテナ使おうと思ったらシェルスクリプトの読み書きの出番がどんどん増えていって、コンテナに一番必要なスキルはシェルスクリプトのスキルでは?と思っている今日この頃です(違います)が、そのくらいの用途に必要な要素は全部盛り込んであり、シェルスクリプトの文法と実践的な使い方に加えて、一緒に利用されることの多いgrep、awk、sedといったコマンドの解説も併せて載
本題のチートシートはこちら PNG SVG https://d.kuku.lu/6b5cc7b0a9 から DL できます 作った理由 git って他人に概念を説明するのって難しいし、自身も何度も反復させないと定着しなかったなあという感覚を持っていたので作ってみました 所感 こちらの Git チートシートですが、この中に盛り込めなかった内容で 第2段 を作成しようか考え中です 皆さまのオススメの便利コマンドとか、この内容は必須だろ!的なものがあればをご教示いただければ幸いです もし誤りがあれば、作者の心が折れない程度にご指摘いただければ幸いです あとがき ここまで反響を頂けるとは思っておらず、嬉しい限りです・・・本当にありがとうございます・・・!! また、図は全て自作です。図における言語は英語、説明は日本語、と言う形に統一しました。(吹き出し部分だけ日本語になっていたのでこちらは修正しまし
僕はデザイナーとして、これまで多くのインフォグラフィックスやスライド形式の記事を作ってきました。その関係で、一般的なビジネスに使うスライドについて聞かれることがよくあります。そんな時の回答は大抵の場合、次の3つです。 ・情報を減らすこと ・ルールを守ること ・装飾をしないこと こう答えると、見た目のカッコ良さを期待していた人には、がっかりされることもあります。(笑) でも、ビジネスの資料で、最も優先すべきことは「わかりやすさ」です。そして、資料のわかりやすさに、装飾的なカッコ良さは関係ありません。むしろ、余計なあしらいが、わかりにくさを生んでしまうことも多いのです。 では、「資料にデザインは必要ないのか?」というと、そうではなくて、資料のデザインとは、グラフィック的な装飾ではなく、(視覚的に)情報を整理することなのです。 一般的に、デザインをフィニッシュワーク(清書や化粧のようなもの)と考
id:daido1976 です。入社してからあっという間に1年が経っていました。 直近3ヶ月ほどプライベートでフロントエンド開発の勉強をしていたのですが、ここ数年で CSS の Grid や React の Hooks が新しく導入されたことなどもあり、少し古いコンテンツだと教材として役立たない1 と感じることが多かったので、本記事では私が実際にやってみた中で 2019年時点で オススメできると判断した教材や学び方を皆さんにご紹介したいと思います。 はじめに やったこと JavaScript MDN の JavaScript の部分を読む & 手を動かす JavaScript Primer を読む YouTube 動画で Promise を学ぶ デバッグ方法を学ぶ React React 公式のチュートリアルを2周する egghead.io の動画で Redux を学ぶ ヘルシンキ大学の
こんにちは、ドイツのモナでございます〜 いろんなサイエンスにおいてグラフ理論がとても重要な用具となっていますが、グラフ理論ってそもそも何なのかご存知ない方も少なくもないですね。 ということで、今日は簡単にグラフ理論の基本や用語など紹介したいと思います!なお、入門のため誰にでも分かるように数学的な定義は避けるようにします。 また、グラフ理論の応用は別の話ですので今回は応用の話しません〜 なぜグラフが面白いのか 具体的な応用の話はしませんが、たくさんの分野においてグラフ理論が重要となっています。 ネットワーク(例:トポロジー、ルーティングアルゴリズム) AI(例:ニューラルネットワーク) コンピューターサイエンス(例:ファイルシステム) 社会科学(例:ソーシャルネットワーク分析) 皆さんの生活の中(例:カーナビの最短ルートの計算) グラフ理論とは? ここで議論するグラフというのは、よく思い浮か
Flutter入門 - 簡単なアプリを作ってUI宣言やホットリロードなど便利機能の使い方を理解しよう モバイル向けアプリケーションのフレームワーク・Flutterを使って簡単なアプリケーションを作成する基本的な開発について、FlutterのGoogle Developers Expertである上田哲広さんに解説していただきました。 こんにちは。上田哲広(@najeira)です。FlutterのGoogle Developers Expertとして活動しています。 Flutterは、Googleが中心となってGitHub上でオープンソースなプロジェクトとして開発されている、モバイル向けアプリケーションのフレームワークです。AndroidとiOSのアプリを単一のコードベースで開発できます。 GitHub - flutter/flutter: Flutter makes it easy and
インフラをやるうえで知っておきたいトピックを独断と偏見で選んでリンク集をつくりました. HTTP HTTP入門 [BurpSuiteJapan]HTTP基礎入門 RESTful API Web API入門 RESTful API 入門 KVS key-valueストアの基礎知識 KVS 超入門 - footmark NoSQL HBaseの概要とアーキテクチャ | Think IT(シンクイット) Oracle Cloud Hangout Cafe - 明解! NoSQLの勘所 - Speaker Deck データベース 2018-11-データベース / 2018-11 database - Speaker Deck SQLをはじめよう - 初心者でもわかる、構文とデータ取得の基本 - エンジニアHub|若手Webエンジニアのキャリアを考える! RDBとNoSQLにみるDB近現代史 データ
github.blog GitHub Actions の新バージョンが 8/8 に発表されました。 www.kaizenprogrammer.com 自分は過去にも旧バージョン時に GitHub Actions の入門記事を書いていたのですが、新バージョンがこれまでと大きく変わってしまっているので、この記事ではあらためて GitHub Actions についていろいろ調べたり動かしてみたりした内容をまとめます。 目次 注意事項 GitHub Actions とは これまでの GitHub Actions とどこが変わったか コンセプト マルチプラットフォーム対応 HCL から YAML へ 料金 その他 GitHub Actions と Azure Pipelines 簡単な例 (Hello, World) ワークフローの設定 ワークフローとは ワークフローを実行するイベント ワークフロー
最近JavaScript関連の開発で採用が進んでいる「webpack」は、JavaScriptファイルの変換や結合といった操作をコマンド1つで実行できるツールだ。本記事では、webpackとは何かという基本的な概念から導入方法、実際の利用例などを紹介する。 モジュール管理機構の不足や未サポート機能の問題をツールで解決する「webpack」 今日のWeb開発においてJavaScriptの利用は避けることができないが、JavaScriptのソースコードをどのように管理・デプロイすべきかという問題に対しては、まだ決定的な解決策が生まれていない状況が続いている。その根本的な原因の1つには、最近までJavaScriptにおいて普遍的に利用できるモジュール管理システムが存在しなかったことがある。 一般的なプログラミング言語では、大規模なプログラムを実装する際に作業性やメンテナンス性を高めるためプログラ
注釈 本ドキュメントは、まだ未完成ですが、ウェブフロントエンドの開発を学ぶときに、JavaScriptを経由せずに、最初からTypeScriptで学んでいく社内向けコンテンツとして作成されはじめました。基本の文法部分以外はまだ執筆されていない章もいくつもあります。書かれている章もまだまだ内容が追加される可能性がありますし、環境の変化で内容の変更が入る可能性もあります。 書籍の原稿はGitHub上で管理しております。もしTypoを見つけてくださった方がいらっしゃいましたら、 GitHub上で連絡 をお願いします 1 。reSTファイルだけ修正してもらえれば、HTML/PDFの生成までは不要です。フィードバックなども歓迎しております。 1 https://github.com/future-architect/typescript-guide/pulls
こちらのスライドは以下のサイトにて閲覧いただけます。 https://www.docswell.com/s/ockeghem/ZM6VNK-phpconf2021-spa-security シングルページアプリケーション(SPA)において、セッションIDやトークンの格納場所はCookieあるいはlocalStorageのいずれが良いのかなど、セキュリティ上の課題がネット上で議論されていますが、残念ながら間違った前提に基づくものが多いようです。このトークでは、SPAのセキュリティを構成する基礎技術を説明した後、著名なフレームワークな状況とエンジニアの技術理解の現状を踏まえ、SPAセキュリティの現実的な方法について説明します。 動画はこちら https://www.youtube.com/watch?v=pc57hw6haXkRead less
このリストは何? MDN web docs を、あたかも書籍の目次かのごとく整理しなおしたものです。それぞれ MDN web docs の記事へリンクしています。 なぜこれが必要になったかというと、人材市場でフロントエンドエンジニアが少なすぎる現状をどうにかするべく教育体制を整えるところから考え始めたのですが、それならまずは日頃お世話になっている MDN web docs を教材として扱いたいなと思ったからです。慣れてきてもよく参照するし「アレどこだっけなぁ?」を軽減もしやすいかなって。 MDN web docs は内容そのものはかなり充実しているものの、リンクがあらゆる方向に張り巡らせられており ある一定の流れに沿って読む ということが少々難しい側面もあります。特に初学者にとっては、迷子になりやすいかもしれません。 ですので、初学者でも学習しやすいように MDN web docs 全体の
SSRF(Server Side Request Forgery)という脆弱性ないし攻撃手法が最近注目されています。以下は、ここ3ヶ月にSSRFについて言及された記事です。 EC2上のAWS CLIで使われている169.254について SSRF脆弱性を利用したGCE/GKEインスタンスへの攻撃例 SSRFを利用したメール送信ドメインの乗っ取り 「CODE BLUE 2018」参加レポート(岩間編) この「空前のSSRFブーム」に便乗して、SSRFという攻撃手法および脆弱性について説明します。 SSRF攻撃とは SSRF攻撃とは、攻撃者から直接到達できないサーバーに対する攻撃手法の一種です。下図にSSRF攻撃の様子を示します。 攻撃者からは、公開サーバー(203.0.113.2)にはアクセスできますが、内部のサーバー(192.168.0.5)はファイアウォールで隔離されているため外部から直接
【注意!】 2024年4月末にこちらの本の内容を大幅リニューアルしました! https://note.com/terry10/n/nf0674af97617 ※こちらのZennのBookも5/7を目安にリニューアル内容を反映する予定です 多くの人に手に取って欲しいので、リニューアル後は期間限定で無料配布も検討しています。 こちらのツイートで無料配布について告知しています! ↓ https://x.com/teriteri_code/status/1783358352447414464 --- React+TypeScriptを使ったNetflixの映画一覧を表示するアプリケーションのチュートリアルです。 学べる事 - ReactのFunctionComponent(関数コンポーネント)とTypeScriptの使用 - React Hooksによるstate管理 - TypeScriptで外
この記事は npm へ公開可能なパッケージを TypeScript で作成しながら、JS/TS 開発で良く使われるツールを紹介する記事です。 typescript-npm-starter という名前の Hello, world! パッケージを公開するという体で話を進めます。
【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
「Dockerって、結局中でなにやってんの?」 先日、以下のミートアップに参加して、LT登壇してきました。 Docker Meetup Tokyo #31 (初心者歓迎LT祭り+KubeConCN報告) 自分はLTの一番手として、「雰囲気でコンテナ使っている 全ての人が読むべき 「コンテナ技術入門」の紹介」で喋ってきたので、それの登壇報告となります。 「コンテナ技術入門」は、Dockerコマンド一通り使えるようになってきたけど、もっとDockerやコンテナについて深く知っておきたいという方にはむちゃくちゃ有用なコンテンツなので、一度目を通して、実際に手を動かして試してみることをオススメします。 (祭) ∧ ∧ Y ( ゚Д゚) Φ[_ソ__y_l〉 コンテナマツリダワッショイ |_|_| し'´J 講演概要 当日のセッションスライドはこちら。 この記事では、LTという時間枠の中
Reactのチュートリアル、たくさんありますよね。どれも質が高く、どこから手をつければいいかわからなくなっちゃいます。 ですがやはり巷のチュートリアルには面倒な問題もあります。今回は面倒ごとを全部すっ飛ばしてReactでのウェブアプリ作りに入門してみましょう。 Reactを始めるには、まずあれとこれとそれとどれと…… Reactやるには、まずNode.js入れてbabel入れてreact入れてreact-router入れて、ついでにredux入れてreact-redux入れて、redux-saga入れて…… Reactめんどくせえ!!!ってのが正直なところだと思います。はい、私もそう思います。ただ、まあ、色々必要なのも事実なので……。 それでもやっぱり「ReactやるならReactだけやりたい。他はどうでもいい」という気持ちは簡単に捨てられるものではありません。そこで今回はそういう面倒全部
初心者が見た瞬間になるもの特集です。 小テクだったり、省略記法だったり、、 実際私も出会ってになりました! 追記 即時関数のところで説明にある 他には、+や-等でも動きます。 の"等"が気になった方に朗報です。こちらの記事で"等"を知ることができます!! [JavaScript] "!function() {}()"以外の即時関数を紹介するぜ よろしければ覗いてみてください! !! is 何 booleanへの型変換。 例 const obj = { hoge: "hoge" } function hasHoge() { return !!obj.hoge // => true } 論理否定(!)を二つ繋げて、boolean への型変換をしています。 !の結果を!で評価しているんですね〜。 JSON.parse(JSON.stringify(obj)) is 何 ディープコピー。 例
This article is a Private article. Only a writer and users who know the URL can access it. Please change open range to public in publish setting if you want to share this article with other users. ※この記事は著者の増田さんの了解の上で限定公開させて頂いております。 https://twitter.com/masuda220/status/1215122054795522049?s=20 オブジェクト指向、設計がなぜ必要か = ソフトウェア全体の整理整頓をするため 第1章 小さくまとめてわかりやすくする 変更が大変なプログラムの特徴 メソッドが長い クラスが大きい 引数が多い 関心事を詰め込みすぎ
「最近、モダンモダンすげぇ聞くけどモダンってなに?」 「人の数だけモダンはあるんだよ…」 近年、パブリッククラウドを主軸としたアプリケーション開発文脈の中で「モダンアプリケーション」という言葉をよく聞くようになりました。自分もMAD(Modern Application Development)事業部の部長を去年やっていたりして、モダンという言葉には人一倍敏感だったりします。 そんなおり、そのモダンアプリケーションについて真正面から解説する本を、著者の落水さんから献本いただいたので、僭越ながら書評という形でご紹介させていただきます。 モダンがなにかようやくわかるの…!? ( ゚д゚) ガタッ / ヾ __L| / ̄ ̄ ̄/_ \/ / 丸わかりやで。 書籍の概要「AWSで実現するモダンアプリケーション入門」 AWSで実現するモダンアプリケーション入門 〜サーバーレス、コンテナ、マイ
TL; DR Docker/Kubernetes初心者の方と一緒に仕事をすることになったので、はじめの一歩として勉強会を開いたときに作成した以下の資料を公開しました。 speakerdeck.com 資料の目的 ZOZOテクノロジーズではたくさんのプロジェクトがあり、技術的にも古いものから新しいものまでいろいろなものが使われています。その多くは歴史的経緯や開発者たちのレベル感、今まで経験した技術などをベースに選定されることが多いです。 弊社 岡がCNDT2019にて発表した以下の資料や、ZOZOTOWNの作り直しの真っ赤な広告にもあるように、古い技術を使い続けてグロースを続けてきた結果、社内のプロジェクトのいくつかはスケーラビリティとして飽和に近い状態のものもあります。 ZOZOTOWNのCloud Native Journey from Toru Makabe www.slideshar
分析を身につけるには実際に「手を動かす」ことが一番の近道です。 分析ソフトと自治体のオープンデータを使った分析の進め方をとことん詳しく、マニュアル風にご説明します。やってみたいけど難しそう、わからない!という方の参考になればうれしいです。 (※あくまでもイメージをつかむためのものですので、詳しくはネットや参考書など他の情報もご覧ください) 今回のゴール地震による津波で浸水が想定されている区域に、子どもが通う施設がどのくらいあるのか。公開データから分析、可視化する。 以前、私が分析に携わったこの記事では、津波によって浸水が想定されている区域に、高齢者施設がどのくらいあるかを調べました。 このときのデータは、県や自治体などから取材で提供を受けたものがベースになっていました。そのままオープンにすることはできないので、今回は高齢者と同じく避難に手助けが必要な、「子どもの施設」に津波のリスクがあるか
文字コード再入門 ─ Unicodeでのサロゲートペア、結合文字、正規化、書記素クラスタを理解しよう! 文字コードには、どのような種類があり、それぞれどのような意味を持つのか、といった、文字コードの基本的な概念、従来の文字コードを紹介し、現在のUnicodeの構成を概説し、プログラミングにおいて注意すべき箇所をいくつか取り上げます。 ソフトウェア開発に携わる方の多くは、何らかの形で文字コードに触れることがあるでしょう。文字や記号をコンピュータ上でデータとして扱うには、文字コードの知識が必要不可欠です。 本稿では、書籍『プログラマのための文字コード技術入門』の著者である矢野啓介さんが、知っておきたい基礎知識を分かりやすく解説します。 文字コードとは? Unicode以前の文字コード Unicodeとその主な符号化形式 UTF-16 UTF-32 UTF-8 Webで文字コードを指定する仕組み
はじめに 学校で習わないが(習う学校もある)、現実に必要になるプログラミング技術に、低レイヤプログラミングなどと呼ばれるものがある 厳密な定義は聞いたことがないし、おそらく存在しないとは思うが、大体のみんなの共通認識として、 「高級プログラミング言語を使わないプログラムを書き、OSで抽象化されないデバイスの機能を使う」といったような認識があると思う。 筆者の経験から言わせてもらうならば、低レイヤプログラミングに関する知識は、プログラミングにおいてあらゆる場面で、常に、少しずつ役立てられる知識だと言えると思う。 普段はRubyやPHPなどを書いてる人であったとしても、メモリが足りなくなった場合や、デバッガを使っている場合、性能が足りなくなった場合など、 厳しい環境におかれた時に低レイヤプログラミングに関する知識が必ず役に立つ場面が来ると信じている。 また、役に立つかどうかは置いておいても、「
よく新しいフレームワークを学ぶにはTodoアプリを作ってみるのがよい、と言われる。実際、Todoアプリを様々なフレームワークで作ってみたサンプルをまとめたサイトもあったりする。 ところが、実際に業務で作るようなアプリケーションはTodoアプリの範疇を超えている。とくにSPAにもなると、画面遷移やWebAPI連携、大規模な状態管理などなどの条件が増えるので、Todoアプリを作っているときには考慮できていなかった大変さが出てくる。 そこで参考になるのが RealWorld example apps と呼ばれるプロジェクト 端的に言うと、TodoMVCの大規模版。 規定のスペックに沿って、様々なウェブフレームワークで作られたアプリケーションのリポジトリがリストアップされている。 スペックについて "Conduit" is a social blogging site (i.e. a Medium
ども、ゲストブロガーの大瀧です。 クラスメソッド在籍中の2018年2月頃社内向けにDNS勉強会を全4回で開催したことがあり、そのときの資料がひょこっと見つかったので公開してみます。(正確には第3回は聖剛さん担当だったので一緒に公開してもらいました、感謝。) 第1回 DNS入門 : DNSのしくみ、キャッシュ 第2回 DNSコンテンツサーバー : DNSサーバーの分散構成とゾーンの委任 第3回 DNSセキュリティ : DNS関連の攻撃手法とDNSSEC 第4回 AWSのDNSサービス : Route 53とAmazon DNS DNSについての理解を深める一助にしていただければと思います。現職(SORACOM)でももちろん超重要な技術です! 第1回 DNS入門 スライド共有サービス終了に伴い、公開終了 第2回 DNSコンテンツサーバー スライド共有サービス終了に伴い、公開終了 第3回 DNS
この記事は何か イメージやコンテナなどの基本からdocker-compose、docker-machine, docker swarmなどのDocker周りの様々な概念の全体像を整理して、Dockerの仕組みを理解するための記事 前編では「コンテナ、イメージ、DockerHubでのイメージ共有」について書いて行きます。 対象読者 ・Dockerって何? ・Dockerちょっと勉強したけどDocker compose? Docker machine? Docker Swarm? 色々ありすぎて意味不明 という方 Dockerとは何か Docker社が提供する「コンテナ型仮想化技術」 を実現するプロダクト 仮想化? PCやサーバといったマシンにインストールされているOS(ホストOS)の上に、別のマシンを仮想的に立ち上げる事 簡単に言うと「パソコンの中に仮想パソコンを起動する」のが仮想化です。
Dockerの概念や仕組みまではなんとなく理解できるもののDockerfileを書こうとするとスムーズに書けなかったり、そもそものDockerの基礎、あるいはコンテナ技術というものの基礎が抜け落ちていてDocker環境に移行できていないところも多いのではと思い、この記事を翻訳しました。 Source:The Docker Handbook by Farhan Hasin Chowdhury(@Twitter) 本記事は、原著者の許諾のもとに翻訳・掲載しております。 コンテナ化の概念自体はかなり古いですが、2013年にDocker Engineが登場したことで、アプリケーションのコンテナ化がはるかに簡単になりました。 Stack Overflow Developer Survey-2020によると、 Dockerは#1 最も望まれるプラットフォーム、#2 最も愛されるプラットフォーム、および
おことわり この記事はプログラミング&業務未経験の新入社員に、Gitについて1時間くらいでバババッと説明した内容をもとに作ったものです。自分がもし誰かにGitについて教えて貰える立場にいたら、最初にこれを教えて貰いたかったという気持ちで作りました。 とりあえず「1人のプロジェクト」で「1時間で」Gitをそこそこ知って使えるようになることを目的としています。実際のチーム開発ができる水準までこの記事だけで達するのは無理ですが、今後Gitを使う必要がある人にとって学習の足がかりになればいいな、という内容です。 それと、新入社員に教えるという都合上、表現がやや正確でなくざっくりしたところがあるかもしれませんが、質の悪い誤解を招くようなものでなければご容赦下さい。 全体像 まずはGitとは何かをざっくり分かって貰った後で、VSCode上での操作を行って貰います。 Windowsでの説明を行いますが、
こんにちは、上杉周作と申します。米国在住のプログラマ兼ブロガーです。2019年に日経BP社から発売された『ファクトフルネス』の共訳者でもあります。詳しいプロフィールとブログはこちら。 『ファクトフルネス』 本稿「コンピュータサイエンスと魔法のYコンビネータ」は、プログラミング未経験者向けの、邪道なコンピュータサイエンスの入門書です。どういう意味かは、すぐに説明しますね!
この講座は『受講登録する(無料)』ボタンを押すと受講開始となる『開始日可変型講座』です。 『開始日可変型講座』とは、受講者個々の受講開始日に応じて進行する講座です。 ご自身のスケジュールは、以下の講座スケジュール(PDF)を参考にご確認ください。 講座内容 統計に関する知識は、実験、試験、調査などの結果を用いた実証研究を行う上でなくてはならないものである。生活に関わるさまざまな効果やリスクがデータとともに語られ、生活者としても統計に対するリテラシーが求められるようになった。企業活動では、情報技術の発展によって、日々膨大なデータが生成されており、その活用が求められるようになった。本講座は、研究や、生活、社会・経済活動に不可欠な統計を、集計・分析し、理解する力を養うことを目的とした「統計入門」「続統計入門」を圧縮した内容になっている。これから統計を学ぼうとする初学者や、学び直しを目指す学生を主
目次 目次 はじめに オススメの学習コンテンツ 【AWS SOME DAY】 【AWS ご利用開始時に最低限おさえておきたい10のこと】 【AWS Black Belt Online Seminar】 【AWS Hands-on for Beginners】 【ハンズオンチュートリアル】 さいごに はじめに 「AWSに興味はあるけど、何から始めたらいいか分からない」 そんな方々に向けて、たくさんあるAWSの学習コンテンツのうちのいくつかをまとめて、紹介していきたいと思います。 本記事で紹介するコンテンツは全てAWS公式のコンテンツとなっています。 オススメの学習コンテンツ 【AWS SOME DAY】 aws.amazon.com 概要 AWSの基本を1日かつ無料で学べてしまう太っ腹なトレーニングです 費用 無料 特徴 通常は会場でのリアル開催のようですが、2021年現在は「AWSome
監視という一種マニアックな領域を真正面から解説した貴重な本です。監視で悩む人のみならずシステム開発に携わるすべての人にオススメ。 「全然わからない。俺たちは雰囲気で監視をやっている」 自分はAWS事業本部コンサルティング部所属ということもあって、いろんなお客様にAWSインフラのコンサルティングしてます。最初のインフラ構成設計時に監視の話をすることも非常に多いんですが、 「どうしましょう。CloudWatchでいけますかね?」 「MackerelとかDatadogとかもありますが、どうしましょ。マネージドとの違いは〜」 「とりあえず、ディスク使用率80%でしきい値設定しておきましょうか。みんなそうしてますよ」 とか言っていた昔の自分に見せつけたい本、それが今回紹介する「入門 監視」。 監視設計の原則がよくわかんない メトリクスのしきい値決めるところから監視を考えてしまいがち よく考えずに、い
こんにちは、hachi8833です。BPS社内勉強会の発表を元に、社内JavaScript勢の皆さまのお力を得て記事を書きました。 目的 JavaScriptをたまにしか使わない私ですが、それもあってなおさら書くときに迷いに迷います。 ネットの情報多すぎ、動き激しすぎ、選り分けるにしても指針が欲しい 古いコードや毒入りコードを拾って食あたりや、泥舟に乗って沈没するのを少しでも避けたい 最初の一歩をどこから踏み出すかの手がかりが欲しい そういったわけで、2019年前半と区切って、一度JavaScript世界について門外漢ならではの「大きな絵」が欲しかったのでした。ここに書いたことの中には来年には古くなっているものあるかもしれません。 ただ、社内のJS勢の話を総合すると、JavaScript世界は数年前に比べるとかなり落ち着きつつあるとのことです。この機会にということで、主に自分のために現在の
コンポーネントを作るときや開発チーム、クライアントと話をするときに名称が一致していないと何の話をしているんだか、、?となってしまします。 忘れっぽい自分は毎回名前をうろ覚えでつけてしまっていますが、戒めとして記事を書くことでしっかり覚えていきたいと思います。 ※色んなところから引っ張ってきているので正式名称ではない(複数呼び名がある)ものがあるかもしれませんが、ご了承ください。 UIパーツ見づらくてすみませんが、エクセルのシートを画像にしたものを貼り付けていきます Onscreen keyboards画面上にキーボードの図形や文字を表示し、マウスあるいはペンなどのポインティングデバイスや、指先によるタッチ、あるいは十字キーなどで各キーを指定して文字入力を行うもの Onscreen keyboards (iOS) SegmentedControliOS独自のUIで水平方向に配置された複数のボ
※最新版(2021年バージョン)がこちらにありますので合わせてご覧ください! 毎年恒例, Python本と学び方の総まとめです!*1 プログラミング, エンジニアリングに機械学習と今年(2019年)もPythonにとって賑やかな一年となりました. 今年もたくさん出てきたPythonの書籍や事例などを元に, 初心者向けの書籍・学び方 仕事にする方(中級者)へのオススメ書籍 プロを目指す・もうプロな人でキャリアチェンジを考えている方へのオススメ を余す所無くご紹介します. 来年(2020年)に向けての準備の参考になれば幸いです. ※ちなみに過去に2019, 2018, 2017と3回ほどやってます*2. このエントリーの著者&免責事項 Shinichi Nakagawa(@shinyorke) 株式会社JX通信社 シニア・エンジニア, 主にデータ基盤・分析を担当. Python歴はおおよそ9年
入門 Docker¶ About¶ Dockerの入門からプロダクションで活用するプラクティスについてのドキュメントです。 プロダクションへ導入するために必要なDockerの概要から設計までをなるべく最短経路で学ぶことが目的です。 想定する読者層¶ WebAPIのようなサーバーサイドのプログラミングをしたことがある Dockerをこれからプロダクション環境へ導入してみたいと考えている初学者 Version¶ Docker 18.09.3 docker-compose 1.23.2 必要な環境¶ Docker Hub のアカウント Docker公式レジストリ Play with Docker DockerをWeb上で動かせる環境 Play with Dockerを起動するのに前述のDockerHubアカウントが必要 Docker for Mac(Windows)の場合VMが間に挟まり挙動が異
Skip to the content. モダン JavaScript チートシート 画像クレジット: Ahmad Awais ⚡️ イントロダクション 動機 このドキュメントはモダンなプロジェクトでよく見られる JavaScript のチートシートと最新のサンプルコードです。 このガイドは読者に JavaScript をゼロから教えるものではありません。 基礎知識は持っていて、モダンなコードベースに慣れる(例えば React を学ぶ)のに苦労している開発者を助けるためのものです。 説明の中で JavaScript の諸概念が使われています。 また、議論の余地のあるポイントについてときどき個人的な tips を載せますが、その際はあくまでも個人的なおすすめであることを述べるように気をつけます。 メモ: ここで紹介されている概念のほとんどは JavaScript 言語のアップデート( ES2
はじめに 学校で習わないが(習う学校もある)、現実に必要になるプログラミング技術に、低レイヤプログラミングなどと呼ばれるものがある 厳密な定義は聞いたことがないし、おそらく存在しないとは思うが、大体のみんなの共通認識として、 「高級プログラミング言語を使わないプログラムを書き、OSで抽象化されないデバイスの機能を使う」といったような認識があると思う。 筆者の経験から言わせてもらうならば、低レイヤプログラミングに関する知識は、プログラミングにおいてあらゆる場面で、常に、少しずつ役立てられる知識だと言えると思う。 普段はRubyやPHPなどを書いてる人であったとしても、メモリが足りなくなった場合や、デバッガを使っている場合、性能が足りなくなった場合など、 厳しい環境におかれた時に低レイヤプログラミングに関する知識が必ず役に立つ場面が来ると信じている。 また、役に立つかどうかは置いておいても、「
最近勉強を始めたコンテナ技術に関する基礎的な知識をまとめました。 [訂正と注釈] p.27-30: 「Deployment」内の「Version: 1」 => 「Version: 2」 p.37: 「終了コードをから」 => 「終了コードから」 p.39: 「HTTPSが利用できない」=> AWS上では、SSL終端するLBがサポートされています。https://kubernetes.io/docs/concepts/services-networking/service/#ssl-support-on-aws p.40: 「ユーザがingress controllerをmaster上にセットアップする必要」 => master上にセットアップしなければならないという制約はありません。例えばGCEのingress controller(GLBC)はPodとして動作します。https://gi
「この本にはお世話になったなぁ〜」 「今でもたまに読み返してます」 「マジでめちゃめちゃ影響受けた」 「そう、こいつが俺のエンジニア人生を変えやがったんだ...」 ↑「こんな本を紹介してください!」と社内チャットで投げてみたら、すんごいことになったのでそのリストをシェアさせていただきます。 ※推薦理由はあくまで推薦者による個人的な意見や思い入れたっぷりなので、それを踏まえてお楽しみください。 目次 アプリケーション/プログラミング ドメイン駆動設計 Java言語で学ぶデザインパターン入門 Pro Git BINARY HACKS Effective Java リバースエンジニアリング―Pythonによるバイナリ解析技法 なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 リーダブルコード メタプログラミングRuby 第2版 Head First デザインパターン テスト駆動開発 C
Pythonプログラミング入門¶ ▲で始まる項目は授業では扱いません。興味にしたがって学習してください。 ノートブック全体に▲が付いているものもありますので注意してください。
TypeScript再入門 ― 「がんばらないTypeScript」で、JavaScriptを“柔らかい”静的型付き言語に JavaScriptプロジェクトでTypeScriptを導入する際には、“柔らかい”静的型付き言語とするのがおすすめです。藤吾郎(gfx)さんがまとめた「がんばらないTypeScript」のガイドラインです。 TypeScriptは、すべてのJavaScriptプロジェクトで採用する価値のある技術です。TypeScriptとこれに対応したエディタを導入することで、補完や型ベースの整合性のチェックにより、すべてのプロジェクトで生産性が上がります。またリファクタリングも容易になるので、長期あるいは大規模なプロジェクトでも品質を保ちやすくなります。 この記事では、TypeScriptについて最低限の知識とともに、サクッと(どちらかというと既存のプロジェクトに)導入するための
scalar型を新しく定義するためにはscalarキーワードを使います。例えば、Date型を新しく定義するには次のようにします。 scalar Date スキーマではこれだけですが、実際に使う際はGraphQL処理系に対してさらにシリアライズとデシリアライズを定義することになります。 GraphQL組み込みのscalar型は先にあげたものだけなので、例えばバイナリ、日付と時刻、HTML/XML、BigIntなどを必要に応じて追加することになるでしょう。ただしその場合、サーバーサイドとクライアントサイドでシリアライズ・デシリアライズの実装を一致させる必要があります。 Enum enum(イナム)はscalar型の一種で、特定の値のみを持つ型です。例えば、組み込みscalar型であるBooleanをenumで宣言すると次のようになるでしょう。 enum Boolean { true false
コンテナ技術入門 - 仮想化との違いを知り、要素技術を触って学ぼう コンテナ技術を適切に活用するには、コンテナが「どうやって」動いているかを学びたいところ。はてなのエンジニアhayajo_77さんがコンテナの要素技術の勘所を解説します。 こんにちは。株式会社はてなでサーバー監視サービス「Mackerel」のSREを務めるhayajo_77( @hayajo )です。 さて、コンテナ技術はDockerの登場がきっかけとなり、本格的に活用が始まりました。現在はKubernetesを始めとするコンテナオーケストレーションツールや AWS, GCP, Azure などのクラウドサービスで提供されるコンテナマネジメントサービスを採用したサービス運用事例が数多く紹介されており、コンテナ技術は「理解する」フェイズから「利用する」フェイズに移ってきています。 コンテナそのものは上記のツールやサービスにより
いちいち行かなくていい。高いわりに役に立たない。本を買ったりネットの解説動画を見ながら自分でやるんだ。 毎日勉強できるならカリキュラムはこう。大事なのは「わかんなかったら自分で調べる」ということ。これをひとつひとつ解説していくとあっという間に1年ぐらいのカリキュラムになって金がかかるようになる。ググれば全部出てくる。出てこなかったら調べ方が悪いのでググりかたを変えればおk。この記事にも初心者から見ると「なにその言葉。初耳」っていうのがあると思うけど、全部重要なキーワードなのでググって咀嚼して血肉としてほしい。ググればすぐ出てくる。 1日目: Linuxのインストール(Linuxの中でもUbuntuっていうのがおすすめ)とりあえずLinuxを自分のパソコンにインストールする。Linuxを触れるようになればいい。 PCがない場合は、中古のPCなんて3万ぐらいで買えるからそれ買ってきてインストー
エンジニアを目指して今プログラミングを勉強している人向けに、開発に関してより知識を深められる新人研修スライドをまとめました。 Progateやプログラミングスクールだけでは学べない内容ばかりなので、新人エンジニアの人は目を通しておくといいです。 各企業で新人研修で実際に使われた資料なので、どんなことが開発の現場では求められるのかということが掴めます。 ここにある内容を100%理解することは難しいですが、少なからずインターンや就職をする時に役立つはずです(わからない箇所は本などを読んで補足しましょう)。 ▶プログラミングを効率良く勉強したい人はこちらの記事 もオススメ 全員共通で読むべきスライド Cookpad★ この資料で学べること リクルートテクノロジーズ★ この資料で学べること Git/コードレビュー GMOペパボ この資料で学べること GMOペパボ この資料で学べること GMOペパボ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く