限界を究めるブログでした。最近はいろんな分野を幅広めに書いてます。2019-08-07そうだ、明日京都行こう。!...失礼しました。APIを組み合わせてオリジナルのサービスを作ってみましょう!」という演習があって、それで作ったサービスを公開したので紹介します。明日、全国のどこかで開催されるイベントを紹介してくれます。サービス名は「そうだ、明日京都へ行こう。」ですが、京都以外のイベントも表示されます。駅すぱあとで行き方をすぐ見られるので、「明日どっかで遊びたい!!!」となったら0秒で予定を立てることができます。こんな感じでアクセスするとタイムテーブルと経路情報、イベント情報が表示されます。要するにクソサービスです。フリープラン(経路情報の取得)あと、駅データ.jpから駅データをもらってきて最寄り駅の計算などをしています。使用技術React(create-react-app)SCSSNginxPHP外部のAPIを呼び出すだけなので、データベースすら使わずに構築しました。Hooksを使ってガリガリ実装してみましたが、Hooks楽しいですね。Reactがすごく簡潔になるのでいい感じです。create-react-appもこのくらいのサイズ感なら環境構築の手間がなくなるメリットのほうが大きいのでいいですね。19:00そうだ、明日京都行こう。コメントを書くもっと読む2019-07-30最近の状況ここのところブログの更新をサボっていたので近況報告でお茶を濁そうと思います。生存報告とかいう動画を投稿するYouTuberっぽいですね。研究室とか現在大学4年生で、今年の4月に研究室に配属になりました。前期のあいだは教科書の輪講を主にやっていました。それから、前期は部活のほうにも週に2、3回顔を出していました。プログラミングと部活の両立はさすがに難しくてプログラミングのほうがおざなりになっていました...あとは朝バイトに週3で入っていて若干体調が崩れてきています。なんとか立て直したい...競プロ4月からはじめた競プロですが、このあいだセールをしていたので螺旋本を購入しました。今は半分くらいまで終わりました。ここのところ思っているのが、競プロは数学とかなり似ているな、ということです。発想力がなければ解けない問題は、数学と同じで「この問題、あの問題の解法で行けそうじゃないか?」というくらいまで量をこなし知識をつけるしかない気がします。そのため、ABCのDを埋める作業を螺旋本と並行してやっています。18:45最近の状況コメントを書くもっと読む2019-07-30スターリンソートをJSで実装してみたJavaScriptスターリンソートなる、「整列されていない要素を"粛清"することでO(N)でソートを実現する」というネタが盛り上がっているようなので、便乗して書きました。実装リストを先頭から見ながら暫定の最大値を持っておきます。その最大値よりも小さい値があったら、それは整列されていない要素なので結果に加えないこととします。5]のように最大値が先頭に来てしまうと残りの要素がすべて粛清されてしまうという問題点があります(他にもあるやろ!)。そこで、開始位置を変えることで、得られる配列の長さを最大化してみようと思います。求める問題と同一になります。ちなみに、最長部分増加列を求めるにはO(NlogN)かかるのでスターリンソートのメリットがなくなります。18:35スターリンソートをJSで実装してみたコメントを書くもっと読む2019-07-12ICPCに参加して経緯4月に研究室の同期から「ICPCに参加しない?」と誘われ、競プロを始めました。そこから約3ヶ月での参加だったので、かなり急ピッチでした。練習ではC、Dも解けていたのですが、本番は焦りと緊張もありBまでしか解けませんでした。終わったあとにほかのチームに聞いたところ、CもDも考察はおおよそ合っていたうえ、Bまではかなり順調に解けた分、悔しかったです。全体としては大学内で6位でした。大学内1位(全体でも7位!)のこたつがめさんのチームは5完もしていて、格の差をまざまざと見せつけられました...反省としては、3時間もの間、集中力を切らさないのは無理なので、甘いものを持ち込んで糖分を取りながら取り組むべきでした。来年からは社会人なので出られませんが、今回の参加はかなり楽しかったので今後も競プロは続けていこうと思います。ContestのA問題を1分で解くためにRubyを書いているのですが、そのときのTipsが溜まってきたので書いておきます。入力編まず入力を受け取るところです。ここを高速で書けるとだいぶ強いです。文字列を受け取りたいならs=getsで構いません。getsとして1行読み込むと、その行を$_という変数で参照できるようになります。すると変数に代入する手間が省けます。$_.count(1)出力編A問題で多いのはYes/Noを出力させる問題、数値を答えさせる問題です。Yes/Noを答えるときは三項演算子を使うとカンタンです。他の言語と異なり、?と:の前後にスペースを入れる必要があります(入れなくていいケースもありますが、考える時間がムダなのでとりあえず入れるといいです)。?"Yes":"No"Rubyでは文字列リテラルのほかにシンボルというものがあり、こちらでも同様に出力できます。:No数値の出力にはpというメソッドを使えます。putsより文字数が削減できます。pで文字列を表示しようとすると、クォーテーションごと表示されてしまうので使えません。数値の配列などで最小値を返すこのあたりはよく使います。限界を究めるブログです。までSNSTwitterGitHubHomepageBlog連載リストプライバシーポリシースターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。