最近の記事

M1 macbook proでROS1 Noeticの使い方を覚える時のエラー備忘録

YouTubeにある2.5時間のCrash Courseをする上で、手間取った部分をメモっていく。Crash Courseの動画はこちら Parerallsを使ってUbuntu20.04(Arm用)をインストールする。 isoイメージはこちらから。 Desktop環境をインストール $ sudo apt update$ sudo apt upgrade$ sudo apt install ubuntu-desktop$ sudo reboot ROS1 Noeticを

    • ATtiny85にArduino経由で書き込む方法(エラー対処など)

      ATtiny85にArduino経由で書き込む方法をまとめます。エラーに躓いて2時間くらいかかりました. Lチカを例として簡単にまとめます. 必要なものATtiny85 Arduino Uno LED ジャンパーワイヤー ステップ1:Arduino AVR Boards/ATTiny CoreのインストールボードマネージャからArduino AVR Boardsのバージョン1.8.2, ATTiny Coreの1.5.2をインストールします. 前者を最新にしないのはエラー

      • M5stampにArduino IDEで書き込む

        M5stampの使い方の情報が全然出ておらず、困ったので調べました。 英語ですがこちら(https://notenoughtech.com/esp/m5stamp/)のサイトを参考に色々試して書き込めたので記事にします。私が書き込めた、というものなので無駄な操作があるかもしれません。 UIFlow版はこちら↓ 必要なもの ・M5stamp ・USBシリアル変換ケーブル(例えばこちら) 1. シリアル変換ケーブルでM5stampとPCを接続する。今回使ったシリアル変換ケー

        • M5stampを使ってみる

          M5stampの小ささに感動して2つ衝動買いしたものの、使い方がよくわからなかったので海外のYoutuberの方の動画を参考にまとめました。 【参考】https://www.youtube.com/watch?v=bxP5LJeAbNo Arduino IDEで書き込む方法はこちら↓ 目標:M5stampでUIFlowを起動する。UIFlow自体は初めて触ったのでUIFlowに辿り着くまでの解説です。 1.ピンを半田付け 付属の六角レンチでプラスチックカバーを外し、ピ

          Twitter APIの使い方【Python】

          こんにちは、しーたです。 最近Twitter APIの使い方が分かってきたのでメモを残します。 OAuth認証、という方法を使っていきます。 今回は例としてタイムラインを取得します。 ↓ドキュメントhttp://westplain.sakuraweb.com/translate/twitter/Documentation/REST-APIs/Public-API/GET-statuses-user_timeline.cgi ソースコード# -*- coding: utf

          Twitter APIの使い方【Python】

          Stringer・エラーの作成【夏休みにGo vol.23】

          こんにちは、しーたです。 今回はStringerとエラーの作成について学んでいきます。 StringerStringerとは"String()"という"fmt.Println()"などでの出力内容を変更できる特別なメソッドです。 実際の例を見たほうが分かりやすいでしょう。 【Stringerなし】 type User struct { Name string age int}func main() { user1 := User{"Yuki", 20} fmt.Pri

          Stringer・エラーの作成【夏休みにGo vol.23】

          interface・switch/type文・ダックタイピング【夏休みにGo vol.22】

          こんにちは、しーたです。 今日はinterfaceとswitch/type文について学んでいきます。 interfaceとはinterfaceとは、「なんでも入れられる型」です。 intやstringなど、任意の値を入れて、後から(intやstringに)戻すことができます。実際に2つの使い方を見ていきましょう。 interfaceの使い方① (switch/type文)「なんでも入れられる」という性質を利用して、関数に様々な型の因数を渡すことができます。またswitch

          interface・switch/type文・ダックタイピング【夏休みにGo vol.22】

          embedded(継承)・struct以外についてのメソッド【夏休みにGo vol.21】

          こんにちは、しーたです。 今日はembedded(継承)とstruct以外についてのメソッドについて学んでいきます。 embedded(継承)他のstructの要素を含んだ新しいstructを定義することです。 他の言語ではよく継承と呼ばれます。 以下の例ではVector2Dの要素をembeddedしてVector3Dを定義しています。 ※コンストラクタにも注目です。 type Vector2D struct { x, y int}type Vector3D struc

          embedded(継承)・struct以外についてのメソッド【夏休みにGo vol.21】

          メソッド・コンストラクタ【夏休みにGo vol.20】

          こんにちは、しーたです。 今回はメソッドについて学んでいきます。 メソッドメソッドとは”A.scale(2)”のような書き方で実行できる処理のことです。 これを用いることでオブジェクト指向的に処理を書くことができます。 次の例では"scale()"がメソッドです。 関数名の前に(r *circle)のようにstructを指定することでメソッドを作成することができます。 type circle struct { X, Y, R int //中心の座標と半径}func ge

          メソッド・コンストラクタ【夏休みにGo vol.20】

          struct(構造体)【夏休みにGo Vol.19】

          こんにちは、しーたです。 今日はstructについて学んでいきます。 structstructとは「複数の変数をまとめて一つの型としたもの」です。 構造体とも呼ばれますね。 下記ではName, Price, Stockの3つの変数を持つ構造体fruitを定義しています。※変数名は先頭大文字です。大文字・小文字の区別はアクセスできる範囲を意味しますが、まだ理解していないので詳しい説明は省きます。 メモリを確保する場合はnewを使いますが、structに限り"&fruit{

          struct(構造体)【夏休みにGo Vol.19】

          ポインタ(&と*)・newとmake【夏休みにGo vol.18】

          こんにちは、しーたです。 今日はポインタとnewについて学んでいます。 ポインタ(&と*)"&"はその変数の値が入っているアドレスを指します。 "*"はそのアドレスに入っている値を指します。 以下のように確認できます。 func main() { var n int = 100 fmt.Println(n) fmt.Println(&n) //アドレス var p *int = &n //アドレスを値として代入 fmt.Println(p) fmt.Println(*p

          ポインタ(&と*)・newとmake【夏休みにGo vol.18】

          panic / recover【夏休みにGo vol.17】

          こんにちは、しーたです。 今回は「予期せぬエラー出た場合にプログラムをできるだけ早く強制終了させる」のに用いられるpanicとrecoverについて学んでいきます。 ※Goでは自分でpanic文を書くことは非推奨になっています。要は「予期せぬエラーなんて出さずに、ちゃんとエラー内容を返しなさい!」ってことです。 panic / recoverpanic文が実行されると、できるだけ早くプログラムが強制終了されます。 またrecover文によって「panicの内容を取得」&

          panic / recover【夏休みにGo vol.17】

          logをファイルに出力する(実用)【夏休みにGo vol.16】

          こんにちは、しーたです。 今回はlogの内容をファイルに出力する方法を紹介します。 ※logの基本については前回の記事を参照ください。 https://note.com/theta04/n/n9dd9aa531bb7 プログラム例・動作プログラムに実行中に出たログを、引数に与えた名前のファイルに出力する"loggingSettings関数"を作成します。 func loggingSettings(filename string) { logfile, _ := os.Op

          logをファイルに出力する(実用)【夏休みにGo vol.16】

          range・switch・differ・log【夏休みにGo vol.15】

          こんにちは、しーたです。 今日はrange, switch, differ, logについて学んでいきます。 range配列の要素についてfor文の繰り返しをすることができます。 下の例では"list"の各要素についてfor文の中身を実行しています。 func main() { list := map[string]int{"apple": 100, "orange": 150, "peach": 300} for name, price := range list {

          range・switch・differ・log【夏休みにGo vol.15】

          if文・for文・(Goにはないけど)while文【夏休みにGo vol.14】

          こんにちは、しーたです。 プログラミングの定番、if文・for文・while文について学んでいきます。 ※Goにwhile文はありません!! if文他の言語と同じように書くことができます。 func main() { x := -1 if x == 0 { fmt.Println("x=", x, "は0です") } else if x > 0 { fmt.Println("x=", x, "は正の数です") } else { fmt.Println("x=", x

          if文・for文・(Goにはないけど)while文【夏休みにGo vol.14】

          可変長関数【夏休みにGo vol.13】

          こんにちは、しーたです。 今日は可変長関数について学んでいきます。 可変長関数ずばり、任意の数の引数を与えられる関数のことです。 実際に与えた引数の合計値を返す可変長関数を作成してみます。 sum関数の引数を"params ...int"とするのがポイントです。 func sum(params ...int) (sum int) { sum = 0 for i := 0; i < len(params); i++ { sum += params[i] } return}

          可変長関数【夏休みにGo vol.13】