私が生業とするソフトウェア開発において、OSやコードエディタやプログラミング言語など、様々なソフトウェアを使います*1。これらについて私が使っているものを理由付きで書くと次のようになります。 OS: Ubuntu 22.04 細かい設定をしなくてもそれなりに使える。よく普及しているから色々な情報を得やすい コードエディタ: VSCode 細かい設定をしなくてもそれなりに使える。Remote SSH extensionを使ったリモートマシン上での開発が楽 プログラミング言語: 主にGo 使い慣れているから。システムプログラムをするから。覚えやすいから これらにそれなりの愛着はあるものの、今後置かれる状況によって、どんどん変わってくるでしょう。じっさい10年くらい前はGoはほとんど使っていなくて、Cプログラマでした。 私はこんな感じですが、中には特定のソフトウェアに愛情を注ぐ人もいます。それ自
# basic option -enc=utf8 # 文字コードUTF-8(しかしwarning出る) -ole=unix # 改行は LF -i=4 # スペース4つ -l=150 # 1行の長さが150文字以内に収まるようにする --check-syntax # 整形後 perl -c -T でチェック # code indentation control --closing-token-indentation=1 # 配列指定時などに、終了カッコを開始と同じ位置までインデント --nooutdent-long-quotes # インデントされ過ぎた文字列があっても引き戻して来ない --nooutdent-long-lines # インデントされ過ぎた行があっても引き戻して来ない # whitespace control --nospace-for-semicolon # forループ
この記事は、FIXER Advent Calendar 2021 8日目の記事です。 こんにちは、久しぶりにTech Blogを書きます神取です。 今回はVSCodeにて、プログラムの視認性や開発時のテンションを向上させるために、括弧とインデントに色をつける方法について解説します。 括弧については、少し前までは、Bracket Pair Colorizer 2 を使っていたのですが、 VSCode 1.60で括弧の色付け機能、 VSCode 1.61で括弧のペアのガイドが入ったので、 Bracket Pair Colorizer 2がメンテナンスされなくなったこともあり、VSCode本体の機能のみを使用します。 インデントの色付けは indent-rainbow を使用します。 可愛い系のVSCodeが好みの方は、こちら や、こちら が参考になるかと思います。 (僕は虹色の方がテンションが
ありがちな仕様とコードを題材に、よくないコードに立ち向かうための整理術を紹介します。 この Book にはデザインパターンや DDD やオニオンアーキテクチャや関数型プログラミングなどは一切登場しませんが、それらのエッセンスと日常のコーディングにおいて求められる基礎的な考え方の説明が含まれています。 この Book の内容は、特定の業務領域やプログラミング言語・フレームワークには限定されません。 Laravel でも RoR でも Spring でも React でも Nuxt.js でも、きっと役に立つはずです。 逆にこの本にはクラス設計のべき論や OOP vs FP のような議論は含まれません。 画一的なコードの良し悪しの定義は難しいですが、何かしら得るものがあったと感じてもらえたらうれしいです。
この記事はNuco Advent Calendar 2022の13日目の記事です はじめに 私は情報系の学部に通う大学4年生です。大学でプログラミングを学んだことをきっかけに、プログラミングを使用した実際の業務に取り組んでみたいと思いました。そして、株式会社Nucoさんで機会をいただき、現在インターン生として実務に参加させていただいています。 自分のように、プログラミングを学び、「実務の経験が積みたい」「インターンに参加してみたい」という方はたくさんいらっしゃるかと思います。この記事では自分が実際にインターン生として実務に参加し、コードレビューで指摘されたポイントを紹介します。 難易度、頻出度の目安を★の数で示しています。 ・難易度・・・それぞれの項目で指摘されないようなコードを書く難しさ。 ・頻出度・・・それぞれの項目のミスの起きやすさ。 難易度(低→高)、頻出度(高→低)の順番で紹介し
JJUG CCC 2022 Fallで「Javaの入門が終わったら何の勉強をすればいいの?」という内容で発表を行いました。 基本的なものが作れるようになったけども、イマイチプログラムが組めないというときに、何を勉強すればいいかをまとめました。 入門が終わって作りたいものがあれば作っていきましょう、業務で言われたものが作って行こう、でもなんだかちゃんとしたものが作れないな、もっとちゃんとしたものを作りたい、次のステップに進みたいというときに勉強していく感じです。 資料はこちらです とりあげた本についてまとめておきます。 開発作業について 概要 プログラミング言語 アーキテクチャ ミドルウェア ネットワーク デプロイ 理論 開発手法 開発プロセス まとめ フレームワークは入門でやってる前提です。Java入門書「プロになるJava」ではJavaの基本から簡単なDB操作、Spring Bootまで
昨日2022/10/27に行われた『ゆるっとIT vol.12「3年ぶりに帰ってきたIT怪談」』のカンペです。 これを見ながら話してました。 前振り 今日はほんとに怖い話をするので、資料なしでやりますね。 昔話 ちょっと昔話をしましょう ぼくの最初の仕事はPHPでした。PHP3とPostgreSQLで英語学習サイトをつくるというものです。 当時webでプログラムを動かすというのは出たばかりで、請け負う業者がいなかった みんなVBやってましたからね なので大学追い出されたてで何の実績もないぼくに仕事がまわってきた。 もうちょっとして、東京の会社に声をかけられました。 で、iPhoneアプリをつくってほしいと。 これも、iphone出たばっかりで技術者がいなかった。 なので福岡のぼくに話がまわってきたわけですね。 共通するのは、新しい技術で技術者がいないので実績ないけど仕事がまわってきたことで
はじめに 私がプログラマーとして働き始めて1年半がたちました。幸いなことに環境に恵まれ、私の身の回りには成果を出し続ける優秀なプログラマーがたくさんいます。 1年半彼らの仕事を観察して気づいたことは、成果を出すプログラマーは共通して 「コードを書かない努力をしている」 ということでした。 この記事では彼らが業務で行なっている、 「コードを書かないための思考、習慣」 についてまとめていきたいと思います。 前提 多くの人は「プログラマーはコードを書くことが仕事」だと考えています。この考えに基づくと、プログラマーが「コードを書かない努力をする」ということが、ひどくおかしなことに思えてしまうかもしれません。 そこでまず前提として3つの誤解を解くところから始めましょう。 [誤解1] プログラマーの仕事は「コードを書くこと」である 私たちプログラマーの多くは会社から給料をもらいながらコードを書いていま
AI開発を手掛けるASReal(東京都目黒区)とHashLab(京都市)は10月4日、日本語で仕様を伝えるだけでコーディングするプログラミングAI「AI Programmer」(β版)を公開した。利用料は無料で、対応言語は14種類。 使いたいプログラミング言語を指定し、入力欄に「“Hello World”という文字列を表示する」などとプログラムの内容を日本語で書きこんで実行ボタンを押せばコードを出力する。 対応言語はSQL、Python、JavaScript、HTML・CSS、Solidity、C++、PHP、GO、R、Perl、Ruby、正規表現、Haskell、Lisp。コードを出力するのみで、コンパイルなどの機能は持たない。 AI生成のプログラムは動作するのか? どのくらい使えるのかチェックしてみた。まずはC++で「Hello World」を出力するプログラムを書かせてみる。指示は「
こんにちは! Webフロントエンドエンジニアの眞野 隼輔です。 毎年大きな反響を頂いている、エンジニアコースの新人研修の内容を紹介させていただきます。 研修の概要 リクルートでは、エンジニアコースでスペシャリスト採用された新卒のエンジニアを対象に、現場で培われた「本当に必要な生きた知識・技術」を取り入れた新人研修を開催しています。 前半は研修では各分野に長けた社員による講義形式の技術研修を行い、後半は仮配属という形でそれぞれ別の部署に配属されて実際の業務を経験するOJTとなっています。 この技術研修はそのほとんどが内製されており、ベテラン社員による経験を元にした講義を通して生きた知識・技術を獲得できます。また、実際に手を動かす演習型の講義ではベテラン社員からのレビューやフィードバックを得られるため、知識の定着や更なる成長へと繋がります。 本年度の技術研修も、昨年度に引き続きフルリモートでの
こんにちは!2022年度エンジニア新人の太田です。毎年反響を頂いているエンジニアコースの研修内容を、今年は受講者の立場から紹介させていただきます。 研修概要 リクルートの新卒エンジニアコースでは、入社した新人を対象に技術研修を行っています。その内容は、実際の開発業務に活かせる技術を扱う「本当に必要な生きた知識・技術」を取り入れたものとなっています。 特筆すべき点として、研修の資料はほとんどが内製であることが挙げられます。そのため、講義中の質疑を通してより深い知識や、開発の現場で培われた経験に触れることができます。 フロントエンド、モバイルアプリ、バックエンド、インフラ、データ分析、セキュリティなど幅広いテーマが扱われるため、知識のインデックスを張ることにもつながります。またハンズオンや競技形式の演習も取り入れられており、実際に手を動かすことで印象に残りやすく、エラーへの対処も学ぶことができ
はじめに サマリー 記憶に対する自信過剰 対策 チームや組織で失敗を防ぐには? 1. 読みやすいコードを書くためのコストを下げる 2. 読みやすいコードを書くことを(ゆるく)強制する まとめ 参考文献 ※三浦は退職していますが、本人の同意を得て、掲載を継続しています。 はじめに こんにちは。パーソルキャリア株式会社でデータアナリストとして働いている三浦です。 私はデータアナリストとしてこの会社で働いておりますが、それと同時に行動経済学の研究もしています。 行動経済学は端的に言えばより「人間くさい」仮定をとりいれて経済学的な分析を行う分野です。 例えば、先延ばしをするとか、楽観的な予想をするとか、情報を無視するとか、人の目を気にするとか、色々です。 修士から数えるとプログラミングは 9 年ぐらい行ってきました。 その過程で、様々な失敗もしてきました。 中には、誰もがしたことのある失敗もあるか
CTO 藤村がホストするPodcast、論より動くもの.fmの第9回を公開しました。今回はCTO藤村が生産性をあげるためにやっていることについて話しました。 論より動くもの.fmはSpotifyとApple Podcastで配信しています。フォローしていただくと、新エピソード公開時には自動で配信されますので、ぜひフォローしてください。 テキストで読みたい方は下記からどうぞ。 パンを作るだけじゃなく、パンを作る機械も作る 藤村:みなさん、こんにちは、論より動くもの.fmです。論より動くもの.fmは、heyのCTO藤村が技術や技術にまつわるさまざまなことについてざっくばらんにお話しするPodcastです。今回はゲストに技術広報のえんじぇるさんを招いております。よろしくお願いします。 えん:よろしくお願いします。 藤村:今日は生産性について話したいというお題を受けたので、それについて話そうと思い
会員事業部の三吉(@sankichi92)です。 クックパッドでは、GitHub Enterprise の Pull Request を使ったコードレビューを広く実施しています。 この記事では、私がコードレビューすることに対する苦手意識をなくすために意識したことを紹介します。 クックパッドでは、テックリードや新卒、インターン、バイトといった肩書きに関係なく、誰もがレビュワー・レビュイーになります。 チームやプロダクトによって開発ルールは少しずつ異なりますが、私の所属する会員事業部では、PR を出したときに GHE やチャットで部内のエンジニアにメンションして、その時にレビューできる人がレビューするという形を取っています。 私は、昨年2017年に新卒入社したのですが、それまでは個人開発や研究用のコードしか書いたことがなく、短期インターンシップを除くチーム開発の経験がありませんでした。 配属当
規約とツールでコードの品質を上げる コーディング規約をチームで共有するとコードの可読性が上がる。 たとえばPEP8はPython標準ライブラリ用のコーディング規約で 1行の文字数を79文字以下とするなどその内容は多岐にわたる。 コーディング規約は学習・運用コストがかかるためLinter・Formatterなどのツールを有効活用したい。 以下、Visual Studio Code(VS Code)用のお勧めの規約・ツールを導入する手順を示す。 概要 Linterツール flake8、Formatterツール autopep8、 docstring支援の拡張機能autoDocstringをインストールし、下の設定を行う。 前提としてMicrosoft公式の拡張機能Pythonは導入済みとする。 "files.autoSave": "afterDelay", "files.autoSaveDel
総務省は1月11日、データサイエンスのオンライン講座「誰でも使える統計オープンデータ」を、MOOC講座プラットフォーム「gacco」で開講した。社会人・大学生に、統計オープンデータを活用したデータ分析の手法を解説する講座で、3月7日まで受講できる。 週約3時間×4週間の内容。政府統計の総合窓口「e-Stat」、総務省と統計センターが提供する統計GIS、API機能などを使い、データ分析の手法を学べる。 講師は「統計学が最強の学問である」の著書で知られる統計家の西内啓氏や、総務省統計局の担当者など。 2017年6月に初開講して以来、断続的に開講し、のべ約2万8000人が受講した講座。 関連記事 政府が「ワクチン接種状況ダッシュボード」公開 性別や都道府県別に可視化 政府が、全国の新型コロナワクチンの接種状況を一覧にまとめた「ワクチン接種状況ダッシュボード」を公開。統計情報をまとめたCSVやJS
ソケットの利用(大量データの送受信) 画面を取り込んでJpegにしたデータを離れた相手に送るためにソケットを使います。 Jpegデータはサイズが大きいので複数のパケットに分かれてデータが移動します。 送信するのは簡単ですが、受信時はデータがパケットに別れてくるので分割された データをつなぎ合わせる作業が必要になります。 元のデータサイズが分からないとどこまでの受信データをつなぎ合わせるか分からない ので、今回はデータの先頭にデータサイズを付けて送受信するようにしました。 ★バイナリデータを送るときは Socket->SendStream(void *buffer,int length); を使います。 最初にデータの始まりを表すデータ0xffを送信して、送信するデータサイズを4バイトで 送信します。 // 送信データの始まりの印 unsigned char mark=0xff; Socke
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く