タグ

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

  • [Java] thisってなに指してんの - Qiita

    thisって何ものなのか 多分、誰もが一度は思ったことがあるであろう「this」というキーワード プログラミング初心者やthisの無い言語を触ってきた人なら尚更だと思うので javaではthisがどのようなものかさくっと解説します this参照 普段、javaのコードを書く上で使うのがthis参照と言われるものです オブジェクト指向を勉強した人であればカプセル化なんかで使うことが多いかと思います。 カプセル化なんかで使うことがあるので気がつくかもしれませんが thisは… そのクラスのオブジェクトを参照する参照型オブジェクト なんです。 例えば public class sample{ private String str = "Hello"; public static void main(String... args){ sample s = new sample(); s.show(

    [Java] thisってなに指してんの - Qiita
    kahki
    kahki 2019/02/22
  • Spring Bootアプリケーションのコードレビューポイント - Qiita

    リクエストの入り口になるのはControllerになるため,初めてSpringを触る開発者の方も馴染みに深いと思うのですが,何も考えずにアプリを作っていくと,ついついControllerにビジネスロジックを実装してしまいがちです。そうすると,所謂保守性や可読性が低いFat Controllerが出来上がってしまうので,ビジネスロジックの隔離は強く意識したいポイントだと思います。 個人的にはそれぞれ以下の内容に徹するのが良いのでは?という考えです。 Controller リクエストの受付 リクエストパラメータのValidation Serviceの実行 例外処理 レスポンスの作成 Service ビジネスロジックの実行 外部サービスとの連携 Repositoryを介したデータ操作 トランザクション管理 Repository データ操作 Controllerの中で複数種類のServiceを呼び

    Spring Bootアプリケーションのコードレビューポイント - Qiita
    kahki
    kahki 2019/02/22
  • 画像処理100本ノックを「Google Colaboratory」で楽々学習 - Qiita

    画像処理100ノックとは 以下のような素晴らしい記事を発見しました。 https://qiita.com/yoyoyo_/items/2ef53f47f87dcf5d1e14 (リンク切れ) 画像処理を、OpenCV等の高度なライブラリを使わず行うことで、画像処理の理解を深める、非常に有用な練習問題集です。自分も画像処理の基礎を学びなおしたかったので、自己学習のため活用させていただくことにしました。 ただ、初学者にとってハードルになりそうなのが、環境構築のところです。GitHubのREADMEに丁寧に描かれているのですが、初学者にとっては難易度高く、時間もかかります。また、自宅以外の環境でちょっと学習したいときなどにも不便です。 そんな手間を解消するために、Googleが提供している環境構築不要・無料でPythonの開発が可能なWebサービスGoogle Colaboratory」を使

    画像処理100本ノックを「Google Colaboratory」で楽々学習 - Qiita
  • PlantUML Example for モデルベース要件定義テクニック - Qiita

    PlantUMLはテキストの記述でUMLの図を描くことができます。オプション機能や組み合わせで色々な表現をすることができるので、UML を拡張した図が使われるモデルベース要件定義テクニックの書籍からいくつかのモデルを記述します。 書籍にはモデルの着眼点や解説が丁寧に記載されています。図の背景に興味がある方は合わせてお読みください。 コンテキストモデル ユースケース図でシステムの関係者を整理します。 left to right direction を利用すると図の方向を左から右に変更できます。 left to right direction actor 経営者 rectangle システムに直接関わる人 { actor 顧客 actor 営業 actor 物流 actor システム部門 actor オーダー部門 経営者 -- 営業 経営者 -- 物流 顧客 -- (商品販売サイト) 営業 -

    PlantUML Example for モデルベース要件定義テクニック - Qiita
  • 今日から始められるリファクタリング10選 (2) - Qiita

    概要 前回 は、第6章「メソッドの構成」に属する 1〜3 について書きました。 今回は、第9章「条件記述の単純化」に属する 4〜7 について書きます (詳しくは前回の目次を参照)。 主に if/else の書き方に関するリファクタリングですね。 4. 条件記述の分解 (238) 概要 条件記述部とthen部およびelse部から、メソッドを抽出する。 サンプルコード(リファクタリング前) 要件が複雑であるために、色んな値の組み合せによって処理が分岐しているけど、実態は似たような処理のバリエーションでしかない、ということがあります。サンプルコード、ちょっといい具合にアレンジできなかったので分かりにくいとは思いますが。

    今日から始められるリファクタリング10選 (2) - Qiita
  • 今日から始められるリファクタリング10選 (1) - Qiita

    概要 Martin Fowler 著「リファクタリング―プログラムの体質改善テクニック」を参考にしました 手軽にできる (と思われる) リファクタリングを抜粋しました (10 という数字に特に意味はなくキリがよかったので) リファクタリングカタログ名は「」で括り、()内にページ番号を振りました サンプルコードはPHPで記述しました テストコードがある前提です 「リファクタリング―プログラムの体質改善テクニック」について このはリファクタリングのガイドブックです。系統だった効果的なリファクタリング手法を説明しています。コード中にバグを加えずに、ソフトウェアの構造を体系的に改善できます。 (Amazon 商品の説明より) オリジナル版と新装版があります。稿ではオリジナル版を使用しました (新装版と目視で比較したが、リファクタリングカタログに違いはないみたいだった)。 リファクタリング―プロ

    今日から始められるリファクタリング10選 (1) - Qiita
  • 脱Apple、出戻りWindows - Qiita

    2016年2月、MacをやめてWindowsを久々に使い始めたので、環境構築のためのメモ。 今回買ったマシンはMicrosoftが2月4日に発売したSurface Bookの最上位モデル(SSD 512GB, Intel Core i7, メモリ16GB, nVIDIA GPU付き)。 Windows10 環境設定・アプリケーション等 まずやること Google Chrome インストール、Googleアカウントログインと同期 Dropbox インストールと、Googleアカウント経由のログイン Keepass 環境の再構築 職場のプリンタセットアップ( https://www.fujixerox.co.jp/download/apeosport/4_c3370/ ) Microsoft Office Shiftのインストール インストールするもの (Boxstarter経由) Choco

    脱Apple、出戻りWindows - Qiita
  • Railsのアーキテクチャ設計に挑戦 - Qiita

    はじめに こんにちは。 株式会社Nexceedにて、学生フルスタックエンジニアとして働いてる若造です。 Railsでサービス開発を行っているのですが、 サービス拡大に伴って、Railsのレイヤーきれいに分けたいなぁって思いまして、 クリーンアーキテクチャなどを参考にして、Railsのアーキテクチャを考えてみました。 参考リンク Clean Architecture 達人に学ぶソフトウェアの構造と設計 Rails:Service層を運用して良かったところ、悪かったところ 中規模Web開発のためのMVC分割とレイヤアーキテクチャ Ruby/Rails + Clean Architecture で API サーバーを実装してみる Rails Viewの表示のためにDecoratorを用意してHelperとModelを助ける 実務で学んだRailsの設計・リファクタリング Rails 4 でバリデ

    Railsのアーキテクチャ設計に挑戦 - Qiita
    kahki
    kahki 2019/01/17
  • オブジェクト指向設計実践ガイド rspec実践編 - Qiita

    はじめに 自分はオブジェクト指向実践ガイドを読んでからテストの書き方、コードの書き方、リファクタリングの仕方など影響を受けた部分が多く、 それまでrubyで悩んでいた部分に光明を指してくれた一冊として非常に素晴らしいだと思っています。 ですがテストに関する項目は社内で読書会をしたときも理解してもらうのが少し難しく、実践していくのは少し難しい点は否めないと感じていて、理解の一助としてこの記事を書くことにしました。 というわけで、この記事では、テストに関する原著のコードの引用と、それに対する簡単な解説を書いています。 また、TestUnitで書かれている原著でのテストコードをrspecで自分が書いた例と、そして自分の持つTipsや考え方を書いています。 なお、今回この記事では単体テストに焦点を当てて書いています。 request specなどのE2Eテストについてもまた書く機会があれば……

    オブジェクト指向設計実践ガイド rspec実践編 - Qiita
  • ワイが個人的に便利だと思っていてよく使っているPythonライブラリ(pip)たち - Qiita

    この記事はLIFULL その3 Advent Calendar 2018の7日目の記事とされている恐れがあります 謝罪 会社の後輩の記事をパクりました。 ワイが個人的に便利だと思っていてよく使っているJavaScriptモジュール(npm)たち ここから題 ここ1年の中で しまくったgithubリポジトリを年末調整すると同時に、 使っていて個人的に便利だなと思っているものを簡単に紹介しようと思います。 モジュール Poetry 仮想環境の管理から、ライブラリの公開までやってくれる便利な開発ツール 正直、これを紹介するためだけにこの記事を書きました BeProud Advent Calender 2018の『Poetryを使ったPythonパッケージ開発からPyPI公開まで』という記事も読んでください Pipenv 依存ライブラリの管理や仮想(venv)環境も作ってくれる便利なツール ただ

    ワイが個人的に便利だと思っていてよく使っているPythonライブラリ(pip)たち - Qiita
  • 変更に強いアーキテクチャについてIT業界19年目の僕が超ザックリ説明する - Qiita

    この記事は、設計・アーキテクチャ Advent Calendar 2018 の第7日目の記事である。 はじめに この記事では、IT業界19年目の僕が実践している変更に強いアーキテクチャについて、出来るだけ難しい表現を避け、教科書的なありきたりな内容ではなく現場の肌感覚に近い切り口で「超ザックリ」な解説を試みてみようと思う。 普段自分がよく用いている実装パターンの紹介ともいうべきかも知れない。 この記事で説明すること いざ「変更に強いアーキテクチャとは」とズバリ訊かれても、一概に「これだ!」という答えはない。 プログラミング言語や、フレームワークによっても条件が異なるし、利用可能な技術や開発チームの特性、業務要件や運用要件の特性によっても様々であるし、インフラや開発プロセスまで含めて考えると考慮すべきことは無限にある。 ここでは主にソフトウェアの構造という観点から、"変更に強い" ということ

    変更に強いアーキテクチャについてIT業界19年目の僕が超ザックリ説明する - Qiita
  • 分析関数(ウインドウ関数)をわかりやすく説明してみた

    はじめに ちょっととっつきにくいけどとっても便利な分析関数について、なるべく分かりやすく説明してみようと思います。Oracleを対象にしていますが、他のDBでもたぶん似たようなものでしょう(無責任)。 まず分析関数とは何をするものか、ですが、一言で言うと集合関数と同じ集計動作をそれぞれの行に制限範囲で実行するものです。ここでいう集合関数とは、MAXやSUMやAVG等、GROUP BYと共に使い行をまとめるて集計計算する関数ですね。分析関数は集合関数と同様の計算をしますが、集合関数と違い行をまとめません。それぞれの行で集計計算し結果を返します。ここが集合関数との大きな違いです。 また、集合関数ではGROUP BYの同じカラム値をもつ全行を一つに集計しますが、分析関数では集計対象となる行の範囲を任意で指定できます。関数に続くOVER句でこの範囲指定を行います。集合関数と分析関数は基同じ名前な

    分析関数(ウインドウ関数)をわかりやすく説明してみた
  • VBA開発環境をモダンにする - RubberduckとVBEThemeColorEditorの紹介 - Qiita

    VBAのIDEは古のVBE... なんだかんだでVBAを触る機会が結構あるが、IDEはVBE。 少なくともバージョン管理はほしい できる限りモダンな開発環境に近づけたい 見た目なんとかしたい ということで色々調べていたら、2つのアドイン・ツールを使うことでかなりそれっぽい感じにできることが分かった。ちなみに環境は windows10(64bit) + office2016(32bit) で確認。 紹介するアドイン・ツール RubberDuck VBEを現代のIDEっぽくしてくれるヤバいアドイン。1年前くらいに一度試してみるも、動作がかなり不安定でその時は使うのをあきらめた。 最近バージョン2.2がリリースされていたのでもう一度入れてみたところ、すんなりインストールできて動作もかなり安定している!ということで導入決定。 2018/06/10時点の安定版 VBAのエディタの色設定はデフォルトで

    VBA開発環境をモダンにする - RubberduckとVBEThemeColorEditorの紹介 - Qiita
    kahki
    kahki 2018/12/31
  • クリスマスプレゼント もとい IIS - Qiita

    静岡県御殿場市 時之栖 ♡今日はクリスマス・イブ とうとうこの日がやって参りました、クリスマス・イブ! イエスの誕生日25日よりもイブにプレゼント交換や小洒落たレストランでディナーをべたりと、 クリスマスを楽しむ方々が多いのではないでしょうか。 5時から9時まで 先日、 数多くの惜しむ声の中、最終回を迎えたフジテレビ 月9ドラマ「5時から9時まで」でもラスト、高嶺(山ピー)が桜庭(石原さとみ)にクリスマスツリーの前でプロポーズをしています。 ちなみに、わたしが一番好きなクリスマスソングは、竹内まりやさんの「すてきなホリデイ」です。 「クーリスマスが今年もやってくるー♪」の歌詞と共に、ケンタッキーフライドチキンのCM曲としてもお馴染み。 ♡そんな聖なる夜にふと思ったこと 恒例行事として当たり前のように準備をしているクリスマスプレゼント、 そもそもクリスマスには、どうしてプレゼントをするので

    クリスマスプレゼント もとい IIS - Qiita
  • テスト自動化について、調べてみた - Qiita

    はじめに 今までテストコードやテスト自動化をしたことがなく、今の会社に入ってテストコードを書き始めて半年ちょっと 言語はPHP,JavaScript(node)が中心 テストコードを書く前にどういう経緯で自分がテストコードを書く理由やモチベーションが上げるために、テストコードやテストについて、自分が現在書いている実感も含めて少しまとめ。 テスト自動化までの歴史 1960年代 テスト自動化をする手法は早くは1962年に考慮されている ソフトウェア危機 1960年代の終わり第1回NATOソフトウェア工学会議で主張された話、コンピュータの高性能化によって、ソフトウェア開発が複雑化が加速化していくと叫ばれた。 このころから複雑化していくソフトウェア開発に対し、構造化プログラミングや自動テストなどのソフトウェア開発における方法論が議論が活発化し始めている。 1970年代 ソフトウェアテストの技法 1

    テスト自動化について、調べてみた - Qiita
  • 古めの組織に導入する自動テスト・アンチパターン集 - Qiita

    アジェンダ そもそも、なぜ自動テスト? 自動テストと騒ぐと冷たい目で見られる事もあるという話 個人・組織としての失敗談と、その処方箋 書かないこと テストがないレガシーコードにテストを組み込む方法については、触れない そもそも、なぜ自動テスト? 自動テストは、うまく導入すれば、プロダクト品質の担保とユーザへのデリバリー速度に大きく寄与することが分かっているため。 Web業界の先端が、自動テストの効能を体現してる たとえばこんなフロー テストコードを書く プロダクトコードを書く テストコード、プロダクトコードをコミットしてプルリクを出す プルリクをマージすると、CI環境がロジックのフルテスト、UIのフルテストを走らせる テストが全部通ったらそのまま自動的にデプロイする コンピュータに任せられることは全てコンピュータに テスト実施は単純作業なので、人間が実施しなくても良いようになっている 人間

    古めの組織に導入する自動テスト・アンチパターン集 - Qiita
  • フロント未学習の大学生が1週間でVue.jsを使ったポートフォリオを作った話

    ポートフォリオサイト作りました Naoki Kishi's Portfolio Site Topページ Skillページ 今までPythonやCばかり書いていてフロントエンド技術を学んだことがなかったので、勉強を兼ねてポートフォリオサイトを作成しました。 レスポンシブ対応やSPA対応など初めてのことばかりでしたが、なんとか1週間で完成まで持っていくことができました。 この記事では完成までの道のりを時系列に沿って書いていきたいと思います。 動機 今回ポートフォリオの作ろうと思ったのは、エンジニアとして学生バイトやインターンに行きたいなと思ったからです。 今まで大したことをやってきていない僕にとって、エンジニアとして働きたいなら、何かしらアピールできるものが必要だと思いました。ポートフォリオサイトであれば、新しい知識を学べるのに加えて、自分のアピールにもつながると考えました。 ぜひ京都で学生

    フロント未学習の大学生が1週間でVue.jsを使ったポートフォリオを作った話
  • シンボリックリンクの使い方と落とし穴 - Qiita

    仕事でシンボリックリンクを使っているので、その覚書です。 この記事はあくまで「使い方」についての話です。 詳しい仕組みなどは他の解説されているサイトをご覧ください。 シンボリックリンクとは? 簡単に言うとショートカットのようなもので、とあるフォルダやファイルのリンクを保持しているものです。 ショートカットとの大きな違いは、シンボリックリンクを辿った際のパスです。 例として、以下のフォルダ構成を挙げます。 アイコンは一緒ですが、symlink がシンボリックリンク、shortcut がショートカットです。 両方共 C:\linksrc フォルダへのリンクを持っています。 この時、ショートカットを使うと... アドレスバーは C:\linksrc と表示されています。 次に、シンボリックリンクを使うと... なんと、アドレスバーは D:\Workspace\link\symlink を指してい

    シンボリックリンクの使い方と落とし穴 - Qiita
  • 「実践ドメイン駆動設計」を読んだので、実際にDDDで設計して作ってみた! - Qiita

    こんにちは、クラウドワークスの新規事業のエンジニアとして仕事をしている高梨です! 最近、「実践ドメイン駆動設計」というを読みました! 500ページ近くもある技術書で、なかなか量は多かったのですが、DDDがどんなものなのか一通り大枠を掴めた気がします。 ただ読み終わった後にこんな疑念や不安をいだきました。 「たしかにかなり面白そうだけど、実際にやるとどれだけ工数かかるんだろう...?」 「設計の話は全然出てこなかったけど、DDDで作るとなるといったい何から始めればいいんだ?」 「戦術についての知識はついたけど、実際に書こうとしたらできなそうだな...」 そこで、そういった疑念や不安を解決するために、実際にDDDでサンプルプロダクトを作ってみようと思ったわけです。 実際に作ってみるのが、結局一番理解が進みますしね。 今回は、そのプロダクトがリリースされるまでの過程や感想を、作成した設計書やソ

    「実践ドメイン駆動設計」を読んだので、実際にDDDで設計して作ってみた! - Qiita
    kahki
    kahki 2018/12/17
  • Node.jsとWSHって何が違うの? - Qiita

    WSHはWindows標準装備 WSHの最大の利点はWindowsに標準装備されていることです。Windows98からWindows10までであれば、全てに入っています。 それに対し、Node.jsを利用するには環境構築作業が必要です。 例えば、会社の方針でPCに新しいソフトをインストールしてはいけない場合、Node.jsは使えませんが、WSHは使えます。 WSHはレジストリがいじれる Node.jsからWindowsのレジストリを操作することは難しいですが、WSHであれば直接編集できます。その分、WSHはセキュリティリスクが非常に高く、数多くのウィルスが作られたそうです。 レジストリが編集できるという点では、WSHはバッチファイルとかPowerShellに近い存在ですね。 ただ、Node.jsはレジストリを直接編集できませんが、cmdとかシェルを経由すれば可能だと思います。 Node.j

    Node.jsとWSHって何が違うの? - Qiita