- 1. Next.jsでホワイトリスト形式のIP制限をかける
- 2. リセットボタンでJSが走る処理を書いたらうまくいかなかった
- 3. SvelteKitでView Transitions APIを使う方法
- 4. MIDI.js Soundfontsを使ってみた
- 5. Railsバージョンを5.2.8→7.0.6へ上げたときにスクリプト系が動かなくなった件
- 6. コピーライトのyearをJavaScriptを使用して自動で更新する方法
- 7. プロトタイプオブジェクト
- 8. HTML+CSSでPhotoshop風選択範囲のアニメーションを再現しようとしたら凄く面倒くさかった
- 9. JavaScriptでスクロールアクションを実装する
- 10. Stripeのカスタマーポータルを利用した、請求マイページやプラン変更・解約画面のローコード開発入門
- 11. Node.js APMエージェントをどうしても試してみたいので、Node-Redにエージェント導入を試みる
- 12. plunkerでvue その64
- 13. [Ruby JavaScript] ハッシュ、オブジェクト比較
- 14. ES2015を学ぶ
- 15. 3次元物体の回転~javascript~
- 16. Ubuntu Wallpapersのすべて
- 17. はじめてのブロックチェーン実践講座その2
- 18. plunkerでvue その63
- 19. create-react-app で作った Reactプロジェクト から Hello World (不要ファイル削除)
- 20. 2023年におけるアプリケーション開発向けの5つの主要なノードJS統合開発環境(IDE)
Next.jsでホワイトリスト形式のIP制限をかける
## 概要
Next.js(v13.4.12)の環境でMiddlewareを利用してIP制限をかける方法を共有します。## サンプルコード
“`TypeScript:/src/middleware.ts
import { NextRequest, NextResponse } from ‘next/server’// IPホワイトリスト
const IP_WHITELIST = [‘xxx.xxx.xxx.xxx’, ‘yyy.yyy.yyy.yyy’]; // IPアドレスをマスクしています。export async function middleware(request: NextRequest) {
const res = NextResponse.next();// IPアドレスを取得
let ip: string = request.ip ?? request.headers.get(‘x-real-ip’) ?? ”;// プロキシ経由の場合、x-forwarded-forヘッダーからIPアドレスを取得
if(!ip && for
リセットボタンでJSが走る処理を書いたらうまくいかなかった
## たとえばこんなコード
“`HTML
“`
“`js
“`
リセットボタンがクリックされた時、「sampleselected」のチェック状態の値でテキストボックスの活性状態を制御しています
値
SvelteKitでView Transitions APIを使う方法
# はじめに
SvelteKit [v1.24.0](https://github.com/sveltejs/kit/releases/tag/%40sveltejs%2Fkit%401.24.0)がリリースされ、[onNavigate](https://kit.svelte.dev/docs/modules#$app-navigation-onnavigate)というライフサイクル関数が追加されました。
[onNavigate](https://kit.svelte.dev/docs/modules#$app-navigation-onnavigate)を使用することでURLに移動する直前に指定したコールバックを実行することができます。
[onNavigate](https://kit.svelte.dev/docs/modules#$app-navigation-onnavigate)を使うことでSvelteKitで[View Transitions API](https://developer.mozilla.org/en-US/docs/Web/API/View_Transit
MIDI.js Soundfontsを使ってみた
https://github.com/gleitz/midi-js-soundfonts
# mp3を鳴らす
“`play1.html
"use strict";
let audio;
onload = function() {
const soundfont = "https://gleitz.github.io/midi-js-soundfonts/FluidR3_GM/";
const inst
Railsバージョンを5.2.8→7.0.6へ上げたときにスクリプト系が動かなくなった件
どうもこんにちは、今回はRuby on Railsのバージョンアップ作業を行なった時にぶつかった壁について紹介します。
## 基本的な手順
基本的な手順は、[こちらの記事](https://qiita.com/jnchito/items/0ee47108972a0e302caf)を参照して行いました。
## バージョンアップの経緯
私の会社では、WebアプリケーションをAWS ElasticBeanstalkを使用してデプロイ/運用を行っています。
しかし、近々ElasticBeanstalkのRails5系のサポートが終了するとの警告があり、「これはバージョンを上げないとやばい!」ということで上げることになりました。
## ぶつかったこと
バージョンアップ作業自体は順調でした。RSpecやRubycop、Brakemanを導入していたおかげエラー箇所や冗長なコードを見つけるのがかなり容易でした。しかし、そのような自動テストではカバーできない問題に陥ってしまいました。
それが、**Javascript、CoffeeScriptが動かない!** という問題です。
厳密に
コピーライトのyearをJavaScriptを使用して自動で更新する方法
## コピーライトとは?
一度作成したらほとんど改訂されることのない資料とは違い、Webページは上書きによる更新が行われます。
発行年を入れることにより、「何年も更新されていない古いページだ」という印象を与えることを防ぎます。
そこで、手動で更新できるように取得できるようにしました。## 記述方法の例
```コピーライト
//HTML// 年取得 (JS)
const year = document.querySelector('.year');const today = new Date();
const thisyear = today.getFullYear();
console.log(thisyear);year.textContent = thisyear;
```いかがでしょうか?
是非お試しください!
プロトタイプオブジェクト
# はじめに
オブジェクトリテラルで空のオブジェクトを定義しただけなのに、toStringメソッドを呼び出せています。 このメソッドはどこに実装されているのでしょうか?また、JavaScriptにはtoString以外にも、オブジェクトに自動的に実装されるメソッドがあります。 これらのオブジェクトに組み込まれたメソッドをビルトインメソッドと呼びます。
# Objectはすべての元
Objectには、他のArray、String、Functionなどのオブジェクトとは異なる特徴があります。 それは、他のオブジェクトはすべてObjectを継承しているという点です。正確には、ほとんどすべてのオブジェクトはObject.prototypeプロパティに定義されたprototypeオブジェクトを継承しています。 prototypeオブジェクトとは、すべてのオブジェクトの作成時に自動的に追加される特殊なオブジェクトです。 Objectのprototypeオブジェクトは、すべてのオブジェクトから利用できるメソッドなどを提供するベースオブジェクトとも言えます。
![object-protot
HTML+CSSでPhotoshop風選択範囲のアニメーションを再現しようとしたら凄く面倒くさかった
## ことの発端
先日、息子からの夏休みの宿題として個人で[アイロンビーズエディタ(IBE)](https://bu-kurokky.github.io/IBE/)というのを開発しました。
今回はその時に実装しようとした**選択範囲のUI/UX(↓こんなの)を再現する話**です。
![スクリーンショット 2023-08-30 10.25.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1043424/8725ecd6-04d6-b72c-37c6-2b7199d25bdb.png)
実物を触って見てもらった方が良いと思いますので、[こちら](https://bu-kurokky.github.io/IBE/cp.html)に用意しています。
開発秘話的なものは[note](https://note.com/kurokky/n/n6190a71858ae)に記載しているので省略しますが、一言で言えばペイントツールにありがちな「選択範囲」と「コピペ」を実装しようと思ったからです。
#
JavaScriptでスクロールアクションを実装する
## はじめに
Javascriptを用いてスクロールアクションを実装する## コーディングルール
- ES6 (EcmaScript2015)以降のモダンな記法を使う
- 関数をモジュール化して使用する
- data 属性を使用してDOM要素を取得する## コード(pug, scss)
すでにpugファイルとscssファイルは用意されており、JSファイルを作成する。
この2つのファイルはすでに用意されているもののため割愛。```_scrollAction.pug
.scrollAction
.scrollAction__inner
.scrollAction__target.--active
p.scrollAction__label section 0
p スクロール連動で残り3つを表示させましょう
.scrollAction__target(data-selector="scroll-action-target")
p.scrollAction__label section 1
.scrollAction
Stripeのカスタマーポータルを利用した、請求マイページやプラン変更・解約画面のローコード開発入門
サブスクリプションサービスを提供する際、「契約や請求内容を管理する画面と機能」の開発または運用フローの策定が必要です。
![スクリーンショット 2023-08-28 15.09.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/228348d7-e66f-360e-1490-79c61e638a57.png)
月々の請求だけでなく、未払いが発生した場合のリカバリーや回収・キャンセル理由の収集と分析など、サービスを成長させようとすると、少なからず開発リソースを確保する必要が生まれます。
## Stripeのカスタマーポータルで「作らない請求管理」を実現する
Stripe Billingを利用してサブスクリプションサービスを提供している場合、カスタマーポータルを利用して、コードを書かずにマイページを提供できます。
![スクリーンショット 2023-07-14 13.55.33.png](https://qiita-image-store.s3.ap-northeast-1.a
Node.js APMエージェントをどうしても試してみたいので、Node-Redにエージェント導入を試みる
:::note info
このアップデートの詳細はこちら
[New Relic アップデート](https://newrelic.com/jp/blog/nerdlog/new-relic-update "New Relic アップデート")
:::# はじめに
Node.jsが大好きだ。だけど、ガリガリとNode.jsを使ってアプリケーションを開発できるほどのスキルは持っていないので、いままで[Node.jsにAPMエージェント](https://docs.newrelic.com/jp/docs/apm/agents/nodejs-agent/getting-started/introduction-new-relic-nodejs/)を導入して遊んでみることができなかった。(**がんばれ自分!!**)もしかしたら、Node.jsやっているエンジニアにとっては知っていて当たり前のことなのかもしれないけど、[Node-Red](https://nodered.org/)という**神**の様なNode.jsベースのソリューションがあることを知人に教えてもらいました。(**感謝感
plunkerでvue その64
# 概要
plunkerでvueやってみた。
練習問題、やってみた。# 練習問題
vueファイルでブラックジャックを作れ。# 参考にしたページ。
https://qiita.com/t2kojima/items/88a924fa3807909e0488
# 写真
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18104/60e83a56-8f76-ffae-0e00-213aea1d0cd7.png)
# 方針
- Vue + RequireJS を使う。
- myData.jsを使う。
- vueファイルをcomponent化。
- 画像は、お借りする。
- componentは4つ
card,dealer,player,game# 成果物
https://embed.plnkr.co/plunk/JmGzuZv5WWYRKU3M
以上。
[Ruby JavaScript] ハッシュ、オブジェクト比較
# 目的
現在携わっているRails + Vue.jsのプロジェクトで、Ruby、JavaScriptそれぞれのキーと値を組み合わせてデータを管理する方法の呼び方、表記の仕方が混乱したので比較する。
# Ruby ハッシュ
```
currencies = {'japan' => 'yen', 'us' => 'dollar', 'india' => 'rupee'}# キーと値
# 値を取り出す
currencies['japan']
```シンボルを使った場合
```
# キーのみシンボル
currencies = { japan: 'yen', us: 'dollar', india: 'rupee'}
currencies = { :japan => 'yen', :us => 'dollar', :india => 'rupee'}# キーも値もシンボル
currencies = {japan: :yen, us: :dollar, india: :rupee}
currencies = { :japan => :yen, :us => :dollar, :ind
ES2015を学ぶ
# はじめに
Vue、React、AngularなどのモダンJSを学ぶ上で、まずはJavaScript(以後JS)の基礎を理解する必要があると思います。
自分もReactを勉強しようと思った矢先、Reactの記法の前にJSの基本を理解できていないと気づき、改めて勉強した際の備忘録です。
ReactでもES2015(ES6)の記法は結構出てきますのでモダンJSを始めようという方は、是非勉強しましょう。
他にもQiita内でES2015(ES6)について詳しく書かれている記事があると思いますので、気になった方は探してみてください。## ES2015とは
ESとはECMAScriptの略で、JSの標準化を行っているECMA(European Computer Manufacturers Association)が定義しているものとなります。
`2015`は西暦を指しており、2015年に発表されたECMAScriptという意味合いになります。
ECMAScript 6th Editionの意味合いでES6と呼ばれることもあります。
※ES2015以後は西暦の方が正式名称となっています。
3次元物体の回転~javascript~
## 前回の2次元図形回転の復習
2次元図形回転は[こちら](https://qiita.com/takatakao397/items/67960568d465504b13b9)で実装しています。なかなか好評?いいね2つとストック3つ頂いたので、調子乗って3次元物体の回転も解説したいと思います。
復習がてら2次元の場合の回転行列は下になります。
```math
R(θ) =
\begin{pmatrix}
\cosθ & -\sinθ \\
\sinθ & \cosθ
\end{pmatrix}
```
## 軸を中心に回転させる
2次元図形の回転はxy平面上の動きですが、3次元的に物体を回転させるには下のような動きをします。![Screenshot 2023-08-29 at 21.52.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2153036/8a0ca3d7-b7d5-5045-816b-f25987fc768f.png)
この例ではy軸を中心に回転させていますが、x軸z軸
Ubuntu Wallpapersのすべて
See the Pen
Ubuntu Wallpapers by John Doe (@04)
on CodePen.