こんにちは、大学 1 年生になったばかりの E869120 です。 私は競技プログラミングが趣味で、AtCoder や日本情報オリンピックなどに出場しています。ちなみに、2021 年 4 月 7 日現在、AtCoder では赤(レッドコーダー)です。 本記事では、アルゴリズムの学習や競技プログラミングで使える数学的な部分を総整理し、それらについて解説したいと思います。前編・中編では数学的知識、後編(2021/4/26 公開予定)では数学的考察の側面から書いていきます。 【シリーズ】 アルゴリズム・AtCoder のための数学【前編:数学的知識編①】 ← 本記事 アルゴリズム・AtCoder のための数学【中編:数学的知識編②】 アルゴリズム・AtCoder のための数学【後編:数学的考察編】 1. はじめに 21 世紀も中盤に入り、情報化社会(いわゆる「IT 化」)が急激に進行していく中、
Sep 17, 2018 ソフトウェアエンジニアの分野で活躍する女性がもっと増えてほしいという議論が日本だけでなくさまざまな場所で行われています。 数字で正確に推し量る事は難しいですが、やはり男性が多数を占める業界であるという認識が共有されています。 2013年にサンフランシスコで行われたJessica Lynn Suttlesさんの講演は個人的に目からウロコの内容でした。 歴史を紐解いて見ると、プログラミングへの大きな貢献を残した女性は数多く「女性が切り開いた業界」であるという一面があります。今回は海外で行われた講演や記事から読み取れる内容をまとめます。 その後、Ruby On Alesにてほぼ同じ内容の講演が行われこちらはアーカイブが残っています。(関係ないですが、confreaksはいいサイトですね。) The History of Women in Programming 世界初の
子どもたちへのプログラミング教育が本格的に始まる。日本のハッカーの元祖と呼ばれる竹内郁雄東京大学名誉教授は、プログラミング能力と言語能力は関係があると話す。その理由と求められる人材像について聞いた。 国語力とプログラミングの関係 ―国語ができる人じゃないとプログラムは書けないと言及されています。 「国語力は広い枠組みで言えば、『情報伝達力とそれに伴う情報理解力』のこと。相手がコンピューターというだけで、プログラミング言語も言語の一種だ。論理的に固い機械が相手のため、プログラマーには明晰(めいせき)な言語表現が求められる。全ての側面ではないが、人間のコミュニケーションにも共通する」 「一方、現在の入試を念頭に置いた国語教育は読解が中心で、ある事柄を明晰に伝える訓練をしていない。自分で身につけるしかない。大学生を見ていると、よい文章を読むことで明晰に伝える力がついている。また、数学について英語
ご覧のとおり、リーダブルコードの人気は圧倒的!2016年に引き続き、2位以下に2倍以上の差をつけての圧勝です。美しく読みやすいコードを書くためのバイブルとして、不動の人気が伺えますね。 ちなみにこの上位陣の顔ぶれは、多少の上下変動はあれども2016年度のランキングとあまり変わりません。バイブルはずっとバイブルであり続けるのと同じように、優秀なエンジニアが愛してやまない本は、年月が経ってもそう変わるものではないのかもしれません。 さて、ここからはこの32冊をジャンル別にご紹介していきます。本は読みたいときが読み時。自分にピッタリだと思ったら、すぐにゲットしてスキルの底上げに臨みましょう。この年末年始は自分を成長させるチャンス! 【目次】 プログラミングが圧倒的にうまくなる5冊の本 設計に携わる人に向けた7冊 チームマネジメントを考えるための4冊 エンジニアとして”嗜み”の11冊 デザインを学
初めてのプログラミングから 現場のプログラミング まで学ぶ 現役のドワンゴエンジニアが教える プログラミング学習サービス。 まずは無料で体験しよう。 ドワンゴ現役エンジニアから、 Webエンジニアの必須スキルである Webアプリ、スマホアプリ、大規模Web開発を学ぶ プログラミング未経験の高校生が、IT企業にWebエンジニアとして就職できるレベルになることを目指します。 そのために必要な幅広い知識を習得できるよう、プログラミングの基礎、セキュリティ、環境構築、 Webプログラミングやアプリ開発について、ドワンゴ現役エンジニアが細かいステップで1つ1つ丁寧に教えていきます。 IT企業内定実績 アルテリア・ネットワークス株式会社 株式会社マクロミル JR東日本メカトロニクス株式会社 株式会社アカツキ 株式会社ACCESS 株式会社フリークアウト・ホールディングス 株式会社アイスタイル 株式会社
4年間務めた株式会社セプテーニ・オリジナル、およびコミックスマート株式会社を退職しました。役職はどちらもCTOでした。どなたかの役に立つことを願い、4年間の活動とその結果をまとめます。2014年。開発組織を作るためにやってみた事 と 2015〜2016年で開発組織を作るためにやってみたこと を最新結果と共にまとめた物になります。 前提:自分は何をやりたかったのか "高速で高品質な開発ができる組織を作りたかった"が一つ。これは前のエントリ技術的負債について考えたで詳しく述べています。 もう一つは "有名プロダクトも知名度もない会社で腐った開発をしてたら、採用ができないよの解決"です。採用は会社の生存には欠かせない重要な要素ですが、エンジニアにはセプテーニの知名度はほぼありませんし、GANMA!等を除けば基本的に社内向けのツール開発になります。その上で開発文化も残念な状態になってしまってはエン
画像: N高等学校課外授業(N予備校)での生放送授業のブラウザ上での見た目、コメントが書ける 目次 はじめに 教えることになったきっかけ Web企業にエンジニアとして就職できるようになる、というミッション 既存のWeb教材に感じた問題意識 「各自進められるゲームブック形式の教材」と「徹底的にフォローする生放送授業」 コンセプトをもとに構成されたコースと内容 ゼロからプログラミングができるようになった人が生まれた日 永劫、プログラミングは一部の天才たちのためのものか? プログラミング学習のモチベーションの課題と対応 まじめなオタクたちが社会をよくしようと頑張ること さいごに はじめに 自分はこの8ヶ月間、Web上で非対面のプログラミング教育、具体的にはHTML教材と生放送授業を中心としたプログラミング教育をN高等学校の生徒に行ってきました。 ここに書かれている内容は、これからプログラミング教
ある文系プログラマがテックリードを任されるまでに学んだこと ── 最前線で生き延びる4つの戦略 コンピュータサイエンスの専門教育を受けず、20代半ばで本格的なプログラミングを始めた文系エンジニアが、いかに学び、考え、生き延びてきたのかを伝えます。 こんにちは。白山(@fushiroyama)と申します。現在は新聞社のデジタル事業部署で、モバイルアプリ開発のテックリードをしています。 自分のエンジニア人生を振り返ると、これまでの道のりは決して平坦ではありませんでした。コンピュータサイエンスの専門教育を受けず、本格的にプログラミングを始めた年齢も23、4歳と決して早くありません。 そんな自分が、いかにして開発チームのリーダーを任せてもらえるまでになったか? 考えてみると、次の4つの戦略で生き延びてきたようです。 自分だけの居場所を見つける 必要な知識を効率的に取捨選択する 他のエンジニアに差を
APIを一つひとつ探すのが大変……。こんなAPIを使いたいけど、どうやって探せばいいのか分からない。そんなあなたにオススメしたいのがAPIのインデックスサービスです。 膨大なAPIが登録されたいわばAPIのデータベースのようなもので、きっと目的のAPIを見つけることができるはず。 そんなインデックスサービスを国内外から8つまとめてみましたので、是非ご活用ください! APIとは API(アプリケーションプログラムインターフェイス)とは、プログラムのパーツのようなもので、APIを利用することで新たに作らずとも、同様の機能を組み込むことが可能。最近では、サービスの普及目的や課金ビジネスとしてWebサービスを提供する企業がAPIの公開を行っています。 そのため、開発者は公開されているAPIを連携することでWebサービスの開発がより効率的かつ拡張性を高められるとして積極的に利用するケースが増えていま
サイトのメンテナンスにおいてしばしばネックになるのは、どんなネーミング・構成で制御しているのか分からなくなってしまうことです。しっかりと基準に則った、誰がいつ見てもわかりやすいネーミングでコーディングしていくことは、非常に重要なことです。 今回は、プログラマーがネーミングを考える際に参考にしたいサイトを選んでご紹介いたします。 1. codic - プログラマーのためのネーミング辞書 https://codic.jp/ 様々なサイトに紹介され、「ネーミング」で検索しても上位に表示される素晴らしいツールです。例えば、Webサイトの背景に動画を設置する際に、class名をどうしようか悩んだとします。そこでcodicに「背景動画」と入力すれば「background_videos」と提案してくれます。提案されたネーミング以外にも、その他の候補も出てきます。 考える労力を省くことができるという点で優
読んだことあるものについて、いくつか抜粋でおすすめしてみますね。 リーダブルコード 圧倒的大差で1位を獲得したのは、『リーダブルコード』。 良いコードを書くために必要な基本的な知識が詰まった良書ですね。 リブセンス社内でも、他のエンジニアのデスクや本棚などいろいろな場所で、この特徴的な青い背表紙を見かけます。 ランキングには入らなかったけれど『コードコンプリート』もよろしければどうぞ。 Team Geek 良いものを作るには良いチームであることが必要だ。 「だったらどうしたら良いの?」が書かれた本。 結局、決まりきった絶対的な方法はなく、問題解決のためにはお互いを尊敬して、諦めずにコミュニケーションを取り続ける必要があるんだと感じました。 たまに読むと大いに反省したくなること請け合いです。 ハッカーと画家 良いソフトウェアを設計、デザインするハッカーのマインドが散りばめられたエッセイ。 「
3冊の本 これからソフトウェアエンジニアを目指す人、またはすでにどこかでエンジニアとしての一歩を踏み出した人すべてのひとに読んでもらいたい本。ちょっと古い書籍ですが技術書というほど内容が濃くないので読みやすい本ばかり。 新しい技術や開発手法が次から次へと出てくるソフトウェア産業でも色あせない内容の本だと思う。ちなみに、仕事仲間には必ず、読んでもらうようにしている本である。 Joel on Software 最初の本は、「Joel on Software」(Amazon) 米マイクロソフトや米大手ISP(インターネット・サービス・プロバイダ)のJunoでソフトウエアの設計・開発に従事してきた筆者が、分かりやすい言葉で解説する。タイトルと同名の筆者自身のWebサイト(http://www.joelonsoftware.com)」で公開していたものを書籍化した。 ソフトウェア開発を行う上で大切な
さて、今日も freee advent calendar やってまいりました。 freeeの CEO の佐々木です。今でこそ CEO 業にフォーカスしている訳ですが、会計ソフトfreee をリリースして世に送り出すまでは完全に微力ながら僕も第一線でコーディングしていました。僕の職歴は、ほぼほぼマーケティングとファイナンス(あと、ちょっとだけデータ分析)なのでエンジニア経験がある訳ではないのですが、起業したいという人に「どうやって勉強したんですか?」とよく相談を受けたりもするので、思うところを共有してみます。 まず、こんな人が向いてるんじゃないかと思う とりあえずシンプルでよいので目的に沿って動くプロトタイプ的なソフトウエアをつくるということは、次のような条件にひとつでもあてはまる人であればひとまず素養はあるのではないかなと思う。(大規模に展開する商用のソフトウエアの開発やメンテナンスの場合
最近よくプログラミング未経験の方から、これからエンジニアとしてやっていきたい、もしくはそこまでいかなくても自分でプロダクトを作れるようになりたいけど何からやったらいい?っていう相談を受けるようになってきました。個別に色々話を聞きつつこれやってみたら?っていうリンク送ったりはしてたんですが、その人たちにとっての大まかな地図的な意味でも、(「これ見といて」って自分が楽するためにも、)未経験者の人におすすめする学習教材をまとめてみました。 参考事例 ぼく自身ゼロからエンジニアを育て上げた経験があるわけではないので、先人の事例に学べることは学ぼう、かつこうやって伸びた人がいるんや!っていう本人のモチベーションになったらいいな、ということで紹介します。 リブセンスさん リブセンスさんの、非エンジニアを1ヶ月でエンジニアに育て上げる話、かなり強烈でしたね。フルコミットでかつ桂さんという突出したメンター
Photo by Matt Ryall こんにちは。谷口です。 ITエンジニアの皆さんや、プログラミングを学習中の皆さんは、プログラミング問題を解くのはお好きでしょうか?(お好きな方が多い……と信じております……) プログラミングが好きな方の中には、「業務とは直接関係ないけどプログラミング問題をもっと解きたい!」また、「プログラミング初心者で勉強中だから、問題をたくさん解きたい!」という方もいらっしゃるかと思います。 また、競技プログラミングがお好きで既にばりばり挑戦されている方や、競プロに挑戦してみたいけど「まだ初心者だしいきなり挑戦するのはハードル高いな……まずは自分の実力アップのために練習したい!」という方も、ちょうどいいレベルのプログラミング問題が必要になってくるかと思います。 (※競技プログラミングとは、一般に、出題されたプログラミング問題を制限時間内に解いて競い合う競技大会のこ
ひげぽん氏オススメ! エンジニアが絶対に読むべき名著2冊 西村:ということで、色々お話を伺ってきました。趣味でOSを作って言語処理も作ってIPAで採択され、今や世界的な企業であるTwitterに入られてアメリカに行って、シリコンバレーでエンジニアとして、サンフランシスコで活躍されるという、ある種すごい憧れの存在だと思うんですけど。 そういうひげぽんさんから、今まさにこれからエンジニアとしてキャリアを積んでいこう、スキルアップしていこうと考えてらっしゃる画面の前のエンジニアの皆さんに、アドバイスがあればぜひお願いしたいんですが。 蓑輪:わかりました。まずはですね、エンジニアの皆さんも技術書を読むと思うんですけど、その時に1つだけ僕が気をつけていることがあって。それは何かって言うと、技術書を買ってきて読むわけなんですけど、読んだ時に「わかったわかった」っていう感じで自分がわかったつもりになって
よくプログラマー(エンジニア)は、 数学が得意な人じゃないと出来ないとか言われたりしますが、 個人的には数学というより、 英語が出来る(好きな)人の方が有利だと思っています。 だってプログラミングってコメント以外英語ですし。 「なでしこ」とかはありますけどw 僕は学生時代、どちらかと言うと数学が苦手なタイプでしたが、 英語はわりと出来る方でした(というか好きだった)。 もちろん、数学も出来た方が有利に決まっていますが、 普通にご飯を食べていく分にはそんなに必要無いと思います。 ということで、 英語の意味を理解すると、仕事が更に捗るんじゃないかと思いまして、 プログラミングとかウェブで出てくるけど、 ちょっと意味が分かりづらい英単語30個をまとめてみました! プログラミングで出てくる英単語30選 英単語読み方意味 allocate アロケート 割り当てる attr(attribute) アト
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く