フロントエンド

R-tree 矩形検索(円筒図法地理座標)

こんにちは。 R-tree (rectangle tree) を利用し、矩形形状を持つデータの集合に対して指定矩形範囲内に含まれるものを検索してみました(地理座標系:下記図は Braun投影図法)[Demonstration]。マウスでこの矩形検索範囲を変えられます(d3.js 利用1 2)。 ここで使っている r-tree.js は、"JavaScript (TypeScript) implementation of a Hilbert Packed R-Tree"3 を基にして機能拡張して作ったものです(日付変更線への対処など4)。利用方法を要約すると、 r-tree_usage.js var tr...

Railsでアソシエーション機能の実装

参考:https://qiita.com/Kohei_Kishimoto0214/items/cb9a3d3da57708fb52c9 VideoモデルとCategoryモデルを多対多の関係にする Videoモデルは既に作成されているので既存のものがあるのでそれを使用 Categoryモデルの作成 rails g model Category name:string 作成されたマイグレーションファイルを編集 migrate/XXXXX.rb def change create_table :categories do |t| t.string :name, default: "", null: false t.timestamps end end end マイグレーション実...

【Javaの開発効率UP】DCEVMとHotSwapAgentで、再起動せずにソースコードの変更を反映する

What's DCEVM https://github.com/dcevm/dcevm http://hotswapagent.org/ Java実行中に動的にコードを差し替えるためのJVMの拡張。 HotSwapAgentと組み合わせて、アプリケーションを再起動することなしにコードの変更を反映することができる。 IntelliJのプラグインがあるのでそれと合わせて使う方法を書きます 参考: https://github.com/dmitry-zhuravlev/hotswap-agent-intellij-plugin#dcevm-installation 他のHot Swapツールとの比較 Javaを再起動せずにソースコードの変更を反...

Ubuntu 17のVPSの初期設定をする(公開鍵認証,ufw,nginx,rbenv,Ruby2.4,Sinatra)

まとめのまとめ的な自分用記事です。 某SFCのITCが貸してくれるVPS(Microsoft Azure)にゼロからSinatraを導入しました。 Ruby on Railsを始めたい人にも有用なはず。 本記事で扱う内容 SSH接続でパスワード認証を禁止し、公開鍵認証にする ufwを使ってiptables(≒ファイアウォール)を設定する nginxをインストールし、設定する Rubyをインストールする Rubyのバージョン管理はrbenvを使う Sinatraをインストールする 環境(想定するシナリオ) Ubuntu 17.10のVPSをもらった SSHで接続で...

PHP総復習チェックリスト ~最低限知っておくべき知識たち~

PHPチェックリストです。 最低限知っておくべき知識たちです! 当たり前中の当たり前の知識については触れていなかったりします(echoとか) 学習というよりは振り返りとしてご活用ください! 文字列型、数値型、論理型について 型 英語名 よく使う書き方 文字列型 string str 数値型 integer, float int, float 論理型 boolean boolean integerは整数、floatは少数が使えます。 文字列型や数値型はだいたい分かると思いますが、論理型とは何でしょう?? それは、TrueとかFalseを返す...

TruffleとRiotJSを使って流行りのDappsを作ってみた

TokenをSPAから送金するサンプルを作ってみた 前提 執筆者はMacでやっている npmは入ってる MetaMaskも入っている 参考:「Ethereumブロックチェーンでめそ子の握手券を作ってみた」 レシピ truffleをインストール Contractを作る RiotでUI作る htmlからtruffleを通してContractを操作する Truffleをインストール WebインターフェースのDappsを作る為には欠かせない魔法のフレームワーク! 先ずはこいつをインストールしないと話が始まらない npm install -g truffle cd [workspace]/ t...

Railsでテスト駆動開発を勉強してみた④

