Other articles


  1. Juliaをjupyter notebookで使う

    Published: Fri 14 December 2018
    By oec

    In Julia.

    Juliaはjupyter notebookでも使うことができます。

    julia> ]
    (v1.0) pkg> add Conda
    (v1.o) pkg> add IJulia
    julia > using IJulia
    

    Juliaからnotebookを起動するには、

    julia> using IJulia
    julia> IJulia.notebook()
    

    ですが、jupyter notebookを起動すると、 Juliaカーネルを選択できるように追加されるので普通にjupyter notebookを開いてJuliaを選んでも良いかも。

    自分の環境(macOS Sierra、Jupyter notebookはインストール済み)では非常に簡単にJulia kernelをインストールできました。

    参考

    read more
  2. CellFishing.jlを試してみる(2nd)

    Published: Fri 14 December 2018
    By oec

    In Julia.

    Githubのmasterブランチが修正されたとのことなので、 前回と同様にコマンドラインインターフェースと対話環境でCellFishing.jlにトライしてみました。

    コマンドラインインターフェースでPlass2018.dge.loomをCellFishin.jlする

    先ずは公式のREADMEと同様に Plass2018.dge.loomをもう一度CellFishing.jlします。

    $ ./bin/cellfishing build Plass2018.dge.loom
    Build a search database from Plass2018.dge.loom.
      Loading data ―――――――――――― 14 seconds, 149 milliseconds
      Selecting features ―――――― 966 milliseconds
      Creating a database ―――――  ** On entry to SLASCLS parameter number  4 had an …
    read more
  3. CellFishing.jlを試してみる

    Published: Wed 12 December 2018
    By oec

    In Julia.

    CellFishing.jlを試してみる

    高速に大量の細胞の類似度を解析するツールのCellFishing.jlを試してみました。

    CellFishing.jlはJuliaで動くツールなのですが、Juliaを使うのも初めてのため、実行環境からたどたどしく設定していきます。

    MacにJuliaの環境を作る

    macOS Sierraだとbrew installでjuliaをインストールできる

    brew cask install Caskroom/cask/julia
    

    $ juliaで対話環境がスタートします。

    対話環境は

                   _
       _       _ _(_)_     |  Documentation: https://docs.julialang.org
      (_)     | (_) (_)    |
       _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
      | | | | | | |/ _ …
    read more
  4. Show HTML as innerHTML in Riot.js each loop.

    Published: Fri 20 July 2018
    By oec

    In JS.

    Riot.jsのeachループの中でデータをHTMLとして出力する方法。

    Riot.jsの{}の値は常にエスケープされるため、例えば数式などで<sub>タグを 使った場合、タグはHTMLとして解釈されずそのまま文字列として表示されてしまいます。

    Riotタグの中でHTMLを使いたい場合、色々ググってみた感じ、 一派的にはinnerHTMLとして出力するようです。

    タグの中で一箇所出力する場合はinnerHTMLをそのまま使えば良いのですが、 Riotのeachループの中でHTMLを出力しようとした場合やや面倒だったので解決方法をメモしておきます。

    <summary>
        <ul>
           <virtual each="{list}">
              <div id={uid} ></div>
           </virtual>
        </ul>
    
        <script>
            fetch(何かのAPI)
                .then(function (data) {
                    return data.json()
                })
                .then(function (json) {
                    this.list = json;
                    this.update();
                    for (item of self.list …
    read more
  5. Google Apps Script, search with url parameter.

    Published: Sat 14 July 2018
    By oec

    In JS.

    Google Apps Script(GAS)でスプレッドシートを検索する

    Googleスプレッドシートの特定のカラムを、URLパラメータを引数に検索して マッチしたデータのみJSONで返す様なAPIのサンプル。

    function getData(id, sheetName, v) {
      var val = v || " "
      var sheet = SpreadsheetApp.openById(id).getSheetByName(sheetName);
      var rows = sheet.getDataRange().getValues();
      rows.shift()
      var keys = ["id", "title", "date"]
      var l = rows.map(function(row) {
    
        //必要なカラムの値だけオブジェクトに渡します。
        var item = [row[2].split('/').slice(-1)[0 …
    read more
  6. D3v4 use categorical scale

    D3v4でカテゴリカルなスケールのヒストグラムを書くベストプラクティスは何か考えてみた

    最近、Riotxをある程度使えるようになった(気がする) ので、Riotxを使って複数のコンポーネントに跨ったチャートの状態を同期した拡張版crossfilterのようなものが書けないか検討しています。

    試しに簡単なサンプルを作って見ようと、d3.histogramを使って書いて見ようとしたのですが、 d3.scaleOrdinalなデータをhistogramに変換できない。。 ということで、D3.jsでカテゴリー的スケールのヒストグラムを書く良い方法を検討してみました。

    オブジェクトの配列を度数に変換する

    ヒストグラム用のデータを作るなら当たり前の処理ですが、この処理をモジュール的に作っておこうと思います。

    d3category.js

    const d3category = {
      count: function (data, k) {
        const nestedData = d3.nest()
          .key(function(d) {return d[k]})
          .entries(data);
    
        const l = [];
        nestedData.forEach((d) => {
          const item = {}
          l.push({key: d.key …
    read more
  7. Hello, pelican

    Published: Sun 01 July 2018
    By oec

    In Python.

    PelicanでGitHub Pagesのブログを作成・管理する方法

    どこかにコードやサーバの設定手順を残しておく場所が欲しかったため、 GitHub PageをPelicanで管理することにしました。その手順を最初の記事としてアップしてみます。

    環境設定

    今回自分は開発端末にPelican用のローカルリポジトリを作るため、pyenvで専用の環境を作ります。端末はmacOS 10.12です。

    $ pyenv virtualenv 3.5.0 github-page
    $ pyenv local github-page
    

    この環境にペリカンに必要な諸々をインストールします。

    $ pip install pelican
    $ pip install Markdown
    $ pip install typogrify
    $ pip install ghp-import
    

    記事の作成

    GitHub Page用のレポジトリを作成する

    GitHubで新規に"githubのアカウント名.github.io"のレポジトリを作成します。

    Pelicanではmasterブランチとpelicanブランチを利用しますが各ブランチの役割は

    • pelicanブランチ:記事を作成しmasterブランチにアセットを格納する
    • masterブランチ:ここからGitHubに記事をpushする

    のように分けられます。

    ローカル環境にPelicanを設定する …

    read more

links

social