ばんぶーのひとりごと

ばんぶーが、好きなことをおしゃべりします。

「ABC049D 連結」を解きました

ばんぶーは競プロを辞めたようにみえて、ひっそり蟻本のゼミに参加しています。

UnionFind木のお勉強をしているので、ABC049D 連結を解きました。

アルゴリズムとかもお勉強になったんですけど、Pythonの言語使用的にほぇ〜!ってなったことが2つほどあったので、メモしておきます。

提出はこれ

【もくじ】

二分探索

Pythonの二分探索ではbisectさんにいつもお世話になっています。

第一引数はソートした配列、第二引数は値だと思っていたんですが、多次元配列にも適用可能でした!!!

第二引数に配列を取れました。という驚きです。

配列をいい感じに出力

今回の問題みたいな出力、Pythonだとめんどくさくないですか?

ばんぶーは、よく end="" を使ってました。

でも、この記事で紹介されている一番簡単な方法の アンパック ってやつがすごいです。

めっちゃ簡単、便利。

アンパックについて調べてみたら、Pythonさんがとても賢いことがわかりました。

この記事の「アスタリスク*を使ったアンパック」の例(下の画像)が、賢すぎ!天才!ってなりました。

f:id:bamboo_music:20211209231801p:plain

おしまい。

Gitのブランチ切る練習🌲

初めてGitのブランチを切りました

忘れるのでメモをします。

コマンドいろいろ

  • git branch 今いるブランチが表示される

  • git checkout 〇〇 〇〇という名前のブランチへ移動する

  • git fetch 最新の状態を取ってくる

  • git checkout -b 〇〇 今いるブランチに、〇〇という名前のブランチを作成

  • git pull origin 〇〇 〇〇という名前のブランチの内容をローカルにひっぱってくる

  • git branch -d 〇〇 〇〇という名前のブランチを削除

ブランチ切って作業する時の流れ

  1. すでにあるなら、状態を取ってくる(fetch)

  2. 新しいブランチを作る

  3. そのブランチへ移動

  4. 作業する

  5. アッド

  6. コミット

  7. プッシュ

  8. プルリクを出す(GitHub上で)

  9. OKされたら、マージする(GitHub上で)

  10. 手元をGitHubと揃える(pull)

  11. いらなくなったブランチを消去

技育展に登壇しました!

技育展に登壇しました!

技育展の「はじめてのアウトプット」に登壇しました!

最近作ったPythanon(Pythonでハノンっぽい曲を自動で作曲)で登壇しました。

ぜひ、デモ動画QiitaGitHubなどご覧ください!

賞は取れなくて残念だったけど、(画面越しだけど)大人数の前で話すのはいい経験になりました!

Twitterに弾いてみたい!とか、いろいろコメントもらえたのもうれしかったです♪

他の人たちもとてもレベルが高くて、勉強になりました。

特にはじめてのアウトプットは時間が3分と短く、どの部分をカットするかとても悩みました。。

また、はじめてのアウトプットの最後にあったGMOインターネットさんのLTがとても面白かったです!

アウトプットが新たなアウトプットを呼び寄せる、たしかになーって思ったし、アウトプットをしたいから勉強もするし、いいなーって思いました!

懇親会🍻

ビールの絵文字書いたけど、お酒は飲んでませんー笑

一人ひとりの発表に対して、担当のスポンサー企業さん(GMOインターネットさん)からフィードバックをいただけて、勉強になりました!

私の発表の場合は、タイトルを聞いただけだとAI使ってそうって思ったと言われて、私は音楽の知識で殴って作ったって感じだったので、プログラミングの場で発表するものとしては、もっとプログラミングプログラミングしてた方がいいのかな〜と反省しました。

他にも、二次会では他の参加者の皆さんとお話できて楽しかったです!

TwitterのFFも増えました!笑

二次会のブレイクアウトルームで彼氏さんと同じお部屋になったことは驚きました。

最後に

他の方の発表を聞いていると、はじめてのアウトプットでプログラミングも初めてなのにすごい作品を作っていたり、ガチプロがいたり、私も頑張らないとー><になりました。

積読解消とか、他の作りたいもののアイディア消化とか、がんばります💪

