You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
エンジニアの格闘 エンジニアのみなさんはかつてひどいコードや設計と直面し、それと格闘したことでレベルアップした経験はあるでしょう。 つまり、先輩エンジニアたるものクソコードやクソ設計を残して、後輩エンジニアのレベルアップに寄与するのは義務だと言っても過言ではありません(?) 今回はDB設計に焦点をあてて、そのように絶望させる設計の残し方を記しておきます。 初めての投稿なのでレベル的にはかなり初歩になっています。 ↑きっと彼も立派なエンジニアになった時感謝してくれるでしょう 1) 必要な正規化を行わない エンジニアという不思議な不思議な生き物は処理の共通化等なにかと処理をまとめたがる習性があります。 以下のように著者テーブルと書籍テーブルがあるとします。 書籍 書籍ID 書籍名 著者ID
ChatGPT APIリリースの衝撃から(およそ)3ヶ月。 私が所属する旅行系スタートアップのAVA Intelligenceでは、APIリリース以降、ミッション"Discover the Best For You"を実現するための重要技術と位置付け、様々に活用してきました。 中でも、自然言語で旅行について聞くことができるLINEボットがご好評をいただいています。 ▼AVA Travelの公式LINE 3ヶ月間、ChatGPTのAPIを使って目的を達成する方法を模索する中で、重要だと考えることを整理しました。 指針1.分割して各個撃破する あなたはAIでどのような問題を解決しようとしていますか? 大抵の解くべき問題は、複雑で難しいです。 大きくて難しい問題を分割し、解けるサイズに分けて、扱いやすくすることは、ChatGPTを使う開発において大きな効果を発揮します。 課題を分割することで、A
こんにちは、GMOアドマーケティング インフラ開発部のhakumaiです。前回の記事「AWS SAPを取得したら視野が広がった話」を読んでいただいた方々、ありがとうございます。今回のテーマは「AWSエンジニアから見たGCP」第2弾として、代表的なGCPのコンピューティング系サービスについてAWSと比較し感じた点についてお話いたします。 (第1弾の記事はこちら↓)IaaSCompute EngineAWSではEC2に相当するサービス。各種インスタンスタイプや提供OSイメージ、インスタンス向けのストレージ機能、オートスケール機能など、インスタンスのアーキテ... DWH BigQuery BigQueryはフルマネージドなサーバレスDWHサービスで、Googleが開発した大規模データ向けの分散システムであるDremelを基にしておりSQLクエリを使用して大規模データの分析を行うことができる。さ
こんにちは、CX事業本部 Delivery部の若槻です。 以前に GitHub Next について紹介をしました。 その GitHub Next のプロジェクトの1つである GitHub Blocks では、GitHub Repository 上のドキュメントの表示や検索、編集のインターフェースを拡張できるドキュメントブロックが提供されます。 GitHub Blocks 今回は、今まで Waitlist ステータスだった GitHub Blocks が先日に Technical Preview となり、誰でも使えるプロトタイプが公開されていたので触ってみました。 プロトタイプにアクセスする GitHub Blocks トップページより、プロトタイプにアクセスできます。 初サインインの場合は Blocks (GitHub Next) へのアクセスを求められます。 プロトタイプにアクセスできま
KeebKaigi 2023 レポート ~Rubyコミュニティと自作キーボードコミュニティのつながりから生まれたイベント 2023年5月11日から13日に行われたRubyKaigi 2023のプレイベントとして、5月10日に自作キーボードに関するイベントであるKeebKaigi 2023が長野県松本市のコワーキングスペース33GAKUにて行われました。 会場入り口 KeebKaigiとは なぜ、RubyKaigiのプレイベントに自作キーボードのイベントが行われたのでしょうか? 近年のRubyKaigiの会場では、RubyKaigiの参加者たちが自主的に自作キーボードを持ち寄り廊下でミートアップが開催されていました。 そして今年の開催地である松本市には、44キーの分割キーボードであるSilverBulletや、自作キーボードの試作に便利な基板である無限の可能性の設計者である王立魔界鍵盤製作所
こんにちは。SmartHRでRails顧問業をしているwillnet です。以前、SmartHRでのメタプログラミングRuby読書会と、その成果物というエントリを(kinoppydさんが)書いていました。今回のエントリはその続きの話です。 実際に手を動かすと身につく 上記エントリでは メタプログラミングRuby 第2版の読書会を、単に本を読むだけでなく、毎週新しい問題を作り参加者に解いてもらう、という流れで開催したことを紹介しました。 Rubyによるメタプログラミングは、普段の仕事ではなかなか使う機会がないテクニックも多く*1、一回本を通読しただけですべてを覚えるのは難しいと感じています。しかし、その読書会では実際に手を動かして解く問題を用意したため、通常の読書会よりも内容が身につく度合いが大きかったのではないか、と感じました。 いい問題があるのでもっと活用したいぞ せっかく作った問題を活
はじめに 普段自分がよく使用しているMacのツールをまとめました。 今回はあくまでも「デスクトップアプリ」が用意されているものに対してのまとめになるため、Webサービスだけのものは含めていません。 また、特定の開発領域に必要になるツール類もここでは紹介していません。あくまで汎用的なものに限定しています。 注目!Mustで入れておきたい Raycast ざっくり ランチャーアプリ。 Alfredなどが対抗としてありますが、Raycastは無料です。 クリップボード履歴・アプリ起動・クイックリンク・簡単な計算・簡易的なスニペット・画面分割などなどがすぐに操作できる。キーボードでMacを操作する範囲を広げるためにはマストでほしいです。 後述で書くKarabinerのHyper Keyという概念と組み合わせることによってショートカットキーが衝突問題から解放されます。 こんな悩みが解決します アプリ
最近、Next.jsが複雑になりすぎて、単なるウェブ画面を作る用途にはNext.jsは重すぎるので別のものが良いとか、Vercel統合のための機能が多いんでしょ、みたいな感想を見かけることが増えた気がします。特に管理画面とか社内システムとかですね。B2Cでも設定画面系とかは当てはまるかもしれません。 ホンダ時代に、タイプRを買っても実際にサーキットとかに走らせに行く人は1/10ぐらい、という話を聞いた気がしますが、必ずしも、そのすべてのパフォーマンスを引き出さないのはダメとかなくて、単にかっこいいからとか、一部のメリットでも自分にあえば良いのです。 Next.jsも、たくさん機能がありますが、ミニマムな使い方もできます。 ほぼNext.jsの機能をオフにした使い方たぶんNext.jsを最低限で使うライン・メリットはここかな、と思います。 基本的に全部CSR(Client Side Rend
こんにちは。サーバーサイドエンジニアの三村(@t_mimura)です。 主に保険薬局と患者さまを繋ぐ「かかりつけ薬局」化支援アプリ kakariのサーバーサイド開発(Ruby on Rails)を担当しています。 突然ですが! この度kakariプロジェクトは「型導入」をしました! kakariのRailsリポジトリに型導入PRがマージされた様子 皆さんのプロジェクトは「型導入」していますか? 「型導入」しているRailsプロジェクトはまだ少ないのではないでしょうか なぜ型導入しないのか 型を導入すると何かしらが便利になることは分かっているのに何故やらないのでしょうか(煽り気味) 「型の恩恵」と「型を自分たちで書くコスト」の2点を比較していませんか? RubyKaigi 2023開催前の私がまさしくそう考えていました。 本当にその2点を比較するべきなのかをここで再考してみましょう。 「型導
国内の主要なSaaS企業やSIerに脆弱性診断サービスなどを提供しているFlatt Security社は、Webエンジニアがセキュアコーディングを独習できるオンライン教材「KENRO」のトライアルとしてコンテンツの一部を無料で公開中です。 メールアドレスを登録するだけで利用を開始でき、期間も無制限。 KENROでは「SQLインジェクション」「XSS(クロスサイトスクリプティング)」「ディレクトリトラバーサル」などを始めとする10種類の一般的な脆弱性についてテキストで学び、その学びを基に攻撃者として脆弱性に対する攻撃を「ハッキング演習」で試し、その脆弱性があるコードを自分で修正する「堅牢化演習」まで、オンラインで実践できるユニークな教材です。 演習の結果もKENROが自動判定してくれるため、24時間365日、いつでも学習できます。 無料トライアルでは、一般的な10種類の脆弱性の学習コンテンツ
これだけみると LibC がよく見えますね。 オープンソースのライブラリ比較や、エンタープライズな SaaS が競合に対する優位を見せたいときに星取表が使われることが多いです。 中立な立場でライブラリを選定する過程として出てくることがあります。 自分はこれに全く意味がなく、むしろ競争的な立場では出した側が負けるものと認識しています。 星取表を作る側の意図 よく見かけるパターンがこれです。 開発自体は長いため機能が豊富だが性能に劣る先発が、後発を貶めている 恣意的な項目選定で、そもそも負けている そもそも比較対象としての土俵が違う(全部入りのフレームワークと単機能なライブラリの比較) 特に 1 と 2 の組み合わせが多く、この裏では非機能要件で圧倒的に負けていることが多いです。例えば A は機能は豊富だけどビルドに 30秒で、Bは機能は足りないけど3秒だといった場合、多くの場合ではまず B
JSONを操作するコマンドラインツールであるjqは、これまでオリジナル作者であるStephen Dolan氏 (@stedolan)のリポジトリ(github.com/stedolan/jq)で管理されていました。 メンテナンスはNico Williams氏 (@nicowilliams)とWilliam Langford氏 (@wtlangford)の二名が行なっていましたが、近年は活動が減っておりメンテナンスが滞っていることが度々指摘されていました。 最新のリリースは2018年11月に行われた1.6であり、その後に様々なバグ修正やパフォーマンス改善、新機能の実装が行われているのにリリースされておらず、またissueやPRも放置されがちになっていました。 さらにCI (AppVeyor)は常に落ちるので、簡単なドキュメント修正でもCIが通らず苦情が来る、数か月放置されたPRは作った人が諦
前提 この記事は内製開発をしているSaaSの中の人であるエンジニアが、SaaSの内製ソフトウェア開発をする上での話として書いています。 前ふり 「スクラムで生産性は上がらないしリリーススケジュールが狂いまくりなんですよ」 「何が原因なんですか?どうすればいいんですか?」 という相談を受けました。 NDAを書いてから、どれどれとチームの状況を見てみました。 該当チームのスプリントゴール 該当チームのスプリントゴールはこんな感じでした。 QAフェーズのプロジェクトAを、QA作業を完了してリリースできる状態まで進める 実装フェーズのプロジェクトBを、フィーチャーの実装率を50%まで進める 設計フェーズのプロジェクトCを、要確認な点を除いて実装レディーな状態まで進める スプリントゴールが3つありますね。とても面白いですね。 思わずボンドルド卿みたいな反応をしたくなりますがここは先に進みましょう。
こんにちは。モロと申します。 実は数年前警察のお世話になり、数年裁判等をやって、昨年晴れて無罪放免となったのですが、そういえばその後どこにも情報をまとめていなかったことに気が付きました。 正直にいうとまったく気の進まない作業ですし、数年間これにかかりきりだったこともあり「わざわざまとめなくても誰でも知ってることでは……?」みたいな気持ちもあります。 とはいえ冷静に考えると大抵の人は一生関わり合いになることのない知識で、お世話になった界隈に対して何も残さないのも不義理という感じがしたため遅ればせながら筆を執らせていただきます。 はじめに 当記事は、実際に警察のお世話になり、数年間弁護士の方にご指導いただきはしたものの、あくまで法律の専門家でも何でもない一エンジニア(というか多少エンジニアリングをかじったデザイナー)によるもので、第三者による監修等もなされていません。 実体験に基づいて少しでも
Austin Z. Henley Associate Teaching Professor Carnegie Mellon University Let's make a Teeny Tiny compiler, part 1 5/5/2020 This is the first post in a three part series. Check out part 2 and part 3 when you are ready. It is a beautiful day outside, so let's make a compiler. You don't need any knowledge of how compilers work to follow along. We are going to use Python to implement our own programmi
タイトルの通り、Goで標準出力をフィルタしてよしなに色を付けるツール書きました。 irir モチベーションは「 go test に色を付けるツールを作った #golang 」と同じです。 ある標準出力に対して、なんらかの文字列を含んでいたらその文字列に色を付けたり、行全体に色を付けたいという要求はよくあることだと思います。今回は、そうした小さな色付けルールをYAMLで記述してフィルタを適用する感じのツールにしました。 READMEにある通りですが、以下の様なログファイルがあったとして、 $ cat example.log 2023/05/19 23:56:54 [info] GET /some/resource 200 0.001 2023/05/19 23:56:55 [warn] GET /some/resource 200 0.001 2023/05/19 23:56:56 [err
サムネイル こんにちは、フロリアでエンジニアとして活動している irico です。 現在 kintone ではフロリアというプロジェクトの中で、Closure Tools から React への移行作業に取り組んでいます。 今回は、そのフロリアのチームの 1 つである Reactone チーム が採用した「Storybook をフル活用したテスト手法」についてお話します。 Storybook によるテストアプローチ Storybook の v6.4 から play 関数が導入され、v6.5 から Interaction tests が可能になりました。 これによって Story 上でテストを実行するだけでなく、実行したテストの動作確認がブラウザ上で可能になりました。 今までは Jest や Vitest 上で Testing Library を利用する際、DOM 操作の視覚的な確認が難しく
Quartzという言語をデザインしてコンパイラを書いて自身をコンパイルできるところまで到達したので記録として書く (人に使ってもらうことなどは特に想定してないので、ドキュメントなどはありません) Quartzについて 言語機能的にはGoとかに近く、syntax的にはRustに近い言語としてデザインした。ターゲットとしてWASM(wat形式)のみサポート。 元々の想定として、ゲームのスクリプトやアプリケーションのプラグインなど、動的に読み込めて気軽にかけて、型やLSPなどの現代的なDXは提供したいというモチベで作り始めた。 例えばfizzbuzzのコードは以下のような感じ。 fun main() { for i in 1..100 { if i % 15 == 0 { println("FizzBuzz"); } else if i % 3 == 0 { println("Fizz"); }
昨年4月、「研究開発部のマネージャー」という自分にとってまったく新しいキャリアにチャレンジする旨を本ブログにて報告させていただきました。 shu223.hatenablog.com それから約1年越しでの続報となりますが、この5月末をもって、この新しいチャレンジからは降りさせていただきます。平たくいうと、マネージャーやめます。 普通はこういう記事ではそのキャリアの中で挙げた華々しい成果を並べ立てるものですが、正直なところ未だにマネージャーとしてめぼしい成果は挙げられていません。やっとスタートラインに立てたかな...というような状況です。 上長やメンバーにはマネジメント経験が一切ないところから多大にサポートいただき、その恩に報いるのはこれから、というところなので心苦しさもあり、そしてマネージャーとしての景色が見えてくるのもマネジメントのおもしろさがわかってくるのもまだまだこれからという中途半
最近読んだ書籍の中で非常に良質な内容でしたので紹介したいと思います。少しでも多くの方に興味を持ってもらえることを期待しています。 O’Reilly Japan はじめに私自身がデータ管理(データマネージメント)という観点でここ数年様々な検討を行ってきていますので前提としてその背景について簡単にまとめてみます。 かつてオンプレミスで運用を行っていた時は企業内のデータは完全に管理されていました。データウェアハウスを導入してデータの集約・加工は行われていましたが、専門チームがデータ仕様確認やデータ提供までもすべての責任を担っていました。品質は高いのですが利用者からの要望(新しいデータの提供、仕様の変更)の対応についてはスピード大きな制約がありました。また大規模なデータを扱うためには多大なコストが必要という制約もあります。 クラウド技術による「スモールスタートを可能とするインフラ」「大規模なデータ
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: 37signals Dev — Pending tests 原文公開日: 2023/03/01 原著者: Jorge Manrubia -- 37signalsのエンジニアです 日本語タイトルは内容に即したものにしました。 私は「テストファースト」で作業することも、テストでコードの設計を支援することも、めったにありません。 最近の私は、37signalsである新しいことに取り組み始めました。何も決まっていない白紙の状態なので作業はすいすい進み、来る日も来る日もこってりしたプルリクを作成しています。会議に先立って早めに投げておきたいと思っていたプルリクには、もれなく以下が含まれていました。 ご覧のように、私はほとんどの場合テストを最後に書いていることが見て取れます。例外があるとすれば、テストを書くことで最短で結果をフィードバックで
tl;dr 私が監修した本が出る。 私が顧問をしているクライス&カンパニーという人材紹介会社のキャリアコンサルタントが書いた本である。 クライス&カンパニーはここ数年、プロダクトマネージャーの転職支援に注力しており、日本で一番プロダクトマネージャーに詳しいコンサルタントだ。 彼らの書いた本(私も一部協力した)なので、プロダクトマネージャーを目指す人にはお勧め。 * はっきり言って宣伝です m(_ _)m プロダクトマネージャーになりたい人のための本 エンジニアからプロジェクトマネージャー・事業企画・経営コンサルタント・デザイナー・現役PMまで 作者:松永 拓也,山本 航,武田 直人 翔泳社 Amazon プロダクトマネジメントが浸透した日本の状況 プロダクトマネジメントやプロダクトマネージャーも日本にだいぶ定着してきたと思う。しかし、まだいくつもの課題がある。なんちゃってプロダクトマネジメ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く