bigmac-jp blog

web開発関連のメモ

Autodesk ForgeAPIメモ⑧ getProperties()

APIs | Autodesk ForgeAutodesk.Viewing.Model const target_dbId = 12634; viewer.model.getProperties(target_dbId, props => { props.properties.forEach(prop => { console.log(prop.attributeName); console.log(prop.displayCategory); console.log(pr…

Autodesk ForgeAPIメモ⑥ getInstanceTree()

var instanceTree = viewer.model.getData().instanceTree; // instanceTreeの第1階層のデータを取得 instanceTree.enumNodeChildren(1, function(childrenIds) { console.log("------------------------------"); console.log(childrenIds); console.log(in…

Autodesk ForgeAPIメモ①

doc = NOP_VIEWER.model.getDocumentNode()上記のAPIで描画している3Dモデルのmanifest 情報が取得できる。 manifet取得APIと同じ情報が取得できる Model Derivative API https://forge.autodesk.com/en/docs/model-derivative/v2/reference/http/manifest/u…

Forge ViewerAPI Model

Model APIs | Autodesk Forge No API Memo TD getInstanceTree() ModelのinstancdTreeオブジェクトを取得可能 Autodesk ForgeAPIメモ⑥ getInstanceTree() - bigmac-jp blog TD getFuzzyBox(options) boundingBoxを取得 three.js box3を取得可能 TD is2d() TD…

Autodesk Forge View Portデータ連携 対象

Revit上で作成した2D SheetをForge Viewer上のgetViewportsファンクションで取得するには下記の制限がある。・Revit上で2D Sheet View Portのプロパティ:Crop View(ビューをトリミング)にチェックが入っていること 下記参照(Crop View) View Properties | R…

Azure Appservice ローカルGitでのエラー回避

Azure app serviceでローカルGitでプログラムのデプロイを実行した場合、エラーが発生した。 下記の解決方法で対応。Azureポータル->APP Service->構成->アプリケーション設定で下記を設定 SCM_DO_BUILD_DURING_DEPLOYMENT=FALSE エラーを確認したところ、コ…

Windows10 Cドライブの容量不足 Autodesk

Cドライブの容量不足でAutoDeskフォルダが数十ギガを使っている場合は、下記を参考に削除 knowledge.autodesk.com

Javascript Prototype

var Student = function(name, sex, school_year){ this.name = name; this.sex = sex; this.school_year = school_year; } // メソッドは生成したインスタンスごとでも同じものになる。 // そのため複数のインスタンスで同じメソッドを生成してしまうと、重…

Javascript Module export import

別ファイルのJavascript関数を実行する場合 ①HTML経由で別ファイルを読み込む方法②Module化Javascriptファイルを読み込む方法がある。(おおまかに)①はHTMLに <script src='./js/app.js'></script> <script src='./js/hoge.js'></script> と記述してhoge.jsからapp.jsの関数を実行する。 デメリットは、scriptタグの記述順番を意識し…

Git リモートブランチ削除 メモ

git push --delete origin branch_nameリモートにプッシュしたブランチを削除する方法

JavaScript 名前空間

名前空間を設定することで、グローバル変数を減らして、名前の衝突を防ぐことができる。 // 名前空間を設定 var MYAPP = MYAPP || {}; var SUBAPP = SUBAPP || {}; MYAPP.getData = () => { console.log("MYAPP_getData") } SUBAPP.getData = () => { consol…

Git 修正中のプログラムを別ブランチでコミットする方法

git statusgit statusで履歴を確認 git stashgit stashで修正中のプログラムを退避する git checkout -b hogegit checkout でブランチを作成する git stash applygit stash apply で退避したプログラムを戻す。 これでコミットしとけばOK。

JavaScript アロー関数

アロー関数はES6から導入された。 従来の無名化数や匿名関数よりもシンプルなコードを書くことができる。 // 無名関数 let getHoge = function(id){ console.log(id); } // アロー関数 let getHoge = (id) =>{ console.log(id); } // アロー関数 中括弧の省…

JavaScript XMLHttpRequest メモ

XMLHttpRequest JavaScript標準機能でhttp通信をおこなうことができる。 XMLHttpRequest - Web API | MDNXMLHttpRequestの代わりとしてFetch APIが実装されているので、XMLHttpRequestを使う必要はない。 jQueryのAjaxはXMLHttpRequestをベースに実装されて…

JavaScript Fetch API メモ

JavaScript FetchFetch APIはJavaScrtip標準のhttp通信の方法の1つ。 Fetch APIが導入される以前はXMLHttpRequestが一般的に使われいた。jQuery.ajaxはXMLHttpRequestが使われている。 Fetch APIはPromiseオブジェクトをベースに設計されている。 非同期でht…

動的テストと静的テスト

動的テスト プログラムを実行してその実行結果のテストを行う。 実施方法 ・テスターが試験仕様書をベースに、プログラムの実行しその結果をテストする。 ・開発者がデバックモードでブログラムを実行し、プログラムの動作をテストする。 ・プログラムを実行…

PHP メモ2 セッション

セッションIDがブラウザのcookieに登録されている過程を確認。 ①アクセスするサーバにindex.phpを作成

PHP メモ1 セッション

セッションファイルのパスの確認はphpinfo();で出力される。 session.save_path = /var/lib/php/session デフォルトの設定は上記のパス(/var/lib/php/session)の配下にセッションファイルが作成される。クライアントのブラウザ側でcookieにセッションidが登…

Git メモ2 コミットをまとめる

git rebase -iコマンドで複数のコミットをまとめる。コミットの単位を細かくしている場合に、git logで履歴を確認するときに、logの粒度が細かすぎて履歴が見にくいことがあります。例えば、「ユーザ一覧画面のCSV出力機能追加」の対応があったする。開発時…

Git メモ1 git stash

git管理されているプロジェクトで追加機能を開発中(①)に、緊急で別のバグ修正(②)が発生した場合など、作業中の変更内容や追加ファイルを退避することができる。 作業中のファイルを退避 ①の追加機能で下記のような変更、追加が発生。 ・既存ファイルの変更 …

MySQL メモ11 複合index

複合indexのメモ。よくありがちな開始日付と終了日付を持つテーブルを範囲検索する場合に、indexを貼る。下記SQLでテーブルを作成。 CREATE TABLE schedule ( id int(11) NOT NULL, start_date datetime NOT NULL, end_date datetime NOT NULL, PRIMARY KEY …

Flutter メモ1 画面遷移

Navigatorクラスを使った画面遷移のメモ import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { // This widget is the root of your application. @override Widget build(BuildContext context…

MySQL メモ10 カーディナリティ

カーディナリティ カーディナリティが高い データの分布が広いデータ。プライマリーキー、ユニークキーなど。 カーディナリティが低い データの分布が狭い。例えば、性別フラグは0:女、と1:男の2パターンしかないため、カーディナリティは低い。 一般的には…

MySQL メモ9 OPTIMIZE

大量データを削除するした場合に、MySQLでは削除されたデータ分の容量が空くわけではない。 大量データを削除したテーブル内では断片化(フラグメンテーション)が発生してしまう。 また、データ抽出時にパフォーマンスにも影響が発生する。(Index統計情報が断…

MySQL メモ8 AlterTbaleの注意点

MySQL5.5以前を使っている場合は、AlterTableを実行した場合、対象テーブルへのwrite処理はブロックされる。 そのため本番環境がアクティブな状況では、運用に支障が起きる可能性が高かった。MySQL5.6以降では、OnlineDDL機能が登場し、テーブルの複製が不要…

MySQL メモ7 Indexデメリット

Indexを登録することでselect時のパフォーマンスが向上する場合があるが、 必要以上のIndexにはデメリットもある。 Insert時 新規レコード登録時にIndexの挿入が発生するため遅くなる。 Update時 更新対象のカラムにIndexが張られている場合に、Indexの更新…

MySQL メモ6 OrderBY句狙いのIndex

MySQLでソート処理が実行されるタイミングは、最終的な取得結果をソートする。 そのため、最終的な取得結果件数が多い場合はソート処理もその分遅くなってしまう。OrderBy句に指定したカラムにIndexが登録されている場合は、そのカラムはIndexによってソート…

MySQL メモ5 MVCC

MySQL InnoDBではMVCCと呼ばれる技術がつかわれている。MultiVersion Concurrency Control - Wikipedia 複数のユーザ(トランザクション)が並行して処理した場合に、処理の同時並行を失うことなく、データに整合性を保証する仕組みとなっている。https://dev.…

MySQL メモ4 ACID特性

ACID特性 MySQLに限らずその他のRDBMSでも、トランザクション処理に求める要件をACID特性と呼ばれる。 InnoDBストレージエンジンはACIDに準拠した設計になっている。 "A" Atomicity(原子性) トランザクション内での処理がすべて実行されるか、すべて実行され…

MySQL メモ3 InnoDB最低限の設定(バッファープールサイズ)

バッファープール InnoDBでは登録されているデータとIndexをメモリ上にキャッシュすることで、ディスクへのI/Oを抑える仕組みがある。データとIndexをバッファープールと呼ばれる領域にキャッシュさせることが、チューニングの第一歩となる。 理想的には、バ…