- 1. アンケート
- 1.1. POST送信(通常/javascriptで制御/動的にフォームを作って送信)
- 1.2. wordpress関数をjsファイルで扱えるようにする
- 1.3. Pleasanterのリンクで自テーブルにリンクする
- 1.4. PrismaでWhere条件を動的かつ型安全に実装する方法
- 1.5. 2年目SEがネット友だちとゲーム制作してめちゃ楽しかった話
- 1.6. 【GAS】ログの色を変更したい
- 1.7. web会議への参加を自動化した話
- 1.8. youtube動画を検索するJavaScript
- 1.9. Reactの基礎5:フォームの作成
- 1.10. React + TypeScript: Next入門03 プリレンダリングとデータ取得
- 1.11. npm install -g {packageName}は古いと言われた
- 1.12. 【Expo】評価付きの思い出管理アプリをリリースしてみた
- 1.13. JavaScript ~コレクション編~
- 2. ・コレクションとは
- 3. ・Array(配列)
- 4. HTML5プロフェッショナル認定試験とは
- 5. はじめに
- 6. 分割代入の適用前
React.js: JSXファイルのトランスパイル後のJavaScriptコードを確認する方法
React.jsでJSXファイルを作成した時、それがBabelでトランスパイルされた後のJavaScriptコードを確認したいと思いませんか?
実はできるんです。
Babelがどのように変換するか確認したいときは、Babel REPL
https://babeljs.io/repl
を使うことで、変換後のJavaScriptコードを確認できます。
このWebサイトでは、ページの左側に新しい構文のJavaScriptを記述すると、即座にBabelでコンパイルされて、ページの右側に結果が表示されます。
是非、ご活用ください。
matchHeight.js でつまづいたこと
## なぜ matchHeight.js を使用したか
業務を進める中で、子要素の高さを揃える必要が出てきました。
CSSのFlexboxは便利なのですが、子要素まで高さを揃えることはできません。
テーブルレイアウトにすれば揃えることはできますが、
そうするとソースコードが見にくくなること、
レスポンシブであることを考慮した上で、
HTMLのメンテナンス性を保つため「matchHeight.js」を使用することにしました。## 問題点
例えば、以下のように横着して一括で指定すると高さが揃いません。
(要素を一つずつ比較参照するのではなく、指定した全ての要素を同じ高さにしようとして、うまく動かないようです。)
“`js:
$(function(){
$(‘h2, p, dt, dd’).matchHeight();
});
“`https://chromestatus.com/features
# featureをすべて取得
https://chromestatus.com/api/v0/features?num=2301
“`javascript
const features = await fetch(‘https://chromestatus.com/api/v0/features?q=&num=2301’).then(r=>r.text()).then(r => JSON.parse(r.slice(5)))
“`Googleドキュメントだけを抽出
“`javascript
features.features.map(f => f.doc_links).filter(l=>l).flat().filter(l=>l.includes(‘docs.google.com’))
“`https://docs.google.com/document/d/1ZYjaZBthiN-yNioJkoqh-aqwC1NOgC-YpptiNlzfdZQ/edit?usp=sharing&resou
【TypeScript】ExcelJSで出力したCSVへのSJIS対応
### ExcelJSによるCSV出力とSJIS対応
ExcelJSを利用して出力したCSVファイルをSJIS対応させようとサイトを参考にコードを書いたらエラーを吐いて動かなかったので備忘録。
SJIS対応にはecoding.jsをnpm installしてインポートする。https://github.com/polygonplanet/encoding.js/blob/master/README_ja.md
CSVファイルを作成する部分は他サイトにお任せして、エラーになった部分を以下に抜粋。
“`react: Csv.ts
import Encoding from “encoding-japanese”;
// 省略
const workbook = new ExcelJS.Workbook(); //ブックを作成// 省略
const uint8Arr = new Uint8Array(
Encoding.convert((await workbook.csv.writeBuffer()), {
// await workbook.csv.writeBuffer(
WordPressで独自テーブルにフォームデータを格納する。バリデーションや非同期通信もやってみる。
## ■背景
仕事のため、必要だったため。
あまり記事もなく、調査が面倒だった。
自分共有用として。mysqlのテーブル作成は記載していない。
## ■概略
処理の流れは以下
1. フォームの送信ボタンをクリック時に、javascript起動(バリデーション、送信前の確認メッセージ、非同期で自身の固定ページにpost送信)
2. 自身の固定ページにpost送信するので、配置しているショートコードがキック
3. 使用しているテーマのメソッドがキック
## ■固定ページ
### html
“`html
アンケート
POST送信(通常/javascriptで制御/動的にフォームを作って送信)
## ■通常
何も制御する必要がない場合はこちら。
“`html
“`
## ■javascriptで制御する場合
javascriptで制御するので、バリデーションなどの処理をはなむことができる。
“`html
“`
“`javascript
こんにちは、二項しいぷです。
普段はSIerで大規模システム開発をしたり、競技プログラミングのコンテストに参加したりしています。
今回初めて**ゲーム制作や少人数のチーム開発**を経験し、それがとても楽しくて学びも多かったので、共有します。# Phaser3?
**HTML5ゲームエンジン**です。
JavaScript/TypeScriptを用いて、PCやスマートフォンのブラウザから遊べるHTML5ゲームの開発ができます。
日本ではあまり聞き馴染みがなく情報も少ないですが、Githubのスター数が33kを超えているなど、世界的には大人気らしいです。
環境構築や学習のコストが低く、2Dアクションゲーム・シューティングゲーム・脱出ゲーム・パズルゲームなどに向いたフレームワークです。今回は
・PC/android/iOSからプレイできるゲームを作りたい
・開発メンバーが使い慣れているゲーム系
【GAS】ログの色を変更したい
# はじめに
インターン先でGASを使用して社内ツールを作成する機会がありました。
ログが見にくいなと思い、ログに色をつけることはできないか調べたところ方法があったので記録しておきます。# やりかた
```javascript
// 白
console.log("白色です")
// 黄
console.warn("黄色です")
// 赤
console.error("赤色です")
```# おわり
ログが見やすくなりました!
web会議への参加を自動化した話
Google カレンダーに登録されているweb会議に、5分前に自動的に参加してくれるようにできたのでそのやり方を書きます。
これを使えば会議への出席忘れや会議の少し前から待機している必要がなくなります。
### 環境
- mac
- google calendar
- google meets
- safari### 1.自動的にブラウザを立ち上げる
macには操作を自動化してくれるAutomatorというアプリケーションがあります。
今回はこちらを主に使用して自動化します
![スクリーンショット 2023-01-26 15.39.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706631/1d9e4a52-981e-cb3d-cccf-6193ca80dc77.png)automatorを立ち上げると処理を聞かれるので、なんでもいいですがとりあえずワークフローを選択
![スクリーンショット 2023-01-26 15.42.33.png](https://qiita-image-st
youtube動画を検索するJavaScript
- youtube実行するAPIキーを取得する手順は適当なページを参考
- youtube player api の読込
https://developers.google.com/youtube/iframe_api_reference?hl=ja
- youtube data api
https://qiita.com/koki_develop/items/4cd7de3898dae2c33f20
https://developers.google.com/youtube/v3/docs/search/list```HTML:抜粋
```
```JavaScript:API実行&HTML表示
/** youtube data api key */
const youtubeDataApiKey = 'ここに取得したkeyを設定';/**
* youtube player api の読込
* https://developers.google.com/youtube/iframe_
Reactの基礎5:フォームの作成
# フォームの作成と値の更新
```test.js
[value, setValue] = React.useState("")
```で、変数とその値の更新の関数を宣言できます。`setValue(xxx)`を実行する度に`value`が`xxx`に更新されて、それらが宣言された関数(コンポーネント)が再実行されます。例えば次のコードでは画面には返り値のフォームが表示されていて、その入力が更新されると`onChange`の中の関数が呼び出されます。すると、値が更新されて再実行によって更新後の値がコンソールに表示されます。
```App.js
import React from "react"function App() {
const [firstName, setFirstName] = React.useState("")console.log(firstName)
function handleChange(event) {
setFirstName(event.target.value)
}
React + TypeScript: Next入門03 プリレンダリングとデータ取得
Next.jsチュートリアルの公式作例を、TypeScriptも加えて、一からつくってみるシリーズの第3回です。アプリケーション内のディレクトリに収めたマークダウンファイルからデータを読み込んで、トップページに表示してみます。
# プリレンダリングとは
プリレンダリングはNext.jsのデフォルトで、各ページはあらかじめレンダリングされます。ページのHTMLをクライアント側のJavaScriptにすべてつくらせるのでなく、Next.jsが静的な処理は先に済ませておくということです。プリレンダリングは、パフォーマンスとSEOを高めるのに役立つでしょう。
生成されたページそれぞれに関連づけられているのは、必要最小限のJavaScriptコードです。ブラウザがページを読み込むと、そのJavaScriptコードが実行され、完全にインタラクティブになります(「[ハイドレーション](https://zenn.dev/hisasann/articles/what-is-hidration)」と呼ばれます)。
Next.jsには、つぎのふたつのプリレンダリングの仕方があります。違いは、いつペー
npm install -g {packageName}は古いと言われた
先日、モブプロで開発作業中にnpm install -gを実行しようとして先輩に「npm install -gはもう古い。[npx](https://www.npmjs.com/package/npx)を使った方がいい」と言われた。
```
npm install -g {packeageName} # インストールしたらディスク上残る上にインストール後に実行する必要があるnpx {packageName} # インストール、実行、削除、を全部やってくれる
```npxは node package executerの略でパッケージの実行ツールらしい。
パッケージを探してインストールして実行、処理が終わればパッケージを消してくれる優れもの。便利だなぁ~
【Expo】評価付きの思い出管理アプリをリリースしてみた
# はじめに
Expoの勉強を兼ねて思い出管理アプリを作成しました。
Expo(ReactNative)は日本語記事がかなり少ないのが難点ですが、Reactの知識があれば新しく勉強することはそこまで多くないです。
最低限の機能でリリースしましたが今後もアップデートを重ねていくので是非インストールして使ってみてください!!?https://play.google.com/store/apps/details?id=com.nojitake.omoidemeisho
# どんなアプリ?
ログイン不要で画像にタイトル・点数・メモを付けて登録することができ、思い出に色を付けて管理することができます!
自分専用の旅行・観光アプリのような感じですね。行った場所に点数とタイトルを付けてアルバム管理するなどの使い方ができます!
ま
JavaScript ~コレクション編~
・コレクションとは
コレクションとは、値をまとめて管理するオブジェクトのことである。コレクションには、Object、Array、Map、WeakMap、WeakSetの5種類ある。
・Array(配列)
・Arrayの初期化
`const 配列名 = [値1, 値2, ...];` 又は `const 配列名 = new Array (配列の長さ or 値1, 値2, ...);`
・配列のメソッド
`配列名.push("Zoom", "Discord"...);` 配列の一番後ろに要素を追加する。
`配列名.unshift("Java", "JavaScript"...);` 配列の先頭に要素を追加する。
`let shiftVal = 配列名.shift();` 配列の先頭の要素を削除する。 shiftValに削除された値が代入される。
`let popVal = 配列名.pop();` 配列の一番後ろの要素を削除する。 popValに削除さ
実務未経験でHTML5プロフェッショナル認定試験 レベル2に一発合格した
HTML5プロフェッショナル認定試験 レベル2に合格したので
これまでの学習スタイルであったり、学習方法などまとめて
同じ資格試験の合格を目指している方や、
これから取得に向けて勉強を始める方の
参考になる記事になればよいなと思います。HTML5プロフェッショナル認定試験とは
特定非営利活動法人エルピーアイジャパンが主催する民間資格です。
HTML5プロフェッショナル認定試験にはレベル1とレベル2が存在し、
それぞれ出題範囲が異なりますが、レベル1の説明については割愛します。レベル2の出題範囲
2.1 JavaScript
2.1.2 ES6(ECMAScript2015)以降の新機能(Ver2.5)
2.2 WebブラウザにおけるJavaScript API
2.3 グラフィックス・アニメーション
2.4 マルチメディア
2.5 ストレージ
2.6 通信
2.7 デバイスアクセス
2.8 パフォーマンスとオフライン
2.9 セキュリティモデル
オブジェクトの分割代入(Destructuring assignment)
はじめに
分割代入(Destructuring assignment)とは
配列やオブジェクトのプロパティを解体して、その値を個別変数に含めることができるJavaScript表現式です。分割代入の適用前
以下のコードを見ると、this.feeds[i]オブジェクトが何回も使われています。
こんなのを見るとthis.feeds[i]を一つの変数に抜き出しておきたいわけです。
こんな時に分割代入にて綺麗なコードにすることができます。```typescript
renderView = () => {
if(this.store.hasFeeds) {
for(let i = (this.store.currentPage - 1) * 0; i < this.store.currentPage * 10; i++) { this.addHtml(`OTHERカテゴリの最新記事
- 2024.09.19
JavaScript関連のことを調べてみた
- 2024.09.19
JAVA関連のことを調べてみた
- 2024.09.19
iOS関連のことを調べてみた
- 2024.09.19
Rails関連のことを調べてみた
- 2024.09.19
Lambda関連のことを調べてみた
- 2024.09.19
Python関連のことを調べてみた