- 1. DeepL API Freeを使用して翻訳してみる
- 2. スムーススクロールさせる方法
- 3. webview.hostObjects が async で失敗するのをなんとかする ver.2
- 4. 【JavaScript】ES5とES6において、親クラス継承の違い
- 5. Zoomのブレイクアウトルームってダサくない??
- 6. JavaScript関数
- 7. InDesign JavaScript XML 属性の名前を変更
- 8. MapLibre GL JSがv2.0.0になりました
- 9. TypeScript または JavaScriptで作りたいプログラムの仕様:Web上の値の更新と合計
- 10. Reactで手書き風アニメーションしたい!
- 11. [備忘録] pdf.jsで日本語が読み込めない場合はcMapを設定する必要があった
- 12. BigQueryのUDFをJavaScriptで定義すると、int型の引数はstring型の値としてインタープリタに渡ってくる
- 13. 【具体例あり】変数・定数宣言の時の論理演算子 && と || の挙動と AND, OR の結びつけ【 Javascript 】
- 14. 【個人開発】海とサーフィンが好きすぎて、海のように見え方が変わるサーフィン日記共有サービスを作ってみた。
- 15. Uncaught TypeError: Cannot set properties of null (setting 'onclick')
- 16. 'el' is defined but never used no-unused-vars...のエラー解決方法。
- 17. 【超入門】JavaScriptの超基本を自分の言葉で解説してみた
- 18. 【Javascript/Typescript】fetch APIでmultipart/form-dataを送信したい(備忘録)
- 19. HTMLとCSSとJavaScriptをひたすら書いて動かして理解する【1回目】
- 20. JSON.stringifyのreplacer関数内のif文の条件にtypeofが必要な理由は?
DeepL API Freeを使用して翻訳してみる
# はじめに
新年早々、Netflexに加入しまして、以前からネットとかで海外ドラマのフレンズが英語の勉強にいいという噂は耳にしていたので、今年は素直にやってみようと思った次第です。
フレンズは1話あたり22分でシーズン1〜10まであり、全部で236話あるそうです。1日1話ずつ観ても8ヶ月くらいかかります。
フレンズの脚本のスクリプトも見ることができます。ただし、日本語訳はついていません。https://dramadeenglish.com/friends_script_list/
http://livesinabox.com/friends/scripts.shtml
# DeepL API
DeepLは、口語に近い文章に訳してくれるということで、フレンズを訳すのにちょうど良いかなと思って、ちょっとしたアプリケーションを作る上でDeepL APIを試してみたくなりました。## 準備
### 1.開発者向けのアカウントを登録
DeepLAPIを使うためにDeepLProアカウントを作ります。
https://www.deepl.com/pro#developer姓名メー
スムーススクロールさせる方法
今回は、jQueryを利用したスムーススクロールさせる方法を紹介していきます。
#スムーススロールとは
ヘッダーのメニューやトップへ戻るボタンなどをクリックした際に、ページ内のリンク先へ瞬時に飛ぶのではなく、ゆったり飛んでいく挙動です。
#jQueryに記述
“`:javascript
// #から始まるURLがクリックされた時
jQuery(‘a[href^=”#”]’).click(function() {
// 移動速度を指定(ミリ秒)
let speed = 300;
// hrefで指定されたidを取得
let id = jQuery(this).attr(“href”);
// idの値が#のみだったらターゲットをhtmlタグにしてトップへ戻るようにする
let target = jQuery(“#” == id ? “html” : id);
// ページのトップを基準にターゲットの位置を取得
let position = jQuery(target).offset().top;
webview.hostObjects が async で失敗するのをなんとかする ver.2
message を汚染せず匿名関数でやりくりするタイプ
“`js:JavaScript
addEventListener(‘ExeLoaded’,e=>{var url = `https://script.google.com/macros/s/SampleDeployId/exec`;
var text = `SampleText: Fixed newly exposed boat not showing up in the boat yard menu
Changed contraptions to drop resources and inventory objects (crates) to drop resources even
when killed with fire. Previously anything killed by fire would drop nothing.`chrome.webview.hostObjects.exe.PostError(url,text).then(r=>{
console.log(r)// null、
【JavaScript】ES5とES6において、親クラス継承の違い
##ES5においての継承
“`javascript
//親
function Phone(brand, price) {
this.brand = brand;
this.price = price;
}Phone.prototype.call = function () {
console.log(" give XXX a call")}
//子
function smartPhone(brand, price, color, size) {
Phone.call(this, brand, price);
this.color = color;
this.size = size;
}smartPhone.prototype = new Phone; //親を呼び出す
smartPhone.prototype.constructor = smartPhone;//子 メソッドの追加
smartPhone.prototype.photo = function () {
console
Zoomのブレイクアウトルームってダサくない??
# はじめに
私は現在大学4回生で論文のための実験をしているのですが、このご時世のため実験もオンラインで行うことになりました。
私の実験ではGoogle Formを使って協力者に動画の視聴→アンケート→テストという流れを2回繰り返すことでした。(下図が実験の流れ)![スクリーンショット 2022-01-14 0.15.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/156096/a5cae123-910f-3527-2cec-a967a0025cd4.png)
私は実験の協力者を募るため、教授の力を借り、Zoomでのオンライン授業で募集することになりました。
ここで問題が発生です。
上記の場合、Google FormのURLが4つあります。
どうやって4つのURLを均等に協力者に振り分けようかと私は思いました。* 4つブレイクアウトルームに分かれてそれぞれに異なるリンクを貼る。→ 私がルーム毎に入退室を行う必要がある。時間がかかる。めんどくさい。
* 学籍番号を4で割った余り、学籍番号
JavaScript関数
## 関数を定義する
JavaScriptでは、関数は次のように定義される。```
function abs(x) {
if (x >= 0) {
return x;
} else {
return -x;
}
}
```
上記の`abs()`関数の定義は次のとおりです。- functionは関数を定義することを示す。
- absは関数の名前です。
- (x)のxは関数のパラメーターであり、複数のパラメーターは[,]で区切られている。
- {...}の間のコードは関数本体であり、複数のコードを含める。要注意:関数本体内のステートメントが実行される時、`return`が実行されると、関数が実行完了、結果が返される。 したがって、条件付きの判断とループにより、関数内に非常に複雑なロジックが実装できる。
`return`ステートメントがない場合、関数は実行後に結果も返しますが、結果は`undefined`です。
JavaScript関数もオブジェクトであるため、上記で定義した`abs()`関数は関数オブジェクトであり、関
InDesign JavaScript XML 属性の名前を変更
属性の名前を変更するスクリプトは、これで良いのかな・・・?
~~~JavaScript
/*
このスクリプトを利用して起こった不具合の責任は取れません。
ご了承下さい。更新 2022/01/15
*/// アプリ指定
#target "indesign";// スクリプト名
var scriptName = "属性の名前を変更";// 変更名
var changeName = prompt("選択された属性の名前を変更します。" + "\r"
+ "名前を入力して下さい。", "", scriptName);// キャンセルされた時の処理
if(changeName == null){// スクリプトを終了
exit();
}// スクリプトを実行
app.doScript(function(){// 選択を入れる
var selectionArray = app.activeDocument.selection;// 追
MapLibre GL JSがv2.0.0になりました
## はじめに
https://github.com/maplibre/maplibre-gl-js
昨年にプロプライエタリとなったMapbox GL JSのオープンソースフォークであるMapLibre GL JSのv2.0.0がリリースされました。これまでのアップデートは、Mapbox GL JS v1.13.0の機能を踏襲したマイナーアップデートが主でしたが、v2.0.0を迎え、本格的に機能が枝分かれしてきたので、これまでのアップデートによる変更点を紹介します。筆者の主観で、実用上大きな変更点だと思った箇所を列挙していきます。
## チェンジログ
https://github.com/maplibre/maplibre-gl-js/blob/main/CHANGELOG.md
v2.0.0より前は互換性が維持されていましたが、v2で多くの破壊的変更がありました。
## TypeScriptで書き直された
Mapbox GL JSはFlowによる型付けで、これは依然として変わっていません。フォーク後、割と早期にリライトが始まっていたと思います。使用者目線では、Defin
TypeScript または JavaScriptで作りたいプログラムの仕様:Web上の値の更新と合計
タイムリープTypeScript 〜TypeScript始めたてのあの頃に知っておきたかったこと〜 Advent Calendar 2021
https://qiita.com/advent-calendar/2021/timeleap-typescript
TypeScript始めたてに知ったこと
https://qiita.com/kaizen_nagoya/items/9dbe119ea4919a30fba2
知ることより、実現することが大事。
「知っている」ことと「実現する」こと
https://qiita.com/kaizen_nagoya/items/fc65bb332561add5b249
データサイエンティストの気づき『勉強だけして仕事に役立てない人。大嫌い』それ自分かもってなった。
https://qiita.com/kaizen_nagoya/items/d85830d58d8dd7f71d07
背水の陣はしけた。
# 仕様
作りたいのは、Qiitaの記事で、記事のviewsなどを集計している表の、値を最新値に更新し、集計すること。
Qiit
Reactで手書き風アニメーションしたい!
## はじめに
こんにちは!UI/UX大好き[そると](https://twitter.com/jsalt_0525)です!突然Reactで手書き風アニメーションをしてみたくなったのでやってみました。
Reactじゃなくても使える方法なのでぜひ参考にしてみてください!
## 前提
僕のこんな突然の思いつきにお金を投資するのはもったいなので以下の条件でできる方法を探してみました。- 課金したくない
- めんどくさくない
- カスタムできる## 実現方法
###1. Figmaで手書き文字を書く
Figmaとは、ブラウザ上で簡単にデザインができるツールです。フリープランがあり無料で利用できるので、誰にでも手軽に導入することができます。
タブレットとタッチペンがあれば尚よしですが、無い人も最悪マウスで書くことができます。
Figmaを起動したらメニューにあるペンマークのアイコンから「Pencil」を選択して自分が好きな文字を書きます。
![スクリーンショット 2022-01-15 17.30.27.png](https://qiita-i
[備忘録] pdf.jsで日本語が読み込めない場合はcMapを設定する必要があった
このバージョンを使用しました。
```
"pdfjs-dist": "^2.12.313",
```npmでpdfjsをインストールしてelectronで使おうとしたとき、このようなエラーが出て一部の日本語がレンダリングされない問題に引っかかりました。
```
Warning: loadFont - translateFont failed: "TypeError: Failed to fetch".
Warning: Error during font loading: Failed to fetch
```getDocumentするときにcMapフォルダがある場所を指定してやると表示されるようになりました。
```
pdfjs.getDocument({
url: path,
cMapUrl: "cmaps/",
cMapPacked: true,
});
```
BigQueryのUDFをJavaScriptで定義すると、int型の引数はstring型の値としてインタープリタに渡ってくる
掲題のとおり。
実行例
![スクリーンショット 2022-01-15 17.28.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/7973/a93286bd-47ba-daed-cf84-1fd729b6bbfe.png)
【具体例あり】変数・定数宣言の時の論理演算子 && と || の挙動と AND, OR の結びつけ【 Javascript 】
# この記事を書いた経緯
普段このような認識で開発していたのですが、ふと気になって、何で変数・定数宣言の時の論理演算子 `&&` と `||` って何であの挙動になるのかについて調べてみました。
MDN の
・[論理積 (&&) - JavaScript | MDN](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Logical_AND)
・[論理和 (||) - JavaScript | MDN](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Logical_OR)を読んでみてもピンと来なかったのですが、 読んだ内容を整理して自分で色々実験してみたら、どうしてその挙動になるのかが分かりました。
同じ道を辿る方は多くいらっしゃると思うので、内容をまとめて投稿しました。## 筆者のこれまでの状況
- 普段 `&&` と `||` は完全に `AND` と `OR` のつもりで
【個人開発】海とサーフィンが好きすぎて、海のように見え方が変わるサーフィン日記共有サービスを作ってみた。
# **はじめに**
天気が雪の日は雪が降ります。
![https://i.gyazo.com/8a18102d9f03a7b6e44496ba03032d79.gif](https://i.gyazo.com/8a18102d9f03a7b6e44496ba03032d79.gif)
サーフィンをしたことがありますか?
一度きりの人生、自然と一体になれるこんな素晴らしいスポーツをやってみる事もしないなんて勿体ない事です。
私は海とサーフィンを愛しています。
自身の大好きなものを題材に作品を作って誰かの心に届くものにしたい!そんな想いがあります。
初めまして。りゅうじと申します。
【Twitter】
[https://twitter.com/otokomigakimasu](https://twitter.com/otokomigakimasu)
【今回作ったサービス】
[https://www.namikki.jp](https://www.namikki.jp/)
**私はエンジニアの方は全員海の近くに住んでサーフィンをした方がいいと思っています。**
メ
Uncaught TypeError: Cannot set properties of null (setting 'onclick')
#前提
「クリック」の文字をクリックすると「クリックされた!」に変換するプログラムの作成。
以下のエラーがでた。Uncaught TypeError: Cannot set properties of null (setting 'onclick')
###HTML
```
```
###Javascript
```
document.getElementById("text-button").onclick = function() {
document.getElementById("text").innerHTML = "クリックされた!";
};
```#解決法
以下に変更。
###Javascript
```
window.onload = function () {
document.getElementById("text-button").onclick = function () {
document.ge
'el' is defined but never used no-unused-vars...のエラー解決方法。
Vue.jsでVue CLIを使った環境で学習していて、
npm run serveでサーバー立ち上げた際に問題が起こりました。```
kushiyama_makoto@MakotonoMacBook-Air udemy-vuejs4 % npm run serve> udemy-vuejs4@0.1.0 serve
> vue-cli-service serveINFO Starting development server...
98% after emitting CopyPluginERROR Failed to compile with 1 error 14:40:38
error in ./src/App.vue
Module Error (from ./node_modules/eslint-loader/index.js)
【超入門】JavaScriptの超基本を自分の言葉で解説してみた
#目次
[1.はじめに](#1-はじめに)
[2.JavaScriptとは](#2-JavaScriptとは)
[3.JSファイルの読み込み](#3-JSファイルの読み込み)
[4.開発者ツール](#4-開発者ツール)
[5.console.log](#5-console.log)
[6.コメントアウト](#7-コメントアウト)
[7.変数](#7-変数)【この記事を読むのはこんな人】
・HTML、CSSは理解出来ている
・JavaScriptを始めたが全く理解できない
・実際にJavaScriptを使用するイメージがつかない#1. はじめに
副業で自分のアウトプットも兼ね、エンジニア未経験の方にプログラミングを教え始めたのですが、フロントエンドを目指す方にとって、JavaScriptが一つ大きな壁であることが分かりました。「HTMLとCSSは何とか出来たが、JavaScriptに入った途端全然理解できなくなった」
「console.logって画面に表示されないけど使うの?」
「getElementByidとか長すぎるし何でこれを使うのか分からない」
と、初歩的な部分が
【Javascript/Typescript】fetch APIでmultipart/form-dataを送信したい(備忘録)
# 結論
Content-Typeに値を設定しない & FormDataオブジェクトをbodyにセット
FormDataオブジェクトをbodyにセットすれば、fetch APIが予期に計らって、HTTPリクエストを作ってくれるようです。## サンプルコード
※ TSで書いてるので型まわりのコードも含まれています。```typescript:
type contentProps = {
title: string,
description: string,
image: Blob | null
}const CreateContent = async (props: contentProps) => {
const headers = new Headers({
// 略
})const body = new FormData()
body.append("title", props.title)
body.append("description", props.description)
if (props.image != null) {
HTMLとCSSとJavaScriptをひたすら書いて動かして理解する【1回目】
#はじめに
最近は仕事でhtmlとcssとJavaScriptを使う機会が多くなりました。期待通りに動くものは作れるものの基本的な理解が追い付いていないような気がする今日この頃です。なので、基本的なことから、積み上げて、この記事に書いていこうと計画を立てております。###まずは最も単純なページを作成する
```html:index.html
タイトル
ボディ
```
***#ビデオを再生する機能を追加する
####動画ファイルを準備します。
今回はWindowsのカメラ機能を使って動画を作成しました。
1.Windowsスタート⇒カメラでカメラ機能を起動します。
2.ビデオのボタンを押して、ビデオの撮影を開始します。
3.録画停止ボタンを押して、録画を停止します。
4.ピクチャフォルダのカメラロールフォルダにmp4ファイルが生成されます。
5.mp4ファイルのファイル名をtest01.mp4に変更します。
![im
JSON.stringifyのreplacer関数内のif文の条件にtypeofが必要な理由は?
オブジェクトからJSON文字列を作成するには、JSON.stringifyを使います。
JSON.stringifyは、target、replacer、spaceの引数があります。replacer関数内のif文の条件typeofが無い場合は、undefinedになってしまいます。
```JavaScript
const target = {a: "apple", b: "banana", l: "lemon"};function replacerNG(prop, value) {
if (value !== "banana") {
return
}
return value;
}console.log(JSON.stringify(target, replacerNG));
> undefined
```replacer関数内のif文の条件typeofがある場合は、条件にあった「banana」が変換されています。
```JavaScript
const target = {a: "apple", b: "banana", l: "lemon"}