2022-01-01から1年間の記事一覧

2022年のまとめ

昨日で2022年の仕事納めをしました。 最終週にまさかの胃腸炎に罹り、火曜水曜と2日も休んでしまうトラブルはありましたが、無事〆ることができて良かったです。 というわけで今回は2022年の振り返りです。 転職して1年 今年の1月1日付でスマレジに入社した…

Svelteを使ってブラウザゲームを作りました

タイトルの通り、ここのところ記事にしていたSvelteを使ってブラウザ上で動く簡単なゲームを作りました。 ので、今日はそれについて書いていきます。 どんなゲーム? こちらです。 numnam.net Numnam(ナムナム)という名前です。名前は響きだけで決めました…

TypeScriptに入門してみる

前回、前々回とSvelteについての記事を書きました。 せっかくなのでTypeScriptも併せて導入してみようということでまとめてみようと思います。 TypeScriptとは TypeScriptはMicrosoftが開発したプログラミング言語です。 いわゆるAltJSと言われるプログラミ…

Svelteの基本的な書き方

前回の記事でSvelteの概要について触れたので今回は具体的な書き方について書いていきます。 Svelteの構文 Svelteのコンポーネントはhoge.svelteというファイル名になります。.svelteが拡張子です。 前回、ボタンをクリックするごとに数値がインクリメントす…

Svelteに入門してみる

先日のフロントエンドカンファレンス沖縄で興味が湧いたのでSvelteを触ってみたいと思います。 Svelteとは Svelteは2016年に最初のバージョンが公開されたフロントエンドのフレームワークです。 Reactが2013年、Vueが2014年なので後発のフレームワークになり…

Nuxt Bridge

以前Nuxt3での変更点についての記事を書きました。 あれから5ヶ月以上が経過し、先日遂にNuxt3が正式リリースされました。 担当しているプロダクトでVue3及びNuxt3へのアップデート対応を行う話も進んできました。 Nuxt2からNuxt3への移行ツールとして公式か…

フロントエンドカンファレンス沖縄にオンラインで参加しました

昨日開催されたフロントエンドカンファレンス沖縄にオンラインで参加しました。 フレームワークやUI/UX等、Webフロントエンド開発に関わる全ての人を対象としたカンファレンスでエンジニア・デザイナー問わず楽しめる内容でした。 今回は現地参加枠とオンラ…

新潟旅行記

月に一度のプライベートな内容の記事です。 先日新潟に行ってきたのでその模様を。 新潟は今まで行ったことがなく、これからの季節美味いものは日本海側だろうということで行ってきました。 伊丹空港から新潟空港までちょうど1時間程で到着しました。 機内か…

環境の違いについて

今回は先日遭遇したトラブルについて書いていきます。 トラブルの概要 とある機能を実装⇒ステージング環境に反映し動作確認もOK⇒「これ本番だと上手く行かないよ」と指摘が入る ということがありました。 なぜ起きたかと言うと、ステージング環境と本番環境…

OAuth2.0のざっくりしたまとめ

Webアプリケーションを作ったり使ったりする上で認証・認可の仕組みはほぼ必須の要素になっていると思います。 その中でも今回はOAuthについてまとめてみます。 そもそも認証・認可とは 混同しがちですが、認証と認可は異なります。 認証(Authentication)…

API設計について

前回までのOpenAPIの話の流れでAPI設計について整理してみたいと思います。 REST (RESTful) Webアプリケーション上でAPIを設計する際、ほぼ必ずと言っていいほどREST APIについての説明がセットになると思います。 RESTとはREpresentational State Transfer…

OpenAPIについて(第2回)

前回の記事に続いてOpenAPIについて書いていきます。 OpenAPIの書き方 Swagger Specによると以下の項目がベースとなっています。 フィールド名 必須 説明 openapi ◯ 使用するOpenAPI Specificationのバージョン。どのバージョンのフォーマットを使って書くか…

OpenAPIについて(第1回)

