Programmer's Note

コード読み書きの備忘録。

JIRAの内容を取ってくるVBA

GPTさん作。 Option Explicit Sub ExampleUsage() Dim issueKey As String Dim fieldName As String Dim fieldValue As Variant Dim strUsername As String Dim strApiToken As String Dim strURL As String ' Replace with your JIRA credentials and URL s…

久々環境更新。 かっこいいプロンプト表示をしたい。 oh-my-zshを導入したが、Powerlineっぽい表示がまだできていない。 ■Ricty for Powerline のインストール 参考: 新しいMacを買ったらやること - Qiita $ brew tap sanemat/font $ brew search ricty $ b…

React NativeのAnimated を試す

React Nativeのアニメーションのテスト。 Animated関連のAPIを使用するようで、この仕組みのイメージが少し分かった。 特定のカーブに従って何かしらの値を変化させて、 その変化をAnimatedなComponentで拾うという感じ。 変化させる値はAnimated.Value()関…

React Nativeでカメラを使ってみる

React NativeでiPhoneでカメラを使うことができた。以下メモ。 プロジェクトのルートディレクトリを<ProjectRoot>とする。 パッケージのインストール $ cd <ProjectRoot> $ npm install react-native-camera --save $ npx react-native link react-native-camera $ cd pod $ pod instal</projectroot></projectroot>…

React Native公式サイトのpropsを使うサンプルにハマる

ここ2、3日、React Nativeのサンプルを打って動作を確かめている。 なるほど、これは面白いですわ。生産性が高いし流行るはずですわ。 昨日、ちょっとハマったのが以下のコード。 自作のComponentにタグのプロパティを渡す方法についてのサンプルで、Class…

GitHubにあがっているReact Nativeプロジェクトを実行する方法

GitHubに上がっているReact Nativeのプロジェクトをcloneして、 普通にnpx react-native run-iosを実行しても失敗する。 なんだかよくわからないが、色々ググった結果、とりあえず cloneしたフォルダーに入る npm iで依存パッケージをダウンロードする cd io…

React Nativeアプリのバージョン管理

React Nativeのreact-native initでプロジェクトを作ると、ぎょうさんファイルがダウンロードされるけど、バージョン管理するときはどうするんだろ? 必要なファイルしかgitに登録しないはず。 gitは詳しくないので多分勝手に生成される.gitignoreとかの設定…

React Nativeことはじめ

何週間か前に、何気にyoutubeでVue.jsを勉強してみたところ、けっこうエレンガントな思想で面白かったので、がぜんWebアプリ開発に興味を持ちはじめた。 Webアプリ関連の技術はいまや結構応用が効いて、PCアプリやiPhoneアプリを開発できるフレームワークも…

久々ブログ再開&振り返り

戯言でもあとで読み返すと楽しいものだ。久々ブログ。 振り返ると、Clojureを始めたのが2016年、Haskellが2018年。 時間が経つの早いな。 去年の始めは、iOSで簡単なアプリも作って遊んでいた。 (Swiftはくそだな。というのはさておき) その前にAndroidも…

VS Codeのエディタを複数開く設定

Visual Studio Codeを使い始めた。 いらいらしたのが、Eclipseみたいに複数のファイルを開いておいて、タブで並べておけないこと。 これは結局、設定の Workbench > Editor: Show Tabs を true にすればよいのがわかった。 というだけのメモ。

XcodeでMGIsDeviceOneOfType is not supported on this platform.

Mac

iPhoneアプリ開発入門しようと、アップルのチュートリアルに従いなら、アプリを作ってったのだが、 コードを追加したあとエミュレータを実行すると、XCodeがエラーを吐いて止まってしまう。 MGIsDeviceOneOfType is not supported on this platform. とスタ…

Linux Mint日本語環境(US配列キーボード)

最近Linux Mintを使い始めた。古いiMacにインストール。 しかし、ブート領域を上書きされてMac OS Xの環境がおかしくなってしまった。 まあもうほとんど使わないからいいか。Linux MintはGUIシンプルだし超サクサクだし、自分好みだわ。 さて、最近まで日本…

STM32F103 Nucleo開発環境リンクメモ

STM32F103 NucleoボードでLチカまでやったが、このレベルでもMPUがリッチすぎるな。 H/WダイレクトのBare metal progurammingをやろうとすると面倒。 メーカー提供のライブラリを使わないとLチカするのも大変。もう少しシンプルなので遊びたいなと。 とりあ…

STM32 Nucleo Board買う

久々に寄った秋月でSTM32 Nucleoボードを購入した。 ボードのデザインに惹かれ、調べたら中身もなかなか良さげだったので、ほとんど衝動買い。 ジャケ買いみたいなもんだな。 STM32 Nucleo Board STM32F103: マイコン関連 秋月電子…

teensy 3.5でbare metal programmingことはじめ

ちとベアメタルプログラミングしたくなって、いい感じのマイコンボードないかと探していたら、teensyというのが、ARM Cortex-M4を使っていて手軽そうだったので購入してみた。 DEV-14055 Teensy USB Development Board - Teensy 3.5 標準ではArduino IDE環境…