とってもいい機会を提供してくださったサポーターズさんやスポンサー企業さんありがとうございました!!!!!

キャンプハッカソンに参加しました!

キャンプハッカソンって?

ハックツさんの主催するキャンプをしながらハッカソンをするイベントです!

所属している九州工業大プログラミング研究会のみなさん4名と一緒に参加しました!

私にとって、初めてのオフラインハッカソンでとても楽しかったです!

1日目

私は、彼氏のおうちから飛行機で戻ってきた直後にキャンプハッカソンへ直行したので、少し遅れてしまいました、ごめんなさい><

事前開発OKだったので、事前にみんなでアイディア出ししていたのですが、着いたらなんか聞いたことないアイディアに決定してました笑

そのアイディア、なんと「カブトムシになろう!!!!」

はい?????って感じでした笑

木に登った写真をアップロードすると、自分の体がカブトムシになる、というアイディアらしいです、、

Pythonでしよう!みたいになって、機械学習で人が木に登っているか判断して、OpenCVでアップロードされた写真の上にカブトムシの画像を乗っけて、FlaskでWebアプリにする、みたいな感じでした、たぶん。

私ブログ書いているんですが、あまり使い物になってなくて、発表用スライドとか作ってたので、わかってない技術が多くて…

知らない技術ばっかりだったので、ググりながらがんばりました。

OpenCVの難しかった点として、RGBA形式で画像が読み込まれるので、背景透過画像を読み込むと背景が黒くなってしまいます。

このQiitaを参考にして、論理演算子を使いながら解決しました。

この日は結構みんな夜遅くまで頑張ってたのですが、わたしは4時起きだったももあって、途中で寝ました🙇‍♀️

2日目

HTMLとCSSをいじったりしました。

Webが全くできないので、やばかったです。

なにか簡単なものでいいので、Flask使ってアウトプットしてみないとやばいなって心底感じました。。。

この日貢献できたことは、かわいいフォントを見つけてくるくらいでした…

発表までに完成しきらなかったです、、、、

夜に発表がありました、ユーザストーリーのわかりやすい発表に惹かれるなーと思いました。

クオリティ高い班とか、アイディアおもしろいなーって班とかいっぱいで、勉強になりました!

2日目の発表後は、みんなで仲良くピザ食べたり、夜は人狼で夜更かししたり、とっても楽しかったです!

意外と女の子もいて、女子会みたいな感じでキャッキャおしゃべりしてたのがめちゃめちゃ楽しかった♪

3日目

3日目も、みんなでわいわい懇親するなどしました!

ハックツの方にデザインのお勉強方法を教えていただいたり、ハッカソンのコツを教えていただいたり、とっても有意義でした!!!!!

感想

オフラインハッカソンまじで楽しい!!!!!

おうちでぼっちでコード書いてると、わかんないときに嫌になっちゃうけど、オフラインでみんなが頑張ってるのが見えると、私も頑張ろう!!!!🔥🔥🔥🔥ってなった!

またオフラインイベント参加したい!

他の参加者さんや運営のみなさんと交流できたのもめっちゃ楽しかった!

運営のみなさんありがとうございました!

インターンに参加しました!!

どんなインターン

この夏休みに、リクナビで見つけてきたインターンに参加しました。

インターン先の基本情報は以下の通り↓↓↓

  • 3日間(13:00~17:00)

  • 交通費支給(一律500円)

  • 給与なし

  • 地方のIT系

  • 全学年・全学部対象、未経験OK

そもそも、なぜ2年生なのにインターンに参加しようかと思ったのかと言うと、今年参加しておけば少しでも就活で楽できるのでは?とか思ったからです。

正直、いきなり自分の本命の企業にインターンに行くのは怖くないですか?わたしは怖いです。

だから、とりあえず2年生のうちに、今のところ行くつもりはないけど興味は少しあるIT系に行ってみよー!って思いました。(ばんぶーの本命は音響系です)

まず、理工学部じゃなくて、3年生じゃなくても行けるインターンで、下宿先か実家から通える範囲、できれば交通費とかもらえると嬉しい、って条件で探したら、上で書いた企業が見つかりました。

先着順で参加できるので、選考はなかったです。

