2021 年開発者 エコシステムの現状このレポートは、今年で 5 回目となる JetBrains 実施の年次開発者エコシステムアンケートの結果をまとめたものです。183 の国または地域から 31,743 人の開発者にご協力いただき、開発者コミュニティの展望を導き出しています。 テック産業の最新のトレンドと、ツール、テクノロジー、プログラミング言語に関する興味深い情報、およびプログラミング業界のその他の事実をご覧ください。
nuc.hatenadiary.org 競技プログラミングについての言及があったのですが、バズってる+競技プログラミングについて、納得がいかない記述がかなり多く見受けられたので、反論記事を書きました。 自己紹介 競技プログラミングの日本最大企業「AtCoder」の社長を9年間続けています。競技プログラマとして、2010年から毎年1つは世界大会で入賞しています。 完全に競技プログラミング支持側の意見なので、ポジショントークを出来るだけ排除しようと心がけているものの、完全に排除することは多分出来ていないため、多数の意見と比較してもらえると幸いです。 競技プログラミングとGoogle まずは肯定的な所から。 Googleに入るためには、競技プログラミングではなく、Googleに入るための勉強をするべき、という点に関しては、間違いなく正しいです。特にAtCoderの競技プログラミングは、常日頃から
Backend web development is the part of web development that deals with the server-side of a web application. This includes creating and managing the server-side logic, connecting the application to a database, creating server-side APIs, handling user authentication and authorization, and processing and responding to user requests. It often involves the use of backend development languages such as
TL;TR 抽象データ型からメンバー関数を動的にコールするだけが「メッセージング」and/or「オブジェクト指向」ではないのです! あなたの「オブジェクト指向」の理解や他者への説明、まず前提から見直す必要はありませんか? ないですか、そうですか…^^; Smalltalkの歴代処理系の中でも特に初期の実装であるSmalltalk-72は、今のSmalltalkとはまったく違う言語で、非同期ではないながらもトークン列をメッセージとして送る実装が採用されているなど、いまひとつピンと来にくいアラン・ケイ発案の“メッセージングを介した「決定の遅延」を目指すオブジェクト指向”を学ぶのに適していそうです。LivelyWeb上に再現されたSmalltalk-72処理系をいじって遊びながら情報を持ち寄り、その後の単なる動的な関数コールを「メッセージ」と呼ぶようになってしまったこれ以降の世代のSmallta
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
この記事は JustSystems Advent Calendar 2017 の 19日目の記事です。 初めに この記事は、サポーターズCoLab主催イベントの和田卓人先生の講演「エンジニアとしてこの先生きのこるために」の聴講記録です。 主催:サポーターズCoLab 講演者:和田卓人さん(@t_wada さん) 題目:「エンジニアとしてこの先生きのこるために」 聴講のきっかけ:新人研修で一度紹介して頂いていて講義内容に興味をもっていたため 参考資料 私が研修中の時は、スライドが公開されていませんでしたが、今年の6月5日に以下で資料が公開されています。 講義スライド このスライドだけでももちろんためになるので、講演中にあった補足の話を中心に記述していこうと思います。 テーマ1:エンジニアとしての基本姿勢とは?→「学び続ける姿勢」 原則は現役(いつでも使える)、ただし要素は廃れていく 同じもの
本記事では、 チームによる持続的に変更可能なWebアプリケーションの開発を目標に、フレームワーク導入時に考慮すべき22の観点を紹介する。 フレームワークによって特徴は異なるが、本番導入にあたって、考慮すべきポイントはあまり変わらないので、極力フレームワーク1に依存しすぎないよう配慮する。また、話をシンプルにするため、REST APIを提供するアプリケーションを題材とする。 前提 ソフトウェアのエントロピー ソフトウェアがエントロピー増大の法則を避けられないことを、体感している開発者は多いだろう2。普通にアプリケーション開発を続けると、開発スピードは鈍化し、品質は低下してバグが増え、開発者からは技術的負債への怨嗟の声が聞かれるようになる。エントロピー増大というフォースは極めて強力で、意思を持って立ち向かわなければ、容易にダークサイドに堕ちてしまう。 関心事の分離 大規模Webアプリケーション
ルンバを買ったので早速改造してみることにしました ずっと欲しかったルンバを購入しました。 ルンバ 606 アイロボット ロボット掃除機 高速応答プロセスiAdapt搭載 ゴミ検知センサー 自動充電 ペットの毛 フローリング 畳にも ブラック R606060 アイロボット(IRobot)Amazon 注:動作確認したのはルンバ622でしたが、すでに品切れのため、同じ600シリーズで安価な606を代わりに紹介しています 目的はもちろんお掃除してもらうことなのですが、やはりルンバを買ったら色々いじりたくなってしまいますね。というわけで、サクッとRaspberry Piでルンバをコントロールしてみることにしました。 方針は以下です。 Raspberry PiとROS(Robot Operating System)を使う 普通に掃除機としても使うので、基本的に元に戻せない改造はしない ROSに関して
あるいは「高校生からはじめるプログラミング」の話。 こちらの本をKADOKAWA様からいただきました。ありがとうございます。なぜ自分に……*1などと思わなくもなかったけど、ありがたく眺めさせていただきました。今となってはこういうガチ初心者向けの教本を眺める機会なんて皆無だしなあ。 SAOのコンテンツ力が表紙/裏表紙と章立てのページに発揮されてるけど、他のページはごく普通のプログラミング教本で、特に中身との連携はなかった。これで売上とか変わるのかな。変わりそうだなあ。 で、ざらっと眺めたあと、タイミングよくプログラミングを始める動機ってなんなんだろうな、と思ったので、それに絡めて書く。 本の中身 最近のプログラミングの導入ってそもそも何をやるの、みたいなのがぜんぜん分かってなかったので、ちょっと新鮮だった。思えば技術要素を特定しない「プログラミング入門」の本というのは人生で初めて読んだかもし
アメリカ人です。 Hello 👋 この記事の目的 多くの日本人は自分の英語力には自信がないではないでしょうか。残念ながら「英語がわからん」、「英語が全然できない」という声をしょっちゅう聞いています。でも、今まで英語ができて意味がちゃんと伝わる何人かの日本人に会ったがあります。完璧な英語ではないけど(外国人も英語でミスる時もある...)、がんばって話そうとするので充分仕事ができる人たち。そういうがんばる姿勢はオープンソースのプログラムや英語圏のプログラムに手を出すためには一番大事なことだと思います(外国人側もすごく助かります)。日本の文化では「私はできる!」と自慢することは少ない中、この記事を通して、流暢に話せなくても自分のプログラミングの命名の仕方にはちょっとだけでも自信を持たせたいなと思います。完璧じゃなくていいです。Let's go! 合わせて読んでいただきたい 【日本人エンジニア必
プログラミングでよく使う英単語のまとめ【随時更新】 随時追加、整理していきます。 名前をつけるときには、名詞、動詞の違い、複数形、過去形などに注意しましょう。 オブジェクト指向では、クラス名は名詞、メソッドは動詞とします。 使ってはいけない言葉 get / set アクセサ (getter / setter) やプロパティによく使われている。 それ以外に使うと混乱を招くのでよくない。 get は軽量な処理と考えるので、中に重い処理は書いてはいけない。 単純な取得/設定以外で使いたくなったら他の言葉を考える。 load, save, commit, store, enable, disable, fetch, register, configure, add, etc... check 意味が広すぎて何をしているかわからない。 できるだけ別の言葉を使う。 具体的に何をしているかに分解して考え
あなたの好きな言語は何ですか。そして、あなたの好きなアルゴリズムは何ですか。 好きな言語があると、その言語でどんな問題でも解決しようとなりがちになります。その言語を極めるのは素晴らしいことですが、その言語や似たような言語でしかコードが書けなくなったり、他の言語に対して見向きもしなくなってしまう可能性があります。 勇気を出して新しい言語にチャレンジしてみませんか?色々な言語に挑戦してみませんか? 何から始めればいいか分からない。次にどの言語を学べばいいか分からない。いま特に何も困っていない。何でも得意な言語で書けてしまう。そういう人が多いのではないでしょうか。 新しい言語にチャレンジするきっかけを作る一つの方法は、ある特定のアルゴリズムを一つ決めて、あらゆる言語で実装してみることです。解く問題が大きすぎると力尽きてしまうので、せいぜい20〜30行程度で書ける簡単なものが良いでしょう。大事なこ
Posted by Steve Vranakis and Jayme Goldstein, Executive Creative Director and Project Lead, Google Creative Lab At Google, we’re passionate about empowering children to create and explore with technology. We believe that when children learn to code, they’re not just learning how to program a computer—they’re learning a new language for creative expression and are developing computational thinking:
計算機プログラムの構造と解釈、通称SICPを一から翻訳し直しました。 ファイル: SICP非公式日本語版 翻訳改訂版 リポジトリ: https://github.com/hiroshi-manabe/sicp-pdf また、今回の翻訳をするにあたって考えたことを別記事にまとめました。 腐った翻訳に対する態度について SICPはMITの有名なプログラミングの教科書です。詳しくはminghai氏の記事をご参照ください。 この翻訳改訂版は、minghai氏の非公式日本語版(以降、minghai氏版)のあまりにも惨憺たる翻訳を見かねて、原著から翻訳をし直したものです。この翻訳を進めるにあたっては、minghai氏版の訳を置き換えていくというやり方で進めていきました。しかし、差分を取ればわかっていただけると思いますが、minghai氏版のテキストは痕跡をとどめていないはずです。この方式を採ったのは、
いよいよプログラミング教育ブームですが,自分の子供に教える・教えないという範囲ならば好き嫌いで済みますけれど,小学校義務教育への導入という極端な話になると,なかなか議論は尽きません.とはいえ,海外に遅れてはいけないということで,反対派を一気に押し切るというのは私は好きではありません.私の根底にあるのは,これほど面白くて大好きなコンピュータを万人に好きになってもらいたい,という気持ちがあるからです.義務教育への導入の理由は万人を説得できるものでなければならないと考えています. たとえば,最近出版された神谷さんの「子どもにプログラミングを学ばせるべき6つの理由」という本を例にとりますが,この本は非常にうまく現在のプログラミング教育ブームをまとめている良い本です.今のブームの理由がわかると思います.しかし,ここであげているような6つの理由では,根っこから反対している人を説得できないのではないかと
rubocop のしつけ方 TL;DR rubocop --auto-gen-config して Offense count の多い順に毎日数個ずつ設定を確認したら 僕の使っている .rubocop.yml ができました これが onkcop か…(ゴクリ / “僕の使っている .rubocop.yml” https://t.co/KVryle9SJq — そのっつ (SEO Naotoshi) (@sonots) October 26, 2015 rubocop とは コーディング規約に準拠しているかをチェックする gem です。 https://github.com/bbatsov/rubocop こんなコードに対してかけると def badName if something test end end 以下のような警告をしてくれます。 Offenses: test.rb:1:5: C:
今年、クックパッドでは夏のインターンと題して20名弱のインターンを受け入れました。 このインターンは前半と後半に大きく分かれており、 後半が社員に混じって業務をするいわゆる普通のインターンで、 前半は7日間にわたってプログラミング関連の講義を受けるという仕組みです。 わたし(青木)はその前半の過程において、「プログラミングパラダイム」という 1 日の講義を担当し、 JavaScriptの処理系を書くという、ツッコミどころの多い課題を実施しました。 本稿では、その講義を開発する際に考慮したこと、特に難易度調整についてお話しします。 また講義のために開発したJavaScript処理系「JetSpider」についても軽くふれます。 ▼講義資料 Cookpad Summer Intern 2015 - Programming Paradigm from Minero Aoki JetSpiderコ
先日参加したワークショップからの学びとして、小学生をターゲットにしたときの運営について考えてみます。 この日はcanvasが主催で、SonyのMESHを使った子ども向けのワークショップでした。 まず面白いのは、午後のワークショップに向けて、午前中に指導者向けの研修があったことです。 内容は簡潔で非常に分かりやすく、その後は自分がファシリテーターを務めるということでかなり気合を入れて臨みましたね。 一通り使い方を覚えたところで、午後からは自分の担当テーブルに迎えた小学生の女の子二人とチームを組みました。 ワークショップの前半は、大人向けとほぼ同じ内容のレクチャー。 自分の子どもが2年生なので、その辺の年齢の子どもたちと接することに違和感はないのですが ファシリテーターとして引っ張っていくのは、親とは別の能力が必要だなと思い知らされることが多いです。 低学年の子どもたちは、話をする人の方を向い
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く