昨年末に人生ではじめて面接を担当したので、考えたことを書いていきます。 大前提 面接をやるにあたって、個人的に心がけたのは「勘違いしない」ということです。 ネット上で流れてくる人事みたいな人間にはなりたくないな、と。 ただ採用する側になってみて、確かにこれは担当者を勘違いさせる魔力があるなと感じました。 良くないですね。 ただやっぱ採用って組織やチームとしてはめちゃくちゃ重要な活動なので、そこにコミットするのは大切。 特に小さな会社であればあるほど。 前提 今回の採用に関しては、iOSエンジニアの中途採用でした。 新卒採用だったらまた基準は違うと思います。 やるべきこと 面接に臨む前に、履歴書・職務経歴書は熟読しました。 SNSアカウント/Github/ポートフォリオサイトがあれば、それもサラッと見て。 面接そのものは実際そんな大事じゃないのかなと改めて思ったりもしました。 書類からある程
Tailwind CSSでデザインシステムを構築する[後編] ~デザイントークンを定義するときに何を議論すべきか 2024年1月26日発売の『Tailwind CSS実践入門』の第9章「ユーティリティファーストでデザインシステムを構築する」の一部を、前後編の2回に分けて掲載します。ユーティリティファーストというTailwind CSSの発想を活かしたデザインシステム構築の最初の一歩をまとめたものです。開発者がデザインルールをTailwind CSSの設定に落とし込む過程はもちろん、デザイナーが開発者とどのように協力しあうべきかについても論じています。 本記事の内容は、書籍の最終章に当たる部分です。ほかの章の内容に言及していたり、書籍内ですでに使われた用語が説明なく登場したりするのを防ぐため、書籍の原文から一部を変更しています。 前回の記事の最後で、デザインシステムを構築する際にコンポーネン
「個人開発してるWebサービス」というのは Pixela のことで、runn とは @k1loW さんが開発しているオペレーション自動化ツール/パッケージです。 pixe.la github.com Pixela は、そのユーザーインターフェースとして基本的に Web API のみを提供しているサービスで(サービスを利用するための各種操作は基本的にすべて Web API に対する HTTP リクエストによって行う必要がある)、現在そのローンチから6年目を迎えるサービスです。 blog.a-know.me ありがたいことに、世界中のユーザー(特に、プログラミング初学者の方によくご利用いただいているようです)に継続的に使っていただけているサービスになっており、登録ユーザー数はもうすぐ7万人に到達しようとしているところです。開発・メンテナンスに係る私の人件費を除けば、黒字運営を続けることもできて
SRAMはトロイの木馬を仕掛け、一気にシマノを窮地に追い込んだ。ロードバイク界隈はまだ平穏だが、MTB界には激震が走った。SRAMイーグルトランスミッションという革新的な兵器はいま、MTB界からシマノを追いやろうとしている。 2020年、SRAMがUDH(ユニバーサル・ディレイラーハンガー)を発表した。待っていたかのようにTREKからUDHを搭載したフューエルEXが登場した。SRAMとTREKはご近所だから、互いに協力しながら研究開発を進めていたのだろう。 当初、UDHのデザインは「どの自転車メーカーも無料で使用できるオープンスタンダード」として発表された。当初は、だ。 表向きは、業界全体で無数にある独自のハンガーやアクスルスレッド規格の必要性を減らし、消費者の利便性を向上させ、部品選定の悩みの種を減らすため、だった。しかし、これはSRAMが新しいダイレクトマウントディレイラー(フルマウン
ASTをみてみよう この不思議な現象を調査するために、AST(Abstract Syntax Tree: 抽象構文木)の状態を見てみることにしました。ASTはソースコードを構文解析した結果をツリー構造にしたもので、AST Explorerを使うと簡単に見ることができます。 ({}) + "" のAST ({}) + "" のASTをみると、ひとつの ExpressionStatement となっているのがわかります。ExpressionStatement の leftは ObjectExpression 、 operator は + 、rightは Literal となっていて、たしかに Object と String の足し算になっています。これなら確かに"[object Object]" が返ってくるでしょう。 {} + ""のAST しかし、{} + "" のASTをみると、Bloc
先日、Qiitaに投稿された一つの記事が注目を集めました。 元記事では、htmxというJavaScriptライブラリが英語圏で認知を獲得しているとして、インストールの仕方から使い方について公式のドキュメントの全体にわたって簡単に説明が行われています。 さまざまなプラットフォームでこの記事に対する反応を観察してみると、どちらかというと懐疑的な見方のほうが優勢のように見受けられます。ただ、多くのコメントは誤解に基づいているように見受けられました。「JSが要らない」といった元記事のミスリードによるところも大きそうですが1、なぜhtmxが大きく支持を得つつあるのかを理解するには、背景情報を含めて理解することが必要です。 htmxは、最近の複雑化するフロントエンド技術に対する単なる逆張りではありません。これまで30年ほどのあいだウェブ上のシステムを支え続けた「ハイパーメディア」の持つ強力さに今一度目
「1999年か2000年頃、私は37signalsというWebデザイン企業を経営していました。2人のビジネスパートナーとWebデザインを受注していたのです」(Fried氏) Fried氏は本業とは別に再度プロジェクトとしてオンライン書籍データベースの開発に取り組んでいました。開発はPHPで行っていたものの、Fried氏はプログラミングでつまづきます。 当時はまだStackOverflowのような技術的な質問に答えてくれる掲示板などなかった時代。Fried氏はブログに「誰かこの問題を解決する方法をご存じですか?」と書き込みます。 するとデンマークからメールが届きます。メールを書いてきたのがDHH氏でした。 「私は(37signals社の)Signal vs. Noiseというブログを以前から熱心にフォローしていました」とDHH氏。 「ブログで彼の質問を見て、私は『おお、この答えを知っているぞ
仕様の複雑化、過渡期特有の難解なコード、技術スタックの老朽化… システムの健全な成長を妨げる要因に対する基本戦略 アーキテクチャ刷新の現場:未知の技術を採用するために #1/2 アーキテクチャ刷新の現場における取り組みと成果を発表 成瀬允宣氏:みなさん、こんにちは。GMOインターネットグループでデベロッパーエキスパートとして活動しています、成瀬允宣と申します。本日はよろしくお願いします。 私、所属はGMOインターネットグループ株式会社で、システム統括本部に所属している一般のプログラマーではありますが、私からお送りするお話は、「アーキテクチャ刷新の現場」で、ここ数年……2年ほどですかね、アーキテクチャを刷新する現場で一番前を走っていたので、その現場のお話をしようかなと思っています。 非常に苦労して、やっと花開いてきたところなので、今日は、何を予測して、何を準備して、そして何を失敗したのか。そ
はじめに みなさんは身近にあるブラウザについてどこまで理解しているでしょうか? 「ブラウザを説明してください!」と言われたら困ってしまう方もいるのではないでしょうか? そこで、この記事ではブラウザの概要・歴史・基本的な仕組みについて解説を行いたいと思います。ブラウザについて知りたい、改めて学びたいという方はぜひ参考にしてみてください。 最初にブラウザの概要、次に雑談としてブラウザの歴史、最後にブラウザの仕組みについて解説します。 弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 ブラウザって何? ブラウザとは、Webサイトを見るためのソフトウェアのことを指し、皆さんがQiitaを閲覧するためのソフトを指します。ブラウザがあ
ゴンドラまでヴィトン仕様 日本を代表する世界的なスキーリゾートとして君臨する、ニセコのブランド化が加速している。 ルイ・ヴィトンが、2023年12月に期間限定の店舗「ニセコ ウィンター リゾート ポップアップストア」をオープンした。 外資系最高級ホテルとホテルコンドミニアムからなる「パークハイアット ニセコHANAZONO」にあるポップアップストアは、スキーやスノーボード、ゴーグル、ヘルメットなどを中心に、バッグやシューズなどを販売している。 更に、日本初導入のイタリアのピニンファリーナのデザインによるフランス製高級ゴンドラの一部が「ルイ・ヴィトン」仕様となっている。 同ゴンドラは、シートは本革で、サスペンションシステム搭載。ゴンドラのスピードは業界最高水準の秒速5メートルだ。ゲレンデ前には、モノグラムのロゴをあしらった遊牧民の住居「ユルト」が設置され、ラグジュアリーな冬のリゾートを彩って
はじめに 個人でフロントエンド(react)、バックエンド(node.js)、データベース(postgreSQL)を利用したWebサービスを公開したいと考えていました。 まずはテスト的に無料で外部公開できるサービスがないか調査しましたが、2022年8月に有料化されたHerokuの記事ばかりヒットしてしました。 結果的には無料で使用できる構成があり、実際にテストプログラムを動作させることができましたので構成例として記載しておきます。 ※無料なので比較的厳しい条件も含まれていたりするのでそれぞれのサービスを確認お願いします。 例えばsupabaseは数日間利用がないとインスタンスが一時停止して手動で起動させないといけないなどがあります。 今回試したサービス できるだけ同じサービスに集約したいと考えていましたが、実際にはフロントエンド、バックエンド、データベースはそれぞれ異なるサービスになってし
JSer.info #677 - Astro 4.2がリリースされました。 Astro 4.2 | Astro Astro 4.2では、Prerenderingの実験的なオプションとしてSpeculation Rules APIを使ったPrerenderingをサポートしています。 また、injectRouteやファイルベースのルーティングが衝突した時の新しい優先度ルールをopt-inでサポートしています。 その他には、redirectToDefaultLocaleオプションを追加することでデフォルト言語へのリダイレクトを無効化できるように、アクセシビリティルールの追加などがあります。 Bun v1.0.24がリリースされました。 Bun v1.0.24 | Bun Blog Bun v1.0.24では、Bun Shellというzxのようにシェルスクリプトを扱うための関数の追加されています
週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Ruby 🔗 Ruby 3.3でYJITを有効にすべき理由 Posted to Hatena Blog Ruby 3.3でYJITを今すぐ有効にすべき理
はじめにこんにちは、万葉でバックエンドエンジニアをしている吉原です。Railsを中心に、効率的で強力なウェブアプリケーションの開発に日々取り組んでいます。 この記事では、2022年12月13日に開催されたRubyセミナーOnlineでの「Hotwireことはじめ」セッションについてご紹介します。 セッションの概要「Hotwireことはじめ」セッションでは、Railsの知識はあるがHotwireに不慣れな方々に、Hotwireの基本的な概念とその活用方法を紹介しました。 Hotwireの基本概念の解説から始め、実際のサンプルアプリを用いたデモを通じて、Hotwireによる開発の感触を伝えることに重点を置きました。セッションの録画はYouTubeにアップロードされており、この記事を読みながら視聴することで、セッション内容の理解を深めることができます。 サンプルアプリについてサンプルアプリのホー
Webを構成する重要な要素の1つであるHTTPは、その最新仕様で2層構造となり、バージョンに関係なく使えるSemanticsと、特徴の異なる通信仕様を定めたHTTP/1.1、2、3に分割されました。 さらに現在では、HTTPの上にあらためてUDPやIP、イーサネットなどのプロトコルを実装する提案が行われており、まさにHTTPは通信の全てを飲み込む勢いで進化しつつあります。 こうしたHTTPの最新動向の解説が、大手CDNベンダでエッジクラウドなども展開するFastlyが2023年11月8日開催したイベント「Yamagoya 2023」で同社シニアプリンシパルエンジニアの奥一穂氏が行ったセッション「HTTPが全てを飲み込む」にて行われました。 本記事ではこのセッションをダイジェストで紹介していきます。記事は以下の3つに分かれています。 HTTPが全てを飲み込む(前編)~HTTPの2層構造と、H
週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Rails: 先週の改修(Rails公式ニュースより) 本家が先に進んでいるので取り戻しにかかります。 公式更新情報: Ruby on Rails — E
JSer.infoは2024年1月16日で13周年を迎えました。 JSer.info は、JSer.infoというサイト名の通り、JavaScriptの情報を整理して伝えることを目的にしています。 この記事では、JSer.infoの13年間のデータを見ながら、生きているJavaScriptの情報源を整理する方法を紹介します。 今までの JSer.info JSer.infoは13年間で合計676の記事を公開し、12429コのサイトを紹介してきました。 365 * 13 / 676 = 7.01 なので、週一の更新を13年続けてきたことになります。 2023年のJSer.infoで紹介したサイトを見ていきます。 ドメイン別にして紹介回数でソートしてみると次の通りです。 2023年のドメイン別の紹介回数: domain-2023.csv GitHubが30%近く占めていることがわかります。 そ
「MUGA ストイック PC5」はドン・キPC史上、最高スペックのPCだが実際はどうなのか 試して分かったこと(1/4 ページ) ドン・キホーテから、14.1型ノートPC「MUGA ストイック PC5」(以下、MUGA 5)が発売された。これまで同社はエントリー向けの低価格ノートPCを発売してきたが、このPCもそれにならい、価格は税込みで4万3780円と非常に手頃だ。 ただし、一般的に実売5万円以下の低価格ノートPCというと、CPUにCeleronを使っていたり、メモリ容量も少なかったりと、パワーユーザーから見るとどうしても価格を優先するあまり、PCを快適に使うためには仕様に関する犠牲が大きすぎるという印象があった。 そんな心配が頭をかすめるが、実際に試してみないと分からないだろうと勢いで実機を購入した。果たして実力はどの程度なのか見ていこう。 ドン・キホーテ、Intel N100を採用し
JSer.info #676 - Biome v1.5がリリースされました。 Biome v1.5 | Biome GitなどのVCSでの変更されたファイルだけを扱う--changedフラグの追加、biome ciでGitHubのProblem Matcherに合わせた出力をすることでPRコメントの対応が行われています。また、biome explainの追加、Lintルールの追加なども行われています。 リリースにあわせて、Biomeの2024年のロードマップも公開されています。 Roadmap 2024 | Biome Biome の 2024年のロードマップの公開と v1.5.0 のリリース 現在CSSの対応を進めていて、今後はHTMLやMarkdownなどの対応も行われる予定です。 また、プラグインの仕組みも検討していくようです。 Node.js v20.11.0がリリースされました。
<details>要素でアコーディオンを簡単に実装できますが、懸念点は複数のウィジェットが個別に開閉してしまうことです。1つ目を開いて、2つ目を開くと、1つ目は開いたままです。1つ目を閉じるには、1つ目をクリックして閉じる必要がありました。 しかし、<details>要素にname属性を与えると、すべてのウィジェットを連動して開閉させることができます。1つのウィジェットだけを開くことができる排他的アコーディオンをHTMLとCSSだけで実装する方法を紹介します。 Exclusive Accordion by Bramus 下記は各ポイントを意訳したものです。 ※元サイト様のライセンスに基づいて翻訳しています。基づいてというのは、貢献部分に関して同ライセンスも含みます。 アコーディオンの実装 1つのウィジェットだけを開くことができる排他的アコーディオン 排他的アコーディオンのポリフィル アコー
世の中には、一見関係なさそうな物理現象がITシステムに不可思議な影響を及ぼすことがあります 例えば,500マイル以上離れた場所にメールが送れないという話だったり 中国人のAさんがお茶を入れると会社のネットが繋がらなくなる という話があります。 私の場合は、祖母が就寝するとDBインサートが失敗する、という状況でした 実家の見守りシステム 問題が起きているのは、離れた実家にいる一人暮らしの祖母の状態を見守るために作成した自作のシステムです。 気温や湿度、CO2濃度、明るさ、部屋のドアの開閉、冷蔵庫の開閉の状況をモニタリングできるようにしています。 Raspberry Piに各種センサが接続され、定期的にInfluxDBに送信し、Grafanaという可視化ツールでいつでも見られるようにしています。 これらの情報を見ることで、祖母の家の部屋の温度が適切か、活動しているか、部屋にいるかなどが分かりま
はじめに 明けましておめでとうございます。 (一週間遅れ) この記事はJavaScriptの組み込みAPI Intl の紹介と解説です。 Intl とは? MDN から引用すると Intl オブジェクトは、 ECMAScript の国際化 API の名前空間で、言語に依存した文字列の比較、数値の書式化と、日付の書式化を提供します。 Intl オブジェクトは、いくつかのコンストラクターに加え、国際化コンストラクターや他の言語に関する関数に共通する機能へのアクセスを提供します 用はi18nの書式版です。 例を出すより見たほうが早いので実際に機能解説します。 (先に言っておきますが、実はこれバックエンド無しで自然言語処理が出来る優れものです。) 用語解説 localesって何?そもそもnewって何?って人がいるかもしれないので locales https://developer.mozilla.
I'm a big fan of interactive code snippets in all kinds of technical writing, from product docs to online courses to blog posts. Like this one: In fact, I even built an open source tool called Codapi1 for embedding such snippets. Typically, a code playground consists of a client-side widget and a server-side part that executes the code and returns the result: browser ┌─────────────────────────────
概要 当時数ヶ月間誰も原因がわからなかった一時的にRDSの負荷(CPU使用率)がスパイクする現象の原因を調査できる環境を整えて、原因分析〜改善まで実施したときの話です。 1つ1つの取り組み自体は大きなことはやっていませんが、一連の動きで得られたものも多かったのでアウトプットしようと思い記事にまとめました。 取り組んだ課題 原因を特定するためのツールがない そもそも何が原因でRDSのCPU負荷が高まっているのかを調べるための情報がCPU使用率以外に全くない状況でした。 そこでRDSの負荷原因を探る方法を調べると、Performance InsightsやCloudWatch Logsへのスロークエリログ出力を使う記事をいくつか見つけたのでこの2つについて調べることにしました。 Performance Insights データベース負荷をSQLなどの単位で時系列で可視化したり、トップSQLやD
JSer.info #675 - Vue 3.4 がリリースされました。 Announcing Vue 3.4 | The Vue Point Vue 3.4ではVueテンプレートのパーサーのパフォーマンス改善、watchEffectの改善、defineModelがStable APIに変更されています。 また、v-bindが同名の場合の省略記法を追加、Hydrationのエラー表示を改善などの変更も含まれています。 破壊的な変更として、global JSX namespaceの型を定義しないように変更、実験的な機能だったReactivity Transformの削除なども含まれています。 関連して、Vue 2.x は2023年12月31日にサポートが終了し、End of Life(EOL)となりました。 Vue 2 Has Reached End of Life 最終バージョンは2.7.
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く