タグ

関連タグで絞り込む (352)

タグの絞り込みを解除

programmingとProgrammingに関するzaki1010のブックマーク (790)

  • 2018年の段階で私が知らないこと

    Originally written in: English • Русский (авторский перевод) Translated by readers into: Deutsch • Español • Français • Português do Brasil • Svenska • Tiếng Việt • తెలుగు • 日語 • 简体中文 • 繁體中文 • 한국어 Read the original • Improve this translation • View all translated posts 多くの人は、私が実際に持っている知識量より遥かに多くのことを知っていると思い込んでいる。それは悪い事ではないので文句を言っているわけではない。(世の少数派の人達は、努力して資格を得ているにもかかわらず、逆の偏見に苦しめられている。それはイケてない。) この記

  • 開発者が知っておくべきSOLIDの原則 | POSTD

    (編注:2020/08/18、いただいたフィードバックをもとに記事を修正いたしました。) オブジェクト指向プログラミングが、ソフトウェア開発に新しい設計を持ち込みました。 その結果、開発者は単一の目的を処理するために、全体のアプリケーションに関係なく、1つのクラスの中で、同じ目的や機能を持つデータを結び付けることができるようになりました。 しかし、このオブジェクト指向プログラミングで、分かりにくいプログラムやメンテナンスができないプログラムを防ぐことはできません。 そこで、5つのガイドラインがRobert C. Martinによって作り出されました。これら5つのガイドラインすなわち原則により、開発者にとって読みやすく、メンテナンスが可能なプログラムを作成しやすくなりました。 5つの原則は、S.O.L.I.Dの原則と呼ばれています(頭字語はMichael Feathereによって名付けられま

    開発者が知っておくべきSOLIDの原則 | POSTD
  • プログラマという現代の傭兵 - mizchi's blog

    エンジニア転職とかプログラミング教育周りで考えていたこと。 フランス革命と技術のコモディティ化 最近フランス革命やナポレオン戦争やナショナリズム、そしてクラウゼヴィッツの戦争論などを調べたりしていたんだけど、傭兵や専門技術の扱いについて、示唆的なものが多かった。 当時の傭兵は、扱いが難しかった大砲・銃火器を扱う専門集団で、技能職でもあった。それが 18 世紀になり火器の改良が進み、産業革命で効率的な生産が可能になり、そしてナポレオンによる国民軍の創設、そのヨーロッパにおける戦果によって、傭兵はその役割を終えた。 「傭兵はすぐ逃げる」というのが定説だが、彼らは金で動く専門職なので、負ける側に付く理由がないので、当然とも言える…特に戦争という、敗者の支払いが期待できない場では。そして彼らを雇う王侯貴族の経済力が、そのまま軍団の動員力に直結した。常備軍を持たない分、平時のコストも安くついた。

    プログラマという現代の傭兵 - mizchi's blog
    zaki1010
    zaki1010 2018/12/27
    『本質的にプログラミング能力とは、物事の細かいステップへの分解能力と、何らかのルール制約下(プログラミング言語の表現力)での対応を発見することにあると思っている。』
  • 40歳を過ぎてからプログラミングを始めて滞在者確認サービスをリリースするまでの話 - 作りたいものがありすぎる

    こんにちは世界。このたびシェアオフィスやコワーキングスペース等で、滞在者が確認できるサービスを制作しリリースしました。既に複数のコミュニティで使用をしてもらっており、今後も広く皆さんに使ってもらおうと思ってます。 このブログでは40歳を過ぎてプログラミングを始めた顛末や、技術的な方法論の共有、備忘録、またサービスの発展や、今後行って行きたい事柄についてなるべく気軽に書いて行こうと思います。 コンセプト 誤字脱字気にしません。 事実誤認のご指摘あれば直します。 文章で議論とかはしません。 気軽に、軽めに、自分の負担にならない形で記事を書きます。 今回はサービスの概要とプログラミングを初めてからサービスをリリースするまでの経緯を書きます。 どんなアプリなのか? 任意の人がある程度自由に集まる場所で『今、誰がいるか?』が、スマホに通知され確認できるサービスです。シェアオフィスやコワーキングスペー

    40歳を過ぎてからプログラミングを始めて滞在者確認サービスをリリースするまでの話 - 作りたいものがありすぎる
  • Microsoftはどのような経緯でC#を開発したのですか? - Quora

    回答 (4件中の1件目) MicrosoftはVisual J++って名前でJavaを拡張していたら、Sunから訴えられたんですよね。とはいえVisual BasicとC++の間を埋めるDelphiやJavaのような抽象度のRADが必要で、そのためのスターエンジニアを採用していました。当時の流行りでJavaのように仮想機械の上で動いた方がいいということで、JVMと違って言語中立のCommon Language Runtimeの上で動く言語として、Javaに似ているようで、もうちょっと多機能なC#を出したんじゃないでしょうか?

    Microsoftはどのような経緯でC#を開発したのですか? - Quora
  • 最終回 エンジニアはどこに行くのか | gihyo.jp

    この連載「継続は力なり─大器晩成エンジニアを目指して」は、今回で最終回を迎える。この連載では、エンジニアとして長くやっていくために有用だと思うトピックを紹介してきた。ちなみに連載が掲載されているWEB+DB PRESS誌上での山の挿絵は、エンジニア人生の長い道のりを表している。 さて、この山登りの最後には何が待っているのだろうか。筆者にはわからない。われわれはロールモデルが少ない世代だからだ。上の世代のエンジニアが成功して、引退して悠々自適な生活をしている。そのような特殊な事例はWebのインタビューで見つかる。しかし、ごく平均的だったエンジニアがどうなったかはわからない。われわれの上の世代は、Web以前の人々なのだ。ブログを書いたり、Twitter技術的なことにコメントしたりする人は少ない。だから現在ちょうど引退を迎えるような年齢のエンジニアが、何を思い、どのように生きてきたかを知る

    最終回 エンジニアはどこに行くのか | gihyo.jp
  • 「ラムダ計算」を独学で学習するための,講義ノートやPDFのリンク集 (復習用の問題付き) - 主に言語とシステム開発に関して

    講義ノートの目次へ ラムダ計算は,コンピュータ・サイエンスの重要な1分野。 「λ」を使って各種の関数を記述し,λどうしの計算方法を習得すれば・・・ HaskellやF#などの関数型言語を習得するために役立つ。 プログラミングにおいて,関数についての理解を深めることができる。 複雑なアルゴリズムを簡易に記述して,挙動や性質を予測することができる。 計算機科学の,より深い専門的な話題を理解するための足がかりを得られる。 などのメリットがある。 下記に,独学でλ計算を勉強するための, 入門レベルの講義ノートやWebページを掲載する。 読みやすい便利なもの・わかりやすいものから,応用的なものへと並べてある。 質の高いものだけを精選し,わかりづらい資料は除外してある。 ラムダ計算の概要 ラムダ計算の基礎 ラムダ計算の応用 復習のための問題(入門レベル) ※λ計算を利用した計算量・計算複雑性・計算可能

    「ラムダ計算」を独学で学習するための,講義ノートやPDFのリンク集 (復習用の問題付き) - 主に言語とシステム開発に関して
  • プログラマと学歴 - megamouthの葬列

    もはや現代では大学に行く必要はない、いや行ったほうがいい、という議論があるらしい。 大学が、「学歴」という形で、社会における個人の扱いをある程度は規定している事実がありながら、今ひとつ「大卒」であるということが、それほど重要視もされていないようにも見えるプログラマという職種こそ、このような議論がふさわしいのかもしれない。 そのようなプログラマと学歴との関係を少し書いておこうと思う。 プログラマ・カースト プログラマは奇妙な人々である。 クーラーの効いた小洒落たオフィスの最新スペックのパソコンに向き合って、鳴り続ける外線電話に出ようともしないで、その間にTwitterで卑猥なイラストをリツイートするといった、一般の社会人では考えられないような非常識を行ってもクビにならず、むしろ、これこそギークの証であると、納得される部分さえある。 そんな普通でない人々に学歴など必要なく、必要なのはただ、計算

    プログラマと学歴 - megamouthの葬列
  • ググるのをやめるとプログラムの生産性が上がるかもしれない - メソッド屋のブログ

    今日はプログラミングの生産性に対して気づきがあったのでシェアしてみたい。 なぜ米国の人は生産性が高いのだろう プログラミングの生産性に関しては以前から興味がありいくつかのポストで考えたことをシェアしてきた。私は職業柄、いろんな国でいろんな人々とプログラミングを一緒にする機会が多い。その時に頻繁に感じるのは、平均的に言うと、アメリカの人プログラマが生産性が高い確率が高くて、しかもコードもきれいだという傾向にある。アメリカでお客さんと一緒にコードを書くと、お客さん自体が物凄く良く知っているし、実行力もある。アメリカの次と言うことでいうと、英語がネイティブの国もそれに近く、フランスなどの言語が近いところが続く感じなので、英語が物凄く影響すると思っていたし、実際すると思う。そのあたりの話はこちらのポストに書いてみた。 simplearchitect.hatenablog.com 定義での理解と、例

    ググるのをやめるとプログラムの生産性が上がるかもしれない - メソッド屋のブログ
  • JavaScript - MDC

    JavaScriptチュートリアルBeginner's tutorialsYour first website: Adding interactivityDynamic scripting with JavaScriptJavaScript frameworks and librariesJavaScript ガイド入門編文法とデータ型制御フローとエラー処理ループとイテレーター関数式と演算子数値と文字列日付と時刻の表現正規表現インデックス付きコレクションキー付きコレクションオブジェクトの利用クラスの使用プロミスの使用JavaScript 型付き配列イテレーターとジェネレーターリソース管理国際化JavaScript モジュール中級編Advanced JavaScript objectsAsynchronous JavaScriptClient-side web APIs言語概要JavaScr

    JavaScript - MDC
  • システム技術者が「ちょっと変えるだけでしょ?」という、ユーザーからの注文に辟易する理由。

    どうも、 「単純な要件でも、システムの作りによって大きく難易度が変わる」 「システムは決して規格品ではなく、作る人によって全く出来が異なる」 ということが直感的に理解しにくいところが、色んな問題の根原因の一つなんじゃないかなあ、という気が最近しています。 しんざきは、システム開発関連の仕事をしています。元々の専門分野はDB屋なんですが、まあ他にも色々やります。 で、当然のことながらユーザーと色々やりとりをして、仕様を固めて設計して開発して、みたいなことも何度もやっているのですが、その際何度も何度も聞いた言葉の一つに、 「ちょっと変えるだけでしょ?」 という言葉があるんです。 恐らく、システム開発に携わったことのある人であれば、何度となく聞いた言葉ではないでしょうか。 この「ちょっと変えるだけでしょ?」という言葉は一種の呪いの言葉、パワーワード・キルのようなものでして、ユーザー側と開発側の

    システム技術者が「ちょっと変えるだけでしょ?」という、ユーザーからの注文に辟易する理由。
  • 【保存版】半年以内にエンジニアになりたい人が読んだ方がいい新卒研修資料まとめ - プログラミングとデザイン、スタートアップの話

    エンジニアを目指して今プログラミングを勉強している人向けに、開発に関してより知識を深められる新人研修スライドをまとめました。 Progateやプログラミングスクールだけでは学べない内容ばかりなので、新人エンジニアの人は目を通しておくといいです。 各企業で新人研修で実際に使われた資料なので、どんなことが開発の現場では求められるのかということが掴めます。 ここにある内容を100%理解することは難しいですが、少なからずインターンや就職をする時に役立つはずです(わからない箇所はなどを読んで補足しましょう)。 ▶プログラミングを効率良く勉強したい人はこちらの記事 もオススメ 全員共通で読むべきスライド Cookpad★ この資料で学べること リクルートテクノロジーズ★ この資料で学べること Git/コードレビュー GMOペパボ この資料で学べること GMOペパボ この資料で学べること GMOペパボ

    【保存版】半年以内にエンジニアになりたい人が読んだ方がいい新卒研修資料まとめ - プログラミングとデザイン、スタートアップの話
  • ぼくたちのかんがえたさいきょうのi18n国家

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 記事は下記のtweetから始まるスレッドに触発され、@qnighyや@na4zagin3からアイディアを拝借して書いた。 i18n力が最強の国は国内に複数の言語があり、そのうちいくつかは他国でも使われている言語の方言で、1バイト文字での代替表記が困難で、歴史的にISO-2022ベースの文字コードとUnicodeと独自エンコーディングが混在していて、フリガナなどの特殊な組版規則があり、右書き左書き縦書きを併用し、 — Masaki Hara (@qnighy) 2018年8月6日 皆さんのおかげで最強のi18n国家が建設されつつある。一

    ぼくたちのかんがえたさいきょうのi18n国家
  • オブジェクト指向の呪いと、その避け方 - mizchi's blog

    このテーマで書く前に、まず、最初に自分に多少の偏りがあることを認めておかなくてはなりません。 オブジェクト指向より、関数指向寄り オブジェクト指向のアプローチは有用だが、ただしそれを実現する手段はクラスと継承ではない。 階層化されたツリー構造(GUI/リレーショナルな参照構造)に埋め込まれる状態はコード品質を悪化させるので、できるだけ出現するべきではない。 ただし、状態は確実に存在する。だからこそ慎重に扱うべきだ、という派閥です アンチパターン: 特に理由もないクラスメソッドへの所属 何かのバリデータを実装したいとします。 その関数がどこに所属するかについて、よく見るこれらの実装は全部アンチパターンといっていいと思います export class Validator { static validate() {...} } export class Validator { validate(

    オブジェクト指向の呪いと、その避け方 - mizchi's blog
  • リクルートテクノロジーズ エンジニアコース新人研修の内容を公開します(2018年度版) | Recruit Tech Blog

    こんにちは、フロントエンド開発をリーディングしている古川 (@yosuke_furukawa)です。 昨年、こちらのブログで新人研修の特別講座の内容を紹介したところ、大反響だったので、今年も公開します。 リクルートテクノロジーズの新人研修 7月、リクルートテクノロジーズは新人の部署配属の季節を迎えました。 4月に(株)リクルートの新卒Web採用枠で入社した新人のうち、今年は20名が弊社に配属。3か月の研修期間を経て、早速現場での業務にあたってくれています。 リクルートテクノロジーズでは、配属までの3か月間「ブートキャンプ」という技術研修を実施しています。 ブートキャンプのコースは2つ。 一つは、プログラミングやWebサービスの構造の基礎を学び、その後1つのスマホサイトを企画からリリースまで行うコース。 もう一つは一定以上のプログラミングスキルと開発経験のある層向けに、より現場での技術に即し

    リクルートテクノロジーズ エンジニアコース新人研修の内容を公開します(2018年度版) | Recruit Tech Blog
  • プログラムは音楽だ (A program is a music.)

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? この資料の背景 この資料は、子供にプログラミングを教えるのに、音が鳴る題材だとデバッグが容易であることとに基づいています。音楽活動をされているプログラマの方々、音楽活動をされている方々がプログラミングに取り組む際の意見交換に基づいています。 何人かは、プログラマに転身される過程におつきあいしています。 そんな方の紹介からまず。 https://www.youtube.com/watch?v=qOOymLivqhU https://www.youtube.com/watch?v=ZBo-gvFN2mI 公開算譜(open source)は

    プログラムは音楽だ (A program is a music.)
  • 「Webプログラミングが面白いほどわかる本」を出版させてもらいました|吉村 総一郎 (sifue)

    N高等学校でプログラミングを教えているsifueと言います。日「Webプログラミングが面白いほどわかる」という、JavaScriptでプログラミング入門を終えたN高等学校の生徒が、格的なWebプログラミングを学ぶための基礎知識を習得する部分をまとめたを出版させてもらいました。N高等学校の生徒さんが1年目の9月ぐらいまでに習う内容となっています。 各所で話題となっていますN予備校プログラミング入門コースの、第1章部分は前書である「高校生からはじめるプログラミング」なのですが、このは2章から3章の前半までがまとまった内容となっており、 ●Chapter1 Linuxの基を身に付けようLinuxというOS/コンピューターの構成要素/コマンドでファイルを操作する/標準出力/viの使い方を学ぼう ●Chapter2 シェルプログラミングをやってみようシェルプログラミング/通信とネットワー

    「Webプログラミングが面白いほどわかる本」を出版させてもらいました|吉村 総一郎 (sifue)
  • Rubyコミッター・Yuguiに学ぶ、コードに書くべき「適切なコメント」と「適切な場所」 - エンジニアHub|Webエンジニアのキャリアを考える!

    Rubyコミッター・Yuguiに学ぶ、コードに書くべき「適切なコメント」と「適切な場所」 Rubyコミッター・園田裕貴(Yugui)さんが、長年の経験で体得したソースコードに書くべき「コメントの技法」を教えてくれました。 プログラミングにおいて、どんな初心者でも書けるけれど、適切に書くのは上級者でないと難しいもの。それがコメント(=ソースコードに書かれている注釈やメモ)です。 不適切なコメントをつけても、プログラムの動作には影響しません。しかし、書き方の巧拙によって、コードの可読性や理解のしやすさには雲泥の差が出ます。良質なコメントが良質なコードをつくるのです。 今回はRubyコミッターでありgrpc-gatewayの開発者でもあるSupership株式会社の園田裕貴(Yugui)さんに、優れたエンジニアがどんな観点を持ち、どんなコメントを書いているのかを聞きました。 園田 裕貴(そのだ・

    Rubyコミッター・Yuguiに学ぶ、コードに書くべき「適切なコメント」と「適切な場所」 - エンジニアHub|Webエンジニアのキャリアを考える!
  • プログラミングのおすすめ学習方法と挫折しないコツ|shu223

    プログラミングは最初のハードルが一番高く、とにかくわからないことだらけだし、"Hello World"から自分のつくりたいものへの距離は果てしなく遠いし・・・ということで非常に挫折しやすいのではないかと思います。 私はいまでこそエンジニアとしてべて行けていますが、もちろん初学者の頃はわからないことだらけでした。私がiOSエンジニアなのでiOSアプリ開発の話になってしまいますが、最初のハードルを超えるまでの自分の経験と、そこから導き出した「サンプルドリブン勉強法」「挫折しないコツ」について書いてみたいと思います。 入門書購入iOSアプリ開発を始めるにあたって、まず入門書を数冊買いました。はじめてのMacbookを買った帰り、書店の技術書コーナーでパラパラめくって、「話が理解できそうなもの」を選んだ記憶があります。 スクリーンショット付きでに載っていた手順通りにXcodeのボタンをポチポチ

    プログラミングのおすすめ学習方法と挫折しないコツ|shu223
    zaki1010
    zaki1010 2018/05/18
    後から考えると全部理解できるわけないのに、全部理解したい欲が出て、理解に脳力使いすぎてガス欠になって停滞することばっかりだから、わかりみが深い。
  • すべてのプログラマが機械学習を受け入れる準備をする時代になった - mizchi's blog

    という予感がしたので書く。正確に言うと機械学習の成果としての訓練モデルを。 まず事前に前置きしておくと、僕は機械学習をほとんど抑えていない。トレンドだけ追ってる。 大学生の時にニューラルネットワークを実装してみてフ~ンって言ってた程度に知識しかなくて、ディープラーニングが流行る前だから、「バックプロパゲーションってややこしかったけど、今は自動でモデルの最適化いい感じにやってくれるんでしょ?」ぐらいの雑な理解しかない。(この時点で怪しい) で、今はフロントエンドやってて、ここは機械学習は縁遠いように思えるかもしれないだろうけど、最近のGoogleはなんとブラウザで tensorflow を動かすのに情熱を注いでいる。 で、こんなのが Hacker News で流れてきた。 medium.com とりあえず試した。デモをそのままデプロイした。 PoseNet - Camera Feed Dem

    すべてのプログラマが機械学習を受け入れる準備をする時代になった - mizchi's blog