若手向けに開催した勉強会の資料です。 一般的なアプリケーション開発をターゲットに、主要言語と歴史を解説しています。
若手向けに開催した勉強会の資料です。 一般的なアプリケーション開発をターゲットに、主要言語と歴史を解説しています。
記者に「プログラミングのスキル」って必要なの?ちなみにNHKニュースの画像生成も記者がコードを書いてます 新型コロナウイルスの新規感染者の数を示す日本地図に、毎日厳しい視線を送る男がいる。 コロナの感染拡大の今後が懸念されるが、地図がきちんと描画されているかも気になってしまう。 それはこの「新型コロナ感染者数マップ作画システム」をプログラミングしたのが彼だから。 ちなみに彼は技術部局のエンジニアではなく、いつもはテレビで解説している記者だったりする。 このシステム、記者が作りましたこんにちは、NHK解説委員の三輪誠司といいます。専門はITやサイバーセキュリティで、主に「シブ5時」や「くらし解説」などでニュースの解説を担当しています。 新型コロナウイルスの「感染者数マップ作画システム」は、1週間で作成しました。 言語はJava、地図はSVGで、ブラウザの画面をそのまま放送で使っています。SV
(編注:2020/08/18、いただいたフィードバックをもとに記事を修正いたしました。) オブジェクト指向プログラミングが、ソフトウェア開発に新しい設計を持ち込みました。 その結果、開発者は単一の目的を処理するために、全体のアプリケーションに関係なく、1つのクラスの中で、同じ目的や機能を持つデータを結び付けることができるようになりました。 しかし、このオブジェクト指向プログラミングで、分かりにくいプログラムやメンテナンスができないプログラムを防ぐことはできません。 そこで、5つのガイドラインがRobert C. Martinによって作り出されました。これら5つのガイドラインすなわち原則により、開発者にとって読みやすく、メンテナンスが可能なプログラムを作成しやすくなりました。 5つの原則は、S.O.L.I.Dの原則と呼ばれています(頭字語はMichael Feathereによって名付けられま
現代のプログラミング言語ではポインタは単なるアドレスではなく,provenanceを伴った参照として扱われています. 世界は既に変わっています. 概要 ポインタは単なるアドレスではありません. ポインタにはprovenanceという,どのオブジェクト由来かの情報が含まれています. Provenanceを使うことで,最適化が効きやすくなったり,堅牢なプログラムを書きやすくなったりします. 追記: 次の英語記事を読むとprovenanceが必要な理由についてもっとよく知ることができます.クリックしよう!!!!(2020-12-15) https://www.ralfj.de/blog/2020/12/14/provenance.html ポインタはアドレスではない 次のCプログラムを見てみましょう. #include <stdio.h> #include <string.h> int main
BlazorでiOS/Androidネイティブアプリケーションを開発可能にする「Mobile Blazor Bindings」、マイクロソフトが発表 マイクロソフトはWebアプリケーションフレームワーク「Blazor」を用いてiOSとAndroidに対応したネイティブアプリケーションを開発可能にする実験的なプロジェクト「Mobile Blazor Bindings」を、1月14日(日本時間1月15日未明)に開催されたオンラインインベント「.NET Conf Focus on Blazor」で発表しました。 Blazorは、C#と.NET Coreを用いてWebアプリケーションの開発を可能にするフレームワークです。JavaScriptを用いず、C#によるプログラミングだけでSPA(Single Page Application)のWebアプリケーションなどを開発できるため、.NETの知識や経
「もっと人間にとって扱いやすい、自分の言語をつくってみたかった」。10月20日に東京の秋葉原コンベンションホールで開催された第40回「U-22プログラミング・コンテスト2019」の最終審査会で、見事、経済産業大臣賞(総合)を受賞した開成中学校3年の上原直人さん(15歳)は、独自プログラミング言語「Blawn」を発表した。IT業界の経営者など、並みいる審査員を驚かせたのは、完成度の高さはもちろんのこと、今年8月からわずか数週間で完成させたスピードだった。一次審査の応募期間7月1日~9月2日に着想から開発、完成まで一人で仕上げたという。 C言語を使ったのは今年7月 それまでPythonを使っていたという上原さんは発表の中で、「今年の7月か8月にC++を始めたが、扱いにくかった。もっと可読性の高い構文とメモリの安全性や速度を高めたいと思った」と、開発のきっかけについて語った。 質疑応答で審査員か
刺身にタンポポ乗せる仕事ってきょうび言わねーな……。 プログラミングとは、勉強も運動もスマブラも下手なクソ隠キャ中学生が「俺もパソコン1台で凄い技術者になって…!」とワクワクしながら始めるものの思ったより普通に難しいし学校の試験で出たような知識要求されるしで3日で放り投げ、10数年後にnoteで「お前らは絶望的にプログラミングに向いてないからやめろ」なんて記事を書くだけのザコに成り下がる、夢と希望に溢れた技術である。 近年ではパソコンのスペックの上昇にともないできることも増え、どこのご家庭にもあるRTX2080で簡単にディープラーニングもできるようになった。Unityで3Dゲームをバリバリ動かしてもブルースクリーンは出ない。やっぱ世界を広げるのは小賢しい知恵よりもスペックの暴力だぜ。 開発環境や言語も選択肢豊富で、エディタもかつては有料クラスでも手に入らなかったような贅沢な機能が満載のもの
あるいは、画像コメントのすすめ。 TL;DR 画像コメントのほうが意図が伝わりやすい 画像URLからツールチップで画像表示してくれるVSCode拡張機能があるよ その場で画像を作るSVGエディタもあったよ 問題提起 みなさんは、少し複雑なアルゴリズムを書くことになったときどうしていますか。 たいていの場合、いきなりコーティングに取り掛かるのでなく、 雰囲気をつかむためメモやホワイトボードに落書きすると思います。 特に幾何計算では簡単なものでも図を描いた方がいいです。こんな感じ。 図を書いたら後はコードに落とすだけです。 ね、簡単でしょう? // 指定した直線を対称軸としたときの指定した点の鏡映位置を返す function flipVectorByLine(p: Vector, line: Line): Vector { // TODO: よくわかるコメントを書く const ln = ne
現在は、200を超えるプログラミング言語があります。 その中から、初心者がまずプログラミング言語を選ぶということだけでもかなり労力がいる作業になります。 目的や用途によって、習得すべきプログラミング言語は違ってきます。 ここではプログラミング言語を習得したい初心者にオススメのプログラミング言語をご紹介します。 初心者のプログラミング選び あなたがプログラミングを習得したい理由はなんですか。 趣味でしょうか?仕事でしょうか?それとも小学校必修化に向けて、お子様のために学びたいという理由でしょうか。 プログラミングにもたくさんの学び方があり、初心者の方が学びやすい言語からスタートすることも習得するための方法ですよね! 今回は、数あるプログラミング言語から初心者に人気のもの・わかりやすい言語をご紹介しますので、 自分に合ったプログラミング言語を見つけて楽しくプログラミングを習得してください。 初
もしかしたら私だけかもしれないです。ずれているかもしれません。 一般論ではないかもしれません。 でも、同じような気持ちになっているエンジニアがいるかもしれないので、 代表して言わせてください。 エンジニアに、気軽に「バグ」と言うのをやめませんか? 最近立て続けに以下のようなことが起こっており、私と同僚が消耗しています。心がすり減ってます。ワーカーエクスペリエンスが低下しています。。。 ~~~~~~~~~~~~~~~~~~~ 「○○さん、この数値がバグなんだけど直してもらえる?」 →調べたらその週は祝日影響で、営業日が少ないだけだった。 「あのデータのバグはいつ直りますか?」 →データの集計定義の変更の依頼があり、変更前の状態をバグと呼ぶ 「この前入ってなかったバグなんだけど、次の開発に入れてもらっていい?」 →スコープ外のこと(担当がそれを忘れていた)をバグと呼ぶ ~~~~~~~~~~~~
どこの会社でも「1行直すだけでしょ? そんなに大変なの?」ということを何度も聞かれる (もしくは言外にそのニュアンスを含められる) ので毎度説明するのだけれど、「いや、そう思うだろうけれど大変なんですよ」以外に答えられていなくて、自分でもあまりうまい答えではないなと感じるのでまじめに考えてみた。 まず大前提として1行を修正するのに本当に言われるがままにその1行を直すのであればそれは作業者で世の中にエンジニアなんて職業はいらないわけで、ぼくらの付加価値は1行を直すときに1行の外にあるものを想起できるから価値があるわけです。 じゃあ、どんなことを考えているかというと、まずたいていそんなすぐに安請け合いできないシステムというのは1行を直すときに影響を受ける行数というのは10行や20行ではないことが多い。そこで影響範囲を考えます。途端にこれが1万行になったりする。すると、1万行へ影響が出るのにこれ
晒すつもりではありませんが、Facebook で友人のとある投稿を見かけて最初は「三単現にしないと💢」という軽い気持ちで返答したのですが、よくよく考えて見たらこれ思った以上のクソ命名でしたので、とりあえず流れのスクショを上げときます: はい、今回の記事はマサカリです。あしからず。 見ての通り、最初は友人の後輩ちゃんが isCanUseSkill という明らかにアレな命名をしてきたので、友人がそれを指摘をするも、まさかの allowSkill という更にダメな名前をつけてきた件。isCanUseSkill はまだ「なんだこいつの英語はwww」という意図はわかるから笑って済ませそうな名前ですが、allowSkill は「これは命令なのか Yes-Or-No 質問を間違えて命令にしちゃったのか💢」という、書いた本人がもし友人じゃなかったら絶対引きずり出して小 1 時間殴りたいレベルのクソ名前
2が現れる素数という面白い素数が紹介されていた。 2が現れる素数 - INTEGERS 昔せっかく高速素数判定器を作ったので、どうせならNが現れる素数を見つけてやろう!と思い立った。 プログラム (※プログラムはpython(2.7.12)で動作します) ルールとしては ①四隅のみの数字を変える(もちろん先頭は1以上の数字) ②四隅の数字はN以外の数字にする としています。 なので、それぞれ5832(8*9*9*9)個の数字の中から素数を探すことになります。 高速素数判定のプログラム(再掲) primechecker.pyという名前で保存 import random import numpy as np class PrimeChecker: def __init__(self, list_limit = pow(10,3)): if list_limit < 5: list_limit
富士通が人工知能(AI)などを活用し、システム開発プロセスの改革に本腰を入れ始めた。システム構築・運用支援のツール群を「KIWare(ケーアイウェア)」として体系化し、2017年11月に50件の開発プロジェクトに本格適用を開始した。時間を浪費しがちな開発業務をAIで効率化し、システムエンジニア(SE)が、開発業務の様々な作業や成果物の品質の向上に充てる時間を捻出する狙いである。 富士通がAIの活用に本腰を入れる背景には、開発プロジェクトの作業や成果物の品質の低さが課題になっていることがある。「品質を現場の人任せではなく、技術で底上げする。それによって品質が原因の不採算の案件を減らしたい」(富士通の粟津正輝サービステクノロジー本部 本部長代理 兼 先端技術統括部長 兼 SE変革推進室長代理)。 システム開発において、不採算案件につながる要因は様々だ。設計書の不備による手戻りが発生したり、ソー
スーパーコンピューターをはるかにしのぐ性能が期待される次世代のコンピューター、「量子コンピューター」の初の国産機の開発に成功したと国立情報学研究所やNTTなどのチームが発表しました。複雑な組み合わせを解く問題でスーパーコンピューターの100倍のスピードを発揮したということで来週から世界中の研究者が利用できるようインターネット上で無料公開するということです。 カナダのベンチャー企業が6年前、世界で初めて販売を始め、グーグルやIBM、マイクロソフトなどの大手IT企業も開発を進めるなど世界中でしれつな競争が展開されています。 初の国産量子コンピューターの開発に成功したと発表したのは、国立情報学研究所やNTT、それに東京大学など国のプロジェクトチームです。 従来のコンピューターでは、半導体の電圧で「0」か「1」の情報を表現し計算処理を行いますが、この量子コンピューターでは、全長1キロのループ状の光
自分の中のプログラミングの常識というものは、ときどき現実のハードウェアに合わせて調節しないといけない。ハードウェアが進歩し続けているので、コンピュータで簡単にできることと相対的に難しいことのバランスが変化し続けているからだ。ここでは特にストレージにフォーカスして書こうと思う。 昔はメモリが相対的にとても貴重な資源だったので多くのプログラマがメモリを節約することに血道を上げていた。例えばWindowsの初期の頃に設計されたデータ構造には、メモリをバイト単位ででもいいから節約したいという意図の痕跡がいまでも多く見受けられる。DRAMの次に速い記憶装置はHDDだったので、メモリが足りなくなればHDDにデータを保存せざるを得ないのだが、DRAMとHDDのランダムアクセスの速度差は、机の上の本の開いているページを見るのと、その本をAmazonで注文して到着するのを待つのと同じくらいのスケールで違うの
【レポート】『Fate/Grand Order』開発スタッフが語る、技術力がなければ面白いゲームを創れない理由とは…変化に強い構造の作り方 GMOアプリクラウドは、6月15日、GMOインターネットグループが運営するコミュニケーションスペース「GMO Yours」にて、「ゲーム開発と技術力」をテーマとしたイベントとして、「現場のエンジニアが語る『Fate/Grand Order』の開発技術からアップデートに関するノウハウまで一挙公開」を開催した。 本イベントでは、ゲーム運営や開発に関わっている方々を対象に、『Fate/Grand Order』の開発をリリース当初から支えるサーバーエンジニアと、ディライトワークスの技術力向上のために、日々課題に取り組んでいるテクニカルディレクターによる「面白いゲームの作り方」や「海外展開に向けた取組み」について技術的側面から講演を行った。 本稿では、ディライト
定期的に思うんだけどプログラムで無理な英語にせず日本語にすればいいのにって思う。 (実践はしていない) 日本語で書ける言語使うんじゃなくて変数名や関数名がUnicode対応で日本語書けるもの。 日本語でいいと思う理由は主に2つ ○画面に表示する時 フレームワークや言語にもよるけど表示するときに英語の名前から日本語の名前に変換して表示って手間があるものがある。 最近見かけた例だと.NETでプロパティの属性に表示名書いて表示するときに取り出していた。 最初から日本語だとそのまま表示でいいことが多くて一段手間が省ける ○英語がわけわからん まず自分が英語化するとき。 いい単語が出てこないとか、しょっちゅう。 慣れが必要だし慣れてもなんかコレジャナイ感とかで苦戦する。 次に他の人の英語化したのを見る時。 その人の英語力にもよるけど、動詞名詞が変に混ざっていたり、sがついてたりなかったり、そもそもc
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く