QiitaQiitaの最新情報を7時、12時、19時にTwitterでお届けします。JavaScriptPythonJavaScriptRailsRubyAWSPHPdockerJavavue.jsSwiftAndroidiOSC#UnityLinuxNode.jslaravelGoCSSGitHTMLReactMacMySQLC++TensorFlowDeepLearningKotlinSQL新人プログラマ応援202001162020/02/282020/02/272020/02/262020/02/252020/02/242020/02/232020/02/222020/02/212020/02/202020/02/1920200116のJavaScriptに関する記事は24件です。簡単なwebアプリを1から作って、3時間ぐらいで完全無料ホスティングUnuboで公開までたどりついた話をします。お名前で取得した独自ドメインを設定して、HTML/CSS/JavaScriptを使ったスタティックな簡単なwebアプリを公開しました。easyUnuboとは、Webアプリ、DB、ブログを完全無料でホスティングできるサービスです。完全無料のホスティングを探していて、ここあたりの情報がでてきました。Unuboを使ってみた話Unuboっていうのがあるんだ〜と知ったのが、この記事を書き始めてから、昼飯挟んで約5時間ぐらい前のことです(笑)実際に使った感想は、めちゃくちゃ簡単!しかも無料!です。やったことやったことは、webアプリ作成、Unuboでの公開設定と独自ドメイン設定です。webアプリ作成とUnuboでの公開設定UnuboにサインインwebアプリをGitHubにPUSHGitHubとUnuboを連携デプロイ、そして公開!Unuboは、webアプリをGithubにPUSHすると自動的にデプロイしてくれます!独自ドメイン設定お名前でドメイン取得お名前でDNS設定Unuboにドメインを設定webアプリをGitHubにPUSHGitHubの使い方は、ご存知かと思いますが、以下のサイトがわかりやすかったです。自身のアプリ管理画面のDomainsというところに独自ドメイン設定方法が書かれています。ドキュメント見てもここに書いてあるって書いてました。独自ドメインを取得した会社のDNSレコードに、Unuboの指定するアドレス登録した後、Unuboに独自ドメインを追加します。お名前の管理画面から取得した独自ドメインのDNS設定をしました。DNS設定/転送設定を開きますDNSレコード設定を利用するの設定するボタンを押します。34.87.61.225CNAMEを使う場合は、Aレコードを追加しないといけないとのことなので、digで「asia.unubo.app」のIPアドレスを取得してAレコードに設定しました。AレコードとCNAMEレコードを次のように設定しました。ドメインでは、設定によって既存サイトがみれなくなってしまったりもあるので、自己責任のもと、きちんと確認して設定ください。独自ドメインがインターネットに反映されるまで待ちます。反映されたであろう、しばらくしてから、UnuboのDomainsの2から無料SSLと一緒に独自ドメインを追加します。独自ドメインのDNS設定後、すぐにこれを設定するも、反映されていなかったのか一向に待っても無理でした。独自ドメインのDNS設定したら、しばらく時間をあけて、この設定をしましょう!設定終わってほっておくと、いとも簡単にUnubo上で独自ドメインでサイト開設!となりました。Unubo、ほんとちょっとしたwebアプリをすぐ公開したいときには、ほんと便利ですね!ちなみに公開したWebアプリは?というと、これです。簡単なwebアプリを1から作って、3時間ぐらいで完全無料ホスティングUnuboで公開までたどりついた話をします。お名前で取得した独自ドメインを設定して、HTML/CSS/JavaScriptを使ったスタティックな簡単なwebアプリを公開しました。easyUnuboとは、Webアプリ、DB、ブログを完全無料でホスティングできるサービスです。(2019/1現在)完全無料のホスティングを探していて、ここあたりの情報がでてきました。Unuboを使ってみた話Unuboっていうのがあるんだ〜と知ったのが、この記事を書き始めてから、昼飯挟んで約5時間ぐらい前のことです(笑)実際に使った感想は、めちゃくちゃ簡単!しかも無料!です。やったことやったことは、webアプリ作成、Unuboでの公開設定と独自ドメイン設定です。webアプリ作成とUnuboでの公開設定UnuboにサインインwebアプリをGitHubにPUSHGitHubとUnuboを連携デプロイ、そして公開!Unuboは、webアプリをGithubにPUSHすると自動的にデプロイしてくれます!独自ドメイン設定お名前でドメイン取得お名前でDNS設定Unuboにドメインを設定webアプリをGitHubにPUSHGitHubの使い方は、ご存知かと思いますが、以下のサイトがわかりやすかったです。自身のアプリ管理画面のDomainsというところに独自ドメイン設定方法が書かれています。ドキュメント見てもここに書いてあるって書いてました。独自ドメインを取得した会社のDNSレコードに、Unuboの指定するアドレス登録した後、Unuboに独自ドメインを追加します。お名前の管理画面から取得した独自ドメインのDNS設定をしました。DNS設定/転送設定を開きますDNSレコード設定を利用するの設定するボタンを押します。34.87.61.225CNAMEを使う場合は、Aレコードを追加しないといけないとのことなので、digで「asia.unubo.app」のIPアドレスを取得してAレコードに設定しました。AレコードとCNAMEレコードを次のように設定しました。ドメインでは、設定によって既存サイトがみれなくなってしまったりもあるので、自己責任のもと、きちんと確認して設定ください。独自ドメインがインターネットに反映されるまで待ちます。反映されたであろう、しばらくしてから、UnuboのDomainsの2から無料SSLと一緒に独自ドメインを追加します。独自ドメインのDNS設定後、すぐにこれを設定するも、反映されていなかったのか一向に待っても無理でした。独自ドメインのDNS設定したら、しばらく時間をあけて、この設定をしましょう!設定終わってほっておくと、いとも簡単にUnubo上で独自ドメインでサイト開設!となりました。Unubo、ほんとちょっとしたwebアプリをすぐ公開したいときには、ほんと便利ですね!ちなみに公開したWebアプリは?というと、これです。対応する最近の勉強で学んだ事を、ノート代わりにまとめていきます。自分の学習の流れを振り返りで残す形なので色々、省いてます。methods(Array.prototype.includes等)といった新しい機能を使った実装が可能になりますよね。提供するpolyfillを内部的に読み込んでいます。ような、グローバル環境のポリフィルをバンドルしたアプリケーションに含めることを検討してください。スライド時にイベントを発火させるSwipe.jsでiphoneライクなTimepickerを実装したので共有します。出来上がりイメージ図はこんな感じです。コードはこちらから確認できます。Swiper.js公式ドキュメントはあまり参考ならなかったです。指スワイプは外しました。(実装に成功した方は是非教えていただきたい)ちなみに指スワイプを実装したコードは以下になります。true};TweetQiitaで続きを読む投稿日:2020-01-16T20:57:39+09:00スペース派必見!絶対にインデントにはタブを使ってほしい理由だ・である調チャレンジ!!ソースを見やすくする工夫はいくつかある。そのうちの1つが「インデント」だ。このインデントについて説明する。この記事でいうタブとは「ハードタブ」で、次のラインに揃えるものである。}クソコードさはどうでもいい。このサンプルコードでは、見やすくするためにインデントを増やしている。if文の{}の中が右に来ているだろう。このインデントがなかったらどうなるだろう。}このたった数行のコードでも読みやすさがガラッと変わる。これがもし、何百、何千行を超えるコードならどうだろう。ソースコードにインデントは必須だ。インデントの種類インデントの付け方は人それぞれ。タブ派もいるがスペース派もいる。同じスペース派でも、1文字か2文字か4文字がなど、文字数も色々ある。わたしがおすすめするのは、「タブ」だ。タブインデントのメリットキーを打つ回数が少ないタブは、1ブロックの字下げなら1回キーを押すだけでいい。2スペース派の2倍はやく、4スペース派の4倍速い。別に大した問題ではないのだが、今何回打ったかを気にしなくても良くなる。間にマウスカーソルが行かないタブは1文字カウントのため、タブのなかにカーソルがいくことはない。インデントを消すときに、スペースだと1つ残ったりする。ストレスがたまると、継続することが困難になる。ストレスのもとは排除すべきだ。他の人のコードを見たときに見やすくなるタブは、エディタからすれば「\t」である。\tは、使う人の環境によって幅が変わるから、その人にあった見え方がする。スペースインデントは、だれが見ても同じく見えるため、自分のインデントの幅が違う人だと違和感を覚える。まとめインデントにタブを使うと、次のようなメリットがある。他の人にコードを見せやすいメモ帳のデフォルトタブ幅が8文字なのはなぜだろうか。別にコーディングで使いはしないが、あるYouTuberの「メモ帳でC#入門」をみてふと感じた。設定で変更することもできるが、デフォルト時から少なくしていても、ほとんどの人は損をしないのに...TweetQiitaで続きを読む投稿日:2020-01-16T20:57:39+09:00スペース派必見!絶対にインデントにはタブを使ってほしい理由まとめだ・である調チャレンジ!!ソースを見やすくする工夫はいくつかある。そのうちの1つが「インデント」だ。このインデントについて説明する。この記事でいうタブとは「ハードタブ」で、次のラインに揃えるものである。}クソコードさはどうでもいい。このサンプルコードでは、見やすくするためにインデントを増やしている。if文の{}の中が右に来ているだろう。このインデントがなかったらどうなるだろう。}このたった数行のコードでも読みやすさがガラッと変わる。これがもし、何百、何千行を超えるコードならどうだろう。ソースコードにインデントは必須だ。インデントの種類インデントの付け方は人それぞれ。タブ派もいるがスペース派もいる。同じスペース派でも、1文字か2文字か4文字がなど、文字数も色々ある。わたしがおすすめするのは、「タブ」だ。タブインデントのメリットキーを打つ回数が少ないタブは、1ブロックの字下げなら1回キーを押すだけでいい。2スペース派の2倍はやく、4スペース派の4倍速い。別に大した問題ではないのだが、今何回打ったかを気にしなくても良くなる。間にマウスカーソルが行かないタブは1文字カウントのため、タブのなかにカーソルがいくことはない。インデントを消すときに、スペースだと1つ残ったりする。ストレスがたまると、継続することが困難になる。ストレスのもとは排除すべきだ。他の人のコードを見たときに見やすくなるタブは、エディタからすれば「\t」である。\tは、使う人の環境によって幅が変わるから、その人にあった見え方がする。スペースインデントは、だれが見ても同じく見えるため、自分のインデントの幅が違う人だと違和感を覚える。まとめインデントにタブを使うと、次のようなメリットがある。キー打鍵数が減るマウスカーソルが合う他の人にコードを見せやすいメモ帳のデフォルトタブ幅が8文字なのはなぜだろうか。別にコーディングで使いはしないが、あるYouTuberの「メモ帳でC#入門」をみてふと感じた。212日目100日チャレンジの212日目twitterの100日チャレンジ#タグ、#100DaysOfCode実施中です。100日超えましたが、継続。100日チャレンジは、ぱぺまぺの中ではプログラミングに限らず継続学習のために使っています。前に作成した模写サイトにjavascript・jQueryで動きをつける試み。})以下のようにresが同一スコープになるようblob()から下位になるようチェインして、Content-Typeまで取得してから次に渡す。シーンを描画するまでの最初の部分をどう作っていくか紹介します。いうものを要求します。別になくても動作自体はしますが、ないとスマホなどでの操作がおかしくなったりします。main);やっていることは単純です。シーンの描画や操作までが可能になっています。シンプルでいいですね。書かれているものを少し改変したものとなっています。体験することが可能です。リサイズ処理などを省略して書くことが出来ます。読み込みに少し時間がかかりますが、物理演算を利用した素晴らしいデモが体験できます。イベントを使った処理-2イベントリスナー/ハンドラーの削除イベントリスナー/イベントハンドラーは設定することしかできなかったが、削除もできる。イベントハンドラーの削除イベントハンドラーはイベントリスナーよりも簡単に削除できる。これは、onXXXXメソッドに対してnull値を代入するだけである。null})イベントリスナーの削除イベントリスナーの削除には、removeEventListener()メソッドを使う。false)イベントオブジェクトイベントリスナーやイベントハンドラーはイベントオブジェクトと呼ばれるオブジェクトを引数として受け取ります。イベントオブジェクトを受け取るには、イベントリスナーに引数を指定するだけです。引数名は、慣例として[e]を使います。イベントオブジェクトを使用しない場合は省略しても構わない。mousemoveなどのイベント発生時のマウスポインターの座標を取得するには、次のようなプロパティを使います。false)イベント発生時のキーの情報を取得する推されたキーの種類を取得するには、ketpress/keydownなどのキーイベントを使います。false)ここでは押されたキーコードを出力するために、keyCodeを使っているが他にも以下のようなプロパティがある。マウスのどのボタンが押されているか。Metaキーが押されているかイベント処理をキャンセルするイベントオブジェクトのstopPropagation/stopImmediatePropagation/preventDefaultメソッドを使うことで、イベント処理を途中でキャンセルできます。「イベントが発生したら対応するイベントリスナーが呼び出される」がじつは、イベントが特定の要素に到達するまでにまいくつかのプロセスがある。バブリングフェーズ下位要素で発生したイベントを上位要素に伝搬ここで押さえておきたいのが、「イベントリスナーはイベント発生元の要素だけで実行されるわけではない」という点だ。キャプチャ/バブリングフェーズの過程で、対応するイベントリスナーが存在する場合には、それらも順に実行される。false)captureがfalseに設定されていると、「イベントの発生元を基準として、上位ノードへ向かって順にイベントリスナーが実行される」ので、上記の子どを実行した場合。逆にcaptureがtrueに設定されていると、「上位ノードからイベントの発生元に向かって、イベントリスナーが実行される」ので、#outerリスナーが発生しました#innerリスナーが発生しました#innerリスナー2が発生しましたリンクによりページ移動となる。イベントの伝搬をキャンセルするたとえば、目的要素のイベントリスナーだけを実行して、上位ノードのイベントリスナーをキャンセルしたい場合があります。このような場合に、stopPropagationメソッドを使います。false)これによって、#innerリスナーが発生しました#innerりすなリスナー2が発生しました#リンクによってページ移動outerイベントリスナーが実行されなくなりました。イベントの伝搬を直ちにキャンセルする。stopPropagationメソッドが上位/下位要素への伝搬がキャンセルされるのに対して、stopImmediatePropagationメソッドは、その場でイベントの伝搬をキャンセルします。リンクによるページ移動となる。イベント本来の挙動をキャンセルするイベント本来の挙動とは、「ページ移動」や「文字の反映」などのことである。#innerリスナー2が発生しましたとなる。これで最後にページが移動しないことが確かめられる。preventDefaultをすべて呼び出すことで以降のイベントの伝搬、本来の挙動をすべて止めることができる。thisキーワードイベントリスナーメソッドの配下では、thisはオブジェクト自身を指すように思えるが、イベントリスナーの配下ではthisはイベントの発生元を指している。thisを正しく使うためにFunctionオブジェクトのbind()メソッドがある。false)})bindメソッドを使うことで、関数func配下のthisが引数に紐づけられる。イベントリスナーにEventListenerオブジェクトを指定するaddEventListenerメソッドの第二引数には関数を指定してきましたが、オブジェクトも指定できます。その条件は、handleEventメソッドを持っていることである。handleEventメソッドはbindメソッドを考慮しなくてもよいのが利点である。false)})最低handleEventメソッドが含まれていればよいだけなので簡単である。呼び出す際もdataというオブジェクト名だけを指定するだけでよいのも簡単である。bindメソッドを気にしなくてよい方法は、アロー関数を使うことである。概要Next.jsにanalyticsを導入時に起きた問題を投稿します。現象Next.jsなどでanalyticsを使用する際にサーバー側でエラーが発生する。compilerがある。true,//ローカル変数名を短い名称に変更し難読化します。true//冗長なコードを短くまとめてくれます。true//改行、インデントは取り除かず、読みやすいように整形します。sourceMap:/*ソースマップも合わせて出力します。ファイルの展開先と同じディレクトリに生成されます。sourceMapName://ソースマップの生成先とファイル名を指定できます。文字列をそのまま渡すか、関数でも渡せます。/*メントの残し方を指定します。始まるコメントだけ残ります。古めの版年に出た本を使って学習すると、誤植に振り回されるなぁと思った。ランダムに数を生成するメソッド「Math.random()」は応用が利きそうだなァと思った。エラーがでたとき、落ち着いて対処できるようになりたいと感じた。objController();loadManager.push(obj1);loadManager.push(obj2);loadManager.push(obj3);//ロードを開始するloadManager.start();//ロードの終了を判定するloadManager.isLoaded();TweetQiitaで続きを読む投稿日:2020-01-16T14:25:23+09:00【初心者】Vue.jsでタブメニューを作ってみた最近、Vue.jsを勉強しています。練習として、タブメニューをつくってみました。以下のコードでVue.jsを導入します。HTMLファイルのbody内に記述します。src="https://cdn.jsdelivr.net/npm/vue"></script>JavaScriptを記述するHTMLファイルのbody内のscriptタグ内に、以下のコードを記述します。いう変数を用意しています。どのタブが選択されているのかを代入します。いう関数を用意しています。他のタブが選択されたときに用います。選択されたタブの番号を代入します。HTMLを記述するHTMLファイルのbody内に、以下のコードを記述します。渡して処理を行います。