- 1. ハッカソンでFPS視点ラジコンをデモしたら思った以上に好評だったので作り方を紹介します
- 2. ライブラリのコードを読み解くNo.1
- 3. 英語のみでプログラミングを学習(途中経過)
- 4. 【OSS貢献記録】emoji-martをReact 17に対応
- 5. Sigfox Coverage MapをGoogle Maps APIで表示する
- 6. webpack-dev-serverでdisableHostCheckを有効にするのはもうやめよう
- 7. Svelte ハンズオン
- 8. CLI のテンプレートプロジェクト by node and TypeScript
- 9. Rails Javascript/Html: 投稿編集画面で写真の表示を確認したい!
- 10. 初心者によるプログラミング学習ログ 219日目
- 11. ifの入れ子をできるだけ少なくするための工夫
- 12. 関数型プログラミングJavaScriptについて
- 13. Vue.jsプロジェクトにESLintを設定する最もシンプルな方法
- 14. イベントのバブリングとキャプチャリング
- 15. CodePen – HTML+JavaScriptで色サンプル(RGBカラーのパレット)作ってみた
- 16. Facebookのシェア用URLでテキストを入れる方法
- 17. IE11でbackground-imageのJQueryが反映されない…!!
- 18. フッターのコピーライトとかで自動的に今の年を表示する方法
- 19. JavaScriptでgetUserMediaでマイク・カメラ(ビデオ)を使うときの注意点とデバイスへのアクセス権限について
- 20. 【javascript】文字列の配列をArrayに変換する方法
ハッカソンでFPS視点ラジコンをデモしたら思った以上に好評だったので作り方を紹介します
## はじめに
[前回紹介したラジコン](https://qiita.com/zgw426/items/ef38db166366a63e7ff0)を改良して、ハッカソンで [RPGのデモ](https://note.com/agw/n/nbfaa159d74d0?creator_urlname=agw) したら、好評だったので作り方を紹介します。前回はFPS視点とコントローラが別々でしたが、今回はそれらをくっつけてFPS視点コントローラにしました。
※とあるイベントで登壇したときに嬉しいお言葉頂きました。
オタク歓喜のFPS仕様#AzureBaseDKY ライブラリのコードを読み解くNo.1
## はじめに
ライブラリのコードを読み解いて、より深くライブラリについて理解するという記事です。
今回は状態管理のためのライブラリであるReduxのcreateStoreについて記載します。
**この記事で説明すること**
– ReduxのcreateStoreのソースコードの説明
**この記事で説明しないこと**
– Reduxのコンセプトや概要の説明
– createStoreの使用方法やサンプルコードの解説Reduxの概要を説明した記事はいろいろあるかと思いますので、[公式サイト](https://redux.js.org/)やいろいろな解説記事を見ていただくのが良いと思います。
個人的には、Reduxのco-maintainerであるMark Erikson氏によって書かれた[こちらのスライド](https://blog.isquaredsoftware.com/presentations/2018-03-redux-fundamentals/#/19)がわかりやすかったです。
**対象読者**
– Reduxのコンセプト説明などのページを見て
英語のみでプログラミングを学習(途中経過)
# 英語のみでプログラミングを学習(途中経過)
現在、都内で英語のみの環境でプログライングを学習しているko5ukeです。今回は私が英語でプログラミングを学習を始めた経緯と学習して感じたことを共有したいと思います。ちなみに、現在、私は六本木にキャンパスを構えいてるコードクリサリスのプログラミングブートキャンプに参加しています。
##コードクリサリス(Code Chrysalis)とは
現在、コードクリサリスのブートキャンプに参加していますが、コードクリサリスには主に2つのコースがあります。12週間フルタイムでプログラミングを学習するイマーシブコースと5週間パートタイムでプログラミングを学習するファンデーションズコースがあり、私はファンデーションズコースに参加しています。
現在、都内には様々プログラミングを学べる環境はありますが、コードクリサリスでは英語でプログラミングを学べる環境を提供していて、ただ単にプログラミングを学ぶのではなく、ソフトスキルを取得することも大切にしています。詳しくはコードクリサリスのホームページをご覧ください。[(Code Chrysalis)](htt
【OSS貢献記録】emoji-martをReact 17に対応
前回のOSS貢献記録は[こちら](https://qiita.com/h6akh/items/0817a8ded6f1aeb09917)。
# はじめに
[emoji-mart](https://github.com/missive/emoji-mart)は、下の画像のように絵文字選択フォームを実現するReactコンポーネントです。
このコンポーネントを実際に利用していたら、次のような警告文がJavaScriptのコンソールに表示されました。
“`
Warning: componentWillReceiveProps has been renamed, and is not recommended for use. See https://f
Sigfox Coverage MapをGoogle Maps APIで表示する
Sigfox Coverage Mapは、タイルレイヤーですので、簡単にGoogle Maps APIにも埋め込むことができます。
#Sigfox Coverage Mapとは
Sigfox社が、地図アプリケーションやWebサイトに埋め込むことを目的にAPI提供しているカバレッジマップです。
下記のURLでタイル画像を取得できます。
`https://tiles.sigfox.com/{TOKEN}/{z}/{x}/{y}.png`##TOKENの取得
地図を取得するためのトークンです。有効期限は72時間ですので、適時更新する必要があります。
トークンを取得する方法は、下記URLでGETリクエストをします。
`https://backend.sigfox.com/api/v2/tiles/public-coverage`
応答は、下記のようなJSONになっていますので、“`tiles-public-coverage.json
{
“baseImgUrl”:”https://tiles.sigfox.com/***”,
“tmsTemplateUrl”:”https://
webpack-dev-serverでdisableHostCheckを有効にするのはもうやめよう
この記事のコピペです(本人です): https://dev.to/origamium/webpack-dev-server-disablehostcheck-4am
ハローこんにちは。`disableHostCheck: true`を使うのをやめよう。
`disableHostCheck`を使うのにはだいたい理由があって、たとえばiPhoneなどの別端末からPC上のlocalhostで動いているサイトを見たいという理由で`disableHostCheck`を`true`にしたりしてアクセスしたりします。
![6bg9lxvyh6ua2vstr2f7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37252/5dbed762-03c1-e63c-e3ec-43c4fd5cbc7e.png)
`[マシン名].local:[ポート番号]`でアクセスするのはiPhoneを使った開発ではよく見る光景ですね。このとき`disableHostCheck`はだいたいInvalid Host headerを回避
Svelte ハンズオン
# はじめに
社内でSvelteのハンズオンを開催して好評だったので書き残します!
まず、資料読んでね!# ハンズオン資料
画像をクリックするとslideshareに飛びます。[![thumbnail](http://image.slidesharecdn.com/200122sveltehandson-200123084844/95/slide-1-1024.jpg)](https://www.slideshare.net/kazumaoe/svelte)
# ハンズオン環境
GitHubで管理したい場合はForkしてね!https://github.com/oekazuma/svelte-hands-on
“`shell
git clone https://github.com/oekazuma/svelte-hands-on.git
“`# おわりに
Svelteの勉強資料はまだ少ないと思うので参考にしていただけたらと思います。
CLI のテンプレートプロジェクト by node and TypeScript
node で CLI(Command Line Interface) を開発する機会が数回あって、せっかくなのでテンプレートプロジェクトとしてまとめてみた。
## テンプレートプロジェクト
* [amay077/node-cli-sample: Sample npm project for development your CLI](https://github.com/amay077/node-cli-sample)
### 必要なモノ
* nodejs: v11.13.0+
* typescript: v3.7.3+### 試し方
1. 上記のリポジトリを Clone する
2. リポジトリのディレクトリに cd して “npm ci“ する
3. “npm run build“ する
4. “npm link“ する
5. “source ~/.bash_profile“ を行うかまたはターミナルを再起動するこれでどのディレクトリでも “my-great“ コマンドが使用できるようになる。
#### 例
“`terminal
$ my-
Rails Javascript/Html: 投稿編集画面で写真の表示を確認したい!
# = f.file_field :image, id: :message_img, placeholder: “写真の貼り付け:” 以下にJavaScriptを配置
:javascript
$(function() {
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$(‘#img_prev’).attr(‘src’, e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
$(“#message_img”).change(function(){
r
初心者によるプログラミング学習ログ 219日目
#100日チャレンジの219日目
twitterの100日チャレンジ#タグ、#100DaysOfCode実施中です。
すでに100日超えましたが、継続。100日チャレンジは、ぱぺまぺの中ではプログラミングに限らず継続学習のために使っています。
219日目は
おはようございます
219日目
・Vue.jsでアプリ作成講座
・javascript#早起きチャレンジifの入れ子をできるだけ少なくするための工夫JSで処理を書いているとif文の中にifを書くこともあると思います。
ただ、if文を入れ子にすると可読性が下がり、読みにくい・わかりにくいコードになっていくと思います。今回入れ子が発生し、それを解消するために行った工夫を記載します。##状況
かなりカンタンな例を作成しました。
1.名前と数値を設定
2.名前がメンバーと名付けた変数たちに含まれるか確認
3.含まれる場合は数値が0か+(プラス) か -(マイナス) かで条件分岐コードで書くとこんな感じ
“`javascript:test.js
const name = ‘yamada’;
const num = 100;//メンバー
const member1 = ‘sato’;
const member2 = ‘yamada’;
const menber3 = ‘suzuki’;//設定した名前がメンバー変数にあるか確認
if(name === member1, name === member2, name === member3){
//設定数値が 0 か +(プラス) か -(マイナス) か関数型プログラミングJavaScriptについて
※こちらは以下に紹介する本の要約を主とした勉強会用資料です。
## 読んだ本
[JavaScript関数型プログラミング 複雑性を抑える発想と実践法を学ぶ impress top gearシリーズ \| LuisAtencio, 株式会社イディオマコムニカ 加藤大雄 | 工学 | Kindleストア | Amazon](https://www.amazon.co.jp/JavaScript%E9%96%A2%E6%95%B0%E5%9E%8B%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E8%A4%87%E9%9B%91%E6%80%A7%E3%82%92%E6%8A%91%E3%81%88%E3%82%8B%E7%99%BA%E6%83%B3%E3%81%A8%E5%AE%9F%E8%B7%B5%E6%B3%95%E3%82%92%E5%AD%A6%E3%81%B6-impress-top-gear%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-ebook/dp/B072J
Vue.jsプロジェクトにESLintを設定する最もシンプルな方法
# ESLintをシンプルに設定する
ESLintの設定ってややこしいですよね
Vue.jsとJavaScriptの開発環境で
最低限のものをシンプルに設定する方法を紹介します“`
今回使用するJS Concept:– Standard JS
今回使用するpackages:
– ESlint
– husky
– lint-staged
“`## 1.package.jsonに以下を追記します。
“`JSON:˜/package.json
{
“scripts”: {
“lint”: “eslint src”
},
“husky”: {
“hooks”: {
“pre-commit”: “lint-staged”
}
},
“lint-staged”: {
“*.{js,vue}”: [
“eslint –fix”,
“git add”
]
},
“devDependencies”: {
“babel-eslint”: “^10.0
イベントのバブリングとキャプチャリング
# バブリング
要素上でイベントが発生すると、最初にその要素でイベントハンドラが実行され、その親、その親と、`document`オブジェクトまでイベントハンドラが実行される。
ほぼ全てのイベントでバブリングが発生する。`focus`イベントはバブリングしない。
`event.target`⋯イベントの発生元の要素。
`event.currentTarget`⋯そのイベントハンドラが紐づけられている要素。
# バブリングを止める
`html`タグ、`document`オブジェクト、イベントによっては`window`にも伝わる。`event.stopImmediatePropagation()`⋯親にバブリングするのを防ぐ。
要素が、1つのイベントに対して複数のイベントハンドラを持っている場合に、他のイベントハンドラを実行しないようにするためには`event.stopImmediatePropagation()`を実行する。基本的にはバブリングを止めてはいけない。
# キャプチャリング
キャプチャリングフェーズはほとんど使われない。
キャプチャリングフェーズでイベントを
CodePen – HTML+JavaScriptで色サンプル(RGBカラーのパレット)作ってみた
クリックした座標のカラーコードを#RRGGBB形式で表示します。
Facebookのシェア用URLでテキストを入れる方法
#始めに
URLにアクセスするだけでシェア画面を表示することができるのですが、色々調べてもFacebookではテキストを入れる方法が見つかりませんでした。“`text:Facebookのシェアリンク
https://www.facebook.com/sharer/sharer.php?u=
“`+ https://qiita.com/Ancient_Scapes/items/d27a3e2b247fa43e39f9
+ https://11-30am.com/38/?utm_source=qiita&utm_content=articleただ色々試していたら、引用テキストとして表示する方法が見つかりましたので記事に残しました。
# テキストを入れる方法
結論から言うと以下のように`quote`パラメータが引用文の役割を果たしているようです。“`text:引用文を含めたシェアリンク
https://www.facebook.com/sharer.php?quote=<引用文>&u=
“`“`text:サンプル
https://www.f
IE11でbackground-imageのJQueryが反映されない…!!
問題となったコード。
“`html:html
“`
“`js:JQuery
$(“#image_area”).css(“background-image”,”url(画像パス)”);
“`このコードでは、Chrome、FireFoxでは動作するが、IE11では動かず。
いろいろ原因を探って、たどり着いた答えがコレ。“`js:修正後
$(“#image_area”).css({
“background-image”: ‘url(“画像パス”)’,
});
“`
IE11で`background-image`プロパティを指定するときは**1. `{ “background-image”: 値 }` の形式で書く**
**2. 画像パスはダブルクオーテーションで囲む**必要があるようです。なんでこうしないといけないのかはわからないですが…
はやくIE絶滅しないかな♪参考にしたところ
[jQueryで背景画像を変える時にIEでの対処法【JS】](http://blog.e-riversty
フッターのコピーライトとかで自動的に今の年を表示する方法
フッター等によく書いてあるコピーライト。
`Copyright © hoge.exmaple.com 2010-2020 All Rights Reserved.`
こういうやつです。この2020という年数を年が変わるたびに手動で変更するのは面倒ですよね。今回はJavaScriptで自動で今の年を表示する方法を紹介します。ものすごい小ネタです。
## フッターのコピーライトとかで自動的に今の年を表示する方法
“`html
“`
JavaScriptで今の年を表示しているだけです。
“`js
const yearElm = document.querySelector(‘.thisYear’); // を取得
const thisYear = new
JavaScriptでgetUserMediaでマイク・カメラ(ビデオ)を使うときの注意点とデバイスへのアクセス権限について
# マイクのみ使用するのにaudioのみの指定では動かないブラウザがある
とあるサンプルがEdgeで動作したがChromeで動作しなかったので調べてみた。
Chromeは`audio`だけでなく`video`も指定しないと音声入力が取得ができない。
https://www.html5rocks.com/ja/tutorials/getusermedia/intro/ より引用:
> 注: Chrome にはバグがあり、「audio」のみを渡しても無効です(crbug.com/112367)。Opera でも自分でも確認しましたが、
Chromeのバージョン: 79.0.3945.130(Official Build) (64 ビット)
で再現しました。`audio`指定のみでは動作せず、`video`を`audio`と一緒に指定すると動作する。# navigator.mediaDevices.getUserMediaが推奨らしい
`navigator.getUserMedia`ではなく`navigator.me
【javascript】文字列の配列をArrayに変換する方法
# jsで文字列の配列をArrayに変換する方法はいくつかの方法があります
evalは使い所を間違えるとユーザーに任意のjsを実行させてしまうことになるので注意しましょう。## カンマ区切りの文字列を配列にする方法
### 元データがこれの場合
“`js
‘Shiro,Ai,Kaguya,Tokino’
“`“`js
‘Shiro,Ai,Kaguya,Tokino’.split(‘,’);
“`## evalで実装する方法
### 元データが文字列の配列の場合
“`js
‘[“BoraOne”, “RacingZero”, “Zonda”]’
“`“`js
JSON.parse(‘[“BoraOne”, “RacingZero”, “Zonda”]’)
“`## json parseで実装する方法
### 元データが文字列の配列の場合
“`js
‘[“BoraOne”, “RacingZero”, “Zonda”]’
“`“`js
eval(‘[“BoraOne”, “RacingZero”, “Zonda”]’)
“`