1日目

電車の時間的にかなり早く着きそうだったので、インターン先でお弁当を食べさせてください、と電話したらOKでした。

そのため、12:20頃についてお弁当を一人で食べていました。

田舎の公共交通は少なすぎるので、実家を10:00頃には出発しなきゃいけなくて、インターン先でお弁当の許可が降りて安心でした。

まずは、会社概要とかのお話を人事の方から1時間くらい聞きました。

感想は、へーってくらいです、それ以上でもそれ以下でもなかった…。。

あと、入社したばっかりはプログラマーとしてプログラミングを書くお仕事だけだけど、必ずみんなSEとして営業とか計画を立てるとかマルチになることを目指してもらうと言っていて、びっくりしました。

そのあとは、若手社員(エンジニア)の方2人からプログラミングに関する講義を聞きました。

プログラミング未経験者OKのインターンだったので、変数の説明から入りました、正直眠かった()

言語はVB.NETっていう初めて聞いた言語でした。

この言語、if文の終わりにend ifって書くので、if文の塊がわかりやすいなーって思いました。

1日目は演習はなくて、ひたすら講義を聞いていました。

2日目

講義と演習をしました。

VB.NETだけではなく、SQLも少し学びました。

演習は、社員さんの話したことを写経するような感じでした。

仕様書を渡されて、社員さんがその仕様書の読み方やコードの書き方などを細かく説明してくれました。

3日目

ほんの少しの講義のあと、最終課題のような演習問題に取り組みました。

仕様書を渡されて、そこから各自で課題を進めました。

定期的に時間を区切って、進んだところまで答え合わせをするような感じでした。

2日目に社員さんと一緒に取り組んだ課題にかなり似ていたので、私は周りの学生さんよりも早く課題が進みました。

そのため、追加課題を渡されました。

追加課題は3つあり、3つ目の途中までできました。

追加課題3にたどり着いた人は初めてと言われたのがうれしかったです。

追加課題に、「〇〇クラスにある△△関数を利用」って書いてあったのですが、クラスとかオブジェクト指向とかわからないので、なんとなくググって乗り切りました。

いい加減オブジェクト指向のお勉強を進めなければ…。。。。

3日間を通しての感想

インターンの感想

業務のプログラミングってこんな感じなのかな?って少しはわかった気がします。

仕様書とか初めて見たので、すごいなーって思いました。

IT系は服装とか出勤時間とか自由なイメージが強かったのですが、今回行った会社はそんな風ではなさそうでした。

自由な雰囲気の会社は、一部のIT企業に限られているのだと感じました。

周りの学生さんたち

私以外に、2人の学生さんがいました。

ほんとはもう1人いたらしいけど、ドタキャンっぽかったです。

情報系の専門学校生と、文系の大学生の方でした。

みなさんプログラミング経験があるとのことで、講義の最初の方は少し物足りないよねーと話してました。

自分含め、県外からの参加者ばかりでした。

自己紹介の時に、大学名は言わずに今住んでいる県しか言わないつもりだったのですが、同じ県の方がいて、どこ大学ですか?と聞かれてしまったので言うことになってしまいました。

なにかと、ばんぶーさんは〇〇大だからやっぱ賢い…みたいなの言われて少しつらくなっちゃいました、私がプログラミング少しできるのは、私が〇〇大だからではなく、私が一人でがんばったからです。

でも、違う学校の方と、行き帰りのバスとかでたくさん話せたのはよかったです。

オブジェクト指向を学ぶには、Javaを書いてたら自然と身に付くからJavaがいいよとか教えてもらいました。

今後…

SQLとか少し触ってみて、Excelの上位互換?って思ったので、もう少し調べてみたいなーと思ってます。

あと、ひたすらオブジェクト指向を勉強しないと!!!!というお気持ちになれました。

Python使いなら理解しましょう(?)

VB.NETは今まで聞いたことなかったし、どういうところでよく使われている言語なんだろー?って思ったので、調べてみないと…

サマーハッカソンに参加しました!

サマーハッカソンって?

株式会社VOYAGE GROUPさんと株式会社サポーターズさんの主催するサマーハッカソンに参加しました。

