オープンセミナー2017@岡山での発表スライドです
![技術的負債と向き合う](https://cdn-ak-scissors.b.st-hatena.com/image/square/5d0be31dd057c1459972106fc475b368fd05afbe/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2Ff5dc8a6fded74dd08fe51c04824204ca%2Fslide_0.jpg%3F7971332)
経緯 ドワンゴ様から恵贈頂いた。 高校生からはじめる プログラミング 作者: 吉村総一郎出版社/メーカー: KADOKAWA発売日: 2017/04/14メディア: 単行本この商品を含むブログを見る …読んでみたけど、HTML/CSS/JS の初歩的な部分を、初学者にやらせるとこうなる、という素朴な世界観で、CSSフレームワークもJSライブラリも出てこない。いや、出せと言ってるわけじゃない。理解せずにフレームワークを使う習慣がつくと、スクリプトキディ的な振る舞いによっていくし、教える側としても、変数が大きくなってコントロールできないのが問題だろう。 じゃあ基礎を抑えたとして、この先どう教えるといいんだろうな、というのは、たしかに自分も前から考えてはいて、それを書いてみる。 この文章のターゲット JavaScriptを教える人、またはポインタがあれば自学できる中級者以上 追記: すべての初学
ひとことで言えば、「レビュー文化は良くない」ということになるだろうか。 Slack導入、そして同時期に開始した服装の自由化、バイモーダルという考え方の浸透、AIやブロックチェーンを活用したPOC等の取り組みによって、SIerとしてのセゾン情報システムズは、社内の雰囲気もずいぶんと変わってきた。 しかし、こうした取り組みだけではどうにもならないものも少なからずあった。 そのひとつは、「悪い報告がしづらい」ことだった。 これは他のSIerでも同様のことが多いのではないかと思うが、問題プロジェクトに認定されると、品質管理部のモニタリングが強化されたり、第三者によるプロジェクト監査が始まったり、経営会議での定期的な報告が求められたり、何をやっているのかとレビューでこっぴどく叩かれたり、、、。 そうした責任感から、遅れをキャッチアップできるよう少しでもがんばろう、と励まし合う中で、それなのに四方から
jQuery 1.7 あたりで知識が止まっている、最近のフロントエンド開発を知らない私が入門しています、という記事です。 なんか長くなったし、気力も持たないので、その1ということで書いています。 webpackってなあに? npm経由で入るアセットバンドラー (asset bundler)です。Webフロントエンド開発用のビルドツールです。 SPAなどを作る時、 HTML・JS・CSS・画像やウェブフォントなど一連のリソースをまとめてくっつけたり、 くっつけられるように加工したり、 JSをbabelで古いブラウザ向けに変換したり、 TypeScriptやらをJSに変換したり、 全部面倒見てくれます。 ただwebpackに上記の機能を全て内蔵しているわけもなく、プラグインやローダーとかいった追加の機能をプロジェクトにインストールして設定することにより利用できるようになります。 最近のフロント
Rust は、Firefox を開発する Mozilla が開発し、次世代ブラウザの開発に使っているプログラミング言語です。借用検査という概念を導入することによりメモリ安全およびデータ競合安全をコンパイラが保証する言語であり、2015年中頃の安定版のリリースあたりから次第に注目を集めるようになりました。 メモリ安全とは、メモリの範囲外アクセスや二重解放、ヌル参照、未初期化領域へのアクセスがない状態を表します。ただし、Rust の言うメモリ安全とは、メモリリークをしないことを保証するものではありません。 データ競合安全とは、あるひとつのオブジェクトに対しての読み込みおよび書き込みのが同時に起き結果が不定になる状態にならないことを表します。競合状態とは異なります。 無名関数という概念を様々な言語が次々と導入したように、プログラミング言語は相互に影響を及ぼし徐々に変化しています。Rust は「寿
最近言われているようにプログラミングは必修化の方向にある。 文科省でも、まじめにその在り方を議論してきているくらいだ。 小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ):文部科学省 僕はもともとキャリアの最初でプログラミング(大規模システム開発プロジェクトでコーディングしたり仕様書を書いたりすること)に携わっていたし、振り返ってみれば小学六年の頃(1980年頃だ)からNECのPC-8001でBASICのプログラミングをしていたので、いわゆるプログラミングスキルはある方だと思う。 でも、自分はたまたま興味があってそういうスキルを身につけたけれど、自分の子どもに教えるとなるとなかなか難しいなぁ、と考えていた。 というのも、すでに完成されたアプリが多すぎるからだ。 僕が初めてPCに触れた1980年台といえば、もちろんwindowsなんかなくて、真っ黒な画面のコマンドプロン
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 趣味でも業務でも日々Webサービスを開発しているzaruです。こんにちは。ついにアドベントカレンダーも最終日です。まだサンタとしての仕事が残っています。さて今回は仕事としてWebサービスを開発するときに気をつけたいポイントを紹介します。まぁ仕事に限った話じゃないですが…参考になれば幸いです。特に新卒プログラマあたりに読んでもらえればと思います😀 なお僕の業務上インフラ周りはAWSが多いです。 RASISという指標 RASISという指標があります。コンピュータシステムの評価指標5つの頭文字を取ったものです。 Reliability(信頼
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに この記事は、オールアバウト Advent Calendar 2016の23日目のエントリーです。 私、@tajima_tasoからは【原理原則で理解するDocker】と題して書かせて頂きます。 Dockerってそもそも何?ってところから、内部実装部分についても触れています。 Dockerとは何か? まず、Dockerとは何なのか?について軽くおさらいしましょう。 今更聞けないという方も、なんとなくイメージが掴めたら嬉しいです。 何故、今Dockerなのか? Docker ソフトウェア開発を行う環境にいる方々の中で、この言葉を耳
class HogehogeService # Hogehogeはモデル名まんま def process(hogehoge, option_a: nil, option_b: nil, option_c: false) history = hogehoge.histories.last unless hogehoge.active? hogehoge.histories.last.update(state: :cancel) return error_message end case hogehoge.kind when "type_a" # ... when "type_b" # ... end ActiveRecord::Base.transaction do history.save! history.create_foobars end end end 何が酷いって、機能が何なのか
一年半SEとして働いてきた中で、私自身が苦手だと思っており、他人からもそのように評価されていたのが「質問の仕方」でした。 それが先日、他人から「質問の仕方がうまいね」と褒められることがあり、ようやく一人前の質問の仕方ができるようになってきたので、どのようにして克服できたのか紹介したいと思います。 質問の基本形 私が入社したばかりの頃は、わからないことがあればすぐに先輩に質問していました。 そのときにしていた質問の内容はだいたいこんな感じです。 「環境構築を手順書通りにやったんですけど、○○のコマンドでエラーがでてしまいます!なんとかなりませんか?」 このような質問を受け取ったら、先輩は暇ならばエラーメッセージを見てくれ、エラーメッセージに書かれていることに対して調査してくれるかもしれませんが、忙しいときにはそんなことはしてもらえません。 こんな質問を繰り返しているうちに先輩からは「技術系メ
この記事はLinux Advent Calendar 2016 9日目の記事です。 遅刻してしまい申し訳ございません。。。 とある事情があって1ヶ月半ほど独自NICのLinux向けのネットワークドライバを開発していた。 今回はARM用のデバイスドライバを開発した。NICはXilinx社のFPGAであるZYBOを用いて開発した。 まだ十分に実用段階というわけではないが、ひとまず独自NIC経由でのpingやiperfが通ったので、後学のために知見を残しておきたい(誰得だ、という感じだが)。 ソースコードはまだ公開されていないが、そう遠くないうちに公開する予定(たぶん)。 はじめに Linuxのデバイスには キャラクタデバイス - バイト単位のデータ通信 (e.g. シリアルポート) ブロックデバイス - ブロック単位のデータ通信 (e.g. ディスク) ネットワークデバイス の3種類がある。ネ
ストレスでイライラしている時は、感情に走りやすいものです。それが職場や仕事の環境であれば、致命的なことにもなりかねません。今度ストレスで爆発しそうになった時は、ぜひ試して欲しいメソッドがあります。「The Search Inside Yourself Leadership Institute(以下SIY)」は、Googleが社内で利用するために開発したマインドフルネス・プログラムですが、今では社外にも提供しています。ストレスで参ってしまいそうな時のために、SIYでは「シベリア北鉄道(Siberian North Rail Road:SBNRR)」メソッドを練習するように勧めています。 Stop(止まる) これが一番大事なステップです。感情に飲み込まれたり、衝動的な決断をする前に、立ち止まりましょう。少し間を置くようにします。 Breathe(深呼吸する) 深呼吸をすると、頭が少しスッキリし
TOPIC Redmineを3年間使い続けてお世話になったプラグインたち(全部、無償版) <書かないこと> Redmineの操作説明(インストール、操作方法など) プラグインの操作説明(インストール、操作方法など) <補足> 利用当時(2016年夏頃まで)の状況によるものとなりますので、最新の情報については要再確認となります。(当時はなかったものが今はあるかもしれないし、逆も然り) ※ 私が使っていたRedmineは、【Bitnami Redmine 3.1.1-1】となります。 (これまでのRedmine:2.3 → 2.6 → 3.1) ※以下、1つずつピックアップしていきます。 clipboard_image_paste(Attach image from clipboard) https://github.com/peclik/clipboard_image_paste 使用頻度:
英字キーボード配列にできて開発ユースに耐えうるノートPCがとても選択し辛い昨今、なんとなく安牌ポジションだったMBPについにさよならしました。 元々、Macを好んで使っていたというより、解像度が高くて英字配列にできて電池の持ちが良いというノートPCがMBPだっただけで使ってたのですが。 一番大きな要因がコンテナの利用頻度が増えて開発環境も含めてDockerを使う様になったので、Macだとどうにも面倒だという点です。 docker-machineのデフォルトとかdocker for Macのデフォルトが遅過ぎて話にならないし、dinghy使ってもdocker-sync使っても微妙でかつ面倒くさい。 普通にLinux上で直接動かせるなら、無駄な苦労だと思って、まず開発用PCをLinuxにしようと決めました。 そしたら新しいMBPが30万越えるのに、一世代前のCPUとメモリでドヤ顔してくるわ、キ
iPhoneアプリを個人で作り始めてから5年ほどになるけど、アプリ開発や運用でかかせないサービスをまとめてみた。 それぞれに競合サービスがあったりするけど、いくつか使ってみて、最終的に本当に使うようになったものだけ書いてみる。プログラミングする時に使うツールというより、アプリを作った後の運用とか、分析とか、そっち系のサービスがメインのランキング。 iOSアプリにしか使ってないけど、Androidで使えるものも多い。 10位 Iconfinder(無料+有料) https://www.iconfinder.com/ アプリはWebサービスに比べて画面が小さいのでビジュアルデザインが楽。実質、フリーのアイコンとか有料のアイコンを利用するだけで事足りることが多い。僕はまず有料のアイコン集を買って、それでカバーできない時はこのサイトから検索してます。 例えば、フラットデザインのリロードアイコンを検
ノルウェーに拠点を構えるD-Pad Studioは、Steam/Humble/GOGにて『Owlboy』の配信を開始した。価格は2480円。『Owlboy』はフクロウの少年「オータス」となり、友人たちの力を借りながら世界を探検していく2Dアクションゲームだ。2007年からプロジェクトはスタートし、数々のインディーアワードを受賞するなど長年切望されていた。なかなか発売日が決まらずユーザーをやきもきさせる部分もあったが、ついに8年間の時を経て配信が開始された。 すでに海外メディアでは同作のレビューが掲載されており、Destructoidが100点、GameCriticsが95点、Kill Screenが84点と名だたるメディアから好評を得ている。こうしたメディアでは全体的に、ひと目見ただけで息を呑むグラフィックを背景やなめらかに動くアニメーション、オータスを中心に繰り広げられるあたたかいシナリ
今年は、はてなインターンの実行委員長という仕事をしている。 hatenacorp.jp 8月15日から9月9日までのインターンを終え、今年の教科書も公開ができた。 developer.hatenastaff.com まだもう少し委員長としての仕事が残っているが、ここで一度今年の振り返りをしようということで、実施した。 振り返り手法としてのKPTとYWT ぼくは普段、Mackerel というプロダクトの開発にかかわっている。Mackerelでは開発手法にスクラムを採用していて、2週間のスプリントごとに毎回振り返りを行っている。ここで使っているのはKPTという手法だ。 KPTはKeep, Problem, Tryの略で、2週間を振り返って、その期間でKeepしておくべき良かったこと、Problemとして議論すべき問題となること、そしてそれらを受けて次のスプリントですべきTryを決める。 K,
iPhoneやAndroid端末で遊ぶことが出来るスマホゲームやスマホアプリ。現在ではそれらを自分で開発を行い、App StoreやGoogle Playなどでの配信を行っている方、もしくは今後行いたい方もいるのではないだろうか? 今回、IT・開発系のコミュニティ「プログラミング生放送」の運営を行うPronamaが、プログラミングを学びたい人を対象に「プロ生ちゃん アプリ開発支援プログラム」を開始したので紹介したい。第一弾は、自作iOSアプリのApp Storeでの配布をサポートする企画となっている。 iOSアプリを無料で公開しませんか?「プロ生ちゃん アプリ開発支援プログラム」のお知らせ © 2016 Pronama LLC iOS アプリを開発してみたいけど App Store での配布までを金銭的な理由で躊躇していたら「プロ生ちゃん アプリ開発支援プログラム」でステップアップしてみま
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く