auの日記

プログラミング初心者の日記。(auはハンドルネームです)

MacのVSCodeで置換する方法は?

auです。

インターンで知ったのですが、Windowsの場合IDEによってはコードの置換ができるみたいです。インターンではVSCommunityを使っていました。

ctrl + Hで置換ができ、変数名を変える際にぽちぽち変えることができました。

しかし、自分はMacVSCodeを使っているのでなんだか勝手が違いました。

Command + HだとVSCodeが落ちてしまい、うまく置換をすることができませんでした。

Command + Shift + Hで検索のようなばーが表示されましたが、どこを押せばいいのかよく分からず、軽く調べてみても解決できませんでした。

うーん、もう少し調べてみる必要がありそうです。

今日は早いですがこれくらいで終わろうと思います。

インターンに行く際にやってよかったことリスト~プログラマー編~

auです。

先日まで5日間のインターンに行っていました。とてもいい人たちと出会うことができ、一緒にご飯に行くくらい仲良くなりました。

僕の行っていたインターンは、5日間の開発業務です。C言語を使ってソケット通信をして、データをやりとりするといった内容です。

その業務の中で、僕がやっていてよかったなと思えることを書いていこうと思います。

業界で使われる単語を知っておく

共通の話題は主にプログラミングです。「Pythonのscikit-learnの機械学習まじで神だよな」といった会話が休み時間に行われています。僕は講義で使ったことがあるので話をすることができましたが、知っていなかったら会話に参加することができなかっただろうなあ・・・と感じました。

このブログでまとめている用語の意味のまとめもやっておいてよかったと思います。普通に会話に出てきます。

チーム開発の場合はとにかく話す

インターンではチーム開発を行う業務もあると思います。その際に、自分で仕様書を読み、「余裕だわー」とかいって開発を進めていくと、やりとりしておかないといけないデータがある場合にフォーマットが決まっておらず積みます。最初に話し合い、共通する部分だけでも実装の仕方を話し合っておきましょう。

僕は人と話すのが苦手ではないので、自分から話にいくことができたので特に困りませんでした。むしろ社員さんに「楽しそうに開発するね」という風に言われるくらい話し合っていました。

仲間がどんなことを学び、どんな就活の状況かを聞く

休み時間やちょっとした時間に、「大学でどんなことやってるの」など聞くと、自分の大学との違いがよく分かります。そしてそんな感じの話で盛り上がれます。楽しかったです。

就活の状況を聞くのもいいでしょう。自分の現在の就活への力の入れ具合を確認することができます。まあだいたい相手の方が数段進んでいるんですけど・・・。

仲間とコードを見せ合う

最後に、他のインターン生とコードの見せ合いをしました。「え!?なんで!?」といったコードの書き方を見つけて質問してみると、とても利にかなかった実装をしていたり、今までの学びから「この実装は変えたほうが速度出るんじゃない?」といった気づきをすることができます。さらに、この気づきを確信に変えるために、社員の方に質問をするのもいいと思います。僕はそのおかげでさらに学びを得ることができました。





いかがでしたでしょうか。ちなみに僕が一番褒められたのは「コミュニケーション能力」でした。とにかく話しまくったのと、質問をする際に自分のやりたいことと、どんな風に違うのかといった点を説明できたのがよかったのだと思います。

とても濃く、いい人たちに恵まれていた5日間でした。何事も本気を出してうまくいけば楽しく感じます。その際に、本気度合いが高ければ高いほど楽しいと感じることが大きい気がします。

本気の会話・本気のプログラミング・本気の休憩時間、どれも楽しいのでぜひやってみてください。

インターンが集まるインターン5日目

auです。

ついにインターン最終日になりました。長いようで短かったインターンもついに終わりです。

基本的な実装は4日目の時点で完成していたので、さらなる例外処理とソケット通信の登録機能をつけました。

ソケット通信のacceptでidのような番号が取得できるので、それとIPアドレスを構造体に格納するような処理にしました。IPアドレスを取得できるようになったので、すでに登録されているIPアドレスの場合は今までのテーブルを初期化するようにし、もう一度登録を受け付けるような処理にしました。

