サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
掃除・片付け
qiita.com/ryo2132
最近Chrome DevToolsについて調べていて発見した便利機能を紹介します。 誰もが使える最高便利な開発マシンChrome DevToolsを使いこなして開発体験を変えましょう! 1. $0で選択中のDOM要素の取得 特定の要素に何かしたいという時には、要素のIDやclassを確認してConsoleでdocument.querySelector("#xxx")で取得するというのが一般的だと思います。実はそれはカーソル選択と$0で代替できます。 Classや、IDがついていない特定のDOMを取得したい時とかにも使えるので地味に便利です。 手順 カーソルで取得したい要素を選ぶ Consoleタブで$0を入力 最近知ったChrome DevToolsの便利機能① $0 での選択中のDOM要素取得 Elementsタブで選択状態のDOM要素は、Console上で $0 を入力することで取得で
OSS活動をはじめて5ヵ月が経過したのでその振り返りと、OSS活動での学びを書きます。 「OSS活動ってハードル高そう。。」と躊躇している方に読んで貰えると嬉しいです。 自己紹介 最初に誤解のないように自分のスペックを。 消防士歴6年、エンジニア歴2年半、PC持つよりホース持ってた期間が長いエンジニアです。 28歳の年にエンジニアへ転職し、今は茨城県からフルリモートで働いています。 ※ 消防士からエンジニアへの転職経緯などは以前こちらに書きました OSSとは? OSSの定義をWikipediaより。 オープンソース・ソフトウェア(英: Open Source Software、略称: OSS)とは、利用者の目的を問わずソースコードを使用、調査、再利用、修正、拡張、再配布が可能なソフトウェアの総称である また、本文中でのOSS活動はGitHubに公開されているOSSに対してプルリクエストやイ
先日以下ツイートをしたら思いの外良い反応もらえたので、より詳細な紹介記事を書いてみました。 これは必見だわ!! TypeScriptの型についての問題集 想定に従って独自のユーティリティ型を作っていく感じの問題がレベル別に提供されてる Playgroundのリンクから手を動かしながらチャレンジできるので凄くやりやすい (自分はeasyの問題でも分からんのあった。頑張ろ😅)https://t.co/tkEFe7VrBQ — Kawamata Ryo (@KawamataRyo) September 3, 2020 type-challengesとは type-challenges/type-challenges: Collection of TypeScript type challenges with online judge VueUseやVueDemiの開発者である @antfu7さ
最近、GitHub CLIが便利だな〜と思ったので紹介します。 この記事は以下リリース時点の情報です。 Release v0.11.1 · cli/cli GitHub CLIとは? コマンドライン上でGitHubの操作を行えるCLIツールです。GitHubが公式で公開しています。 (参考: GitHub公式ブログ) インストール Macの場合はbrewでインストールできます。Windowsの場合は公式のREADME.mdを参照してください。
流行りのノーコードツールのGlideでアプリを作ってみたのでその所感を書きます。 🍱作ったもの テイクアウトを提供している地元飲食店の検索アプリです。 店名・住所・メニューでの検索やマップ表示などが出来ます。 製作時間は8時間程(8割の時間は情報元サイトからのデータ取得・整形)。 Takeout-Hitachinaka · 店舗一覧 機能 - 店名・メニュー・地名などでの検索機能 - 詳細情報の表示 - マップ情報の表示、マップ画面での現在位置取得 - コメント機能 - お問い合わせフォーム 🔧なぜ作った? 地元の商工会議所が提供しているテイクアウト飲食店のまとめページが、かなり味のあるデザインで気になったのがきっかけです。 せっかくの良いキャンペーンが上手く伝わらず勿体ないなと思いました。 新型ウイルスに負けないぞ! テイクアウト&デリバリー応援キャンペーンサイト 特に以下点が気にな
テスト駆動で学ぶ Firestoreセキュリティルール の書き方(認証、スキーマ検証、バリデーション)FirebaseJestFirestoreCloudFirestoreTypeScirpt 今までセキュリティルールをあまり書かずセキュリティ的にアレなものを量産していたので、 その反省からFirestoreのセキュリティルールについて学んだことを記します。 2020/12/01 追記 この記事は、以下バージョン時点の情報です。 node: 10.15.3 @firebase/testing: 0.12.3 内容案内 本記事では以下について記載しています。 Firestore セキュリティールールのテスト環境構築方法(TypeScirpt & Jest) ユーザー認証のルール記載方法、テスト方法 スキーマ検証のルール記載方法、テスト方法 値のバリデーションのルール記載方法、テスト方法 コー
Foreign Keysでuser_idの関連キーとしてusersテーブルのidを指定します。 これでテーブルの作成は完了です。 認可の設定 次にテーブルの操作・カラム単位での認可の設定をします。 DATA > サイドメニュー todos > Permissionsタブから新しいロールuserを追加します。 そしてuserロールでは自分のuser_idと関連するメモしかinsert, select, update, delete出来ないようにします。 ここで設定するX-Hasura-User-Idは後ほどFirebase Authenticationのカスタムクレームで設定します。 まずinsertの設定。 Allow role user to insert rowsで、With custom checkを選択肢し、user_id eq X-Hasura-User-Idを指定します。 その
8月上旬に正式リリース予定とされているVue3の変更点をいち早く理解できるように概要をまとめてみました。それぞれの項目ごとにvuejs/rfc又はVue3 Documentへのリンクを貼っているので索引的に使ってもらえると嬉しいです。 この記事は以下バージョン時点の情報です。 vue-next v3.0.0-rc.5 Composition APIの追加 rfcs/0013-composition-api.md at master · vuejs/rfcs Composition API RFC | Vue Composition API おそらく一番大きな目玉となる変更はこちら。Composition APIという新しいAPIが追加されます(PluginでVue2系でも使用可能です)。 Composition APIはコンポーネントのロジックの柔軟な再構成を可能にする関数ベースのAPI群
最近ひたすら既存のVueプロジェクトのTypeScript化をやっているのでメモとしてまとめます。 (2019/09/09 追記) vue-class-componentはvue3のRFCから外されたようで、現在は、Composition APIがRFCとなっています。 Composition APIでのTypeScript化についてはこちらの記事をどうぞ https://qiita.com/ryo2132/items/f055679e9974dbc3f977 前提 .vueファイルで<script lang="ts">を使う vue-property-decoratorを使ったデコレータ方式のTypeScript化を行う data dataはそのままクラスのプロパティとして宣言します。 JavaScript <script > export default { name: 'Human'
Vue Composition APIのリファレンスを見たらリアクティブ周りのAPIが大量に追加されていたのでまとめてみました。 この記事は以下バージョン時点の情報です。 vuejs/composition-api: v1.0.0-beta.1 vuejs/vue-next: v3.0.0-beta.17 Vue Composition APIのAPI Reference に掲載されているいくつかのAPIは、まだVue2系で使えるComposition APIのプラグイン(vuejs/composition-api)でサポートされていません。 そのAPIについては マークを末尾につけています。サポート対応状況についてはこちらの記載をもとにしています。 reactive 引数に渡したオブジェクトのリアクティブなプロキシを返します。 Vue2系のVue.observable()と同等の機能です
vue.jsとapollo、graphQLの学習用に、CRUD機能(create、read、update、delete)を持つ名簿アプリを作りました。 実装をチュートリアル形式でまとめます。 バックエンドはgraphQLのAPIサーバーであるGraphCMSというヘッドレスCMSを使っています。 概要 CRUD機能を持つ名簿アプリを作成します。 右上のボタンから名簿の追加。 各レコード右側のボタンで更新、削除が行えます。 さらにvuetifyのdata-tableの機能ですが、並び替えやページングも行えます。 デモサイトはこちら(追加更新削除やってみて大丈夫です。) https://vue-sample-crud.firebaseapp.com/ 全コードはこちら https://github.com/kawamataryo/vue-apollo-crud バージョン情報 vue-cli
2020/08/25に開催されたv-tokyo#11の参加レポートです。 とても良い勉強会だったので見逃した方は是非スライドだけでも!! まちにまった Vue.js 3 @kazupon 📁スライド: https://speakerdeck.com/kazupon/matinimatuta-vue-dot-js-3 📝 内容メモ: - SFCの改善PRについて - Viteの紹介 - vuedxの紹介 SFCの改善PR の内容を知ることができて良かったです。setupのDXの改善やリアクティブなCSS変数の作成は便利だと思いました。SFCの改善自体はv3.1xでのリリース予定とのことですが、とても楽しみですね。あと、@vuedxは全く初耳でした。templateの型検査などpluginとして切り出して使えるようであれば是非使いたいです。今後の開発を追っていきたいです。あと個人的に、発表
最近猛烈にスターを集めているビルドツール、Viteを触ってみたので簡単に紹介します。 この記事はVite v0.19.1時点での情報です。 Viteとは? ViteはVue.jsの作者のEvan You氏が開発中のノーバンドルなビルドツールです。 ネイティブのESモジュールのインポートを利用しバンドル不要で高速に動作するdevサーバーと、Rollup.jsをベースとしたプロダクションビルド機能を提供します。 設定不要で.vueのSFC(Single File Components)をコンパイルできて、さらにデフォルトで今開発中のVue3.0が使えます。 しかも、vue-cliのようにVue.js限定ではなく、React、Preactにも対応しています。 注意 Still experimental, but we intend to make it suitable for producti
SOLID原則を勉強中です。 TypeScriptでOCPを説明している記事があまりなかったので、自分なりにまとめてみました。 オープン・クローズドの原則(OCP)とは? software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification クラス・モジュール・関数は「拡張」に対して開いていて、「修正」に対して閉じていなければならない という原則です。 これだけ読んでも「拡張に対して開いて、修正に対して閉じている? 何も分からん🤔」という感じですが、 自分の中では機能の拡張の際、既存コード修正せず、新しくコードを追加するだけで対応できる設計にすることだと解釈しています。 以下の仕様でプログラムを書くと仮定して、OCPに違反したコード・遵
Vue.js v3.xのRFC(Request for Comments) となっているComposition API を色々触ってみたのでまとめます。 Vue Composition API とは? Introducing the Composition API: a set of additive, function-based APIs that allow flexible composition of component logic とある通り、コンポーネントのロジックの柔軟なコンポジションを可能にする関数ベースのAPIです。 型推論の改善と、合成関数によるロジックの整理が可能になっています。 @vue/composition-apiを追加することで、Vue2系でも使用することができます。 環境構築 vue-cli でプロジェクトを作成します。 ポイントはManually sel
Firebase Extensionsをサクッと試してみた 〜Firebase Extensions機能一覧、Translate Textの使い方〜FirebaseFirebaseCloudFunctionsCloudFirestoreFirebaseExtensions 2019/09/26にFirebase Summitで発表されたFirebase Extensionsをサクッと試しみたので書きます Firebase Extensions とは? Firebaseコンソールでポチポチと設定するだけで、既存のFirebaseの機能を補助するCloud Functionsを作成出来る機能です。 Firestorageでの画像リサイズや、Firestoreに保存されたタイミングで任意の言語に翻訳できる機能など以下の9つのExtensionが発表されています。 簡単に各Extensionsの紹
laravel5でcontrollerから変数の受け渡し、viewでの展開の際に迷うのでメモ 1つの変数の送信 変数を一つ受け渡す場合はcompact関数又はwithメソッドで送信。 compactの方が可読性が高いのでそちらを使うことが多い。 compact関数の場合
最近発見したGitHubのTemplate Repository機能の紹介です。 リンターやらテストライブラリの設定等は、ほぼどの環境でも行いますが毎回設定するのは地味に面倒ですよね。 GitHubのTemplate Repository機能を使えばその環境構築が不要で、本質的な開発をすぐに始められるようになります。 GitHubのTemplate Repositoryとは? あるリポジトリのコードベースをそっくりそのまま新規のリポジトリ作成で利用できる機能です。 「え、それってforkと違うの?」っと思った方もいるかもですが、以下の点でforkとは異なります。 1つのリポジトリから複数作成できる(forkだと、同名のリポジトリとなるので1人のユーザー内で複数作成は不可) 元となったリポジトリのコミット履歴を継承せず、クリーンな状態でスタートできる 使い方 以下実際にTemplate Re
サーバーサイドエンジニアになった今でも、プライベートでは以前副業で制作したWordpressの改修案件が多いです。 そのような中、私のWordPressの開発環境構築は以下のように遷移しました。 入門書を読みながらMAMPでなんとか作成する。本番デプロイはFTPソフトのcyberDeckで、サーバー直上書き ↓ 黒い画面とお知り合いになる ↓ VCCWと出会う。wordmove、sshの設定に苦しみながら、なんとか環境構築。vagrantで開発環境構築して、wordmoveでデプロイ ↓ MacのOSアップデートでvagrantの起動に詰まる。その他、起動が遅い。メモリを食うことに嫌気が、、 ↓ クジラと出会う ↓ 現在 そんな経験を得て、今回作成したものは最強だと思っています。(N=1) 利点 docker-compose upで環境起動まで3秒。(初回のimageダウンロード除く) .
TypeScript の構文の中でも、屈指のググラビリティの低さを誇る is と in を自分なりにまとめてみました。 is は TypeScript の型推論を補強する user-defined type guard(ユーザー定義型ガード) で使われます。 unknown 型や、any 型、Union 型の型の絞り込みを行えます。 使用例 例えば、unknown 型を引数に受け取る関数で、もし引数の型が string 型だったら文字列の長さを出力するという処理があるとします。 その場合は、以下のように型を絞り込む必要があります。 const example = (foo: unknown) => { if (typeof foo === "string") { console.log(foo.length); // fooはstringとして推論される } }; この一つの関数ならば良い
最近ターミナルにも慣れてきたのでssh接続を実行してみた。そのメモ。 0.環境 エックスサーバー Mac OS Sierra 1.エックスサーバーでsshの設定 こちらを参考に公開鍵認証用の鍵ペアを作成。秘密鍵(サーバー名.key 以下sample.key)をダウンロード。 パスフレーズは忘れずメモを。 2.秘密鍵の設置 ダウンロードしたsample.keyを以下のコマンドで移動
2020年6月26日18:00より開催された Firebase Realtime Meetup に参加したので参加レポートを書きました。 勉強会自体のアーカイブ動画 は以下に掲載されています。 https://www.youtube.com/watch?v=4iS8EySYU14 FJUGの紹介 @k2wanko スライド: - 動画開始位置: https://youtu.be/4iS8EySYU14?t=5 内容メモ: Firebase Japan User Groupの活動内容・Slackの紹介 FJUG Appの紹介・テスター募集 Firebase Japan User Groupの活動紹介と、@k2wankoさんが個人で開発中のFJUG Appの紹介でした。 Firebase Japan User GroupのSlackは私も度々参考にさせてもらっています。日本でFirebaseを
Hasuraで既存のPostgreSQLのDBから爆速でGraphQLのAPIサーバーを構築出来たのでその内容を備忘録としてまとめます。 本記事は以下のような方を対象にしています。 HerokuのPostgres add-onを利用してアプリのDBを構築している GraphQLでのAPIサーバーを試したい でもリゾルバとかTypeDefをイチから書くのは面倒 Hasuraとは? Instant realtime GraphQL engine とドキュメントでは紹介されていますが、 ざっくり言うとPostgreSQLからGraphQL APIサーバーを自動で構築するものです。 公式の以下図の通り、DBであるPostgreSQLと、GraphQLのAPIを使うクライントとの間に入り、GraphQLとSQL(or JSON)を相互変換してくれます。 (公式サイトより) Hasuraサーバーの構築
以前までは、リアルタイム同期のwebアプリ※はwebsockets等を使用しなくては実現できませんでした。 でも今の時代にはFirebaseがあります!!! FirebaseのFirestoreを使えば、リアルタイム同期のwebアプリを本当に数行で構築できてしまいます。 今回はそのサンプルとしてFirestoreとvue.jsを使い、リアルタイムでコメントが同期されるチャットを作成してみました。 この手の記事は既に色々あり、何番煎じかわからないのですが、Firebaseに初めて触る人でも理解できるよう、 わかりやすさ重視でスクショを多めに掲載しています。 ※ ここでいうリアルタイム同期は、プラウザをリロードせずとも常に他のクライアントで加えた変更が反映されること どんなwebアプリ? リアルタイムでコメントが同期されるチャットアプリです。 コメントの追加 コメントの削除 が可能です。 ユー
2020/05/04 追記 portal は teleport にリネームされたようです。 記事内容も修正しました。 -- 2020年Q1リリース予定のVue.js 3.0の新機能 Teleport を試してみたのでまとめます。 (参考) 以下でVue 3.0(vue-next)の環境構築、他の新機能についてもまとめています。 vue-next(Vue.js 3.0 wip)+ TypeScript + webpackでの開発環境を構築する Vue.js 3.0 の新機能を試す。 〜 Suspense 編〜 Teleportとは? 定義したコンポーネントが属するDOMツリーとは別の場所に、まるでテレポートしたかのようにコンポーネントを移動できる機能です。 直接指定の位置に表示できるので、 Modal、Tooltipなど要素の上部レイヤーに表示したいコンテンツでもz-indexでのCSSハッ
新しめの技術を勉強したいと思い、HeadLessCMS + GraphQL + Vue.js で簡単なSPA(ブログ)を作ってみました。 その過程で学んだことをチュートリアル形式でまとめます。 なるべく初学者の方にもわかりやすいようスクリーンショットを多めに掲載しています。 概要 headlessCMS、GraphQL、Vue.js、Apolloでブログを作成します。 チュートリアルがメインなので、graphQLのクエリの詳細な説明などは省略しています。 以下各バージョンです。 GraphCMS: 2018.7公開のもの Vue cli: 3.0.1 vue: 2.5.17 vue-apollo: 3.0.0-beta.11 vue-router": 3.0.1 vuetify: 1.2.4 graphql: 14.0.2 作成サンプル このようなのトップページ(投稿一覧)と詳細ページの2
2020/04/10 追記 Vue-Composition-API版を書きました。 ↓の記事のv-bind.syncを使うほうが実用的です。 Vue.jsでForm要素のラッパーコンポーネントを作る際の2つの方法(v-bind.sync, v-model) - Qiita Vue.jsでFormの各フィールドをcomponent化する際の実装例です。 コンポーネント化することで、デザイン、バリデーションなどが全Formで共通化できます。 流行りのAtomicデザインを適応する際などに良いかと思います。 以下コードは、全てこちらのリポジトリにあります。 https://github.com/kawamataryo/Vue-atomic-form Input まず基本のinputのcomponet実装例。 フィールドの値は、@inputで変更を監視して、$emitの'input'を利用し親コン
エンジニアに転職して早2年半。いまだに再帰関数が苦手です。 再帰関数を含むコードレビューがあると「よく分からんけど、動作も良いしテストも書かれてるしヨシ!!approved!!」としてしまったことも...(絶対あかん😇)。 さすがにそれはヤバイと、再帰関数を学び直したのでその結果をまとめてみました。 再帰関数とは? 再帰関数とは、関数内で、自分自身を呼び出す関数です。 この時点で謎ですよね。最初にみたときは「無限ループでは?」って思いました。 以下再帰関数の例として度々あげられる階乗の計算です。 const factorial = (n: number): number => { if (n < 2) { return 1; } return n * factorial(n - 1); }; test('factorial' => { expect(factorial(0)).toBe(
先日私事でelectron-vueとNeDBでデスクトップアプリを作成したので、忘れないうちにメモ。 途中はまった箇所も何箇所か・・ vue-routerの設定 bootstrap4のscss設定 jQueryの設定 NeDBのlike検索 NeDBのdb配置場所 electronもvue.jsも初めてなので、何か間違いとかこうやったほうが良いとかご指摘ありましたらお願いします。 作成するもの 簡易データベース検索アプリ 使用するフレームワーク electron-vue NeDB bootstrap4 作業環境構築 electron-vueのインストール // グローバルにvue-cliをインストール $ npm i -g vue-cli // electron-vueの設定 $ vue init simulatedgreg/electron-vue my-project
次のページ
このページを最初にブックマークしてみませんか?
『@ryo2132のマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く