タグ

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

  • Codomisu - Qrunch

    **「もっと気軽にアウトプットできる」**を コンセプトにした **技術ブログサービス「Qrunch(クランチ)」**のβ版をリリースしました! 6月頃から実装に取り掛かり、隙間時間を使いながらコツコツ開発してきたのですが、4ヵ月経った今、こうして無事リリースに辿り着けてほっとしています。 今回は、そのサービスの紹介と技術周りの話を軽くまとめてみます。 個人でWebサービスだったり、アプリ開発をしている人・したいと思っている人のモチベアップにでも繋がれば幸いです! リリースしたサービス Qrunch(クランチ) - もっと気軽に技術ブログを書こう! Qrunch専用のChrome拡張機能 - Qrunchをもっと身近に! 先日行われた大幅リニューアルにより、QrunchのURLはqrunch.netに変更されました。 サービスTOP TOPページは「自分も参加したい!」と思わせるようなデザ

    Codomisu - Qrunch
  • ActiveRecordでScoped preloading - Qiita

    ActiveRecord::Associations::Preloader.new.preloadのメモ tl;dr many to many 関連でwhere句で絞りこんでpreloadしたい ActiveRecord::Associations::Preloader.new.preloadを使えばできる Decorator使うときちょっと注意 モデル 以下の3つのモデルを考える User: エンドユーザ Article: タイトルと文があるようなやつ UserReadArticle: ユーザの既読済みの記事 ブログサイトであるようなようなモデルを簡略化したものを想定してます。 ユーザが記事一覧を表示するときに、記事が未読であればなんらかマークを表示する、 みたいなケースを考えてみます。 migration 以下のような感じ。 class CreateUsers < ActiveRec

    ActiveRecordでScoped preloading - Qiita
    itsumu126
    itsumu126 2018/10/15
  • 【初心者向け】テストコードの方針を考える(何をテストすべきか?どんなテストを書くべきか?) - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 「テストコードを書きましょう」とはよく言われるし、テストコードが大事だってことも理解できるんだけど、何をテストしたらいいの?どんなテストを書いたらいいの?と迷っている初心者プログラマさんは意外と多いのではないでしょうか? そんな方たちに向けて、この記事では僕が普段意識しているテストコードの方針を紹介します。 おことわり 来であれば具体的なコード例も豊富に入れたいところなのですが、かなり時間がかかってしまうので、いったん文章メインで記事を公開します。 もしかすると、そのうちコード例も一緒に盛り込んだ「リッチバージョン」を公開す

    【初心者向け】テストコードの方針を考える(何をテストすべきか?どんなテストを書くべきか?) - Qiita
    itsumu126
    itsumu126 2018/09/23
  • DELETE_FLAG を付ける前に確認したいこと。 - Qiita

    DELETE_FLAG という思考停止フラグ DELETE_FLAG という boolean の列が DB 設計でよく話題になります。 論理削除という言葉で上手に論理武装し、スキを見せるとすぐに入れたがる人がおり、 一方でそれにつよく反対する人もいます。 自分の経験としては、広義の論理削除はありえると思いますが、実現方法が DELETE_FLAG だとなった時、それはあまり考えてないでなんとなくパターンとして盛り込んでる場合が多いと感じます。 ただし、設計に唯一の答えは無いので、もしかしたらそれが妥当な設計である場合があるかもしれません。 今回は「DELETE フラグがなぜダメなのか?」などという話をするつもりも、アンチパターンだと断言するつもりもありません。 問題は、仕様をきちんと把握すると、「最適な設計は DELETE_FLAG ではない」という場合が有って、その場合は、その最適な設計

    DELETE_FLAG を付ける前に確認したいこと。 - Qiita
    itsumu126
    itsumu126 2018/09/18
  • 今さらProtocol Buffersと、手に馴染む道具の話 - Qiita

    Protocol Buffersは別に新しい技術ではない。同時にそれは、未だ知られざる、未だに可能性を秘めた先端のソフトウェア技術基盤である。 新しくないのは事実で、GoogleがProtocol Buffersをオープンソース化したのは2008年のことだし、オープンソース化前に社内で使われ出したのは更に昔に遡るだろう。たぶん。 デザイン的にもJSON対応は後付けで、将来JSONが隆盛を極めることなんか全然想定していなかったのが透けて見えて古くさい。 しかし、同時にどうも情報に聡い人であってもなかなかその真価を実感し得ておらず、ある意味で未知の技術であるらしい。ならば、Protobuf (Protocol Buffersの略)を解説した文書は幾多あれども、それに1を加えるのもやぶさかではない。 Protocol Buffersとは Protobufはスキーマ言語だ! 一般的にはProtob

    今さらProtocol Buffersと、手に馴染む道具の話 - Qiita
    itsumu126
    itsumu126 2018/09/08
  • OSSのライセンスを理解する(「使用」と「利用」の違い、知っていますか?) - Qiita

    参考文献 オープンソースソフトウェアとは - Weblio辞書 プロプライエタリソフトウェアとは - Weblio辞書 派生プログラムとは - Weblio辞書 フリーウェア - Wikipedia ソフトの配布とライセンス - 可知豊 OSSをライセンス的に正しく使う/プロプラだけの製品とするための11のチェックポイント - NEC GitHubを利用する際に注意したいOSSライセンスのポイントとは - Think IT オープンソースとは - 日ユニシス 著作権審議会マルチメディア小委員会ワーキング・グループ中間まとめ - 公益社団法人著作権情報センター CRIC 企業技術者のためのOSSライセンス入門(1):訴訟が増えている!? OSSライセンス違反 - @IT 2.「オープンソースの定義」を理解する OSSを規定する上で重要となる「オープンソースの定義」を知っておくと、主要ライセ

    OSSのライセンスを理解する(「使用」と「利用」の違い、知っていますか?) - Qiita
    itsumu126
    itsumu126 2018/05/05
  • サービスクラスについては僕も悪かったと思っているけど、それでもCQSは実現したいんだ - Qiita

    このエントリは Ruby on Rails Advent Calendar 15 日目です。(遅くなってすいません) 同時に 14 日目のじょーかーさんのエントリへのアンサーエントリでもあります。 (まあ、じょーかーさんがこの Advent Calendar に登録したときに、タイトルから内容を推察してこれを書くことを決めましたが、実際のところ、あまりアンサーにもカウンターにもなってないし、全然関係ない内容と言えないこともないので、まあサービスクラスについては僕も推奨したことがあるし、僕も反省してるんですよ程度に読んでもらえると幸いです。) まずはじめにごめんなさい 3 年くらい前に僕は Rails にサービスクラスというものを導入するといいことがあるよと書いたのだけど、それからいくつもの Rails アプリケーションを見たり、実際に自分で開発したりして、うーんって思うことも増えてきたので

    サービスクラスについては僕も悪かったと思っているけど、それでもCQSは実現したいんだ - Qiita
    itsumu126
    itsumu126 2018/04/16
  • なんちゃってスクラム開発 - Qiita

    最近、「スクラム開発やってるよ」っていう現場が増えてきたなと感じる。 そして、「スクラムやってるんだけど上手くいかなくて」という声も多く聞く。 なぜなら、大抵の現場のスクラム開発は 「なんちゃってスクラム開発」 にしかなっていないことがほとんどだから。 スクラムの「ス」の字にもなっていない。 それは、スクラムの基的な部分を理解もしないまま上辺だけを真似してしまっているからだ。 (しかも、理解できていると思ってやっているからタチが悪いんだけども) それで、スクラムをやっているつもりになって上手くいかず、「スクラム上手くいかない」と思っているところがほとんどだ。 きちんとしたスクラムをがっつりやってきた人間としては、とても心外なので、 ここでは、当のスクラム開発ってどういうものなの?というのを伝えておく。 スクラムの知識はある前提でお話しするので、「スクラム開発ってなに?」という人は下記サ

    なんちゃってスクラム開発 - Qiita
    itsumu126
    itsumu126 2018/04/12
  • Impostor Syndrome(詐欺師症候群)とQiitaについて - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? dev.to を見ていたら、 #impostorsyndrome というタグがあり、 #shecoded でもけっこうみんな Impostor Syndrome に苦しんでいたという記述がありました。 調べてみたら、 Impostor Syndrome (詐欺師症候群) に陥っている方は多いんじゃないかと思い、というか自分がまさに当てはまった気がしたので、エンジニアの視点でまとめてみます。 Impostor Syndrome とは wikipedia によると インポスター症候群またはインポスター・シンドローム(英: Impostor

    Impostor Syndrome(詐欺師症候群)とQiitaについて - Qiita
    itsumu126
    itsumu126 2018/03/11
  • [Vue.js 2.x] 非コンポーネントvsコンポーネントでの登録フォームの実装 - Qiita

    前提 Vue.jsは使っているが、コンポーネントを使った実装をまだしていない人、少しし始めた人向けです。 この記事のねらい コンポーネント使わずとも、Vueインスタンスを作成し、dataオブジェクトに必要なプロパティを追加していって、、1つのJSファイルで問題なく実装できるよね。 コンポーネントする意味って何なの?(´・ω・`)という状態から、この記事を読んで貰った後には、**コンポーネント化したほうがよさそう!**と思ってもらえば幸いです。 コンポーネント化するメリット メンテナンスしやすい 追加修正が発生した場合に該当箇所が見つけやすい。 必要なファイルのみ修正を行えばよい。 ロジック部分、非ロジックのHTML部分で切り分けができる 複数人で作業する場合、分業しやすい 同時に作業しても修正箇所がかぶらないのでコンフリクトの発生が避けられる。 可読性が高い Vue.jsを使った実装はコン

    [Vue.js 2.x] 非コンポーネントvsコンポーネントでの登録フォームの実装 - Qiita
  • ActiveRecordのモデルが1つだとつらい - Qiita

    require 'date' class AddBirthdayDateToUsers < ActiveRecord::Migration[5.1] def up add_column :users, :birthday_date, :date User.reset_column_information User.find_each do |u| birthday_date = Date.new(u.year, u.month, u.day) rescue nil u.update(birthday_date: birthday_date || User::UNKNOWN_BIRTHDAY) end change_column_null :users, :birthday_date, false end end 上記のようにマイグレーション実行時にアプリケーションで定義したActiveRe

    ActiveRecordのモデルが1つだとつらい - Qiita
    itsumu126
    itsumu126 2018/02/14
  • イマドキのJavaScriptの書き方2018

    PySpa統合思念体です。これからJavaScriptを覚えるなら、「この書き方はもう覚えなくていい」(よりよい代替がある)というものを集めてみました。 ES6以降の難しさは、旧来の書き方にプラスが増えただけではなく、大量の「旧来の書き方は間違いを誘発しやすいから非推奨」というものを作り出した点にあります。5年前、10年前のやウェブがあまり役に立たちません。なお、書き方が複数あるものは、好き嫌いは当然あると思いますが、あえて過激に1つに絞っているところもあります。なお、これはこれから新規に学ぶ人が、過去のドキュメントやコードを見た時に古い情報を選別するためのまとめです。残念ながら、今時の書き方のみで構成された書籍などが存在しないからです。 たぶん明示的に書いていても読み飛ばす人はいると思いますが、すでに書いている人向けではありません。これから書くコードをこのスタイルにしていくのは別にいい

    イマドキのJavaScriptの書き方2018
    itsumu126
    itsumu126 2017/12/27
  • Chrome拡張 備忘録 1から10まで - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 自分はChromeにマイ拡張機能を搭載して使っているのですが、ときどき機能追加しようとしたときにどうすれば良いのかわからなくなるので備忘録を書いておきます。 間違っていたりしたらコメントいただけるとうれしいです。 eventPageとかbrowserActionとかどれ使えばええねんって方はまとめを御覧ください。 #必要なファイル・フォルダ構成 manifest.json(必須) html(ブラウザアクションなどを実行したときに表示されるHTMLjavascript(プログラム体) manifest.json 公式 必須

    Chrome拡張 備忘録 1から10まで - Qiita
    itsumu126
    itsumu126 2017/12/07
  • Lambda+Amazon API Gatewayでバイナリレスポンスを返す方法 - Qiita

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

    Lambda+Amazon API Gatewayでバイナリレスポンスを返す方法 - Qiita
    itsumu126
    itsumu126 2017/11/20
  • Visual Studio Code - Qiita Advent Calendar 2017 - Qiita

    なかったので作りました Visual Studio Code (VSCode), vscode のアドベント カレンダー ヒント、コツ、拡張機能などなんでもどうぞ! Visual Studio はこちら https://qiita.com/advent-calendar/2017/vs No.1 - No.2

    Visual Studio Code - Qiita Advent Calendar 2017 - Qiita
    itsumu126
    itsumu126 2017/11/16
  • Actions on Googleでapi.aiを使ってGoogle Homeに何か言わせてみる - Qiita

    2017年11月22日追記: この記事を公開したちょっとあとくらいにapi.aiはDialogflowに変わっていますが、名前以外は大きく変わった点は無いはずなので、適宜読み替えてください はじめに 2017年10月6日、ついに日Google Homeが発売されました。 というわけで、早速買ってapi.aiGoogle Assistant Integrationを使ってGoogle Homeに色々と言わせてみたので、簡単にやり方を紹介します。 まずはじめに、次のURLからActions on Googleにアクセスしてプロジェクトを作成します。 https://console.actions.google.com/?pli=1 プロジェクトを作成 Add/import projectをクリックしてプロジェクトをインポートまたは新規作成します。 もしGoogle API Console

    Actions on Googleでapi.aiを使ってGoogle Homeに何か言わせてみる - Qiita
    itsumu126
    itsumu126 2017/10/26
  • Slack経由で家の外からエアコンをon, offできる装置を、Raspberry Piで作ってみた。(しかも御坂美琴ちゃんが応答してくれる) - Qiita

    Slack経由で家の外からエアコンをon, offできる装置を、Raspberry Piで作ってみた。(しかも御坂美琴ちゃんが応答してくれる)電子工作RaspberryPiSlack赤外線リモコン 背景 今年の冬は寒い。 最近新宿のボロアパート(立地だけで選んだ)に引っ越して以来、断熱性のカケラもないくそ寒い家に帰るのが嫌でしょうがなかった。 幸いにして(?)エアコンはあるので、家に入ってから暖房をつけるのだが、暖まるまではそこそこ時間がかかり、その間はコートも脱がず凍えるしかない。 そこで、かねてから欲しいと思っていたインターネット経由でエアコンをon, offできる装置を作ることにした。 電子工作は全くの初心者なので、使うのはとっかかりの簡単そうなRaspberry Piにした。 また、一人の家に帰る寂しさを紛らわせるために、最近エンジニアに人気のチャットツールslackを使った。 s

    Slack経由で家の外からエアコンをon, offできる装置を、Raspberry Piで作ってみた。(しかも御坂美琴ちゃんが応答してくれる) - Qiita
    itsumu126
    itsumu126 2017/10/16
  • Raspberry Piで自宅ウェブサーバ構築 - Qiita

    #はじめに 自宅のRaspberry Piをウェブサーバとして使用するための構築方法。 #基情報 ##Raspberry Piの情報 デバイス Raspberry Pi 2 Model B OS RASPBIAN WHEEZY Version:May 2015 Release date:2015-05-05 Kernel version:3.18 ウェブサーバ Apache2.2.22 (Debian) ##ルータの情報 PR-500MI #Raspberry Piのインストール こちらのサイトを参考。 http://qiita.com/ttyokoyama/items/7afe6404fd8d3e910d09 sshでログインできる状態になっていればOK。 #Raspberry Piのセキュリティ設定 ここでは、rootのパスワードの設定、デフォルトのpiユーザーの削除、新規の一般ユー

    Raspberry Piで自宅ウェブサーバ構築 - Qiita
    itsumu126
    itsumu126 2017/10/15
  • VSCodeでファイルを開いた時にタブが上書きされる問題を回避する - Qiita

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

    VSCodeでファイルを開いた時にタブが上書きされる問題を回避する - Qiita
    itsumu126
    itsumu126 2017/09/28
  • Google Classroomが一般公開されました - Qiita

    クラス クラスは学校のクラスと同じ感覚でいいと思います。 教師と生徒を含み、お知らせや課題のやり取りを行います。 クラスを作る(担任) https://classroom.google.comにアクセスしてクラスを作成します。 クラス名等を聞かれるので適宜入力します。 テーマを変える(教師) 画面右のテーマを選択や写真をアップロードからクラスのテーマを切り替えることができます。 クラスに教師(副担任)を追加する(教師) クラスには副担任を追加することが可能です。 概要タブを選択し、教師の招待から招待メールを送ります。 招待に応じると教師(副担任)が追加されます。 クラスに生徒を追加する 2パターンあります。 教師(副担任)を追加した場合と同様に、教師が生徒に招待メールを送るパターン クラスに設定されたクラスコードを生徒が入力して参加するパターン 教師が生徒に招待メールを送る 生徒タブを選択

    Google Classroomが一般公開されました - Qiita
    itsumu126
    itsumu126 2017/08/15