タグ

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

  • gradle 2.12 で対応された compileOnly を試す - Qiita

    gradle 2.12 が、maven の provided scope に plugin なしで対応したとのことで lombok でためしてデコンパイルして確認してみました。 compile('org.projectlombok:lombok')の場合 lombok 居ますね(最下段)。 compileOnly('org.projectlombok:lombok')の場合 lombok 消えてますね. jar から消えてました! これでプラグインは不要となりましたね。 2.12 からは build も速くなったそうな。

    gradle 2.12 で対応された compileOnly を試す - Qiita
  • Android開発を受注したからKotlinをガッツリ使ってみたら最高だった - Qiita

    関連記事 この記事も古くなりましたね。執筆時の実装バージョンKotlin 0.12から1.0.2へのアップグレード対応をした際の知見を記事にしました。 Kotlinを実案件で使いました 先日、僕の勤め先のQonceptは『リアル鬼ごっこ』×富士急ハイランド 巨大遊園地からの逃走を開発、リリースしました。 富士急ハイランドで実際に鬼ごっこをする企画で、一般のお客さんがスマホで専用アプリを使いながらクリアを目指します。園内には鬼役のスタッフや、ゲーム進行に関わる設備などがあり、これらとスマホがiBeacon(BluetoothLE)を用いて連動することで、ダメージを受けたり、アイテムを使用したり、クイズを解いたりなどします。 Qonceptの開発範囲は、iOSアプリ(とAppleWatchアプリ)、Androidアプリ、サーバサイドでした。 受注確定となった時点で、残り日数と開発者リソースに対

    Android開発を受注したからKotlinをガッツリ使ってみたら最高だった - Qiita
  • エンジニアのハマり時間とその技術的難易度の相関関係 - Qiita

    めちゃくちゃにハマったからと言って、その問題は技術的難易度が高い訳ではないんじゃね?という話。 ここで言う「ハマる」とはなにかに夢中になって没頭することではない。バグとかエラーがあって、なかなか解決できなくてそのために時間を割かれてハマる、の「ハマる」。 先日、ハマった問題が解決した時の感情は「ついに解決したぞ」という安堵感と「しょーもないハマりポイント作りやがって、あのボケが!」という前任者への怒りが混ざった状態だった。 サイトのSSLの有効期限切れが2週間後にせまっていた。やる事は証明書の更新、新しい証明書をAWSのELBに入れること。ただこれだけ。しかしハマった。どうやってもELBから「あなたのキーは無効です」みたいなエラーメッセージが返ってきた。2年前にSSLを設定したエンジニア退職してしまって、もう居ない。その前任者とほぼ同じことをすればOkなはずなのに、なぜかできなかった。

    エンジニアのハマり時間とその技術的難易度の相関関係 - Qiita
  • Macでの開発環境構築をできる限り自動化する。 - Qiita

    2023-03-24追記 気がつけばこのポストも7年の月日が経過しました。 くっそしょうもない話でしかないのに、妙に人気のある記事です。 実のところあの頃のスクリプトを秘伝のタレのように微妙に変えながら使い続けて、と来たわけですが、 そうこうしている間に、時は流れ、Appleはx86を捨て、そしていつの間にか人類は自分の母語でやりたいこと書けば大体よしななコードが書かれる時代が到来しました。文字通りの未来です。 そして、Macをセットアップする最初に数時間を節約するために、わざわざスクリプトを親切に書き直すというモチベーションはそうそう湧くわけもなかった私に、7年前にやるべきだったことを変わりに、私でも、ましては人類でもなく、コンピュータ自身がその仕事をやってくれる時代が訪れました。 ありがとう、ChatGPT。彼(彼女?ああ、non-binary?コレも違うな)がやってくれました。 (

    Macでの開発環境構築をできる限り自動化する。 - Qiita
  • Androidのコードを 見やすく! 書きやすく! するアノテーション その2 - Qiita

    Android開発をするときに使うと便利なアノテーションのまとめです。 以前投稿させていただいた Androidのコードを 見やすく! 書きやすく! するアノテーション が存外好評でしたので、第2弾を書かせていただきます。 私もまだまだ勉強中ですが、便利なものはガンガン使って、効率よく開発したいものです。 メソッドの引数に渡す値の範囲を明示する @Size @IntRange @FloatRange 値の範囲を絞ることができます。 メソッドの引数に@IntRangeを付与した場合、受け取る値をここで指定した範囲に絞ることができます。 呼び出し側でこの範囲外の値を渡そうとした場合エラーが表示されるようになります。 また、メソッドに@IntRangeを付与した場合には、戻り値を指定した範囲内に限定することができます。 retrun句で範囲外の値を返そうとした場合にエラーが表示されるようになりま

    Androidのコードを 見やすく! 書きやすく! するアノテーション その2 - Qiita
  • OSXでdockerを使いたいだけならVagrantを捨てdinghyを使ってみるといいかもしれない - Qiita

    OSXdockerを使った開発環境を組もうとすると、docker入りのVagrant boxを自作しないとならなかったり、docker-machineのファイル共有をセットアップする必要があったりと、開発を始めるまでの手間が多い。 dinghyは上記のような手間を省略し、OSXdocker環境をシームレスにしてくれるプロダクトで、次の特徴がある。 ホストマシン(OSX)側のファイルをコンテナにマウントできる マウントだけでなくファイルシステムのイベントもサポートする。つまり、webpackなどのファイル更新を検出してタスクを走らせるツールと相性がいい。 DNSを内包しているので、Macの/etc/hostsを書き換えたり等、自前で名前解決が不要。 HTTPプロキシを内包しているので、1つのVMに複数のウェブアプリを簡単に起動できるようになっている。 docker-compose.yml

    OSXでdockerを使いたいだけならVagrantを捨てdinghyを使ってみるといいかもしれない - Qiita
  • コードを書く際の指針として見返すサイトまとめ - Qiita

    お勧めの記事がありましたらコメントなどで教えて頂けると幸いです。 Guidelines プログラマが知るべき97のこと 技術的負債 不慣れなコードベースで短期間に生産性を高めるための7つの方法 何も知らない人を育てるために(新人教育情報キュレーション) 保守開発に開発者として入って困ることのまとめ(実体験) 技術系の名言まとめ++ 真似をする前にバッドプラクティスかどうかを調べてみよう 読まれない名著「人月の神話」を気で読み込んでみた(まとめ) 技術的負債とどうやって戦うか 楽しいコーディングのための CUPID - SOLID 原則に対するアンチテーゼ エンジニア基礎(新人研修資料) Coding Style モデルやメソッドに名前を付けるときは英語の品詞に気をつけよう 関数名や変数名に使えそうな動詞・名詞・形容詞のメモ Naming -名前付け- DRY原則をもう一度 -コンカレント

    コードを書く際の指針として見返すサイトまとめ - Qiita
  • enkanとkotowari 〜 Java9時代の新しいマイクロフレームワーク - Qiita

    現在ではSpring Bootの手軽さに軒並み飲み込まれた感がありますが、Javaのマイクロフレームワークはちょっとしたブームでした。 Javaのマイクロフレームワーク ― この新トレンドは見逃せない enkanは、RackやExpress.jsで実装されているミドルウェアパターンをJavaで実装した、現在ファーストリリースへ向け開発中の新しいマイクロフレームワークです。 Java9のREPLを活用して開発・運用を楽にする機能も実装(予定)です。 なぜ今さら新しいWebフレームワークを? Spring BootやJava EEは、高度なDIとたくさんのアノテーションでフレームワーク内部の動きはブラックボックス化されます。これを完全にブラックボックスのまま、実用的なWebアプリケーションを完成させるのは、実際のところ難しく、フレームワークの内部を覗きにいかなくてはなりませんが、これが結構ハマ

    enkanとkotowari 〜 Java9時代の新しいマイクロフレームワーク - Qiita
  • ElixirでSlackBotを簡単に作れるライブラリを作ったよ - Qiita

    SlackのBotを簡単に構築できるライブラリを作りました。 私が調べた限り、ElixirにはSlackのBotを作るライブラリとして、 Elixir-Slackslackerがありますが、求めているものとしてこれでは足りなかったためslackerの上に構築しました。 それがこちらです。 Sloth 使い方と構成、仕組みの解説をしたいと思います。 HowTo defmodule Echo do use Sloth.Plugin plugin ~r/^echo (.*)$/, :echo def echo(send_data, captures \\ []) do Sloth.Slacker.say(send_data["channel"], List.first(captures)) end end 上記sampleは、echo ほげほげのような発言に対して、 ほげほげと返すBotです。

    ElixirでSlackBotを簡単に作れるライブラリを作ったよ - Qiita
  • プログラミング言語ランキングより:2016年 動向を見守るべき言語は Elixir、Julia、Rust、Swift、TypeScript - Qiita

    プログラミング言語ランキングより:2016年 動向を見守るべき言語は Elixir、JuliaRustSwiftTypeScriptRustTypeScriptElixirJuliaSwift 最新のRedMonkプログラミング言語ランキング1 によると、Swiftの成長ぶりと潜在的なポテンシャルは驚異的とのことだ。GoSwiftは、トップ10にい込む可能性もあると見られている。 また、トップ20圏外にいるが、今後の動向を見守るべき言語として、Elixir、JuliaRustTypeScriptが挙げられている。 ベストランキング 開発者が採用するプログラミング言語を調べるために、RedMonkはStack Overflowのディスカッション数や、GitHubで使用されている言語を分析している。RedMonkのアナリストおよび共同創設者のスティーブン・オグレディは、その結果を

    プログラミング言語ランキングより:2016年 動向を見守るべき言語は Elixir、Julia、Rust、Swift、TypeScript - Qiita
  • まだ CircleCI で消耗してるの? - Qiita

    概要 もう随分と前に TravisCI から CircleCI へ乗り換えたのですが、いかんせん、便利な CircleCI をもってしても Androidプロジェクトのビルド時間は長くなり続け、ついに 1 回のビルドに 20 分を費やすほどにまで成長してしまいました。いくつか無駄を省いたり、キャッシュをしてみたりと言った策を講じたものの、目立った改善が得られませんでした。そこで CircleCI を脱却してみることにしました。現在、CircleCI を脱却し Wercker を利用することで 1 回のビルドが 5 分ほどで終わるようになりました。この記事には、何がどのようにして短時間で済むようになったかを書き記してあります。 問題の根源 そもそも CircleCI で時間がかかっている部分はどこかというところから見ていきます。現在のプロジェクトで使用している分には、以下に上げる部分でか

    まだ CircleCI で消耗してるの? - Qiita
  • データサイエンティストを目指す人のpython環境構築 2016 - Qiita

    pythonの環境構築について "python 環境構築"でググると20万件くらいヒットしますが、割と内容が古いです。 タイトルにはデータサイエンティストと書いてありますが、データサイエンティスト以外にもanacondaはおすすめです。 2.x or 3.x? 3.xは動かないライブラリが多いので2.x推奨 > 3.xで動かないライブラリがある、くらいまで来ました。 easy_installでpipを入れて、setuptoolsも入れて、でもwheelというのもあって... > 古いです。 virtualenv 必須 > そんなこともないです。 winでは64bitは不具合が多いので32bit推奨 > 古いです。 winでは非公式バイナリからダウンロードしてインストール > お世話になりましたが、最近は使っていません。 2016版 OS毎python環境構築法決定版 Windows: an

    データサイエンティストを目指す人のpython環境構築 2016 - Qiita
  • JUnit5(Alpha版)使い方メモ - Qiita

    JUnit5 の Alpha 版が公開されてたので、関西DDDに補欠になってしまった悲しみを紛らわすために使い方を調べた。 ※Alpha 版なので、今後変更されるかもしれません。 JUnit5 とは 言わずと知れた JUnit の次期バージョン。 Java 8 以上のみをサポートするようになり、 JUnit4 からは大きく変わっている。 でも、テストメソッドとか基的な考えは変わっていない。 2016/02/06 現在、 Alpha 版が公開されている。 Hello World Gradle で使う方法(Maven でもいけるらしい)。 ビルドファイル buildscript { repositories { maven { url 'https://oss.sonatype.org/content/repositories/snapshots' } } dependencies { cl

    JUnit5(Alpha版)使い方メモ - Qiita
  • もっとみんなjavadoc.ioを使おう! - Qiita

    javadoc.ioというサービスが素晴しいと思うのですが、日語での紹介記事があまりなかったので紹介させてもらいます。 javadoc.ioとは? Central Maven Repositoryで公開されているプロジェクトのドキュメントをホスティングするサービスです。 http://javadoc.io/doc/<org>/<artifact>/<version> というURLにアクセスすると、対応するドキュメントを閲覧することができます。例えばOkHttpのv3.2.0であれば、 のようなURLになり、こんなドキュメント(と言ってもJava 8のJavaDocそのものですが)が表示されます。 よいところ JavaだけではなくてScalaやGroovyにも対応している。 Central Maven Repositoryに上がっているプロジェクトであれば、どんなプロジェクトのものでも見る

    もっとみんなjavadoc.ioを使おう! - Qiita
  • 新卒が冬のボーナスで購入したプログラミング書籍一覧 - Qiita

    原文 昨年末に一気に購入したプログラミング書籍一覧です。それまでずっと自分のほしい物リストにあったものでした。 プログラミング書籍を選ぶ時の基準はたくさんありますが、ほしい書籍をすべて買えるようなもんでもないため、以下の基準で選定しました。 英語で書かれていること Kindle版ではなく紙媒体で購入できること 少なくとも一人以上の先輩やすごいと思う仲間のプログラマが勧めていること 今回以下の書籍を買う際に考慮した理由は多々あり、 海外のプログラマがどんなを読んでいるのか気になっていた English Firstでプログラミングを学ぶようにしている 焦らず基礎からじっくり勉強したい いわゆる誰もが一度は手にする「古典モノ」を手元においておきたい といったものがありました。 大事なのは、を購入するときに各々の判断基準を明確にしておくこと だと思います。それでは、1つずつ紹介していきます。な

    新卒が冬のボーナスで購入したプログラミング書籍一覧 - Qiita
  • 30分で覚えるKotlin文法 - Qiita

    はじめに Kotlinの文法を短時間でざっと確認することが目的。最初はどんな言語なのか外観を掴む感じで全体に目を通して、書いたり読んだりしながら必要なところを見直すのが良いんじゃないかと。 汎用的なライブラリではなく、アプリケーションを書く際に必要な項目を重視して、リファレンスの内容をコンパクトにまとめた1。網羅性はかなりのものだと思うが、なんじゃこれってのが出てきたら、その時にリファレンスで詳細を調べればいい。 細かい文法についてはリファレンスを元に日語で解説した記事を用意したのでそちらを参照。 基的にJavaを知っていることが前提だけど、他のオブジェクト指向言語を知っていれば理解できると思う。 変数 // Kotlinでは文の後ろにセミコロンはいらない // 頭にvalって付けると変更不可 val num = 3 // 3はInt型なので、numもInt型だとコンパイラが推論してく

    30分で覚えるKotlin文法 - Qiita
  • アプリからサーバまで全部Kotlinなお手軽サービス開発 #ktac2015 - Qiita

    この記事は Kotlin Advent Calendar 2015 の5日目の記事です。 昨日は @daneko0123さん の retrolambda - AndroidKotlinとRetrolamda+Lombokとで作る場合の比較でした。 はじめに KotlinAndroidアプリを書いていると楽しくなりますね。 でも、ちょっと格的なアプリを作ろうと思うとサーバーサイドも欲しくなってきます。 だけどサーバーサイドなんて実装したこと無いし...Kotlinで書きたいし...というあなた(私のことです)でもお気軽に始められる環境Google App Engine (Google Cloud Endpoints) でサーバーサイドを構築してみます。 この記事では、GoogleアカウントでOAuth認証したユーザが書き込む掲示板風なものを作るという想定で進めていきます。 環境 この記

    アプリからサーバまで全部Kotlinなお手軽サービス開発 #ktac2015 - Qiita
  • Java/Androidにおける例外設計、あるいは「契約による設計」によるシンプルさの追求 - Qiita

    なぜ今Javaの例外処理か Javaにおける「チェック例外」はSwift、Objective-C、RubyJavaScriptといったネイティブ・ウェブアプリ開発でよく用いられる他の言語には現れないものです。 SwiftにはOptionalやErrorTypeがありますが、Javaにおいてもnullやエラーのハンドリングの実装方法をうまくやる必要があります。 なぜ例外を握りつぶしたらいけないのか、なぜアサーションが望ましいのか、なぜチェック例外と非チェックを分けたのか、という点を考えてみたいと思います。 参考資料 例外設計における大罪 (契約プログラミングについて) Effective Java読書会9日目 - 例外 (Javaにおける例外の扱いについて) 契約による設計から見た例外 (この記事の方がより詳しいけど難しいイメージ) チェック例外と非チェック例外の違い チェック例外→「回復

    Java/Androidにおける例外設計、あるいは「契約による設計」によるシンプルさの追求 - Qiita
  • Javaにおける動的Mixin - Qiita

    黒魔術(バイトコードをいじること)なしに、Javaで動的にMixinします。 Background ミドルウェアパターンの実装などにおいて、とあるミドルウェアを追加したら、リクエストオブジェクトにメソッドを追加したい、ということがあります。 これを多重継承のできないJavaで実現しようとすると、最終的に必要となるメソッドを全部実装したクラス(またはその親子関係)が必要になります。 必要なメソッドだけ、必要なときに足したいですよね。Mixin! Mixin! インタフェースのデフォルト実装 JavaでMixinを実装したいと思っていた人たちには、Java8でインタフェースにデフォルト実装を持てるようになったのは歓迎すべき出来事だったようです。 Java8のインタフェース実装から多重継承とMixinを考える Java8でmixinをがんばってみる - yojikのlog こんな感じのデフォルト

    Javaにおける動的Mixin - Qiita
    Carimatics
    Carimatics 2016/03/05
    あとで読む