タグ

プログラミングと開発に関するt1mvverrのブックマーク (7)

  • “何もない” を作る、コンポーネント指向な余白設計(黒川 智) | Vue Fes Japan 2019

    Vue.js がそうであるように、限定されたスコープの CSS を使って UI コンポーネントを設計することが世の中の当たり前になってきました。それを用いて UI コンポーネントを実装する時に必ず突き当たる難題のひとつが「余白」です。セッションでは、UI コンポーネントの開発時に検討すべき余白設計についてお話しします。 余白は、目に見えないがために境界が曖昧ですから、「この UI はどんなコンポーネントに分割すべきだろうか?」という目に見える問題に比べて見落とされがちです。しかし実際に開発を行うとなると、「この余白をどのコンポーネントに実装すべきか?」、「取ることのできる選択肢は何で、それぞれにどんな影響があるのか?」と悩むことになります。 そしてひとたび方針を間違えれば、手を入れるたびに複雑化していく UI コンポーネントができ上がってしまいます。にもかかわらず余白設計の問題について語

    “何もない” を作る、コンポーネント指向な余白設計(黒川 智) | Vue Fes Japan 2019
    t1mvverr
    t1mvverr 2019/07/17
    余白はcssのmarginとかでやるんじゃないのか
  • プログラマーを30年間やってきた経験から学んだことまとめ

    プログラマーにとって「どうすればより効率よくプログラムを組み上げられるのか」は常に頭を悩まし続ける問題の1つとなっていますが、その道のエキスパートであるエンジニアのジュリオ・ビアソンさんが30年間ソフトウェア開発に携わってきた経験から学んだことについてブログにまとめています。 Julio Biason .Net 4.0 - Things I Learnt The Hard Way (in 30 Years of Software Development) https://blog.juliobiason.net/thoughts/things-i-learnt-the-hard-way/ ビアソンさんは多数ある「学んだこと」を以下の3つに大きくわけてまとめています。 ◆ソフトウェア開発について ◆チーム・仕事について ◆個人的なことについて これからプログラマーになろうとしている、あるいは

    プログラマーを30年間やってきた経験から学んだことまとめ
    t1mvverr
    t1mvverr 2019/07/10
    "プロジェクトを機能ごとでは無く、データタイプごとに整理する""自分のコンピューターで実行できない場合は生産性が落ちてしまう""認知的不協和がコードを読みにくくしてしまう"
  • 開発者が知っておくべきSOLIDの原則 | POSTD

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

    開発者が知っておくべきSOLIDの原則 | POSTD
    t1mvverr
    t1mvverr 2019/02/28
    開放閉鎖の法則→「AnimalSound関数は、makeSound()があるクラスだけ、受け付けるよ」 インターフェイス(IF)分離の法則→「でかいIFを作ると無駄なメソッド作らないといけないよ。小さいIFを組合せて大きいIFを作ってよ」
  • 君はWard Cunninghamを知っているか?(後篇)

    Fit for Developing Software (https://goo.gl/FqRtmo)前篇に引き続き、Ward Cunningham(Wardと略) の活動について解説します。前回は、Wikiとパターンについて触れました。今回は、CRCカード、エクストリームプログラミング(XP)、Fit、そして技術的負債について触れます。 Ward CunninghamとKent Beckとの出会い前編でも触れましたが、ソフトウェア開発の歴史の上で Ward とKent Beck の出会いは大きかったと言ってよいでしょう。 http://wiki.c2.com/?WardAndKent 複数人でカードを使って対話しながら設計する CRCカード2人は、パターンの他に、Smalltalkの分野でいくつかのライブラリ−を公開し、CRCカードを使った設計アプローチの論文について1989年に公開しま

    君はWard Cunninghamを知っているか?(後篇)
  • アルゴリズムを楽しく学ぼう! 独習に役立つWebサイト・参考書・競技プログラミングを紹介〈13選〉 - エンジニアHub|若手Webエンジニアのキャリアを考える!

    アルゴリズムを楽しく学ぼう! 独習に役立つWebサイト・参考書・競技プログラミングを紹介〈13選〉 プログラムの性能を改善して開発スピードを向上させるため、アルゴリズムを気軽に、かつ楽しく学べるWebサイトや書籍など、13種類のさまざまなコンテンツを紹介していきます。 アルゴリズム(algorithm)とは何なのでしょうか? 例えば、 Wikipediaにはこうあります。 アルゴリズムとは、数学、コンピューティング、言語学、あるいは関連する分野において、問題を解くための手順を定式化した形で表現したものを言う。 「問題を解くための手順を定式化した」とは、ソフトウェアエンジニアにとって「プログラミング」のことです。 みなさんも日々の開発業務において、問題(要件)を解くための手順を考え、その手順を特定のプログラミング言語で表現していませんか? アルゴリズムは、一般に「ソート(整列)」や「探索」と

    アルゴリズムを楽しく学ぼう! 独習に役立つWebサイト・参考書・競技プログラミングを紹介〈13選〉 - エンジニアHub|若手Webエンジニアのキャリアを考える!
    t1mvverr
    t1mvverr 2018/01/15
    AIZUONLINEJUDGEで良いかな。とりあえずコード書いた後、他人の良さげなコードを見るとアハってなり、モチベが落ちにくい気がする。アルゴイントロと組み合わせ学習が良いのだろうか。
  • 素晴らしいPAD図 | ある計算機屋さんの手帳

    【2018/12/02 追記】PADの解説書をAmazonから出版しました。 究極のプログラム設計図 PAD解説 bit誌でPAD図を知る bit誌の1980年3月号から3回連載で「PADによるプログラムの開発」という記事が掲載されました。 PADとは、日立製作所の二村良彦さんたちにより考案されたプログラム論理を記述する方法で、Problem Analysis Diagram(問題分析図)と呼ばれる2次元木構造をした図面です。 bit誌の連載記事の中では、直接説明していませんが、ダイクストラの提唱した構造化プログラミングによる段階的詳細化法を実践できる手法で、従来のフローチャートに代わる記述方法です。 PAD図とは、なるほど便利な記述方法だとこの記事を読んで思いました。しかし、フローチャートに慣れていた私は構造化プログラミングも実践できておらず、処理を上から順にフローチャートで書き下ろして

    素晴らしいPAD図 | ある計算機屋さんの手帳
    t1mvverr
    t1mvverr 2017/09/04
    "誤ったプログラム論理の場合は、なぜか違和感を感じ、美しい木構造になっていない場合が多いです"
  • 第19話 フレームワークの甘いワナ:ソフトウェア開発に幸せな未来はあるのか:エンジニアライフ

    みなさま、新年明けましておめでとうございます。硬派担当のにゃん太郎です(笑)。今年もわたしの考えを述べつつ、みなさまといろいろ意見交換ができると幸いです。年もよろしくお願いします。 名前だけ見るとふざけているようで、とても硬派ではないのですが、この「にゃん太郎」という名前はわたしの奥さんが実際にわたしを呼ぶ時に使っています。付き合い始めた頃からなので、すでに10年以上になります。長いこと使っているので、時々外出先でも奥さんに「にゃん太郎」って呼ばれます(ぉぃ)。 さて、今年の最初のテーマは「フレームワーク」です。最近のソフトウェア開発にはなくてならないものを通り越して当たり前になっています。フレームワークと呼ばなくても構造的にフレームワークになっているものもけっこうあります。わたし自身はシステム開発においてフレームワークの必要性というか有用性は理解していますし、先ほども書いたとおり、なく

    第19話 フレームワークの甘いワナ:ソフトウェア開発に幸せな未来はあるのか:エンジニアライフ
    t1mvverr
    t1mvverr 2017/08/14
    “フレームワーク=言語仕様”
  • 1