2日間で成長するぞ✨みたいなハッカソンです(たぶん)

成果物✨

虫食い算自動作問ツールを作りました!

共同作成者はにゃにゃんです。

こちらからダウンロードできるので、ぜひ遊んでみてください!(Windows版のみ)

ソースコードデモ動画もぜひどうぞ!

ばんぶーが頑張ったこと

フロントエンド

GUIPythonTkinterっていうライブラリさんにお世話になりました。

このかわいいデザインの原案はすのーちゃんです、めちゃめちゃ感謝🙇‍♀️🙏✨

いろいろGUIはこだわりました。

  • 色弱でも見やすい色

  • 直感的に操作方法がわかりやすい配置

  • かわいさ🍎

などです。

アイディア

夏休み前のばんぶーが考えました。

わたしが履修してた授業で、プログラミングはしないけど、サイバー空間上の新しいサービスを提案するという課題で提出したものを元にしました。

環境によっては、お友達を問題を出し合うといったことが難しいことがあるので、このツールがあったら便利だな〜と思いました。

広報?

YouTubeに動画をあげたり、ReadMeを書いたり、ロゴをパワポ作ったりしました。

ちまちましたこと(?)をがんばりました。

感想

入選をいただけてうれしかったです。

ハッカソンだったのですが、最後まで作れて楽しかったです!

今から少しブラッシュアップするつもりなので、頑張ります💪

知ってる人もちらほらいたし、他の方の発表も面白かったので、とても有意義な時間でした✨

主催者のみなさんありがとうございました!

これから頑張ること

GUIをさらに改善させます。

現状では、かけ算の虫食い算しかないので、足し算、引き算、割り算も実装していきたいです。

Macでも使えるようにしたいです。

ブラームスOp118-2のまとめ

はじめに

わたしは、2年前期の授業でブラームスOp118-2を課題曲として練習しました。

ちなみに、 こんな曲 です。

レッスンはとても刺激的で勉強になったので、復習もかねてここにまとめます。

いわゆる、ただの備忘録です。

細かいことを書くので、興味のある人だけ読んでください><

小節番号数え間違えてたらごめんね

全体的なお話

ブラームスは内声と低音が特徴的。そのため、内声や低音を豊かに演奏する。

細かいお話

  • 全体的によく出てくる下図のようなリズムは、1つ目の音と2つ目の音が同じ音量じゃなくて、1つ目の音に重心をおく(弱拍強拍を考えれば当たり前)。

f:id:bamboo_music:20200821150150p:plain:w200

  • 6小節目に向かうcresc.のあと一度pにしてもう一度cresc.をかける。

  • 8小節目でブレス。左手のミだけタイで伸ばす。

  • 16小節目〜はpの中でcresc.とdim.をがんばる。

  • 23,24小節目のcresc.は左手で盛り上げていく感じ。

  • 25小節目から4小節間は前に進んでいく感じ。

  • 29,30小節目はrit.を少し。

  • 31小節目からは落ち着いて。

  • 34小節目4拍目の左手は届かないのでアルペジオする。

  • 39小節目からの内声は特に大事。

  • 43小節目からは低音が入ってくるので、この低音を大事に!!

  • 45小節目アウフタクトの最低音、45小節目1拍目のファ(今までの中で高い音)が出てくるので、これを大事に。

  • 47,48小節目はドシレーがメロディ。ここが聴こえるように。

  • 49小節目からはさらっと。左手の上にも棒が生えてる音が聴こえるように。

  • 56小節目rit.していって、右手のドだけが残る。

  • 57小節目からは柔らかく。全ての音が同じ粒で。

  • 59小節目4拍目の音、60小節目2拍目の音に重きをおいて。

  • 63小節目の伸ばしているドの音大事。rit.とともにdim.も。

  • 65小節目アウフタクトはしっかりと。

  • 69小節目からはfでしっかり。

  • 79小節目は前半と違うものが出てくるので、たっぷりrfで。ゆっくり弾くことで今までと違うぞ!感を。

  • 82小節目の1拍目の一番上の音が大事(今まではシじゃなくてラだったので)。

  • あとは大体前半と一緒()

おわりに

以上です。

もし誰かブラームス弾くなら参考にしてください((