タグ

ブックマーク / qiita.com (438)

  • 約3年かけてプログラマ向けニュース推薦アプリを作り直した話 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 概要 『もっとより良いニュースアプリはできないだろうか』 そう考えてMenthasというニュースアプリを開発し、プログラマ向けニュースキュレーションサービスを作ってみた話 という記事をQiitaに書き、自分の予想を超えた反響を受けてから約3年になります。 しばらく開発の更新は留まってしまいましたが、ニュース推薦に関しての探求が終わったわけではなく、むしろ見えてきた課題のために数多くの論文を読んだりプロトタイピングを繰り返していました。 そしてつい先日、これまで解けなかった問題に対してようやく答えを自分なりに導き出すことができたため、骨格

    約3年かけてプログラマ向けニュース推薦アプリを作り直した話 - Qiita
    s99e209
    s99e209 2018/09/07
    とりあえずFeed登録してみた
  • Webサーバをセキュアに保つ設定のまとめ - Qiita

    はじめに Webサーバをセキュアに保つ為、個人的に行っている設定をざっくりまとめてみました。 設定内容はApache 2.4での運用を想定していますので、他のHTTPdをお使いの方は適宜読み替えてください。 各設定項目は以下のオンラインテストサイトでA+相当を取ることを目指しています。 設定ファイル生成 Mozilla SSL Configuration Generator オンラインテスト Mozilla Observatory Qualys SSL Server Test 前提条件 以下で設定する項目は特にHTTPS接続や攻撃防止に関するものになります。 HTTPdそのものに関する基設定については別記事をご参照ください。 SSLProtocol 危殆化した古いプロトコルを有効にしている場合、古いプロトコルを標的としたダウングレード攻撃等を受ける可能性がある為、新しいプロトコルのみを有

    Webサーバをセキュアに保つ設定のまとめ - Qiita
  • 個人開発者向けサーバ環境の選び方まとめ(heroku,aws,firebaseなどなど) - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    個人開発者向けサーバ環境の選び方まとめ(heroku,aws,firebaseなどなど) - Qiita
    s99e209
    s99e209 2018/08/24
    Firebase使ってみたい
  • ポリモーフィズムを活用するとなぜ if や switch が消えるのか? - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    ポリモーフィズムを活用するとなぜ if や switch が消えるのか? - Qiita
  • プログラマが知っているとよい色(1)使い(JIS安全色) - Qiita

    色の指定値 http://safetycolor.jp/shiteichi/ JIS外16進数は次の2つの資料に基づき追記。(ただし白の文字色は、#FFFFFFだと読めない。また表の中で背景に色をつける方法を知らない。白の文字色値を #DDDDDD #BBBBBBにしている。) 新JIS安全色普及委員会(New safety colour JIS popularization committee) http://safetycolor.jp/shiteichi/ 視認性に配慮した色の識別!JIS安全色彩(iro-color) https://iro-color.com/episode/jis.html 資料によっては、青がPB(purple blue)で、赤紫がP(Purple)であるのは、日語表記で青の概念は幅広いことと、紫が以前は赤紫だったためと推測している。 実際に製品を作る場合だ

    プログラマが知っているとよい色(1)使い(JIS安全色) - Qiita
  • JavaScript おじさんが教える本当の Modern JavaScript 入門 1 - Qiita

    一部修正しました UdemyReact コース公開してます。(絶対 Udemy の 1200 円割引価格にはしないので、このリンクから買ってもらうのが一番お互いに得です。) Udemy React + Redux コース 発表における Modern JavaScript とは何か Phase 1 として以下の環境での開発ができれば Modern JavaScript に入門できたものとする。 Webpack, Parcel 等の module bundler による "module system" の活用。 ES2015+ や TypeScript といった *"Compile to JS 1" の使用。それに伴う Babel によるトランスコンパイルツールの使用。 ESlint, Prettier といった集団開発における、ソース品質安定のためのツール の使用。 ここまでのツール

    JavaScript おじさんが教える本当の Modern JavaScript 入門 1 - Qiita
  • いまさらだけどGitを基本から分かりやすくまとめてみた - Qiita

    はじめに Gitをそこそこ使いこなすにあたって必要な基礎知識やコマンドをまとめました。 Gitは少しかじったけど挫折したくらいの人が対象レベルになるかと思います。 当方、Subversionをまともに触ったことないゆとり世代なので集中管理型との違いとかはよく分かりません。 一部諸事情のため、XXXXXで情報を隠蔽しています。 この記事長いです。。。 Gitとは 分散型バージョン管理システム。 今時ソースコードなどをバージョン管理するってなったらGitを使うことになるでしょう。 GitHub(Enterprise含む)とかGitLabとかGitBucketとかBitBucketとかGitのサービスは複数ありますが、どれを使うかはチーム事情や会社事情などから決まる。 ローカルにリモートリポジトリの複製を作成するため、複数人が各々のローカルで変更履歴を利用して自由にファイルの編集やローカルコミッ

    いまさらだけどGitを基本から分かりやすくまとめてみた - Qiita
  • 書籍「Clean Architecture」が最高すぎたのでエッセンスをまとめてみた

    記事では、書籍「Clean Architecture 達人に学ぶソフトウェアの構造と設計」のポイントを抽出する。ただ、削った部分も多いので、ぜひ書籍を購入してほしい。 第1部 イントロダクション ソフトウェアを「一度だけ」動かすのは、それほど難しいことではない。正しくするのは難しい。 ソフトウェアを正しくすると、不思議なことが起こる。開発や保守に必要な人材はわずかで済む。変更は簡単で迅速になる。欠陥の数は少なく、ほとんど出てこなくなる。労力は最小に抑えられ、機能性と柔軟性は最大になる。 「あとでクリーンにすればいいよ。先に市場に出さなければ!」ソフトウェア開発者たちはそう言ってごまかす。だが、あとでクリーンにすることはない。短期的にも長期的にも、崩壊したコードを書くほうがクリーンなコードを書くよりも常に遅い。早く進む唯一の方法は、うまく進むことである。 すべてのソフトウェアシステムは、2

    書籍「Clean Architecture」が最高すぎたのでエッセンスをまとめてみた
  • Atomic Designってデザイナーには難しくない!?という話 - Qiita

    Reactやプログラミングがわからない人のために、上記で書いたコードがどうなっているのか少し丁寧に説明していきます。 まず、Button.jsxに書かれている<button>というのはHTMLの<button>として使っていますが、大文字で書かれた<Button>というのは私が勝手に定義したコンポーネントになります。const Buttonという箇所によって、コンポーネントの名前が決まりました。 (Reactで書く<button>とHTMLで書く<button>正確には同じものではないですが、ここでは同じものという認識でOKです) その自身で作ったButtonコンポーネントを<Button>という形で使っています。これもReactならではの機能です。 その<button>の中にonClickという記述を書き、その後ろにHTMLで属性値を入れるのと似た形で自分の好きな処理を入れています。 今

    Atomic Designってデザイナーには難しくない!?という話 - Qiita
    s99e209
    s99e209 2018/08/07
    デザインの保守性なども考えて設計する必要があるので、それなりにフルスタックなスキルが求められるイメージ。
  • staticおじさんの逆襲 - Qiita

    実はオブジェクト指向ってしっくりこないんです! 私はJavaでキャリアを始めたので、当然、オブジェクト指向を前提としてプログラミングを学んでいきました。オブジェクト指向の概念を聞いたとき、なるほどこれはよくできているなと思ったのを覚えています。オブジェクト指向では、現実世界の「もの」をそのままオブジェクトに表現します。なるほど、合理的でプログラミングが簡単になるように感じます。ちょうど現実のものを操作するようにプログラミングができるのですね。 実際にオブジェクト指向でプログラムを書こうとして分かったのは、私が作っているのはコンピューターのコードであって、現実のものではなかったということです。ArrayListって現実の何に対応するんでしょうか? 棚? 「プログラミングはデータの入出力と、その変形のことだ」というデータ指向プログラミングの考えを知ったことが、決定的にオブジェクト指向への興味

    staticおじさんの逆襲 - Qiita
  • スピード感重視なのでテストは書かない。テストはなぜ開発を遅くするか - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? あまりにバズってしまったので、前書きを追加 ここまでバズってしまって正直すまんかった。 この記事はもともと愚痴記事をマイルドにして投稿しただけなので「テストを勧める」とか「テストを信奉する」とかそこまで強い意図は特にありません。(私がテスト好きなのは否定しません) 「テスト書こう」に対して「そんなコストはない」と言いながら、いろいろ問題が生じる現状を愚痴りたかっただけです。愚痴るだけだと生産性がないから、なんでこんなに認識が違うんだろうと原因を考えた結果、テストを書くことに対する技術で実際にコストが大きく異なるなと気づいて書いた次第です

    スピード感重視なのでテストは書かない。テストはなぜ開発を遅くするか - Qiita
  • xhprofでパフォーマンスチューニング入門 - Qiita

    記事はマイネット Advent Calender7日目の記事です。 今回は社会人になってから(主にお腹周りの)成長が目覚ましい@w_cotaがお送りします。 はじめに 弊社ではスマートフォンゲームの運営を行っています。直近では他のゲーム会社からのタイトルを引き取って運用しているプロジェクトも増えてきております。弊社で開発したタイトルも含め、買収・協業のタイトルの中にはリリースから2年、3年と経過している長寿タイトルも多く見受けられます。 さて、長期間運営を重ねていきますと避けられない問題の一つが__技術的負債の積み重ね__かと思います。いかに優秀なエンジニアがいようと、いかに素晴らしい開発フローを採用していようとどうしても日々様々なタスクに追われる日常の業務の中では以下のようなシーンが発生し得るかと思います。 イベントリリースまでもう時間無いし、ちょっと実装ダサいけどこのままリリースして

    xhprofでパフォーマンスチューニング入門 - Qiita
  • 弊社でのJavaScriptの書き方 - Qiita

    まあこれは弊社(Claves)での取り組み方(別に相談してないので独断ですらある)です。 多分そのうち陳腐化するので金科玉条のごとき扱いはしない方が良いです。 書くにあたった動機 若い人間がJavaScriptを書く場合に、 参照しているものが古い 便利なライブラリとかがあるのに再発明とかしてる Railsで書く場合にどう書けば良いのか などが整理されていないと感じた。 都度説明していたが三回をこえて面倒なので書き下すことにした。 JavaScript? TypeScript? 正直モダンに書くのであればJavaScriptでもTypeScriptでも良いと思っている。 構文的にはTypeScriptはモダンなJavaScriptに型、抽象クラスなどが追加されていると思って良いかと思う。 継承とかゴリゴリ書くのであればTypeScriptは便利だし、後述するReactなんかも TypeSc

    弊社でのJavaScriptの書き方 - Qiita
  • 初心者プログラマが犯しがちな過ち25選 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 以下はThe Mistakes I Made As a Beginner Programmerの日語訳です。 The Mistakes I Made As a Beginner Programmer 初心者プログラマが犯しがちな間違いと、それらを特定し、避けるための習慣を学ぶ方法。 まず最初に言っておくことがあります。 この記事は、誤りを犯すことを悪いと糾弾するために作成されたものではありません。 むしろ貴方が誤りに自ら気付き、あるいはその兆候を見いだし、それらを避けられるようにするために書かれたものです。 私は過去これらの誤りを犯し

    初心者プログラマが犯しがちな過ち25選 - Qiita
    s99e209
    s99e209 2018/07/08
  • ReactとVueのどちらを選ぶか - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 主に非Web系のバックエンド開発者(C/C++, Java, Python等を使用)がReactVueをそれぞれ簡単に触れて、感じたメリット、思ったことなどをまとめています。 色々と書いてますが、どちらも完成度の高いライブラリ/フレームワークですね。 結論 JavaScript等にあまり深入りせずにWebアプリを簡単に書きたい、あるいは効率的に書くことが目的であればVueの方がお勧めです。しかし開発者としてスキルや設計などについて中長期的にレベルアップを図りたいのであれば、Reactから学ぶことをお勧めします。 何故かと言うと、Rea

    ReactとVueのどちらを選ぶか - Qiita
  • [macOS向け] gitのクライアントはGitUpがいいぞ。 - Qiita

    ツイッタフォローしてやで(ボソッ https://twitter.com/JotaroUT いろいろ使ってみたけどGitUp、やめられませんでした。 Macbookをスタバで開いてはプロジェクトをgitで管理する機会の多いであろう諸兄・諸姉のために、独断でイケてるなと思ったgitGUIクライアントについて紹介したい。その名もGitUp。 GitUp : http://gitup.co/ GitUpとは GitUpはmacOS用に開発されたgitGUIクライアントである。 公式ホームページに、 Work quickly, safely, and without headaches. とあるように、確かに使っている間は頭痛がしない気がする。大きな特徴としては、謳い文句の通り、 早い。 ざっくりした使い方 コミットを参照する。 ここでは、openFrameworks (https://op

    [macOS向け] gitのクライアントはGitUpがいいぞ。 - Qiita
  • 相対的なネーミングはよせ、やめるんだ! - Qiita

    たぶん1000回くらいは言われてきているがいまだに絶滅しないので、もう1回言う。ファイル名でもソースコード上の変数でもCSSのセレクタでもなんでもいいけど、相対的なネーミングはやめよう。 Safe Harbor Statement この投稿は個人の(中略)であり、所属する組織とは関係ありません。 なぜ相対的なネーミングをしてはいけないか 名前をつけた人の主観が入り込むため 時間が経つにつれ名前が実態と乖離し混乱を招くため 実装に無駄な制約をかけるため なぜ相対的なネーミングがなくならないか なにが相対的なネーミングなのか理解していないため じゃないかな多分。 避けるべき語 というわけで相対的なネーミングを回避するための禁止ワードのうち代表的なものをあげておきます。 new, 新, latest, 最新, old, 旧 など これらの時系列を表す語は、比較対象がないと新なのか旧なのかわかりま

    相対的なネーミングはよせ、やめるんだ! - Qiita
  • 開発に集中するためのChrome拡張を作りました! - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 個人開発をしていて、全く開発せずに1日中Twitterをしている日がありました。 もしこれが受託開発だったらヤバいですよね...。 このSNS問題については僕だけではなく、色々な人から話を聞くことがあり、なんとか解決したいなーとずっと思っていました。 開発や仕事に支障が出ないように、Twitterときちんと付き合うためのサービスを色々と探していたのですが、自分が求めているサービスが見つからなかったのでChrome ExtensionのAPIを使ってクローム拡張アプリ**「BLOCK CLOCK」**というサービスを自作しました。 今更感

    開発に集中するためのChrome拡張を作りました! - Qiita
  • クロージャとは - Qiita

    ※クロージャと変数のスコープ(追記)を追記しました。 ※コメント欄で環境という用語について議論がありましたが、そもそも環境は専門用語として存在します。詳しくは環境を持つというイメージに追記しました。 使い古された話題ではありますけど、わかりやすく説明できそうな気がしたので書いてみたいと思います。 先に方針だけ伝えておくと、クラスとモジュールと関数は、変数のスコープを切ることができるという共通の性質を持っている、という切り口からクロージャについて説明していきたいと思います。 これだけ読んで何となく先が予想できてしまった人は読まなくても大丈夫かと思います。 それでも読んでくださるという方は、助言なり意見なりをくださるととても嬉しいです。 実行環境 言語はJavaScript(ES2015 or later)を使いますけど、別に知らなくてもなんとかなるんじゃないでしょうか。 何か他の言語をやって

    クロージャとは - Qiita
  • テンプレートエンジン「Twig」の変数スコープの話 - Qiita

    プログラミング言語における変数は、宣言する場所によって有効範囲が異なり、これを変数のスコープと呼びます。 そして、Twigにも変数のスコープが存在します。 検証環境 Macbook Pro (Retina, 15-inch, Mid 2014) Mac OS X 10.11.6 El Capitan PHPStorm 2017.3 Vagrant 1.9.4 CentOS 7.4.1708 Drupal8.4.4 グローバルスコープ 通常、Twigテンプレート上で変数に値をセットした時点でグローバル変数になります。 例)setタグを使って変数に値をセットする

    テンプレートエンジン「Twig」の変数スコープの話 - Qiita
    s99e209
    s99e209 2018/04/21
    初歩的な内容ですが書きました