- 1. 【Harmoware-VIS】python で 3次元可視化
- 2. JavaScriptで配列からランダムに要素を取得【OBGノウハウ】
- 3. Vue3で○×ゲームを実装する
- 4. GitHub から Close 済みの Issues を取得する。(Octokit)
- 5. スライダー(カルーセル)実装するならslickかSwiperか
- 6. 数独の楽しみが台無し!ブラウザで数独を解けるようにしてみた話
- 7. Chrome拡張機能を使ってITC-LMSを魔改造したい
- 8. JavaScriptだけでMultiple Select
- 9. 【衝撃】DOM操作が辛いのでjsテンプレートエンジンを追加しようと思ったが、Pleasanterには既に実装されていた
- 10. 【p5.js 2021(2つ目)】 Leap Motion(leap.js)を p5.js Web Editor上(JavaScript)で扱う
- 11. Next2D PlayerのAPI [Graphics編]
- 12. ?webのスクロールでふわっと出てくるやつ絶対粉砕するマン【クソアプリ】
- 13. 【React】react-router-domでハマった話
- 14. 紙の本の香りを嗅ぎながら電子書籍を読もう
- 15. その署名、安全ですか? ~安全で簡易に署名するためのブラウザ拡張~
- 16. 【Memo of Bug】JavaScript(Jquery)で作成したボタンのイベントが発火しない
- 17. [React]関数に対してのuseCallbackとuseMemo
- 18. ReactのpropsとuseState()の分割代入でカッコ{}[]が違うのはなぜ!!!??
- 19. 【Nuxt.js】同一リンクでも強制リロードさせる
- 20. [TypeScript] 型エラーだらけでもstrict: trueに切り替える
【Harmoware-VIS】python で 3次元可視化
#Harmoware-VIS とは
https://qiita.com/ucl_Harmoware_VIS/items/e861e0f651ffde647b6a
#python で 3次元可視化
「synerex」の3次元可視化ツールである「HarmoVIS_client」で表示したマップをpythonでコントロールするためのpythonライブラリについて説明します。
## 前提
3次元可視化は以下の3つのツールで連携して実現します。
– HarmoVIS_client
– Jupyter Notebook
– synerex_harmovis###synerexとは
https://www.ucl.nuee.nagoya-u.ac.jp/projecthttps://github.com/synerex
## 準備
必要なツールを準備します。
– HarmoVIS_client
インストール&起動方法は[こちら](https://s-mobi01.github.io/SynerexHarmVizCli/)
– Jupyter Notebook
– Pytho
JavaScriptで配列からランダムに要素を取得【OBGノウハウ】
JavaScriptのMath.floorメソッドとMath.randomメソッドを用いて、配列からランダムにお題を取得し表示するページを作りました。
今回は「山手線ゲーム」のお題をランダムに1つ取得して表示します。
コロナ禍でなかなかリアルでの飲み会は難しい世の中ではありますが、忘年会の季節なので飲み会鉄板ゲームとして「山手線ゲーム」がありますね。
山手線の駅名を言っていく単純なゲームではありますが、お題を変えて楽しむこともできます。
なかなかパッと良いお題が思い付かないことが多かったので、配列操作の学習も兼ねて作ってみました。#ページ作成
![qiita1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2100940/bc8de756-9ed4-f2e5-266f-2506fc178cad.png)
Clickボタンを押下することでグレーの枠線内にお題がランダムで表示されます。
まずはHTMLでページを作成していきます。“`html
Vue3で○×ゲームを実装する
# 目的
– Vue3系の基礎を(Composition APIを中心に)覚える# はじめに
今までの実務ではVue2系のみを扱ってきたのですが、個人的な興味でVue3系を学んでみることにしました。
Vue3は2系と比べてパフォーマンスの向上がされていたり、大規模なプロジェクトでの開発に適した変更がされているそうなので、実際に使い心地を検証してみます。さて、新しい言語/フレームワークの習得のためには、何か簡単なアプリ(TODOアプリなど)が習作の題材として適切かと思います。
しかし、ゲーム好きの自分としては何か簡単なブラウザゲームを作ってみたく、そして思いついたのが…**そう、○×ゲーム。**
正式名称は三目並べというそうです(ウィキペディア調べ)。https://ja.wikipedia.org/wiki/%E4%B8%89%E7%9B%AE%E4%B8%A6%E3%81%B9
○側と×側のプレイヤーが交互に〇/×を置いていき、三個並べ切ったプレイヤーの勝利、というシンプルなルールでありながら、
[Reactのチュートリアル](https://ja.reactjs.
GitHub から Close 済みの Issues を取得する。(Octokit)
こちらは GAOGAO Advent Calendar 2021 の 13 日目の記事です。昨日は @hana_asia さん の [[日記] システム開発難しいですよね](https://note.com/hanadev/n/nb9f5729b0122) でした!
こんにちは [T](https://twitter.com/aburasobablog) と申します。
[GAOGAO](https://gaogao.asia/) にてスタートアップスタジオのエンジニア、[GAOGAOゲート](https://twitter.com/gaogaogate) にてプログラミング研修事業のメンターをしております。# はじめに
私は現在 [GAOGAOゲート](https://twitter.com/gaogaogate) 生が効率よくポートフォリオ開発を進められるようなアプリケーションを開発しております。
開発する中で「GitHub で作成した Issue をボタンワンクリックで取得し保存したいな」と思い調べたところ、 GitHub REST API に辿り着き実際に触っています。
スライダー(カルーセル)実装するならslickかSwiperか
タブ切り替え、アコーディオン、ハンバーガーメニュー、スムーズスクロールアンカーなど
webページを制作するとき、
実装を避けられないあるあるの機能ってありますよね。スライダー(カルーセル)もワンノブゼムだと思ってます。
スライダーの特徴といえば…
・制作上実装頻度が高い。
・仕様確認が大変、急な仕様変更に弱い。(cf:https://liginc.co.jp/392786)
・実装の度に細かいオプションを忘れていて、都度調べてしまう。
・汎用性のある設計が難しい。
・仕様を踏まえて上でスクラッチで書くのが大変。
・そもそもスライドショーなの?カルーセルなの?よくわからない。とかですかね。
なので、実装の際にはライブラリの選定が必要になるかと思うのですが、
その際ほぼほぼのケースにおいて[slick](https://kenwheeler.github.io/slick/)
もしくは
[Swiper](https://swiperjs.com/)
二択になるんじゃないかと思ってます。
では、どっちを選択するのかって判断基準の一つに本記事がなればいいなと思っ
数独の楽しみが台無し!ブラウザで数独を解けるようにしてみた話
# なにしたの?
GitHub Pages で動く数独ソルバーを作ってみました。
– [Sudoku Solver (PC で数独をカメラに映してライブで解くバージョン)](https://minoue-xx.github.io/Sudoku-Solver-via-Wasm/index.html)
– [Sudoku Solver (画像を選択するバージョン、携帯はこちらがおススメ)](https://minoue-xx.github.io/Sudoku-Solver-via-Wasm/index_mobile.html)端末側ですべての処理は行われて撮った画像がどこかに送られることはないのでご安心ください(ソース:[GitHub: Sudoku Solver via Wasm](https://github.com/minoue-xx/Sudoku-Solver-via-Wasm))
![image_0.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/149511/d30f
Chrome拡張機能を使ってITC-LMSを魔改造したい
この記事は[EEIC2022 Advent Calender2021](https://adventar.org/calendars/6319)第12日目の記事として書かれました。
はじめまして。EEIC2022の川というものです。せっかく学科のアドカレがあるということで、自分がちょっと前に作ったChromeの拡張機能の話をしたいと思います。
自分はqiitaやブログの記事を書くのは今回が初めてなので、不慣れなところがあるかもしれませんが、大目に見て楽しんでいただければ幸いです。## あなたのITC-LMSをもっと便利にしたくありませんか?
Chromeの拡張機能作ってITC-LMSの時間割ページに「未提出の課題・テスト一覧」を表示するようにした pic.twitter.com/DHK1F1EY0s
— 川 (@hososuke0412) JavaScriptだけでMultiple Select
普段は何かしらのライブラリを探して使ってますが、お勉強がてらJavaScriptだけで作ってみることに。
# 実装する機能
* セレクトボックスをクリックすると選択肢が表示
* 選択肢をクリックするとセレクトボックスに移動
* セレクトボックスの選択肢を×ボタンで削除可能
* セレクトボックス内 or 要素外をクリックすることで選択肢を閉じる# 完成品
See the Pen 【衝撃】DOM操作が辛いのでjsテンプレートエンジンを追加しようと思ったが、Pleasanterには既に実装されていた
## 序文
DOM操作が辛かった。ただそれだけの動機だった。
フォルダにダッシュボードを実装するため、jQueryを駆使してあれやこれやのパーツを入れようと思ったが、テンプレートエンジンに慣れきった我が身にとって、それは苦痛を伴う作業であった。
やがて私は追い詰められ、パフォーマンスを犠牲にしてでも、jQuery.getScriptでCDNからテンプレートエンジンを読み込み、viewとロジックを(ある程度)分離した状態で開発できればとまで思い詰めるまで至った。
しかし試したライブラリはいずれも相性やパフォーマンスの影響があり、満足のいくものではなかった。[^1]
深く絶望し、自暴自棄になった私の目前には、いつもの無機質なgoogle devtools。実装のヒントはなんて無いだろうと考えつつも、沈んだ瞳をスクリプトのロード付近に向けた。
その時、我が目を疑った。
あった。既に、そこにあったのだ。
[Hogan.js](http://twitter.github.io/hogan.js/) が。
───
この記事は[プリザンター(Pleasanter) Advent
【p5.js 2021(2つ目)】 Leap Motion(leap.js)を p5.js Web Editor上(JavaScript)で扱う
この記事は、[2021年の p5.js のアドベントカレンダー](https://qiita.com/advent-calendar/2021/p5js) の 14日目の記事です。
## この記事の内容
この記事は、以下のツイートに出てきている「Leap Motion」を、p5.js Web Editor上で扱おう、という話です。久しぶりに触ってみるかな。
買ったのは、2013年というデバイス。ちなみに、さすがに2013年から眠らせてた、とかいうことはないですw
●Ultraleap for Developers
https://t.co/uqC0TNDsnt pic.twitter.com/PixIVuE9pHNext2D PlayerのAPI [Graphics編]
Graphicsクラスは描画(ベクターシェイプ)作成で利用する関数がまとまっています。描画を動的に開始するには塗り、もしくは、線の描画宣言関数をコールします。
# 塗りの描画
関数 | 説明
—|—
beginFill|単一色の塗りの開始宣言
beginGradientFill|グラデーションの塗りの開始宣言
beginBitmapFill|イメージ(JPEG,PNG,GIF)の塗りの開始宣言# 線の描画
関数 | 説明
—|—
lineStyle|単一色の線の開始宣言
lineGradientStyle|グラデーションの線の開始宣言
lineBitmapStyle|イメージ(JPEG,PNG,GIF)の線の開始宣言# ヘルパー関数
簡単な図形であればヘルパー関数を利用すると便利です。関数 | 説明
—|—
drawCircle|円の図形を描画します。
drawEllipse|楕円の図形を描画します。
drawRect|矩形の図形を描画します。
drawRoundRect|角丸矩形の図形を描画します。# パス指定の関数
より複雑な描画はパス?webのスクロールでふわっと出てくるやつ絶対粉砕するマン【クソアプリ】
おひさしぶりです。この記事は[クソアプリ Advent Calendar 2021](https://qiita.com/advent-calendar/2021/kuso-app)の13日目です:stuck_out_tongue_closed_eyes:
突然ですが皆さんは「**スクロールに合わせてふわっと出てくるwebページ**」ってどう思います? 最近多いですよね、あれ。
確かにオシャレだし楽しいしゲームとか作家さんのギャラリーサイトとかなら全然OK。でも情報が欲しくてアクセスしてるページで「ふわっ」ってされるとちょっとイラッとする。ちょっと?…イラッと?…いや、:rage: **許さない、絶対** :rage:
## よろしい、ならば粉砕だ
よそ様のサイトを粉砕する都合上、今回の実装はChrome機能拡張です。機能拡張は[Vite](https://github.com/vitejs/vite)にChrome機能拡張用のプラグイン[vite-plugin-chrome-extension](https://github.com/StarkShang/vite-
【React】react-router-domでハマった話
#初めに
我、最近Reactを学んでいるので、勝手に議事録として記載する。
といっても大体ここら辺の記事は出ていると思うので、そのほかの方の記事を参考にしたほうがいいであろう。
完全に自己満である。#ハマったコード
“`react
import { BrowserRouter, Link, Switch, Route } from “react-router-dom”/**省略**/
Home
page01
page02
紙の本の香りを嗅ぎながら電子書籍を読もう
この記事は [obniz Advent Calendar 2021](https://qiita.com/advent-calendar/2021/obniz) 13日目の記事です。
## やったことiPadで本を読んでいる間、紙の本の香りを充満させるシステムを作ってみました。
iPadをスタンドから手に取ってから戻すまでの間、細かく切った紙をファンの風で舞わせています。@tos pic.twitter.com/V0dLxi8B93
— さくあ@思いつきぶん投げ(?) (@sakua_create) その署名、安全ですか? ~安全で簡易に署名するためのブラウザ拡張~
# はじめに
[nem Advent Calendar 2021](https://qiita.com/advent-calendar/2021/nem)の13日目ですね。
近畿大学でブロックチェーンや秘密鍵周りのことを学んでいる[いなたつ](https://twitter.com/_inatatsu_csg_)です。
Symbolを使ったりしてるどこかの企業でインターンをしたりしてます。(隠す意図は特にない)
[github](https://github.com/inatatsu-tatsuhiro)とか[ポートフォリオ](http://www.inatatsu.com/)見ればたぶんわかりますし。Symbolを使ってブロックチェーンでなんやかんやする研究とかをしてます。
今回はそのなんやかんやに関する記事です。
早速本題(問題定義)
**秘密鍵をWebアプリケーション上で扱うことは怖くないですか?**
**あなたは、何を、誰を信用してWebアプリケーション上で署名をしていますか?**
**入力した秘密鍵は提示された用途以外で使用される可能性が無いと言えますか?**【Memo of Bug】JavaScript(Jquery)で作成したボタンのイベントが発火しない
#JavaScript(Jquery)で作成したボタンのイベントが発火しない
もしくは、イベントが効かない、反応がない##今回遭遇したバグ
:::note alert
JSで要素を追加した上に、イベントを設定した。
そのイベントが発火しない
:::> 詳細
Jqueryの .html()で ボタン要素を作成した後、ボタンを制御するScriptを書いたけど、
ボタンは表示されているが、ボタンを押しても反応がない。“`JavaScript:
var data=[
{“id”:1,
“code”:”001″,
“name”:”name1″},
{“id”:2,
“code”:”002″,
“name”:”name2″},
{“id”:3,
“code”:”003″,
“name”:”name3″},
]var data1=[
{“id”:1,
“code”:”001″,
“name”:”name1 for output1″},
{“id”:2,
“code”:”002″,
“name”:”name2 for output1″},
{“id”:3,
[React]関数に対してのuseCallbackとuseMemo
#関数に対してのuseCallbackとuseMemoの違い
`useCallback`は**関数自体**をメモ化します。
ですが、
`useMemo`では関数の**結果**をメモ化するので
全く違うものです。
細かい部分ですが、覚えておくと質問された時などに役立つかもしれないです。ありがとうございました。
ReactのpropsとuseState()の分割代入でカッコ{}[]が違うのはなぜ!!!??
#propsで受け取る場合と、useState()で受け取る場合が違う・・・
propsは親から子へパラメータを受け渡すときに使うヤツ。
useState()は変数を動的に変化させるときに使うヤツ。チュートリアルで「どっちも分割代入で受け取るよ!」とは言うものの、
なんか受け取るときのカッコが違くね?と疑問に思った初心者向けです。##どっちも分割代入で配列を受けとる
“`react:props
const {name, age} = props;
“`
“`react:useState()
const [num, setNum] = useState([]);
“`propsは{}中括弧で受け取るのに対し、useState()は[]大括弧で受け取る。
この違いがすごい気になりました。##オブジェクトか配列かの違い
そもそもの勘違いでpropsは配列リテラルではなく、オブジェクトリテラルが帰ってきている。というだけの話。
jsに慣れてないので、この値の違いがいまいちわからずハマってました。。。
まあ詳しくはjsの分割代入のリファレンス読んでください。
⇒http
【Nuxt.js】同一リンクでも強制リロードさせる
# はじめに
Nuxt.jsを使ったサイトでナビゲーションバーを実装していた際に、同じページのリンクをクリックした時もリロードさせたかったのですが、`nuxt-link` を使用していた場合、イベントが何も走らないので、強制リロードを実行することができません。
色々試した結果、Nuxt.jsの[issue](https://github.com/nuxt/nuxt.js/issues/2285)に挙げられていた方法に落ち着いたのでメモします。
# 実装方法
[router.go()](https://router.vuejs.org/ja/api/#router-go) を利用して実装します。
`router.go()`は本来、引数に指定した数のhistoryを進めたり戻したりできるメソッドですが、
引数にpathを指定することもできるので、それを利用します。
現在のページをpathに指定することで、同じページでも強制的にリロードが走ります。“`jsx
[TypeScript] 型エラーだらけでもstrict: trueに切り替える
[タイムリープTypeScript 〜TypeScript始めたてのあの頃に知っておきたかったこと〜 Advent Calendar 2021](https://qiita.com/advent-calendar/2021/timeleap-typescript) 13日目です。
本記事は tsconfig で `strict: true` にできていないコードベースを、少しずつ現実的に strict にしていく方法についてご紹介させていただきます。# 誰のためか
`strict: true` の設定をせずに成長してしまったプロジェクトはありませんか?(私も個人的に経験があります)
例えば以下のようなケースがぱっと思いつきます。* JavaScript で書いていたプロジェクトに途中から TypeScript を導入したが、型エラーが辛くてルールを弱くしてしまったままにしている。
* TypeScript に慣れてないがゆえに、開発の途中で `strict: true` の設定を外してしまった。そうして成長してしまったコードベースは、中々ルールを強くするタイミングがなく、T