SwiftはYouTubeでも意外と学べる
こんにちは、Tourismプロジェクトのたいせいです。 今回は、Swiftの学習に使えるYoutubeのチャンネル・動画を紹介したいと思います。
はじめに
そもそもSwiftとは
SwiftとはiOS、Mac、Apple TV、Apple Watch向けのアプリを開発するためにAppleが提供しているプログラミング言語のことです。
おすすめのYoutubeチャンネル
iOS Academy
一つ目はiOS Academyです。
このチャンネルは、海外のエンジニアがSwiftのライブコーディングで簡単なブログアプリを作ったり、Swiftのプロトコルやモジュール、UIKitの特定のフレームワークについての解説動画をアップロードしています。 更新頻度も高いので見ていて楽しいです。
いくつか動画を紹介します。
Building Spotify App in Swift 5 & UIKit - Get Started (Xcode 12, 2021, Swift 5) - Build App
Spotifyのクローンアプリを作成する動画です。Ep30くらいまであります。
RxSwift Basics & Intro (2021, Xcode 12, Swift 5) - iOS for Beginners
Swiftでの非同期処理を実現する、RxSwiftについて解説している動画です。実際のコードを追いながらライブコーディング形式で解説されるのでわかりやすいです。 丁寧に文章で解説されるよりも実際に動くコード見た方が理解しやすい時もあると思います。僕がRxSwiftを学ぶときはそうでした。
Swift: VIPER Design Pattern (Architecture, 2021, Xcode 12, Swift 5) - iOS Development
VIPERアーキテクチャについて解説しています。アーキテクチャは概念を理解しても実装はできないということが起こりがちだと思いますが。実装していく様子を追えるのですごくわかりやすいです。
VIPERの他にもMVPとかMVVMもあった気がします。また、アーキテクチャの他にもデザインパターンについての解説もありました。
iOS Academyはこんな人におすすめ
iOSDC Japan
二つ目はiOSDC Japanです。 このチャンネルはiOSDCという国内のiOSエンジニア向けカンファレンスのアーカイブをアップロードしています。
内容は難しいですが、実際の現場のリアルな話や、Swiftの色々な小話が聞けるので面白いです。
個人的に好きな動画↓
内容は難しいですが騙されたと思って33:00あたりから見てもらえると。
iOSDC Japanはこんな人におすすめ
- 現役iOSエンジニア(かなり強め)のお話しを聞いていみたい
- 実務でのSwiftに関するペインや運用の工夫などをキャッチアップしたい。
湯涌町に行ってきました -アプリテスト編-
はじめに
こんにちは!
Tourismプロジェクトは湯涌町と協力してプロジェクトを進めています。
今回、11月20日(土)にメンバー6人で再び湯涌町に行かせていただきました。 この記事ではその時の様子をリポートしていきたいと思います!
前回湯涌町を訪れた際の記事もあるのでそちらも是非ご覧ください。 kit-tourism.hatenablog.com
午前の活動
集合~移動
金沢工業大学に集合し、湯涌町へ移動します。 湯涌町までは車で約30分程度です。 今回は先輩と自分の2台の車で湯涌まで移動しました。
湯涌町に到着
湯涌町に到着!
思ったよりも早く着いたため、いろは館にお邪魔させてもらいました。
いろは館には過去のぼんぼり祭りのポスターからキャラクターの特大パネルなど様々な記念品が飾られています。
花咲くいろはファンの皆さんはぜひ一度訪れてその目で確認してみてください!
打ち合わせとテスト開始
時刻は11時を回り、打ち合わせ組とテスト組に分かれて行動開始です。
打ち合わせ組は湯涌町の方々と現在までの開発状況を報告していきます。
一方、テスト組はアプリが正しく位置情報を取れているかスポットへ行って確認していきます。
一つ目のスポットである白鷺の湯さんは正しく反応されました!
しかし、2つ目のスポットである稲荷神社が全く反応しない事態に..
食事の時間
打ち合わせとテストが終了した頃、時計の針がてっぺんを回ったため、みんなでお昼を食べることに。
お昼は高尾食堂さんで頂きました。
メニューは定食から、麺類、丼類に至るまで豊富に揃っています。
今回、私は月見うどんを頂きました。(写真を撮る前に食べちゃいました(笑))
先輩の食べていた天丼もおいしそうだったので次回はそれを頼んでみようかな。
午後の活動
エネルギーを養ったところで午後の活動開始です。 午後からは分かれたチームも合流して行動していきます。
アプリの修正と写真の収集
午後からは実際に現地でアプリに使う位置情報の修正と、今後アプリやwebサイトで利用する湯涌町の写真を集めていきます。
位置情報の修正では、位置情報を利用する各スポットを回り、その場でパソコンを広げながら作業していきます。
また写真収集では、この日はとっても天気がよくきれいな写真がたくさん撮れました。
お楽しみタイム
本日の仕事がすべて終わったところでお楽しみタイムです!
白鷺の湯さんで湯涌の温泉を満喫します!
やっぱり温泉はいつ入ってもいいですね。今日の疲れが全て取れていきました。
しかし、一つだけ注意点として白鷺の湯さんにはシャンプーやボディーソープは無料では備え付けられていません。
そのため、余計にお金を払いたくない方はお風呂セット一式を持参してことをオススメします。
自分は今回タオルさえ持ってなかったので、次回からはそうしようと思います...
また、一部メンバーは喫茶店を満喫していました! そちらもとってもよさそうだったので、次回はそちらにも訪れたいなぁ。
まとめ
今回の湯涌町訪問でアプリの現状の課題発見とアプリリリースに向けて大きく前進することができました。
普段のTourismプロジェクトは個人での活動が多いため、こうやってみんなで集まって温泉街で活動するのはいい気分転換になります。
この記事でTourismプロジェクトにちょっとでも興味を持ってくれたら、TourismプロジェクトのTwitterもぜひ確認してみてください! twitter.com
また、メンバーを絶賛募集中なのでTourismプロジェクトについてもっと知りたい!自分も参加したい!という方は下記のURLから個別説明会を行っていますので是非ご参加ください。
おまけ
この後、新メンバー歓迎会として焼肉に行きました。
メチャクチャ美味しかった!
アルゴリズムとデータ構造に興味がある人へ
はじめに
「アルゴリズムに興味がある。」「アルゴリズムの考え方を勉強したい。」「就活でコーディングテストがあるから勉強したい。」という人!
今回は著者が、アルゴリズムの勉強で良い教材だなと思ったものを紹介したいと思います。
「興味があるけど、何からやればいいかわからない。」
私も最初、このような悩みがありました。 周りの競技プログラミングをやっている人や自身で調べて買ってみたもの、やってみたものの中からご紹介したいと思います。
今回紹介するものは、Webサイトと参考書です。
紹介
Webサイト
Atcoder Problems
日本で競技プログラミングといえば、やっぱりAtCoderですね!
いつもお世話になっているひとつです。
しかし、過去問を解きたかったり、コンテストの時間予定があって出ることができないことがあったりすると思います。
そこで有志の方が過去問をまとめてくれているサイト! それが、AtCoder Problems!!
このサイトのすごいところは、自分が解いた問題を色分けすることができることです!
例えば、解くこと(AC)ができたらボタンが緑色になり、間違え(WA,TLE etc..)ると黄色に変わり、一目でわかります!
緑に染めていくことがすごく気持ち良く感じます!
AtCoder Problems : https://kenkoooo.com/atcoder/#/table/
AOJ(AIZU ONLINE JUDGE)
次に紹介するサイトはAOJ!
会津大学が運営を行っているコンテストサイトです。
このサイトは公式が過去に出題した問題を掲載しているページがあることが特徴です!
さらに問題は勉強したいコースや順序良くスキルアップしていくページなどがあり、コンテンツがとても充実している。
アルゴ式
さて次は、アルゴ式!
このサイトの製作者である@sak_algoさんのブログでは、
「プログラミングを道具としてコツコツ積み立てることで、様々な知識に触れ、論理的思考力やコーディング力を身につけられるアプリケーション」*1
だそうです!
公開が2021年8月1日ということで、まだリリースして4ヶ月近くですが、コンテンツ量がものすごく多いと感じます! 探索やソート、グラフ、DPなどのアルゴリズムから論理的思考力を鍛えるためのコンテンツなど他のサイトにないコンテンツまでを網羅できるサイトです。
これぞ、本当のアルゴリズム教材であると思いました。感動(; ;)
Qiita
これはQiitaで書かれたブログで重宝しているサイトを紹介します。
今回は1サイトだけを紹介します。
そのタイトルは、
「レッドコーダーが教える、競プロ・AtCoder上達のガイドライン」*2
著者は、@e869120さんです。
こちらは初級者と中級者、上級者の3種類のシリーズがあります。 主にAtCoderを軸に記事が書かれており、競プロについて詳しく・わかりやすく書かれています!
この記事で練習できるところは、中級編の「分野別 初中級者が解くべき過去問精選100問」です。
この記事のいいところは競プロについて詳しく知れるに加えて、全コンテンツ合わせて100問が激選されています。この100問は先ほど紹介したAtCoderとAOJから主に選定されています。
いいとこ取り!そしてありがたい!
これをやっていき苦手だと感じたコンテンツをAOJやアルゴ式を使い、より深く勉強してみるということを私はしています。
参考書 - 本 -
続いてに本についてです。
これは誰もが知っているかもしれませんね。
この本は蟻本と呼ばれている参考書です。プログラミングコンテストの問題を通してアルゴリズムのしくみや考え方を楽しく習得できる参考書となっています。
蟻本はC++で書かれています。
C++で書かれているので、Pythonで書き直してみるなどしてみてもいいかもしれないですね。
この本は、アルゴリズムの紹介だけではなく、アルゴリズムを使いこなせるようになるために書かれています。
すごく図や表を用いてすごく読みやすく、またわかりやすく書かれていました。
一応、本書もC++で書かれています。
まだ読んだことがないという方は書店などで試し読みをしてみてはいかがでしょうか。
まとめ
いかがでしたでしょうか?
今回はアルゴリズムについて始めてみたい人、スキルアップしたい人向けに書いていきました。
今回はWebサイトから「AtCoder Problems」、「AIZU ONLINE JUDGE」、「アルゴ式」、「Qiita(レッドコーダーが教える、競プロ・AtCoder上達のガイドライン)」を紹介しました。参考書は「プログラミングコンテストチャレンジブック [第2版] ~問題解決のアルゴリズム活用力とコーディングテクニックを鍛える~]」と「問題解決力を鍛える!アルゴリズムとデータ構造 (KS情報科学専門書)」の2点をご紹介しました。
自分なりにより良いものをご紹介できたのではないかと思います。
何かを始めるとき、何から始めればいいかわからない事が多いと思います。そんなときにこの記事と出会っていただけたら本望です。
著者:@RysaHib
DeepLearningの力でアニメの世界に行きたい!
皆さん、こんにちは!
すずきです🐢
今日はDeepLearning🧠を使って
アニメの世界⭐️に行ってみようと思います👊
AnimeGANv2とは?
まずは、今回使う技術🤖のお話です!
皆さんは、DeepLearning🧠をご存知ですか?
そうです!AI(広義)技術です!
その中でも、今回はAnimeGANv2を使って
自分の写真🤳や風景の写真🌸をまるでアニメの世界⭐️で撮った写真のかのように加工できます!
ちなみに以下の画像はGithub🐱🐙にあった出力の例です!
このような研究分野を深層生成モデルといい画像加工分野📸をはじめとした様々の分野で使われています!
Colabで試そう!
ここからColaboratoryという無料でPython🐍を簡単に実行できる環境に行ってみましょう!(PC推奨)
ノートブックを新規作成
左上の「ファイル」📁から「ノートブックを新規作成」📔を選択します。この画面が表示されれば環境構築終わりです。
いざコーディング💻
1. まずは変換したい画像をColaboratoryにアップロード⬆️してみましょう。
左のフォルダのマーク📁を選択し、その中の左上にあるアップロードボタンから写真をアップロード⬆️しましょう。
2. まずは三角▷の横にあるテキストボックスに以下のコードを書きます。
from PIL import Image import torch
実際書くとこんな感じになります。
ここでは、Pillow(PIL)という写真を扱うためのライブラリと
PyTorch(torch)というDeepLearning🧠ライブラリをインポートします。
3. 左の「+コード」からコードブロックを追加して以下を書きます。
def crop_center(pil_img, crop_width, crop_height): img_width, img_height = pil_img.size return pil_img.crop(((img_width - crop_width) // 2, (img_height - crop_height) // 2, (img_width + crop_width) // 2, (img_height + crop_height) // 2))
ここでは、画像を切り抜く関数を定義しています。
4. 先ほどアップロードした画像を表示しましょう
img = Image.open('/content/画像の名前.jpeg').convert('RGB') min_wh = min(img.size[0], img.size[1]) img = crop_center(img, min_wh, min_wh).resize((512, 512)) img
注意: img = crop_center(img, min_wh, min_wh).resize((512, 512))
の部分で画像を正四角形にして512x512に変形しています。
注意: 「画像の名前」は自分のアップロードした画像の名前に変更してください
5. DeepLearningモデル🧠🔥をロードします。
model = torch.hub.load('bryandlee/animegan2-pytorch:main', 'generator', pretrained='face_paint_512_v1') face2paint = torch.hub.load( 'bryandlee/animegan2-pytorch:main', 'face2paint', size=512, device="cpu" )
!!!: face_paint_512_v1
の部分はceleba_distill
, face_paint_512_v2
, paprika
に変更できます。お好みのモデルをお使いください
6. アニメ化⭐️します!
out = face2paint(model, img) out
では、実際に変換してみます。
...ちょっと時間かかります。
アニメ化完成です!
最後に
ここまでご覧いただきありがとうございます🙇♂️
ぜひAnimeGANv2遊んでみてください!!
大学生はモニターを買え!
最初に
今日はモニターの良さ、大学生の人ほどモニターを買うべきだという私の主張を皆さんに伝えていきたいと思います。
モニターを買うことのメリット
講義時のメリット
まず、大学生の皆さんは今、リモートで講義を受けていらっしゃると思います。私もそうです。
その時、大学で買ったノートパソコンにフルスクリーンでZoomなどを写していませんか?先生から送られた資料などを参照する時、いちいち画面を切り替えていて話を聞き逃したことはありませんか?このような悩みはモニターを買えばすべて解決されます!
モニターに講義資料を置いておく事により、画面を切り替えずに資料を見ることが出来、何か発表をする際にも、資料を見ながらの発表をする事ができてとても便利なリモート講義生活を送ることが出来ます。まあ、モニターに動画などを置いて、講義をサボることが出来るのが最大のメリットなんですけどね。
レポート作成時のメリット
レポート作成の際にも情報を調べて、それを確認しながらレポートを書くことが出来ます。これにより、作業効率も大幅にアップすること待ったなしです。
実際に研究結果として、シングルモニターから、マルチモニターにすることで約42%の生産性アップが期待できるという物も出ています。
モニターを買おう!
大学生にモニターという高級品を勧めるな、そんな金なんて無い、という人もいるでしょう。しかし、モニターはテレビなどに比べると格安で買えることが出来るのです。
24インチのモニターは約18000円で買うことが出来ます。スタバのコーヒー35杯我慢すると買えるぞ!なんなら中古だったらもっと安く買える事が出来ます。
丁寧に使うと大学4年間は買い換えずに済むし、一年あたり4500円、一日あたり192円でこんな便利な物を買えるのはなかなか無いんじゃない?もうノートパソコンだけの作業環境は捨てよう!
最後に
もうここまでご覧の貴方はモニターを買いたくて仕方がないのでは無いでしょうか。少なくとも私はもう一台モニターを買いたくなりました。
まあ、なんかよくわからない事にお金を使うぐらいだったら、自分に投資をする意味でモニターを買うのはありなのではないかと思います。
プロジェクト紹介
今、当プロジェクトTourismプロジェクトは1年生が1人しかいません!
私と同級生の1年生の人にプロジェクトに参加してもらいたいです!
別にプログラミングが出来なくてもOK! 私も出来ないし
1年生以外の人も熱烈歓迎!
twitterやってます。見てね。 twitter.com
新メンバー募集中
おはこんばんちは。無能広報Tです。 現在、Tourism Projectでは1年生、2年生のメンバーを募集しています!! と言ってもね、うちらがどんなプロジェクトなのか、得体が知れてない人がほとんどだと思うんですよ(๑╹ω╹๑ )。 そして、仕事を選ぶ時、研究室を選ぶとき、プロジェクトや部活を選ぶとき、重要な要素はその活動内容、そしてメンバーがどんな人たちなのかってところだと私は思うんですよね。 ってなわけで今日はざっくりとしたプロジェクトの紹介とメンバー紹介をやっていきます!!
プロジェクト紹介
Tourism Projectでは、「花咲くいろは」の舞台でもある湯涌の街の魅力を発信するために、聖地巡礼・フォトスタンプラリーのアプリ開発、私たちの活動を紹介するWebページの開発をおこなっています。 また、湯涌の観光協会の方と定期的に打ち合わせに行くとき、湯涌の散策も行うので、湯涌の魅力を生で体感しながら開発に携わることができます!! 興味がある人はぜひ入ってきてね!!
メンバー紹介
藤田くん
プロジェクトリーダーの藤田くん。 プロジェクトの活動方針の取り決めであったり、アプリ開発であったり、なんでもこなすよ!彼は現在3年生で山本研に所属しているよ!筋トレが趣味で、温泉に行くと彼の肉体美が見れるぞ(๑╹ω╹๑ )
坂内くん
彼は現在3年生でBusstop Projectのリーダーでもあるよ!アプリ開発からWeb開発まで基本的になんでもこなせる有能マン。とりあえずつよい。わからないことがあったら坂内くんに聞いてみよう٩( 'ω' )و
関谷くん
彼は現在3年生で山本研に所属しているよ!さらに彼はCirKitプロジェクトのリーダーでもある!!つよい(確信) 専門学校と社会人経験を経てこの大学に入学という異色の経歴があり、経験豊富な彼はこのプロジェクトの要である!!もともと湯涌の聖地巡礼アプリを作ろうというの彼の提案でもある。
細川くん
彼は現在3年生で山本研に所属しているよ(多い) 成績優秀な彼だが、何かしら自分にとって形になるものを作りたいという意思を持って3年生になってこのプロジェクトに入ってきたよ! このプロジェクトではWeb開発を担当しています! 個人的に自分とよく境遇が似ていると思っている笑笑
鈴木くん
現在4年生で鷹合研と中沢研を兼任しているズッキーこと鈴木くん。もうね、研究室兼任ってとこからわかる通り彼はつよい。時間にややルーズという点を除けば仕事も素早くこなすスーパーエリートメンバーである。 国際高専出身なので、開発力、実装力はピカイチ。
西村くん
30代のベテラン社員のような貫禄がある彼だが、現在4年生(22歳)である。うせやろ? 彼はこのプロジェクトのアプリ開発担当であり、実装力もある主力メンバー。大学生にして社畜でもある彼にどんどん頼っていこう!!彼は心はギャルらしい(知らんけど)
田坂くん
無能広報T(田坂)(4年生)(無職)(山本研)。教職課程と研究活動の板挟みであまりプロジェクトに顔を出せないが、かろうじてポスター作ったり、勧誘資料を作ったりする。成績だけはよくて山本研に入ったが、あまりの無能さに絶望している4年生。くっ!!殺せ!!全部コロナが悪い!!
北川くん
現在1年生の彼だが、3、4年生に負けないくらい活躍している。2年生がこのプロジェクトにいないので、来年からは彼がこのプロジェクトの要である。彼もまた有能である。
最後に
1、2年生も学科問わず募集していますのでぜひお願いします!! なんでもしますから!! 私たちと一緒に湯涌の魅力を発信していこう!!
湯涌町に行ってきました
はじめに
こんにちは、Torurismプロジェクトのせきやんです。
Tourismプロジェクトは湯涌町と協力してプロジェクトを進めています。
それに伴って、10月15日(金) にメンバー7名で湯涌町にお邪魔して打ち合わせや施設の視察を行ってきました。
少し遅くなりましたが、今回はその時の様子を書こうかなと思います。
少しでもTourismプロジェクトの活動を知ってもらえれば嬉しいです!!
午前の活動
集合 ~ 移動
金沢工業大学に集合し湯涌町へ移動します。
少し集合に遅れてきたメンバーもいましたが…無事全員集合!
湯涌町へはメンバーの私用車とレンタカーの2台で移動。
車を運転してくれるメンバーには感謝です!
金沢工業大学から湯涌町へは約30分ほどで到着します。
湯涌町の担当の方と打ち合わせ
湯涌町に到着したら、早速担当の方と打ち合わせが始まりました。
今まで制作したアプリやWebサイトの進捗報告を行い、担当の方からフィードバックをいただきました。
打ち合わせの様子はこんな感じで、事前に作成したスライドを使って説明を行います。
ちなみに、打ち合わせを行わせていただいている場所が旅館のような内装で、さすが温泉街…!という感じですね。
頑張って僕がプレゼンしてます!笑
施設を視察
打ち合わせを行った後は、湯涌町内の様々な施設を視察しました。 今回開発中のアプリでは湯涌町の様々なスポットが関係してくるので、そのための細かい内容を現地の方と話していきました。
この時は金沢湯涌みどりの里と金沢湯涌夢路館を訪問しました!
お昼休憩
お昼休憩では湯涌町にある食事処でランチをいただきました。
ボリューム満点で大満足でした!!
午後の活動
実機テスト
午後には二手に分かれて活動をしました。
アプリ班のメンバーはPCとスマートフォンを手にアプリのテストを行います。 自分たちが作っているアプリが実際に現地で動くかどうかを確認する大切な作業です!
江戸村見学
残りのメンバーは江戸村の見学へ行きました。(僕もこっち!)
中は江戸の頃の建物などが再現されており、湯涌の歴史を感じることができました。
温泉 & ぼんぼり見学
予定してことも終わり、最後は温泉に入ってリフレッシュしました! 毎回湯涌さんを訪れた時は必ずこの温泉に入ってから帰っています。 こっちが本命…っていうわけではないですよ笑
白鷺の湯の隣の階段にはぼんぼりが飾られており、一つ一つにメッセージが書かれています。
これはぼんぼり祭りというお祭りのために飾られるものなのですが、今年は残念ながら開催ができなかったので、来年の開催に向けたアツいメッセージがたくさん書かれていました!!
夜にはライトアップされとっても綺麗なので、来年はぜひ皆さんも見に行って欲しいです!(今年はもう残念ながら終了)
まとめ
今回も楽しみながらも、しっかりとプロジェクトの業務も進めました。
こういった機会があると湯涌町の方もしっかりと向き合ってくださっていることがわかり、改めて良いものを作っていきたいと気合が入ります。
Tourismプロジェクトに参加すれば、開発だけではなくこのように定期的に現地に出向いての活動もあるため、観光地での企画などに興味がある人にもぜひおすすめです!
興味があったらぜひTwitterなどから連絡をもらえたら嬉しいです!!
P.S. しっかりお土産も買ってきました笑
執筆者: せきやん(@sekiyan372)