基本的な実装は簡単でも、例外処理を追加すると無限に時間が必要なんじゃないかと感じるくらい大変でした。

5日という短い期間での実装になりましたが、ソケットでの実装はやっていることは単純でも、チームメンバーと送受信するデータのフォーマットを揃えることや、細かなオプションの設定方法が大変だと感じました。

それでもほぼ統一することができました。

他にも、定数をあまり使わないためにもマクロ化を積極的に行い、コードの削減と見やすさの向上に努めました。最後の1時間でチームメンバーのコードの実装を評価し合えたのはとてもいい経験でした。

最後の発表では、社員の方に褒めてもらえて嬉しかったです。

このブログを見つけるか分かりませんが、チームメンバーのみんな、ありがとうございました。また一緒に開発ができたらとても嬉しいです!

それではおやすみなさい。

プログラマーが集まるインターン4日目

auです。

プログラマーが集まるインターンシリーズ4日目です。

今日は決められていた仕様書通りの実装をすることができました。

それに、自分なりにですがリファクタリングも行いました。2時間かけました。それなりに見やすくなったと思います。

今日の実装で一番嬉しかったことは、ソケットを複数作った際に、ソケットに対して誰が通信してきたかを識別する関数を作れたことです。これで誰がどんな値を送っているのかを判別できるようになりました。

どんな時にアドレスが必要か、ポインタを使えば文字を書き換えることができるといった、基本のことだけど実戦でやることでしか身につかないことができたのでとても嬉しかったです。

自分で学習するよりも、チームの人と教え合いながらやることで、いつもの数倍学べる量や速さがありました。

明日が最終日で発表会なので、自分のコードに自信を持っていこうと思います。

プログラマーが集まるインターン3日目

auです。

きのうの続きになりますが、プログラマーが集まるインターン3日目に行ってきました。

最初から最後まで開発をしていました。主にソケットを使って、現在のテーブルを複数のクライアントに送信し、アップデートしたそれぞれのテーブルを受け取り、それぞれの値を更新したあと、また送信するという実装をしました。

C言語を使って開発をしているのですが、色々な仕様を忘れてしまっていて、恥ずかしいことも多くありました。明日は自分が仲間を助ける勢いで開発していこうと思います。

自分よりも実装がうまい人が何人もいるので、スキルを盗んで、より楽な実装を身につけようと思います。

プログラマーが集まるインターン2日目

auです。

プログラマーが集まるインターン2日目が終わりました。

遂にプログラミングが始まり、自分は通信のためのソケット部分を作成しました。

大学の講義で作ったことはあったのですが、講義でやるものは一部完成されていたり、みんなで答えがあるものを作っていたので、相談なども簡単にできました。

しかし、今回は違います。プログラムに答えがあるわけでもなく、相談しても瞬時に解決するわけでもありません。問題に直面したらみんなで相談しつつ頭を抱えています。

今までにない環境であり、楽しいけど、あまり進捗がないことが辛かったりと、インターンで学ぶべきことをやっているなという感じです。

明日は今抱えている問題を解決し、もう3段階上にいけるように頑張ろうと思います。

プログラマーが集まるインターンに参加した

auです。

大学でプログラミングを習っているので、開発系のインターンがしたいので、探して参加しています。

プログラミングができる人が集まっている場なので、みなさん何かしらの開発や勉強の経験があるみたいです。それでも、自分も開発もしてるし勉強もした!ということで、負けているとは思っていません。むしろ絶対一番いいものを作ってやると意気込んでいます。

3人でチームを組んで開発をするので、仕様などを話し合う必要があります。その際に、大学でのチーム開発の経験がいかそうと思います。。みんなのできることを知り、自分の得意を押し込んでいくような実装にしていきたいなと思います。そのためには、自分の意見をしっかりといって、チームメンバーの意見をしっかりと聞く必要があります。これも、他のインターンで培った能力を使っていけると思うので、活かしていきたいと思います。

書いてて気づいたのですが、「より良いもの」って定義が広すぎて何だかよくないなあと思いました。話合って作ったから良いものなのか、自分が主体的になって作ったから良いものなのか、何だかよく分からないような気がします。

このインターンを通して、自分の中の「より良いもの」を定義できたら良いなと思います。