Haskellでミニマムな正規表現のmatch関数を実装してみる

「ビューティフルコード」(オーライリー・ジャパン)のしょっぱなの章で、 カーニハン先生がロブ・パイクさんのミニマムな正規表現のmatch関数のソースコードを紹介していた。 たった30行ほどのC言語コードで、下記正規表現をサポートする。 文字 意味 c …

続:Haskell/Clojureでrepeated_combinationを実装してみる

http://hifistar.hatenablog.com/entry/2018/03/24/131654:repeat_combinationを実装してみるの続き。 この前書いたコードは結構無駄が多くて、実はもっとぜんぜん簡潔にコードが書けた。 ここまで簡潔なコードにブラッシュアップできたのは、Haskellのおか…

Clojureで日付の計算をする

引き続き「プログラマ脳を鍛える数学パズル」の問題を解いて遊んでいる。 第7問は日付を扱う。 問題自体は簡単なのだが、Clojureでの日付の扱い方がよく分からなくて、調べるのに時間がかかった。 clj-timeというライブラリがあるようだが、わざわざな・・・…

Haskell/Clojureでrepeated_combinationを実装してみる

前回やった Haskell/Clojureで数学パズル:コインの両替 - Programmer's Note の問題5は、書籍の解答例のひとつに、Rubyのrepeated_combination()を使った解があった。 こいつは任意の回数、配列の要素の組み合わせを出してくれる関数で、 探せばClojure/Has…

Haskell/Clojureで数学パズル:コインの両替

いやあ「プログラマ脳を鍛える数学パズル」楽しいですわ。 まだ5問しかやっていないけど、Clojure/Haskell両方で解いているので、一粒で二度美味しい。 しかも、解説は違う視点の解法を示してくれるので、3度も4度も美味しい感じだ。 5問目は、お金の両替…

Haskell/Clojureで数値をN進数表記に変換

去年からHacker Rankが面白くてハマっている。 今年に入ってからHaskellを始めたので、ますます関数型プログラミングでアルゴリズムをやりたい気分が上がっている。 アルゴリズム勉強したいなと思い、 有名なKnuth先生の「The Art of Computer Programming」…

Haskellの勉強をはじめる

今年に入ってからHaskellを勉強し始めた。これが結構楽しい。教科書は「Programming in Haskell」。(この本は名著だ) 読み進めてコードを書いてみるにつれ、最初の想像と違って、かなりLISPに近い印象を受ける。ラムダ計算がベースなので、そっくりなのは当…

Clojure: cond-> の使い所

久々のブログ更新だ。 いやはやClojureが楽しくてしょうがない。 特に何か作っているわけではないが、 ここ3、4ヶ月はHackerRank (https://www.hackerrank.com/) にハマって、パズル解く感覚でClojureを使って問題を解いて遊んでいた。 LISP言語はアルゴリ…

Vimにneosnippetを導入

SICPのexerciseをやっていると、例えば(ns …)の宣言など定型的な部分は、snippetがあると便利だなーと思う。 探してみたらvimのpluginで定番のneosnippetがあった。 GitHub - Shougo/neosnippet.vim: neo-snippet plugin この動作にはneocompleteが必要だっ…

[SICP] SICP第2章読了

第2章の最後の課題は残しているが、読了した。データの抽象化の威力をまざまざと見せられた。 なんといってもこの章のクライマックスの多項式の演算プログラム。 データの型およびClojureでいうマルチメソッドのシステムを自前で用意して、実にエレガントに…

mapのループをforで表現する

前回(mapと再帰で木構造を扱う - Programmer's Note)は、mapと再帰で木構造を扱う処理を書いたが、mapはシーケンスを順になめていく高階関数であって、いわゆるコレクションを扱うfor文と変わらない。 Clojureにもforマクロは用意されていて、かなり表現力…

mapと再帰で木構造を扱う

SICP楽しすぎるな。 第2章の途中、mapを使って木構造のデータ処理を紹介していて、えらく感動した。 題材は以下のとおり、木構造の中の全要素に対して任意のfactorを掛ける関数scale-treeを作ること。 (def ttree (list 1 (list 2 (list 3 4) 5) (list 6 7)…

recordを使ってデータ構造をつくる

SICPまじ楽しいな。この本は、一読して内容を理解するだけじゃなくて、手を動かしてコードを写経したり練習問題をやると、純粋にプログラミングの楽しさを味わえる。本質的な部分(パラダイム)を濃密に扱っているので、数学と一緒で、手を動かして思考を追…

SICP第一章読了

SICP第1章を読了した。演習問題もコンプリート! 言語はSchemeではなくClojureを使ったのでClojureのいい練習にもなった。 振り返ると、プログラミングの教材として、構成が実によく考えられていて感動すら覚える。 一級品の少年漫画やRPGなみのストーリー…

Clojureでパスカルの三角形

SICP遅々と読む。練習問題にパスカルの三角形の要素を計算せよ(再帰を使って)、というのがある。 フィボナッチ数列の次くらいに手軽な題材でいろいろ試せて遊べるなと。 Clojureらしい解き方は、やっぱ遅延シーケンスを作るやり方だろうなと。 出力形式は…