2020/08/31開催の、Infra Study Meetup #5「企業に必要とされているインフラ技術とこれから」のLTでお話した内容です。 https://forkwell.connpass.com/event/183909/
2020/08/31開催の、Infra Study Meetup #5「企業に必要とされているインフラ技術とこれから」のLTでお話した内容です。 https://forkwell.connpass.com/event/183909/
Although Git is a very powerful tool, I think most people would agree when I say it can also be... a total nightmare 😐 I've always found it very useful to visualize in my head what's happening when working with Git: how are the branches interacting when I perform a certain command, and how will it affect the history? Why did my coworker cry when I did a hard reset on master, force pushed to origi
「この本にはお世話になったなぁ〜」 「今でもたまに読み返してます」 「マジでめちゃめちゃ影響受けた」 「そう、こいつが俺のエンジニア人生を変えやがったんだ...」 ↑「こんな本を紹介してください!」と社内チャットで投げてみたら、すんごいことになったのでそのリストをシェアさせていただきます。 ※推薦理由はあくまで推薦者による個人的な意見や思い入れたっぷりなので、それを踏まえてお楽しみください。 目次 アプリケーション/プログラミング ドメイン駆動設計 Java言語で学ぶデザインパターン入門 Pro Git BINARY HACKS Effective Java リバースエンジニアリング―Pythonによるバイナリ解析技法 なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 リーダブルコード メタプログラミングRuby 第2版 Head First デザインパターン テスト駆動開発 C
カーネギーメロン大学の客員研究員として明日から赴任するるくすくんと、コンピュータのセキュリティや、システムズ系のコンピュータサイエンスの論文などについて話をしました。
Clean Architecture 達人に学ぶソフトウェアの構造と設計を読んだので、まとめてみます。コメントやツッコミなどのフィードバックがあればうれしいです。 続編としてクリーンアーキテクチャ本を読むためのポイントという記事を書きました。併せてご覧ください。 なぜ良著?著者のロバート・C・マーチン(著書読んだことあるかも?)は、50年前から現代に至るまで、様々なアーキテクチャを見て、第一線級として開発し続けてきた経験を元に、どのアーキテクチャでもクリーンにしようとするなら、基本部分は変わらないと言ってて、それらが美味くまとまった本だからです。 いってみればコンピュータ工学について抑えるべきポイントを解説した本であり、The Clean Architectureそのものについてはほとんど割かれていません。それくらい、基本として知るべき事が書かれた本なのです。 最近のアーキテクチャを追いか
はじめに アホでもわかるように解説してみるテスト。 あらゆる方向で説明してみる。 大雑把にまとめると「依存していた部分を、外から注入すること」です。 勘違い、間違いが沢山ありそうなので、是非ご指摘を! 登場人物 (用語) 依存性の注入 (日本語) Dependency Injection (英語) DI (Dependency Injectionの略語) 依存関係を設定ファイル等で定義してよろしくやってくれる「DIコンテナ」については書いておりません! 何が問題なの? クラス内などで固定化されたものがあると 柔軟性がない テストしにくい 解決方法 「依存している部分を外から注入する」 DIにおける「依存性」と「注入」の意味 依存性 (大雑把に)とあるクラスに、固定の定数、変数、インスタンスが入っちゃっている状態 つまりそのクラスは、その定数、変数、インスタンスに依存している 注入 そのクラ
コードを書いている時間と言うのはエンジニア人生の中でかなりの部分を占めます。ですが、その時間というのは残念ながら大半が無駄なものです。一発でバキッと仕上がる事なんてないので、書いちゃ消し、試しちゃ消し、とキーを叩きまくります。このキーを叩いている時間と言うのは 100% 無駄な時間であり極力減らすべきものです。 エンジニアがやりたい事はキーを叩くことではなくてきっちり動くコードを書くことですからね。仕事をしているふりをしているような人間であればエンターキーを「ターーン!」と爽快に押して無駄な時間を楽しめるかもしれませんがそんなことやってりゃレイオフまっしぐらです。 このエディット時間を究極に短くするためには vim を使うしかありません。このエディタに敵うエディタは人類史上ありませんから。 正直な話 vim を20年以上前に初めて触った時「何だこの狂ったエディタは!」なんて思ったもんです。
2019年11月11日追記 ただのタイトルで煽ってるだけの記事に半年経っても未だに大量のアクセスがあるので追記しておきます。 ここで言いたいことは、「プログラマならコンピュータサイエンスを勉強してると役に立つよね」、ということ だけ です。 この一文以上に有用な言葉は以降の文章では出てきません。みなさんの時間を無駄にしないために注意書きをしました。 それでも良いという人は読んでみてください。 Twitterで「〇〇ができるという人が面接に来たけど、『じゃあXXXやYYYって知ってます?』というと知らないという人が多いんだよねぇ」とかいうツイートを見かけて、私はXXXやYYYってのを知らなかったので調べた見たところ、常識とまでは言えない概念だったり、名前は知らなくても誰もが知ってる概念だったり、むしろもっと良いアプローチがあるのではという思想だったりでなんだかなぁと思っていたところ、半日くら
[53選]国内注目のWebサービス・アプリを大調査! プログラミング言語、フレームワーク、アーキテクチャの一覧【2017年】 星の数ほど存在するWebサービスやアプリ。その裏側を覗いてみると、開発当時のトレンドや開発者の設計思想が見えてきます。53サービスのフレームワークやアーキテクチャ、開発効率化ツールを集めました。 国内だけでも星の数ほど存在するWebサービスやアプリ。その裏側を覗いてみると、開発当時のトレンドや開発者の設計思想が見えてきます。 今回は53サービス(追記を含む)のフレームワークやアーキテクチャ、開発効率化ツールを集めました。選定理由もお答えいただけたサービスについては、アーキテクチャを選んだ理由も紹介していきます。 C2C、コマース メルカリ、ココナラ、BASE、Tokyo Otaku Mode、STORES.jp、Snapmart、IQON 情報サービス グノシー、価
Python(パイソン)はAI(人工知能)開発に最適なプログラミング言語として、注目されています。 一方で、Webアプリケーション開発やデスクトップアプリケーション開発向けの言語としては、日本ではまだ十分にその魅力が伝わっていないのが現状ではないでしょうか。PythonはYouTubeの開発言語に採用されるなど、海外ではAIに限らない幅広い分野で利用されています。 今回はPythonの、Webアプリケーションやデスクトップアプリケーション分野での活用事例を紹介します。 この記事は現役エンジニアによって監修済みです。 Python とは? Pythonとはプログラミング言語の1つ。パイソンと読みます。Pythonとは「ニシキヘビ」という意味。ニシキヘビはPythonのロゴのデザインにも使用されています。 2017年にGoogle DeppMindが開発する囲碁AI(人工知能)「AlphaGo
ログインしないと使えないのでログインします。 GitHubのアカウントがあれば大丈夫です。 上のコマンドを実行すると認証が要求されるので、ブラウザで表示されたページにあるトークンをコピペすればOK。 パッケージのインストール
某社で自分が React/Redux + TypeScript などの講習をやってみた結果、TypeScript 入門用資料が必要だと思って書いたやつです。 このドキュメントのターゲット TypeScript で書かれたプロジェクトに参加する人 TypeScript を導入するために、その事前知識が必要な人 このドキュメントの読み方 ES2015 for Beginners ES2015 for ES5 Programmers ES Modules 非同期表現: Promise と async/await TypeScript エコシステム編 自分が React/Redux などの講習でいろいろやってみた結果、 ES2015 と TypeScript を同時に教えると、初学者は何がどの概念に由来するかの区別が出来ずに混乱します。なので、ES5 -> ES2015, ES2015 -> Ty
前回のあらすじ TypeScript入門 Ver.0.2 TypeScript入門 Ver.0.5 TypeScriptを扱うにあたって、node.jsを一度勉強してみる事にした。 Hello World URL ルーティング HTMLファイルの読込 テンプレートエンジンの使用 さて、ついに本題!! TypeScript! そもそも TypeScript とは TypeScript はマイクロソフトによって開発され、メンテナンスされているフリーでオープンソースのプログラミング言語である。 (Wikipediaより) 公式サイト JavaScriptによる大規模開発に対応するために設計された言語 JavaScriptのスーパーセットであり"静的型付け"が大きな特徴であり、コンパイルする事でJavaScriptのコードに"トランスパイル"される。 取り敢えず、TypeScriptで書いてコンパ
この記事では、Android開発を始める方や、初めたての方向けにどのようなサイトを見たり、本を読んだらいいかをレベル別や用途別で解説します。 本の紹介などはすでに多く存在しますが、使いどころというのは本によって大きく違います。この記事ではその使いどころに意識してソースを紹介できればと思います。 また、Androidプログラミング初心者とプログラミング初心者は区別しません(合わせて"プログラミング初心者"と記述)。Androidのアプリ開発はベースとなっているJava言語が直感的に理解しやすいこともあり、他のプログラミング言語を習得していなくてもある一定のレベルまでは上達します。本当にAndroidアプリ開発に興味を持ってきた段階でJava言語の勉強を本格的に行うようにし、まずはAndroidをアプリを作成するというところにフォーカスしてやっていきましょう。 Androidプログラミングを始
2015年1月10日にジュンク堂池袋店で開催された「このコンピュータ書がすごい!2015新春座談会 -2014年に出たコンピュータ書ならこれを読め!-」に行ってきましたのでレポートをつらつらと書いていきますね。 最初に言っておきますが、怖ろしい文量というか、紹介書籍量なので時間のあるときにでもゆっくり読んでもらうことをお薦めします。 このイベントは、日本Rubyの会代表でありプレゼンの高橋メソッドでお馴染みの高橋征義さんのマシンガントークでコンピュータ関連書籍をひたすら紹介するというもの。19時30分にスタートして、終了したのは21時45分。ジュンク堂の担当者さんが「時間、超ヤバイ!!」という泣きカンペを出すぐらい、濃密なイベントでした。 【追記】技術評論社さんの公式チャネルに動画が上がってました。 2014年すごいコンピュータ書総合ランキング 1位 リーダブルコード 2位 インフラ/ネッ
まずは、Mac用のEclipse for RCP/Plug-in Developersをダウンロードする。 とりあえず、SubversiveをUpdateSiteから入手し、DBVeiwerのリポジトリに接続し、チェックアウト。 プロジェクトのビルドまでは成功。 あとは、プラグインの動作確認のため、plugin.xmlを開き Launch an Eclipse applicationのリンクをクリックしたが、 Application errorが発生して、なぜか起動できない。 java.lang.UnsatisfiedLinkError: Cannot load 32-bit SWT libraries on 64-bit JVM at org.eclipse.swt.internal.Library.loadLibrary(Library.java:182) at org.eclipse
そろそろちゃんと機械学習を勉強しようと思い、ついでに Python をやり始めています そういえば、大学生のときに Python を勉強しようと思って本を買ったことがあったんですが、当時はあんまりやる気もなくちょっとしか手をつけていませんでした あの時ちゃんと勉強しとけばよかったなぁとか思ったり・・・ とりあえず、手持ちの Mac 上に数値計算や機械学習を実行できる環境を構築したのでその際の手順をまとめました ※以下の環境で動作することを確認しています OS X Mavericks (10.9) OS X Yosemite (10.10) この記事では 1. 概要 2. Python とライブラリのインストール 3. PyDev のインストールとセットアップ 4. Hello Python !!! 5. まとめ について説明します 1. 概要 今回は Python を使って数値計算、機械学
Javaの開発と言っても、各種ミドルウェアやフレームワーク、ライブラリ、ツールなどが豊富にあり選択に悩むことは少なくないと思います。 そこで関連技術のインデックスになればと作成しました。 あくまで知っている範囲で記述しているので、コメントしてもらえれば随時追加します! すべてを書くと膨大な量になるため、現状採用が減ってきているものや、そもそもあまり採用されていないもの、後継があったり、類似のものと比較した場合に明らかに劣っているものは省いています。 ちなみにライブラリには高機能なものも多いので、分類は参考程度にご覧下さい。 サーバ系 Apache HTTP Server 世界中でもっとも多く使われているWebサーバ。 nginx フリーかつオープンソースのWebサーバで、処理性能・高い並行性・メモリ使用量の小ささに焦点を当てて開発されている。 Tomcat Java ServletやJSP
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く