ginでCORS対応

go(gin)で作成したWeb APIを別ドメイン(ローカルに作成したindex.html)からアクセスした場合、CORSでエラーが発生しました。 対策としては、ginで作成したハンドラでヘッダ(Access-Control-Allow-Origin)を追加すればOK。 func XXXX(ctx *gin.Context) { ctx…

GORMでdistinct

GORMはGo言語でよく使われているORMの一つです。 GORM ガイド | GORM - The fantastic ORM library for Golang, aims to be developer friendly. ても便利なのですが、distinct(レコードの重複をまとめる)は未実装でした。 したがって、distinctを実現するた…

DynamicFeaturesInSwift

swift 4.2の新しい機能「Dynamic Member Lookup」について学ぶために以下の記事を写経しました。 Dynamic Features in Swift | raywenderlich.com Dynamic Member Lookupを理解した後で、以下の記事を読むとよりわかりやすいと思います。 今、僕が一番注目し…

SSH経由でサーバーのファイルをVS Codeで編集する

拡張機能(SSH FS)をインストールするとサーバーのファイルを編集することができます。 VS Codeの拡張機能が使えるのでとても便利です。 リンクの記事を参考に設定しました。 公開鍵認証で、サーバーのauthorized_keysに公開鍵を登録しておくとpassphraseの入…

単語分散表現のクラスタリング

語彙空間のクラスタリングの参考になるものがないかと探して以下の記事に遭遇しました。 Pythonで単語分散表現のクラスタリング - Ahogrammer 現象 作成済みモデルをダウンロードしてクラスタリングを実行するという優れもの記事でしたが、クラスタリングを…

MacとiPhone連携

最近、iPhoneのSIMを音声通話対応版に変更しまし MacとiPhoneでいろいろな連携ができることに驚いています。便利! 知られていない機能が盛りだくさん。MacとiPhoneの美しき連携機能10選 | ライフハッカー[日本版]

VS CodeでJupter Notebookを使う

ここを参考にvscodeからjupyter notebookを使って見た。これは便利。 VS CodeからJupyter Notebookを使ってみよう (1/3):Visual Studio Codeで始めるPythonプログラミング - @IT

goでWebAssembly(2)

前回の続きです。 goでWebAssembly - unokun’s blog goのWebAssemblyに関する詳細な記事がありました。 Go and wasm: generating and executing wasm with Go GopherAcademy まとめると以下のようになると思います。 Web AssemblyはC/C++、Rustなどでビルド…

goでWebAssembly

go 11.1でWebAssemblyが追加になったので、試してみました。 以下のサイトに記載されている内容を試してみたところ、たしかにコンソールに"Hello, WebAssembly!”が出力されました。 WebAssembly · golang/go Wiki 環境 Mac OS High Sierra 10.13.6 go 11.1 n…

Vue-cli(3.0) + TypeScript

Vue-cli(3.0) + TypeScript。 この記事が参考になりました。 TypeScriptでVue.jsを書く – Vue CLIを使った開発のポイントを紹介 | maesblog

vue-cli(3.0)を使う前に

vue-cli(3.0)を使ってみようと思ったのですが、その前に、nodeのパッケージ管理をnodebrewからndenvに変更しました。 ndenvはanyenv(なんでもenv)から使うバージョン管理で、pyenv, rbenvも同じように使えるようです。が、今回はndenvのみanyenvから使えるよ…

SiriKit Tutorial for iOS

はじめに 2018 WWDCにおいて、iOS12の新しい機能「Siri Shortcuts」が紹介されました。 Siri Shortcutsについて調べてみた【ショートカット登録編】 - Qiita ユーザーの日常のルーチンを適切なタイミングでサジェストしてくれ、ショートカット実行させてくれ…

AtomicLong

今更ですが、Atomicな変数(AtomicLong)を使って見ました。 Java1.5からですか〜。 同期処理をJavaで実装することはあまりしていなかったのかなぁ。 concurrentパッケージにある以下のインタフェースおよびその実装クラスも使えそう。 BlockingDeque Blocking…

Swiftで半角空白文字削除(trim)

半角空白削除の場合には、whitespaces、改行などの制御記号も取り除く場合にはNewlinesも追加する。 let myString = " \t\t Let's trim all the whitespace \n \t \n " let trimmedString = myString.trimmingCharacters(in: .whitespacesAndNewlines) print…

@objcのwarning@Swift 4の対処

UIRefleshControlを使っているSwift3プロジェクトをSwift4にマイグレーションさせた場合、呼び出しメソッドに@objcが追加されますが、Swift3プロジェクトの設定のま まだとワーニングが表示されます。 ビルドセッティングでSwift3 @objc interfaceをOnからDe…

GolangとVue.js...

「GolangとVue.js」というタイトルに惹かれて調べてみました。 Big Sky :: Golang と Vue.js で簡単なアプリケーションを作ってみた。 まずは、動かしてみます。 MacOS High Sierra 10.13.4 MongoDBインストール&起動 インストール済みであれば不要です。 $ …

依存関係管理ツールdep(golang)

久しぶりにgo言語関連アプリ、Big Sky :: Golang と Vue.js で簡単なアプリケーションを作ってみた。を使ってみようと思ったらパッケージがないって怒られました。 個別にインストールするのは面倒です… $ go get -u xxx nodeやrubyのパッケージ管理ツールが…

話題のflutterを使って見ました

Flutter - Beautiful native apps in record timeは、Googleが開発しているスマホアプリ開発環境(UIフレームワーク)です。同じコードでiOSアプリ、Androidアプリを開発することができます。開発言語はGoogleが開発しているDart programming language | Dart…

TypeScriptで始めるJavascript再入門(1)

Javaなどのクラスベースオブジェクト指向言語を知っている人が最新のJavascriptを知る場合、Typescriptを使うのが良い方法です。 TypeScript - JavaScript that scales.は、マイクロソフトが開発しているaltJSの一つです。 TypeScriptはJavaScriptに対して、…

Webアプリのコンポーネント化

vue, reactなどを使ってWebアプリを作成する時、どのようにコンポーネント化していくのが良いのでしょうか? 今、その設計方法(ベストプラクティス)に関心を持っています。 以下の記事は参考になりそうです。 コンポーネント指向フロントエンド開発における…

nodebrewでnodeインストール

フロントエンド実行環境の最初の一歩、nodeのインストール。今までは、homebrewを使ってインストールしていました。 brew install node しかし、これだと複数バージョンを混在させることができないので、nodebrewに変更しました。 brew uninstall node brew …

wikipediaのデータでdoc2vec

doc2vecでWikipediaを学習する - TadaoYamaokaの日記 を参考に、wikipediaのデータをdoc2vecでトレーニングし、類似単語を調べてみました。 総単語数 2,890,010 頻度10以下 2,364,440 残り単語数 525,570 doc2vecは、トレーニングした単語をmodel.wv.vocabで…

collection型のソート(Python)

Pythonでcollection型のソートにはOrderedDicを使う。 >>> from collections import OrderedDict >>> # regular unsorted dictionary >>> d = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2} >>> # dictionary sorted by key >>> OrderedDict(sorted(d.…

wikipediaのデータでdoc2vec(UnicodeDecodeError)

doc2vecを使ってとあるコーパスのドキュメント類似度を取得してみましたが、思ったような結果が得られませんでした。 そこで、doc2vecの記事が同じように検証できるのか調べてみました。 まずは、これです。 doc2vecでWikipediaを学習する - TadaoYamaokaの…

Xamarinをアンインストールしました(MacOS X)

ディスクの空き容量が少なくなってきたので、不要なファイルを削除しました。 インストールしたVisual Studio for Macはすぐ削除したのだけれど、残党(Xamarin)が残っていました。 以下のリンクを参考に手動!削除しました。 ディスク空き容量が10GBくらい増…

seleniumを使ったスクレイピング(Python)

手順 seleniumのインストール pip install selenium WebDriverのインストール Seleniumのサイトから各種ブラウザのWebDriverをダウンロードすることができます。 Google Chrome Driverを使いましたが、 自動テストにはPhantomJSの方が便利かもしれません。 D…

ファイル保存時にディレクトリがなければ作成する(Python)

ファイル保存時にディレクトリがなければ作成する処理は以下のように書く。 def save_text(path, text): # ディレクトリが存在しなければ作成する path_dir = os.path.dirname(path) if not os.path.exists(path_dir): # makedirsは途中のディレクトがない場…

MacOSXにMecabインストール

fasttextを試すため、Mac OS X(Sierra)にMecabをインストールした。 pythonのバージョンは3.5.2 $ python --version Python 3.5.2 :: Anaconda 4.1.1 (x86_64) 手順 mecab-python3をインストール pip install mecab-python3 mecab+ipadicをインストール brew…

Visual Studio CodeでRubyデバッグを試してみました

Visual Studio CodeによるRubyのデバッグ | Developers.IOを参考にVisual Studio CodeでRubyのデバッグを試してみました。ウオッチ式、コールスタックが使えるので十分実用できそうです。 今まで、Rubyのデバッグ用にRubyMineを購入していたが、Visual Studio…

Java8日付API

WEB+DB vol.97 2017の「Java 8で直感的な日付/時間操作」という記事を参考にJava8日付APIを触ってみました。 Java8のDate and Time APIはJoda-Timeに基づいて作られた新しいAPIです。従来のDataやCalendarよりも簡単に日付操作をすることができます。 農業…