You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
新しいプログラミング言語やライブラリ、フレームワークを学ぶには、実際にそれらを試して挙動などを見てみることが大事ですが、実行環境を用意するのは手間がかかります。 そこで役立つのが、いわゆる「プレイグラウンド」と呼ばれる、Webブラウザでプログラミング言語やライブラリ、フレームワークをすぐに試すことができるサービスです。 主要なプログラミング言語の公式サイトには、実際にその言語をすぐに試せるプレイグラウンドが用意されていることも多く、また公式サイト以外にもネット上にはさまざまなプレイグラウンドがあります。 プレイグラウンドを使えば、気軽にいろんなプログラミング言語やライブラリ、フレームワークを試せます。 この記事ではそうしたプレイグラウンドをまとめてみました。ここで紹介したプレイグラウンドの他にも、あなたのお気に入りのプレイグラウンドがあればX/Twitterやブックマークのコメント、メール
この前、公園を散歩しながらスマホでウイークリー落合の番組を聞いていたら、そこで落合さんがChatGPTに謎の呪文?コマンド?のようなものを入力していた。 https://newspicks.com/movie-series/87?movieId=2528 その時はまったく意味がサーパリ分からなかったので、まったく意識に入ってこないでスルーしてしまった。 清水さんのnote記事によれば、新登場したGPT-4で物語を作って遊んでいたら、落合さんから例の呪文?が送られてきたそうだ。 それを入力したら何か物語の筋書きが生成されたらしい。 GPT-4使ってみた コマンドを転載させてもらうが、このようなものだった↓ #[このコンテンツは [Goal] を SeekするためのTemplateです] - [コンテンツの詳細]: - [Goal]: - Goalを達成するため
プログラミング学習で開発環境の構築が不安ならWebサービスでの学習もアリプログラミングを勉強したいけれども、開発環境の構築が面倒だという人が少なくありません。時には環境構築で挫折をしてしまう人すらいます。またやっと環境構築を行ってみたものの、そのままにしてしまう人もいるでしょう。 開発環境の構築が不要で、すぐにコードが書けたらプログラミング学習のハードルが一気に下がるかもしれません。 そこでこの記事では、開発環境の構築が不要な、無料のWebアプリサービスを紹介します。学びたい言語や要件に合うサービスを見つけて、プログラミングの学習やコーディングにぜひ利用してみましょう。 プログラミング学習を行う上でどのようなプログラミング言語があるか知っておきたい方は、以下の記事も併せてご覧ください。
Yoyo Code (Matyáš Racek's blog)より。 ソフトウェアの開発方法を劇的に変えるには、いくつかのブレイクスルーが必要だと感じています。ブレイクスルーといった場合、それは大きなブレイクスルーを意味します。例えば、「構造化プログラミング」のブレイクスルーのようなもので、プログラミングに対する私たちの考え方を完全に変えてしまうようなものです。ここでは、それに関するいくつかの見解とアイデアを紹介します。 グルーコードや定型文を書くのは無駄だ 私が書くコードのほとんどは、面白いことはするわけではなく、定型文か、サブシステム同士を繋ぐための糊のようなものです。この種のコードは、すでに何度も書かれていて、これからも何度も書かれるような気がします。それなのに、なぜまた書かなければならないのでしょうか? 問題は、コードがかなり異なっていることで、通常は既存のコードをそのまま使うこと
お知らせ: 2022/9/1 CS50 を活用した非営利/協賛企業による「コロナ学生支援」プロジェクトを実施中 ▼ 学生の方へ:CS50 の学習(履修証明書の取得)を一緒に取り組むプロジェクト CS50日本語版の翻訳コントリビューターである CODEGYM が主催する、非営利/無償のプロジェクト「CODEGYM Academy (外部リンク)」は、昨年に続き2022年度(春/秋)も、キャリア選択を控えた学生に対し、以下の企業の協賛により無償で17週間のプログラミング教育カリキュラムを提供します。 CODEGYM Academy 協賛企業(2022年) https://codegym.jp/academy/ 今年度のエントリーは締め切りました — ようこそ! このページは、ハーバード大学 CS50 の日本語版翻訳プロジェクトのページです。当サイトのドメインに掲載されているコンテンツは、Cre
私が人生でずっと悩んで追い求めていたものがついに解決した。それは、なんでも良いから何かが「出来るようになる」ことだ。 昔からいくらその対象に時間をかけても、努力しても、人並みにすらならない。人にやってもらうとか自分がやらないことに関してはうまくいくのだが、自分が何かが出来るようになるということに関しては人生50年目だが、絶望的で、それが自分の自己肯定感や、人並みに生きることへの罪悪感を生んでいた。人生で解決したかった問題 No.1 だ。だからそれをずっと解決しようと頑張ってきた。 ギター演奏での解決方法私はクソ不器用で、なにやってもできないので、人生で出来たらいいことを2つだけ定めた。ギター演奏と、プログラミング。ギター演奏に関しては少し前に解決した。根本的な問題を一つ上げるとすると、「ゆっくりから、メトロノームで練習する」これだけだ。 ギターはもう何十年も演奏しているのに弾ける感がなかっ
2月に出版された「モブプログラミング・ベストプラクティス」をさっそく読んだ.僕はモブプログラミングの経験があり,例えばインフラ構築など,プログラミング以外の場面でも「モブ」のエッセンスを取り入れてタスクを進めることも多いけど,本書の目次を見て興味を持った部分もあり,読むことにした.本書の読者層は非常に多岐にわたると思う.モブプログラミング未経験者は是非読むべきだと思うし,モブプログラミング経験者でも新たな気付きが得られると思う.日本語で読める貴重な1冊! モブプログラミング・ベストプラクティス ソフトウェアの品質と生産性をチームで高める 作者:マーク・パール発売日: 2019/02/23メディア: 単行本 目次 第1章 : なぜモブプログラミングなのか 第2章 : モビングの始め方 第3章 : モビングと人 第4章 : モビングの軌道修正 第5章 : 定期的なモビングのための仕事場の改造
ある程度経験を積んだレビュワーがやりがちな失敗は、 指摘しやすいコーディング規約違反だけ指摘している というもの。 コードレビューで指摘するべき欠陥とは、必ずしも規約違反だけではなく、 仕様考慮もれや機能的なバグ、非機能的なセキュリティやパフォーマンス上の問題点も含まれる。 一つ関数に対して複数の視点でソースチェックをしないといけないが、 人間は同時に複数のことは考えられない。 そこでどうすればいいかと情報をあさっていたところ、 われらがIPAがセキュアプログラミング講座というWEBページで、 四回に分けてレビューすることを提唱していた。 1回目はどこに何があるか、 2回目は可読性が確保されているか、規約にのっとっているか 3回目は機能性 4回目はセキュリティ といった具合である。 IPAの講座では4回目はセキュリティに限定しているが、 担当していたプロダクトは、非機能面はセキュリティはも
エンジニア組織を強くするための本を出版しました Qiitaでエンジニアリングをめぐる様々なコミュニケーションの問題とその解決策や考え方を書いてきた。それらの背後にあるエッセンスをこの度書籍として出版するに至りました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング この書籍は、エンジニアリングを「不確実性を削減する」という第一原理で捉え直し、様々なエンジニアリングとその間のコミュニケーションをめぐる現象を説明していくものです。 デメテルの法則 別名最小知識の法則。デメテルは、豊穣の女神。アスペクト指向などの研究であった「デメテルプロジェクト」に由来。 基本的な考え方は、任意のオブジェクトが自分以外(サブコンポーネント含む)の構造やプロパティに対して持っている仮定を最小限にすべきであるという点にある。 単純化して説明すると、オブジェクトの"メンバーのプロパテ
はじめに 社会人になって5年以上経過し、トレーナーを担当することも増えたので、 自分の新卒時代やトレーナーをやっている中で大事だなと思ったことまとめ。 働き方とか多め。技術系は良記事が多数存在しているのでリンク辿る形。 業界でいうとソーシャルゲーム系。 自分はこの内容をトレーニーにも共有して、週次の振り返りの際に、遭遇した事例と関連付けたりする形で使用している。 ■トレーナーの心得 『やってみせ、言って聞かせて、させてみて、 ほめてやらねば人は動かじ。 話し合い、耳を傾け、承認し、任せてやらねば、人は育たず。 やっている、姿を感謝で見守って、信頼せねば、人は実らず』(山本五十六) トレーナーの役割は覚えさせることではない、トレーニーが1人で成長していけるようにすること 自分は自分、相手は相手。自分のコピーを作るのではないし、型にはめるのも違う 相手をよく見て、関わり方や教え方を変える 背中
時代遅れの工数見積 デジタル技術を使ってあるアイデアがあるとして、これを実装したいとします。過去は、これを実装するためにいわゆる「工数見積」という見積もり方法を用いていました。 ・システムエンジニア 1人月 ・プログラミング 2人月 ・テスト 1人月 1人月とは、一日8時間 x 20労働日 = 160時間くらいのことを言います。 これに時給と稼働時間をかけると、大体の金額が出るんですね。 ・システムエンジニア 時給3,500円 x 160時間 x 1人月 = 560,000円 ・プログラミング 時給2,500円 x 160時間 x 2人月 = 800,000円 ・テスト 時給2,000円 x 160時間 x 1人月 = 320,000円 合計1,680,000円、のような価格になりますね。 もちろん、実際は見積項目をもっと細かい工程に分けますがコンセプトは同じです。 IT業界が長い人は過去
最近、あまりプログラミングが得意でない人のサポートをする形で、長い時間にわたってペアプログラミングを行っている。そのなかで、気がついた悪い習慣と成長するための良い習慣というものをまとめてみる。 この記事のバックグラウンドとなる体系的知識が本になりました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング あわせて読みたい 経営者マインドが足りない!vs. 現場に任せてくれない!の対立をなくすカードゲームをつくった話 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ 心理的安全性ガイドライン(あるいは権威勾配に関する一
昨日、@irofさんと飲みながら自分を思い返すと「ちゃんとソフトウェア開発を勉強しはじめてから3年間たった」つまり「@bleisさんを知ってからこの5月でまる3年間たった」 それまでの僕はデザインパターンもオブジェクト指向がなんたるかも、バージョン管理もなにも知らなかった。 毎日言われたことをこなす仕事をして、変えたいけど誰も教えてくれないし、学び方すら教えてくれなかった。 それなりに努力してたけど、よくはわかっていなかった。 そんな状態から抜け出したのが3年前。このブログの先頭でも書いた。当時僕は21歳かな。(ちなみに就職したのは19歳のとき) →【このブログをはじめるきっかけ - うさぎ組】 この3年間でやったことをふりかえってみようと思いました。 ちょっとわかりにくいだろうけど、2009年5月からの12ヶ月周期で書いてみます。 こうやって振り返るのはあくまで僕のためであって、何かを誇
はじめに プログラミングなんてやったことがない、でも勉強したい、あるいは勉強せざるを得なくなってしまった。こういう方が最近増えているのではないかなと思います。 私もその一人です。ひょんなことからプログラミングに触る機会をもらって、触ってみたら面白くて、3ヶ月半の勉強の末、エンジニアとして現場に配属されるまでになりました。 Macすら触ったことの無かった私が、エンジニアになるまでにどんな本やコンテンツを使って勉強をしたのかを自分の備忘録として、そしてこれからプログラミングを勉強しようという方に参考にしてもらうために綴ろうと思います。 特に「みんなが使っている定番リファレンス」が何なのかプログラミング初心者には分からないことが多く、それらを知らないがために無駄な努力をしてしまうという経験が私にもあったため、これから勉強する方がそのような無駄な努力をしないために書こうと思います。 以下、Rail
デスクトップ ここでは、実際にデスクトップアプリケーションにならしめているデスクトップアプリケーションの一部についてお話しします。特定のスキルセットを必要とするデスクトッププラットフォームは大量に存在しています。例えば、Photoshopは画像を扱うアプリケーションなので、Photoshopなどで何か書きたければ、画像の処理を行うアルゴリズムと技法を絶対に知っておく必要があります。Dropboxなどで何か書きたい場合は、ソケットプログラミングを絶対に知っておく必要があります。そしてVisual StudioなどでコンパイラやIDEをビルドしたければ、コンパイラの操作方法を絶対に知っておく必要があります。ここではその詳細には触れません。デスクトッププラットフォームに取り組みたい場合に最も使う可能性のある言語について見ていきます。 デスクトッププラットフォームに関して言えば、プログラマはC++
「変数のスコープは狭いほど良い」と妄信する 変数でもメソッド名でもクラス名でも言えることだが、単純に「スコープは狭いほどよい」という方針でプログラムすると、逆に保守性も可読性も悪いプログラムができあがることがけっこうある*1。 実際、「あちこちから頻繁にアクセスするようなオブジェクトやメソッド」は、スコープをぐっと広くしてしまった方が(場合によってはグローバル変数やグローバル関数にしてしまった方が)、いちいちパラメータ渡しのバケツリレーをせずに、オブジェクトや機能を使うことができ、プログラムの可読性も保守性もずっと向上することがけっこうある。 たとえば、プログラムのいろいろな箇所から比較的頻繁にアクセスする必要があるようなオブジェクトや機能がバインド(格納)された変数やメソッドのスコープをクラスやメソッド内のローカルにして、それを使うときは、いちいち各クラスやメソッドにパラメータ渡しのチェ
今日はプログラミングの生産性に対して気づきがあったのでシェアしてみたい。 なぜ米国の人は生産性が高いのだろう プログラミングの生産性に関しては以前から興味がありいくつかのポストで考えたことをシェアしてきた。私は職業柄、いろんな国でいろんな人々とプログラミングを一緒にする機会が多い。その時に頻繁に感じるのは、平均的に言うと、アメリカの人プログラマが生産性が高い確率が高くて、しかもコードもきれいだという傾向にある。アメリカでお客さんと一緒にコードを書くと、お客さん自体が物凄く良く知っているし、実行力もある。アメリカの次と言うことでいうと、英語がネイティブの国もそれに近く、フランスなどの言語が近いところが続く感じなので、英語が物凄く影響すると思っていたし、実際すると思う。そのあたりの話はこちらのポストに書いてみた。 simplearchitect.hatenablog.com 定義での理解と、例
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く