学習履歴 ■はじめに 前回に引き続き、ブログアプリを作成していこう。 今回は、複数のモデルを関連付けるアソシエーションを中心に開発を行っていく。 ■1対多のアソシエーション ブログでは、1 ユーザが、たくさんのブログ記事の情報に関連づけられるので、has_many の関連付けを行う。 まずは、ブランチを切って、Docker コンテナの立ち上げと guard を起動しよう。 $ git checkout -b link-articles-to-users $ docker-compose up -d $ docker-compose run webserver guard 続いて、...

LVM RAID の運用方法

はじめに LinuxでRAID構成を組もうとするとMDを使うことが多いと思いますが、LVMでもRAIDを構成することができます。(カーネルの中では結局同じ機能を使っているのですが。) 自宅サーバで LVM RAID を使っているのですが、数年に一回ディスクが壊れたときに復旧の方法を忘れてしまって調べるのが大変なので、メモも兼ねて残しておきます。 (ぐぐるとだいたい MD RAID が引っかかるので。) 環境 CentOS7 を使っていますが、最近のLinuxならおおよそできるはずです。 CentOS5 など古...

TwitterでシェアするOGP画像を動的に書き換える

タイトルの通り、こんな要求があって何とか対応したので困ってる人のTipsになれば。。 ogpってなんよ SNSでシェアするときに使うアレよね? って認識しかなかったのでちゃんと調べました。 OGPとは、Open Graph Protocolの略で、Facebookやmixi、Google+などのSNS上でWebページの内容を伝えるために定められたプロトコルです。 〜中略〜 OGPを使って画像やタイトル、説明文を適切に設定することで、共有されたユーザーへの訴求力が高まり、サイトへのアクセス数を増やし、より多くのユ...

Octoparse:ノンプログラマーのためのスクレイピングツール

前回Octoparseというツールを紹介し、そのツールの登録、ダウンロード、インストール、データ抽出などの利用方法を紹介しました。(前回の内容の詳細については、こちらをご覧下さい。)今回は、Octoparseをもっと理解して頂くために、主な特長、具体例による使用方法および幾つかの拡張機能を紹介します。 1.概要 Octoparseは、簡単かつ非常に視覚的に理解しやすいWebスクレイパーであり、あまりプログラミングの知識が無い人でも、Webからデータを収集して抽出することができます...

Ubuntuの環境を設定する_3

はじめに 授業で学んだ事のメモとして残します。 ※添付している画像は全てスクリーンショットとペイントで編集しました。 環境構築する内容 SSH Apache Ver2.4.18 MySQL Ver5.7.13 PHP Ver7.0 Samba インストール MySQL Ver5.7.13 ~$ [sudo apt-get -y install mysql-server] MySQLサーバのインストール ※インストール中、MySQLのrootパスワードの設定を求められるので、設定する ~$ [mysqld -V] Version確認 ~$ [mysql -u root -p] MySQLにログイン [Enter password:]と出てくるので...

Railsでタスク管理ができるWebアプリを作成してみた(Rails入門)

はじめに railsを一通り学んだので、自分の課題として簡単なタスク管理ができるWebアプリケーションを作成しましたので、紹介して行きます。 ちなみに、Webアプリケーションとは、HTTPリクエストの中の4つのメソッドを満たす、その名もCRUDメソッド(GET, POST, PUT, DELETE)を使って、Web上のリソースを操作できるアプリケーションのことです。今回作成するWebアプリケーションもその定義通りのものを作成します。 環境 Ruby 2.4.1 Rails 5.2.0 プロジェクトの作成 プロジェクト名はta...

XMLHttpRequestを使う

はじめに FirefoxのaddonからHTTPのリクエストでデータを送信します。 XMLHttpRequestを使ったサンプル XMLHttpRequestを使うとリクエストを送信できます。 Query parameter で渡す値は encodeURIComponent で encode します background.js browser.contextMenus.create({ id: "name", title: "get name", contexts: ["selection"], }); var name = "blue"; getting = browser.storage.local.get("name", function (value) { name = value.name; }); browser.contextM...

Apache Spark on Kubernetes(Docker for Mac)を動かしてみる