担当しているプロダクトではAPIの仕様を定めるのに少し前からOpenAPIを使い始めました(まだごく一部ですが)。 なので改めてOpenAPIについてまとめてみようと思います。数回に分けて書く予定です。 OpenAPIとは OpenAPI Specification (formerly Swagger Sp…

DB設計について(その3)

以前DB設計について書いた記事の続きになります。 実行計画を見よう テーブル設計時にどんなクエリを発行するかを考えて設計しようという話を書いたと思いますが、実際に想定しているクエリ自体のパフォーマンスが悪ければそもそもの設計を見直す必要があり…

ANDY WARHOL KYOTO

月に一度のプライベートな内容の記事です。 先日、京都市京セラ美術館で開催されているANDY WARHOL KYOTOに行ってきました。 リニューアル後初めて行ったら地下から入るようになっててびっくりでした。 僕は初日の9/17に行ってきました。念の為書いておくと…

UIフレームワークについて

先日、担当しているプロダクトで使用していたUIフレームワークを削除する対応を行いました。 UIフレームワークは便利な一方でデメリットもあると感じています。 今回はその辺りについて書いてみたいと思います。 UIフレームワーク フロントエンド開発を行う…

DB設計についての話(その2)

前回の記事でDB設計について書きましたが今回はその続きとなります。 idをどうするか MySQL等を使っているとidカラムをAUTO_INCREMENTにして連番にしているテーブルを見たことがある人がほとんどだと思います。 しかしAUTO_INCREMENTは便利な反面、DBの機能…

DB設計(主に正規化について)の話

今担当しているタスクで新しくテーブルを作成するということもあり、DB設計について改めて調べてみました。 必要なカラムの洗い出し テーブルを新しく作る時、まずはそのテーブルに何を保存するのかから考えると思います。 「何を保存するか」はどのような要…

レコードのすすめ

今日は技術の話ではなく完全に趣味の話です。 レコード収集 長年続けている趣味としてレコード収集があります。 20歳の頃からなのでかれこれ12年ほどになるでしょうか。 コレクションの一部。もう2つ棚があって全部で多分2000枚弱だと思います。 買うジャン…

Vueのslotについて

直近でやっているタスクでVueのslotの使い方で少しハマってしまったところがあったので自分用にまとめてみます。 以下全てVue2系の話です。 slotの基本 子コンポーネントに親コンポーネントから要素を渡すことができます。 たとえば、 <template> <div> <slot /> </div> </template> <script> export default </script>…

1on1 MTGについて

お盆休みも折り返しですが皆様いかがお過ごしでしょうか。 僕は特に予定を入れずにのんびり過ごしています。 日中暑すぎるのと今日みたいに突然土砂降りになることがあるのであまり外に出たくないのが正直なところです。 今日は技術的なことではなく、チーム…

APIのエラーハンドリング

最近チーム内でエラーハンドリングに関する話が繰り返し出たので今日はエラーハンドリングについて少しまとめてみたいと思います。 例外の種類 プログラムの実行中に何らかの例外が発生することは実装時に想定されていることと思います。 ただ、全ての例外を…

仮想DOMについて

今日、チーム内で仮想DOMについての話になったので再度まとめてみたいと思います。 これまでVueを使ってきたものの仮想DOMについてはあまりちゃんと理解せずに来たので整理できた良い機会でした。 ちゃんと調べる時間を取れずに話したのでこの記事ではもう少…

crontab

今日はcrontab (cron)について書いていきます。 ちょうど業務でcronを使う機会があったので整理したいと思います。 crontabとは crontabとはUNIX系OSでコマンドを定期実行するためのコマンドです。 例えばユーザーの少ない深夜に時間のかかる重いバッチ処理…

サウナイキタイ

前回Linuxについて書きましたが、今回はその話題は一旦お休みします。 弊社のブログ手当ルールでは月に一度まではプライベートなことを書いても良いことになっているので今回はサウナについて。 サ活 皆さんサウナ行ってますか? 僕は毎週必ず行っています。…

Linuxについて

前回、Google Cloud Platform (GCP)のCompute Engineでインスタンスを立ち上げるところまでやりました。 そこにApacheやら何やらを入れようと思ったのですが、その過程でLinuxに関する知識が全然無いことを感じたので軽くまとめてみたいと思います。 Linuxと…

Google Cloud Platform入門(Compute Engine編)

久しぶりに技術周りの記事を書こうと思います。 今日はタイトル通りGoogle Cloud Platformについて。 Google Cloud Platform (GCP)とは GCPはGoogleが提供しているクラウドコンピューティングサービス群の総称です。 同様のサービスとしてはAmazon Web Servi…

カンファレンス

明日明後日とQiita Conferenceが開催されますね。 皆さんはもう申し込みされましたでしょうか。 僕は既に申し込んで準備万端です。 Qiita Qiitaについては最早説明不要かと思います。 エンジニアならば見たことが無い人はいないであろう、開発に関する知識を…

ありがとうInternet Explorer

今日はInternet Explorerのサポートがとうとう切れるということで、各所で話題に上がっていました。 かく言う自分もインターネットに初めて触れた頃はIEユーザーだったのでなんとなく切ない気持ちです。 というわけで今日はそんなIEについて書いてみようと思…

Node.jsのパッケージマネージャーについて

Node.jsのパッケージマネージャーといえばnpmやyarnがあります。 ただ具体的にどう違うのかについてはあまり理解していなかった為、この際なので調べてみました。 npm npm is the standard package manager for Node.js. 引用元:An introduction to the npm…