カテゴリー : プログラミング/page-1

SOY CMSマニュアルページ作成中
SOY CMS、SOY ShopとSOY Appの操作に関する質問を下記のページで受け付けています。

SOY CMS/Shopで標準機能だけでは実装が難しい時はお気軽にご相談下さい。

SOY CMSの開発秘話を投稿しました。→ SOY CMSの開発秘話
ブログ内検索
 

JavaScriptのAnalyzerNodeで音に反応して動きを変えてみる

JavaScriptのAnalyzerNodeで拾った音の周波数を可視化してみる3までの記事で、 HTML5のWeb Audio APIにあるAnalyzerNodeでマイクから拾った音を周波数データとして取得してみた。 今回はこのデータを使って、 HTML5 Canvasで作成したアニメーションを制御してみる。 はじめに音は関係なく、丸がただ動くだけのアニメーションを作成してみる。 今回は前回のコードのdraw関数のみの修正となるので、 実際に書いたコードもdraw関数のみ...

Read More…

 

Go言語とSQLiteでプリペアドステートメント

Go言語でINSERT文を書く時、直接user_idやpriceなどの変数を構文中に入れるとデータを消去されたり改変される危険性がある。 これをSQLインジェクションと呼ぶ。 SQLインジェクション - Wikipedia SQLインジェクションを阻止するための方法にプリペアドステートメントがある。 例として、下記のようなコードを記載する. package main import ( "database/sql" "log" _ "github.com/m...

Read More…

 

JavaScriptのAnalyzerNodeで拾った音の周波数を可視化してみる3

JavaScriptのAnalyzerNodeで拾った音の周波数を可視化してみる2 前回の記事でWeb Audio APIのAnalyzerNodeを使って、マイクで拾った音から周波数データを取得してみた。 実際に取得してみて、ハウリングが発生してという表現が正しいかわからないが、 ファンファンファンという耳が痛くなるような音が鳴り出した。 このハウリング対策として、 マイクから音を拾う際にBiquadFilterというフィルターをかます。 説明の前に実際のコードを書いて...

Read More…

 

Go言語とSQLiteでトランザクション

Go言語とSQLiteで下記のコードをトランザクションしてみる。 トランザクションとは、分割不可な一連の処理を意味する。 今回は、user_id=1のpriceから1000円を引き、user_id=2のpriceに1000円たすという処理を行うが、この時、途中でエラーが起こった場合は、どの処理もされないようにしたい。この時にトランザクションの仕組みを利用する。 package main import ( "database/sql" "log" "strconv" ...

Read More…

 

JavaScriptのAnalyzerNodeで拾った音の周波数を可視化してみる2

前回のJavaScriptのAnalyzerNodeで拾った音の周波数を可視化してみる1で、 数学が弱い生物系出身の自分が無謀ながらコンピュータにおける高速フーリエ変換に触れてしまった。 フーリエ変換と言えば、 世の中を劇的に変えたであろう偉大な数式を挙げろと言われたら必ず出てくるようなもので、 身近でフーリエ変換によって出来たものと言えば、 真っ先に挙がるのが音声データが保存されたCDだろう。 オーケストラのCDをイメージしてみたらしい。 円盤がくるくると周り、 ...

Read More…

 

Go言語でExcelからデータを取得する。

Go言語でExcelファイルからデータを取得する。 まず、test.xlsxのExcelファイルを作成し、データを入れておく。下記のコードを書いてみる。 package main import ( "fmt" "log" "github.com/tealeg/xlsx" ) func main() { file, err := xlsx.OpenFile("test.xlsx") if err != nil { log.Fatal(err) }...

Read More…

 

JavaScriptのAnalyzerNodeで拾った音の周波数を可視化してみる1

JavaScriptのWeb Audio APIで録音してみるでHTML5のAPIを介して、 ブラウザとマイクで音を拾って、wav形式の音声データとして保存してみた。 それを踏まえた上で、 今回はマイクで拾った音を他の処理で使えるように、 音を周波数のデータとして取得してみる。 取得の前に周波数のデータとして取得する為に必要なフーリエ変換について見てみることにする。 といっても生物上がりで数学は得意ではないので、 以後の開発で使える程度の概念程度を自分用のメモとして残す。 ...

Read More…

 

Go言語でExcel形式のファイルを作成

Go言語でExcel形式のファイルにデータを打ち込んでみる。 最初に端末にgo get github.com/tealeg/xlsxでExcelをGo言語で作成するためのライブラリを取得しておく。 GitHub - tealeg/xlsx: Google Go (golang) library for reading and writing XLSX files. 次に下記のコードを入力する。 package main import ( "log" "github....

Read More…

 

JavaScriptのWeb Audio APIで録音してみる

先日、 パソコンの前で手を叩いたら、その音をキッカケにして動作するアプリは作れないかな? という意見が挙がった。 というわけで、早速調べてみたところ、 HTML5のAPIでWeb Audio APIをいう仕様を見つけた。 Web Audio API - Web API インターフェイス | MDN というわけで、 早速、上記のURLと下記のURLを参考にして録音アプリを作ってみた。 ユーザーから音声データを取得する  |  Web |  Google Developers...

Read More…

 

Go言語とSQLite3でデータを取得する

前回の記事、Go言語とSQLでランダムの顧客10人の注文を10000件登録してみるで作成したtableから10件のデータを取得してみる。 package main import ( "database/sql" "fmt" "log" _ "github.com/mattn/go-sqlite3" ) func main() { db, err := sql.Open("sqlite3", "sample.db") if err != nil { ...

Read More…

 

Go言語とSQLでランダムの顧客10人の注文を10000件登録してみる

Go言語とSQLiteでランダムの顧客10人の注文をランダムの金額1000~10000の範囲で10000件登録してみる。 まず下記のコードを記載する。 package main import ( "database/sql" "fmt" "log" "math/rand" "strconv" "time" _ "github.com/mattn/go-sqlite3"(//自動入力されないので、手打ちで入力する) ) func main() { ...

Read More…

 

Go言語のSQLiteドライバでデータを挿入してみる

はじめにGo言語でSQLiteを使えるようにするためにSQLiteのドライバーを取得しておく必要があるが、 いつも使用しているGit Bashでは取得できないため、 下記のURLからgit-sdkをダウンロードして、インストールしておく。 https://github.com/git-for-windows/build-extra/releases インストール後に デスクトップ上にMSYS2のアイコンが出来ているので、 今回はmsys2から操作を行う。 MSY...

Read More…

 

SQLiteで集計をしてみる

SOY Shopで実際に実稼働しているデータベースから齋藤という名前のつく人の注文回数を調べて一番注文した人をあげてみる。 はじめにSOY Shopのデータベースのスキーマを確認する。スキーマは下記のURLから確認することが出来る。 https://github.com/inunosinsi/soycms/blob/master/cms/soyshop/webapp/src/logic/init/sqlite.sql 今回取得したいのは、注文のテーブル(soyshop_order)の注...

Read More…

 

Soil & Geoロガーで現在地の土質と地質を調べよう

スマホのAndroid端末で現在地の土質と地質を簡単に知ることが出来ないか? とAndroidアプリの開発に挑戦してみた。 Go MobileでAndroidアプリの実行までを見てみる 最初はGo Mobileで開発しようとしたけれども、 Go Mobileはアニメーションが主体で、ボタンを設置するという簡単なアプリには今のところ不向きということで、 HTML5のService WorkerとIndexed Databaseを組み合わせて、 オフラインでも動作するWebアプリにし...

Read More…

 

SQLiteのALTER文で新たなフィールドを追加してみる

まずsql構文で、category Tableを作成して、情報を追加する。 CREATE TABLE category( id INTERGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(8) ); sqlite INSERT INTO category(name) VALUES('tanpopo'); sqlite INSERT INTO category(name) VALUES('asagao'); sqlite INSERT INT...

Read More…

 

Go MobileでAndroidアプリの実行までを見てみる

Go言語のGo MobileでAndroidアプリを開発してみるの記事で、 Go言語でAndroidアプリの環境を整え、 UbuntuでAndroid Debug Bridgeを使ってみるまでの記事で、 Go言語で書いたAndroidアプリを実機かエミュレータで確認出来るところまで準備した。 それを踏まえた上で、 実際のコードを書いてみることにする。 今回は開発環境で動作の確認時にgo run main.goでウィンドウが立ち上がるところまで書いてみる。 コードは慣れの意味...

Read More…

 

UbuntuでAndroid Debug Bridgeを使ってみる

Android Debug Bridge(通称:adb)は開発機とAndroid機(エミュレータ)間で通信できる便利なコマンドラインツールで、 開発機からAndroid機に開発したスマホアプリをデプロイ出来たりする。 Android Debug Bridge  |  Android Developers というわけで、ADBのインストールからAndroid機にアプリのデプロイまでやってみた。 開発機 Lenovo Ideapad 720S プラチナ CPU : AMD Ryz...

Read More…

 

SQLiteでWHER句を使ってみる

前回の記事SQLiteでデータを入れて取り出してみるで、TABLEを作成した。 今回は、TABLEの中で、sql構文で部分的なデータを取得する。 まずは、名前だけを取得したい時は、 sqlite SELECT name FROM users;ryokokumausapaopomdorachan 名前と苗字の両方を取得したい時は、nameとfnameの間に','を入れる。 sqlite SELECT name, fname FROM users;ryoko|saitokuma|kumas...

Read More…

 

UbuntuにAndroidのエミュレータを入れる

Go言語のGo MobileでAndroidアプリを開発してみるで、 Go言語でAndroidアプリを開発出来る環境を設けた。 開発を快適にするために、開発機にAndroidのエミュレータを入れてみた。 まずは環境をまとめてみる。 開発機 Lenovo Ideapad 720S プラチナ CPU : AMD Ryzen 5 2500U APU ( 2.00GHz 2MB ) OS : Ubuntu 18.04 メモリ : 8.0GB PC4-17000 DDR4 (オンボ...

Read More…

 

SQLiteでデータを入れて取り出してみる

データベースを操作する際に、SQLという言語がある。 SQL - Wikipedia SQLは、検索を行うアプリ等で頻繁に使われる。 以下の文はWindows 10での操作。 https://www.sqlite.org/index.htmlからSQLiteをダウンロードする。この時、 https://sqlitebrowser.org/からDB browser for sqliteもダウンロードしてインストールしておく。 SQLiteのインストール手順は SQLite ...

Read More…