mameboのブックマーク (1,857)

  • 周りが自分より優秀なのは当たり前。「僕なんか」って考えるよりチャレンジングで楽しそうなチャンスを選ぶ - Findy Engineer Lab

    オープンソースのCI/CDツールとして広く知られているJenkinsを開発した川口耕介(@kohsukekawa)さんが新たに友人と立ち上げたLaunchable(ローンチャブル)は、データサイエンスの技術を利用したテスト自動化のプラットフォームを提供すると表明しており、開発プロセスの改善をさらに推し進めるスタートアップとして注目されています。 このLaunchableにプリンシパル・ソフトウエア・エンジニアとして参画したのが、庄司嘉織(@yoshiori)さん。ソフトウェア開発者のキャリアを25歳でスタートし、Javaエンジニアとしてさまざまな経験を積む傍ら、若手エンジニアによるjava-jaというコミュニティも取りまとめてきました。 未経験のRubyにチャレンジしようと転職したクックパッドエンジニアリングマネージャーや人事部長まで務めるなど、複数の領域で多様なキャリアを歩んできた庄司

    周りが自分より優秀なのは当たり前。「僕なんか」って考えるよりチャレンジングで楽しそうなチャンスを選ぶ - Findy Engineer Lab
    mamebo
    mamebo 2020/11/18
  • Next.jsにおけるSSG(静的サイト生成)とISRについて(自分の)限界まで丁寧に説明する - Qiita

    この記事では、Web アプリケーションにおけるデータ取得(データフェッチング)やレンダリングに関する各手法について比較・整理することを目的として、特に最近注目度が高まっている Next.js における SSG(静的サイト生成)や ISR(インクリメンタル静的再生成)、それ以外の手法(SSR、CSR 等)を具体的なテーマとしてお話しします。 Twitter もやっているのでよかったらフォローおねがいします! @_thesugar_ 記事内の解説は正確性を期すよう注意を払っておりますが、誤っている部分などがございましたらコメント欄や Twitter 等でご指摘ください はじめに Web アプリケーションを作るとき、レスポンスの速さをはじめとしたパフォーマンスの問題は開発者にとって大きな関心事となります。 たとえば、最近では Google が Core Web Vitals という Web のパ

    Next.jsにおけるSSG(静的サイト生成)とISRについて(自分の)限界まで丁寧に説明する - Qiita
    mamebo
    mamebo 2020/11/17
  • Introduction · Container Security Book

    1. コンテナの基礎技術 Linux コンテナはホストと分離するために様々な Linux カーネルの仕組みを利用しています。 攻撃が生じる特定の領域に複数の保護レイヤを導入し、各レイヤは同種の攻撃に対して脆弱にならないような多層防御の仕組みが取られています。 章ではその保護の仕組みについて取り上げます。 Namespace Linux コンテナのリソース分離技術の要である Namespace について簡単に紹介します。 chroot と pivot_root コンテナのファイルシステムを分離するために必要な2つの仕組み chroot と pivot_root について紹介します。 また、chroot の問題点についても取り上げます。 Capability Linux において権限を柔軟に付与できる仕組みである Capability について紹介します。 seccomp 呼び出されるシステ

    mamebo
    mamebo 2020/11/16
  • データベースを遅くするための8つの方法

    はじめに Twitterのタイムラインを見ていたらバッチ系のプログラムで逐次コミットをやめて一括コミットにしたら爆速になったというのを見ました。当たり前でしょ、と思ったけど確かに知らなければ分からないよね、と思って主に初心者向けにRDBを扱うときの注意点をまとめてみました。 プログラミングテクニック的なところからテーブル設計くらいの範疇でDBチューニングとかは入ってないです。 自分の経験的にOracleをベースに書いていますが、他のRDBでも特に変わらないレベルの粒度だと思います。 大量の逐次コミットをする バッチアプリケーションでDBにデータをインサートすると言うのはかなり一般的な処理です。しかしデータ量が少ない時はともかく大量のインサートを逐次コミットで処理するとめちゃくちゃ遅くなります。数倍から十数倍遅くなることもあるので、10分程度のバッチが1時間越えに化けることもザラにあるので原

    データベースを遅くするための8つの方法
    mamebo
    mamebo 2020/11/15
  • 僕「PDFとは何か知りたい」 - Qiita

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

    僕「PDFとは何か知りたい」 - Qiita
    mamebo
    mamebo 2020/11/07
  • ウェブフロントエンドの設計力を高めるためにアプリケーションの構造を捉えてみる話 - Chatwork Creator's Note

    こんにちはー。 フロントエンド開発部の火村(ひむら/id:eiel)です。前回までは id:cw-himura で記事を書いていましたが、個人アカウントに切り替わりました。 よろしくおねがいします。 以前はサーバーサイド開発部に所属していましたが、2019年6月ぐらいからフロントエンドチームにヘルプとして無期限レンタル移籍中です。 主な担当している業務は「難しいバグ対応」と「これからChatworkのウェブフロントエンドをどうするかを考える」です。 昨日は期待の新人であるレオくんの入社して3ヶ月の熱烈な想いでした。アツいです。 さて、今回のお題は「レガシーフロントエンド脱却への挑戦」と雑に上から投げられたのですが、未来のことを考える作業をしているので書きやすいネタがありません。 あってもオチがつきません。 ということで、設計に役立つかもしれない話をラフに書くことにしました。 アプリケーショ

    ウェブフロントエンドの設計力を高めるためにアプリケーションの構造を捉えてみる話 - Chatwork Creator's Note
    mamebo
    mamebo 2020/11/07
  • vimrc の分割管理を上手くやる 2020年版

    筆者の環境について Vim にはプラグインマネージャも沢山あります。その中で僕は vim-plug を使っています。Software Design という雑誌で「Vim の細道」という連載をやっている事もあり、皆さんに一番リーチしやすいプラグインマネージャを選んでいるという事もありますが、基は「トラブルが発生しづらい」という理由で使っているのもあります。 vimrc の分割管理 ところで最近は Vim プラグインが沢山あり、個々に設定が必要な場合もあります。全て vimrc の中に書いてしまうのも良いのですが、そうするとどこからどこまでが、どのプラグインの設定か分からないといった問題が起きてしまいます。僕は vimrc をプラグイン毎に分割して管理しています。 Big Sky :: ぼくがかんがえたさいきょうの Vim のこうせい 2019年 年末版 " Vim 体の機能のデフォルト値

    vimrc の分割管理を上手くやる 2020年版
    mamebo
    mamebo 2020/11/07
  • microCMS + Gatsby + GitHub Actions + S3 でJamStackのチュートリアル | DevelopersIO

    What is Jamstack? ここ数年でよく聞くようになったワード。 Jamstackとはウェブサイトを構築および運用するための、技術の組み合わせです。 JavaScriptAPI・事前にレンダリングされたMarkupの組み合わせでJamStackとのこと。 (以前はJAMStackといってたけど、最近はJamstackだったりする) Jamstackは、 「ウェブをより速く・より安全に・より簡単に拡張できるように設計されたアーキテクチャ」であり、 生産性を最大化するツールやフレームワーク、ライブラリやワークフローなどを 組み合わせて構築されるもの、とのことです。 ※jamstack.orgより 従来のCMSではアクセスがあったとき動的にページを生成しますが、 Jamstackではデプロイ以前に必要なページを生成します。 具体的には、下記。 Webサイトのフロントエンド全体(HTM

    microCMS + Gatsby + GitHub Actions + S3 でJamStackのチュートリアル | DevelopersIO
    mamebo
    mamebo 2020/11/07
  • 業務システムとマイクロサービス(2) - 設計者の発言

    マイクロサービス・アーキテクチャ(MSA)を適用する際に頭を悩ます問題のひとつが「複数サービスにわたる更新操作」である。マイクロサービスを成すソフトウエアのまとまりは、個々に独自のデータストアを持っている。ゆえに複数サービスを横断する更新操作の際、トランザクション管理によるACID特性を保証できなくなる。 この問題に対処するために二相コミットや結果整合性等の考え方があるが、どのやり方でも限界があるし、ある種の制約や余分な手間を受け入れざるを得ない。もっとも穏当な設計方針は「複数サービスに渡る更新が起こるような粒度ではサービスを切り出さない」である。個々のサービスを実装する段になって悩む前に、サービス粒度の設計に関して事前に考慮すべきことがあるということだ。 前回記事で説明した「CRUD基準によるサブシステム分割」は、更新制御の面から見たサービス粒度の設計基準として応用できる。ドメイン駆動設

    業務システムとマイクロサービス(2) - 設計者の発言
    mamebo
    mamebo 2020/11/07
  • 新しい技術を学習しながらNotionでメモをとり、Zennで効率よく記事化するフロー

    新しい技術を学習するときに調べ物をしながらNotionに開発メモ(という名のリンク集)をつくり、開発が終わったらそのメモを基に記事化する、というフローがいい感じに型にはまって1年くらい運用できたので紹介します。 調べ物をしながら開発を進めていくスタイルの人にはおすすめの方法なので、良ければ参考にしてください。 対象読者 新しい技術を調べ物をしながら開発を進めることが多い ブラウザがタブでいっぱいになりがちでどうにかしたい 参考にしたページをよく見失って困る 学習したことを記事化したいけどめんどくさくて諦めてしまう 1. Notionでメモ用ページを作る Notionは、タスク、Wiki、およびデータベースを統合するマークダウンサポートを備えたメモアプリケーション及びサービス。 同社はこのアプリを、メモ作成、プロジェクト管理、タスク管理のためのオールインワンワークスペースと説明している。 N

    新しい技術を学習しながらNotionでメモをとり、Zennで効率よく記事化するフロー
    mamebo
    mamebo 2020/10/31
  • Goはクリーンアーキテクチャの思想を活かせるか? DMMのゲームプラットフォームにGo言語を選んだ理由

    DMM GroupのGoの勉強会「DMM.go」。DMM Groupのエンジニアが現場で培った技術やトレンドについて発表していきます。 2回目の開催となる今回登壇するのは、合同会社EXNOA プラットフォーム開発部の PFシステム部に所属する岡崎翔悟氏。「Goとクリーンアーキテクチャ」の内容で、実際の現場にいるからわかるGoの開発やクリーンアーキテクチャについて話していきます。関連資料はこちら。 合同会社EXNOAとは 岡崎翔悟氏:今回「Goとクリーンアーキテクチャ」と題しまして、EXNOAの岡崎が発表いたします。 「EXNOAって何だ?」と思われた方が多数いらっしゃると思うので、まずはそちらの説明から。DMM GAMESは2020年4月10日付でEXNOAに社名を変更しました。ただし、一般作品のブランド名として「DMM GAMES」は残っています。一般作品の「DMM GAMES」とR1

    Goはクリーンアーキテクチャの思想を活かせるか? DMMのゲームプラットフォームにGo言語を選んだ理由
    mamebo
    mamebo 2020/10/24
  • はじめに|Nuxt.js + Ruby on Rails + AWS Fargate の開発・デプロイチュートリアル

    はじめに|Nuxt.js + Ruby on Rails + AWS Fargate の開発・デプロイチュートリアル
    mamebo
    mamebo 2020/10/24
  • MySQLのEXPLAINが直感とは異なっていた事例 - 私が歌川です

    おもしろかったのでメモ。 CREATE TABLE `tbl` ( `id` BIGINT UNSIGNED NOT NULL, `done` BOOLEAN NOT NULL DEFAULT FALSE, PRIMARY KEY (`id`), KEY `done_and_id` (`done`, `id`) ); tbl テーブルに done = FALSE で100万行INSERTしておく SELECT id FROM tbl WHERE done = FALSE ORDER BY id ASC LIMIT 50 でidを順に集める 処理する UPDATE tbl SET done = TRUE WHERE id IN (...) で処理済にする これを done = FALSE な行がなくなるまで繰り返す KEY `done_and_id (`done`, `id`) ありでEXP

    MySQLのEXPLAINが直感とは異なっていた事例 - 私が歌川です
    mamebo
    mamebo 2020/10/24
  • コードレビューの目的と考え方 - osa_k’s diary

    まえがき コードレビューの目的 大目的 小目的 チェックリスト 優先度高(大きな損失を生む問題・後からの修正が困難な問題) 優先度中 優先度低(システムに大きな影響を与えない問題・後からの修正が容易な問題) レビューを負担にしないために レビューサイズのコントロール 誰がレビューをするか 議論をどうまとめるか 批判と個人攻撃 レビュワー向けアドバイス Code author向けアドバイス 参考文献 まえがき コードレビューの有効性が説かれるようになって久しい。しかし、コードレビューをするべきという観念ばかりが先立ってしまい、何のためにコードレビューをするのか、どのような点をレビューするべきなのかといった、目的や進め方に対する意識が曖昧なケースも数多くあるように思われる[6]。コードレビューの目的を理解せずに惰性でレビューしているだけでは、いずれレビューそのものが形骸化し、単に承認のハンコを

    コードレビューの目的と考え方 - osa_k’s diary
    mamebo
    mamebo 2020/10/20
  • レガシーおじさん、SPAを始めてみた。そして限界を知る

    はじめに 最近、Webの記事を見てるとReactVue.jsばかりが上がっていてJSPやERBの話をしてる人は誰もいません。jQueryの記事ももちろん見ない。 つまり、Webだけ見る限りではほとんどの人がSPAを使ってるように見えます。 私はWeb界隈には居るもののどちらかというとバックエンド寄り、もっというとそもそもWebとか関係ない領域を見る事が多いので、ちょっとキャッチアップを兼ねていくつかの個人プロダクトにVue.jsを採用してみました。 jQueryくらいで頭が止まってたので。サーバサイドもマイクロサービスでAPI化が進んでるのでフロントもそれに合った技術を選ばないとですしね。 というわけで、今回はその中で得た知見というか、従来型のサーバサイドでのWeb開発をしていた人の視点でVue.jsをキャッチアップする流れで書いていきたいと思います。 まあ最終的な結論は正直「これすごく

    レガシーおじさん、SPAを始めてみた。そして限界を知る
    mamebo
    mamebo 2020/10/20
  • React と Vue に関する XSS アンチパターン

    ReactVue.js におけるエスケープ機構と XSS について、簡単なハンズオンを交えて説明していきます。無料で読めますが、お気に召されたらご購入いただけると嬉しいです。

    React と Vue に関する XSS アンチパターン
    mamebo
    mamebo 2020/10/19
  • いつもの作業が5秒速くなるツールをひたすら列挙するページ

    筆者が愛用してやまない作業高速化ツールたちに感謝しながら、ひたすら列挙するページです🙏 Mac専用 Alfread 多機能ランチャ ファイル検索 クリップボード履歴の保存がめちゃくちゃ便利(有償版) Clipyとかも試して、有償版Alfredが一番しっくりきた クリップボード履歴を保存 履歴が残る 筆者は Cmd + Shift + V で発動するよう設定 画像コピーの履歴も保存 履歴の検索 クリップボードでコピーしながらマージできる マージしたい文字列は、「空白区切り」「改行区切り」「区切りなし」を選べる コーディングが捗る スニペット機能(https://zenn.dev/naotolog さんご紹介🙏) 定型文を登録して、呼び出すことができる 穴埋め入力が必要ない場合は Dash よりこちらが良さそう Station 通知の一元化 Slack/Twitter/Facebook/G

    いつもの作業が5秒速くなるツールをひたすら列挙するページ
    mamebo
    mamebo 2020/10/18
  • 猫背が治らんぞ

    お前らこうすれば絶対治るって方法教えろ このままでは俺はになってしまうにゃ ほらみろ 早くしないとになってしまうぞ

    猫背が治らんぞ
    mamebo
    mamebo 2020/10/18
  • ソフトウェアのアーキテクチャについて - threecourse’s blog

    最近、小〜中規模のプログラムを保守性高く記述するにはどうすればよいかが気になっていて、 ソフトウェアのアーキテクチャについて調べていました。 を読んでみる 以下のを浅めに読み通してみました。どのもそれぞれ学ぶべき点があって興味深かったです。 .NETのエンタープライズアプリケーションアーキテクチャ第2版 https://www.amazon.co.jp/dp/B00ZQZ8JNE C#での設計の話。ドメイン駆動設計など、設計に関わるトピックが広く触れられていて良い。 Adaptive Code C#実践開発手法 第2版 https://www.amazon.co.jp/dp/B07DJ2BL4Y C#での実装の話。SOLID原則を中心に、実装に関わるトピックが広く触れられていて良い。 Clean Architecture 達人に学ぶソフトウェアの構造と設計 https://www.a

    ソフトウェアのアーキテクチャについて - threecourse’s blog
    mamebo
    mamebo 2020/10/18
  • [GDC Summer]ジョン・ロメロ氏が語る,id Software時代に培ったプログラマーの原則

    [GDC Summer]ジョン・ロメロ氏が語る,id Software時代に培ったプログラマーの原則 ライター:奥谷海人 オンラインイベントとなった「GDC Summer」で,ゲームデザイナーのジョン・ロメロ(John Romero)氏が「初期のid Software:プログラミングの原則について」(The Early Days of id Software: Programming Principles)と題されたセッションを行い,id Software時代を振り返ると共に,そこで学んだゲームプログラミングの原則を紹介した。 ジョン・ロメロ氏(Romero Games公式サイトより)。ロメロ氏は,GDC Summerでもセッションを担当しているブレンダ・ロメロ氏と2012年に結婚し,現在,アイルランドに設立したRomero Gamesでゲーム開発を行っている。「DOOM」誕生25周年とな

    [GDC Summer]ジョン・ロメロ氏が語る,id Software時代に培ったプログラマーの原則
    mamebo
    mamebo 2020/09/30