Spark2.3から、KubernetesクラスタでのSparkの実行がネイティブにサポートされたようなので、手元の環境で動かしてみたのを記録。 参考にした情報 Running Spark on Kubernetes( https://spark.apache.org/docs/2.3.0/running-on-kubernetes.html#running-spark-on-kubernetes ) Apache Spark on Kubernetesの検証( https://qiita.com/ysakashita/items/1f87646ae804ba509d07 ) 使用環境 MacBook Pro High Sierra(10.13.4) Docker Community Edition (for Mac) v18.05.0-ce-mac66(2454...

AI連携FW『シンプルエーアイ』を使ってみた(5):「魔法の鏡」まとめ+α(※目次は随時更新)

はじめに AI連携フレームワーク『シンプルエーアイ』を使って遊ぶ、第5回目のまとめ編+αです。 今回の記事は、目次がわりのページを作るのが一番の目的ではあるのですが… せっかく新たに記事を公開するのですし、新しいお知らせや、今までご説明できなかった機能のご紹介をしたいと思います。 目次(随時更新) ・(1)準備編  『シンプルエーアイ』を使用するための手順をまとめました。  フレームワークのダウンロードと、Microsoft の API キーの取得について記載しています。 ・(...

MavenCentralRepositoryへの登録

MavenCentralRepositoryへの登録 Motivation せっかくライブラリを作ったのでどこからでも使えるように登録してみようと思いました。 手順 事前準備 Javadocとソースの生成 公開鍵の登録 署名 登録 チケットの作成 デプロイ リリース チケットクローズ 2時間待つ 1. 事前準備 1.1. Javadocとソースの作成 ビルド時にJavadocとソースが生成されるようにします。 <build> ...略... <!-- generate source --> <plugin> <groupId>org.apache.maven.plug...

Laravel5.6とVue.jsで簡単なシングルページアプリケーション

Laravel5.6とVue.js(Laravel Mix)をつかって基本的なシングルページアプリケーションをつくってみました。。のでメモ。 つくるもの Webアプリによくある一連の動き「一覧、登録、表示、更新、削除」(CRUD的なやつ)ができるアプリケーション ひとつの基本HTMLだけで各画面遷移も実行される、いわゆるシングルページアプリケーション(SPA)として稼働する シングルページアプリケーションだけど、URLは画面ごとに振られる バリデーションとかエラー処理とか考えずに、ひとまず動く...

ArducopterのFlightmodeを追加する(MissionPlannerにも)

はじめに Arducopterにオリジナルのフライトモードを追加する方法。メモ程度。 また、GCSとしてMissionPlannerでそのフライトモードを選択できるようにする。 フライトモード追加 基本的にはArdupilot公式ドキュメント通りにやればおっけい。 http://ardupilot.org/dev/docs/apmcopter-adding-a-new-flight-mode.html しかし、これだけではコンパイルできない。config.h内に他のmodeと同じように以下を追加する。 config.h /////////////////////////////////////////////////////////...

Qtで作られたアプリケーションを調べてみる

はじめに 昨日は、 @helicalgear さんによる、「コントリビューションしてみたよ!」でした。ふとしたきっかけで見つけてしまった不具合。バグ報告をして、そして直してみるという姿勢はとても素晴らしいものです。これこそオープンソースの醍醐味。予期せぬ何かに遭遇したら、こちらの記事を参考に、ぜひ貢献してみましょう。 さて、今年は、カレンダーの記事が中々埋まらず、同じ人が連続投稿というのが目立ってきています。世の中のトレンドが別の方向に流れていたり、人手不足で忙...

点を追加・削除・ドラッグできる対話的 matplotlib なコードを実装する

本日は matplotlib 便利ですね。点をプロットできますし matplotlib すごいですね。マウスの操作イベントを受けとる機能がついているらしい。 すごそうですね。プロットしたオブジェクトを操作できたら・・・。 ということで作りました。 できること 下のGifのようなことができます。 具体的には - 左クリックで点のオブジェクトを追加 - 追加したオブジェクトを左クリックで選択できる。 - 押しながら移動させるとドラッグできる。移動中の点はプレビューとして出ている仮想的なオブ...