タグ

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

  • PHP7.3.0α1の新機能 - Qiita

    PHP7.3.0 / PHP7.3.0α1 / PHP7.2 / PHP7.1 2018/06/07にPHP7.3.0 alpha1がリリースされました。 リリースノートはいつものようにFixed bugで埋まってますが、幾つかRFCで決定した新機能が取り込まれてるので見てみます。 RFC Flexible Heredoc and Nowdoc Syntaxes ヒアドキュメントとnowdocが微妙に使いづらかったのが改善されます。

    PHP7.3.0α1の新機能 - Qiita
    urouro_n
    urouro_n 2018/06/09
  • Swiftでメモ的なwarningの発生のさせ方(Objective-Cの#warning相当) - Qiita

    Objective-Cでは#warning 何かメモとコード中に書くことによって、明示的に警告を発生させることが出来ました。 きっと、たぶん、おそらく、めいびー: 「あとでやろう」ってときは #warning hoge これを埋め込んだ状態で、コミットや特にPUSHはするべきじゃ無いですが、開発中に手元の状態を一時的に変えたい時や、ファイルを行ったり来たりするときのブックマークとして便利でかなり活用していました。 ただ、Swiftコードではこのやり方が出来ず1、不便だなと思っていましたし、それが原因のミス(一時的に手元で弄って後で戻すつもりのものをコミットしてしまうなど)も発生したりでけっこう困っていました。 というわけで解決策です。 【2018/04/19追記】Swift 4.2以降の#warning命令を活用 コードに#warning("XXX")を書けば警告扱い、#error("XX

    Swiftでメモ的なwarningの発生のさせ方(Objective-Cの#warning相当) - Qiita
    urouro_n
    urouro_n 2018/06/04
  • Swift 4.1で導入されたConditional Conformanceのインパクト - Qiita

    Swift 4.1 のおける最も大きな変更の一つは Conditional Conformance 1のサポートです。 Conditional Conformance はジェネリクス関連の言語仕様の一つです。 投稿では、 Conditional Conformance とは何か、何がうれしいのか、どのようなことができるようになったのかということを説明します。 Conditional Conformance とは Swift 4.0 まででも、次のようなコードは正しく実行できました。

    Swift 4.1で導入されたConditional Conformanceのインパクト - Qiita
  • react-native-dom の何がすごいのか - Qiita

    react-native-dom とは experimental と書いてあるが普通に動く。デモを見ると React Native で提供されている仮想 DOM は大体動くといった感じ。 2018 年の React Europe で発表された資料。 https://rndom-slides.vincentriemer.app/ https://www.youtube.com/watch?v=aOWIJ4Mgb2k これの何がすごいかというとブリッジの仕組みにのっとって構築されているところだ。 Native First と言っている。 ブリッジの仕組み iOS のブリッジの仕組みは次でまとめているので参照のこと。 https://speakerdeck.com/januswel/discussion-about-the-bridge https://qiita.com/janus_wel/i

    react-native-dom の何がすごいのか - Qiita
  • Repositoryパターンのアンチパターン - Qiita

    よく見かけるRepositoryパターンのアンチパターンの紹介と対策です。 Repositoryパターンとは Repositoryパターンとは永続化を隠蔽するためのデザインパターンで、DAO(DataAccessObject)パターンに似ていますが、より高い抽象度でエンティティの操作から永続化ストレージを完全に隠蔽します。 例えばDBコネクションやストレージのパス等はReposiotoryのインターフェースからは隠蔽され、Repositoryのユーザは永続化ストレージが何であるか(例えばMySQLやRedis等)を意識することなく保存や検索の操作を行うことができるようになります。 これによりRepositoryを利用するロジックは業務的な操作に集中できるようになる他、データベースの移行等の永続化層の変更が発生した際にロジックへの影響を切り離すことができるようになります。 // 例) ユーザ

    Repositoryパターンのアンチパターン - Qiita
    urouro_n
    urouro_n 2018/05/19
  • JavaScript アルゴリズムで配列をシャッフルする - Qiita

    // シャッフルしたい配列を用意 var array = [0,1,2,3,4,5,6,7,8,9]; for (var i = array.length - 1; i >= 0; i--){ // 0~iのランダムな数値を取得 var rand = Math.floor( Math.random() * ( i + 1 ) ); // 配列の数値を入れ替える [array[i], array[rand]] = [array[rand], array[i]] } console.log(array);

    JavaScript アルゴリズムで配列をシャッフルする - Qiita
    urouro_n
    urouro_n 2018/05/18
  • コンパイルエラーやランタイムエラーを直していくだけでiOSアプリの作り方がわかるプロジェクト - Qiita

    を作りました。 takasek/MokuMokuNotes_iOS: Quest based learning tool for writing a basic iOS app https://github.com/takasek/MokuMokuNotes_iOS モチベーション 元々、 Androidエンジニアの@callipanが、私のAndroid入門のためにわざわざ コンパイルエラーやランタイムエラーを直していくだけでAndroidアプリの作り方がわかるプロジェクト を用意してくれたんですが、それがとても楽しかったのでiOS版を作りました。 (2018/5/12追記) インスパイヤ元であるAndroid版も、パワーアップして公開されました! panpanini/MokuMokuNotes_Android: Quest based learning tool for writing

    コンパイルエラーやランタイムエラーを直していくだけでiOSアプリの作り方がわかるプロジェクト - Qiita
    urouro_n
    urouro_n 2018/05/11
  • Oculus GoのブラウザについてのWeb開発者目線からのまとめ - Qiita

    (2021/12/5追記) 最新のOculusQuestの状況を https://qiita.com/wakufactory/items/b0fdf55da157e7a3346a に書きました。 OculusGoのブラウザは可能性を秘めている 話題沸騰のスタンドアロン型VRゴーグル、Oculus Goですが、ウェブブラウザが標準で搭載されています。 色々遊べそうなので、Webアプリ開発者目線でわかったことをメモって行きます。 OculusGoの標準ブラウザは、デスクトップからすぐに起動することができ、湾曲したウィンドウとして3D空間内に表示されます。 キャプチャだと随分湾曲してますが、実際見るとそれほどでもありません。(でも湾曲しない平面のモードも欲しい) 基スペック 基Android7.1のChrome相当なので、エンジン的にはモダンブラウザとして問題なく扱えると思います。 一方で

    Oculus GoのブラウザについてのWeb開発者目線からのまとめ - Qiita
  • システムで「性別」の情報を扱う前に知っておくべきこと - Qiita

    0は性別に関する情報が得られない場合に使います。性別に関する情報はあるのだけど1とも2とも言えない場合は9を使います。要は「0でもなくて1でも2でもなければ9」です。 これを知っていればMだとかFだとかを議論をせずに済みますね。 国際規格に従うべき理由 国際規格に従うことは色々と利点があります。まず、どうしてそういうコード体系にしたのかを説明しやすいです。また多言語対応する際も規格通りに書けば伝わるはずなので迷わずに済みます。別システムへのデータの移行や、異なるシステム間でのデータの統合もコード体系が同じならラクラクです。もしかしたら別のプロジェクトで書いたコードをそのまま使いまわせるかもしれません。技術者に対するトレーニングも不要です。 対して、わざわざ国際規格に反する実装をする場合は上記のメリットがそのままひっくり返ってデメリットになりはしますが、もちろん、それなりの理由があれば規格と

    システムで「性別」の情報を扱う前に知っておくべきこと - Qiita
    urouro_n
    urouro_n 2018/04/13
  • 2018年のPHPDoc事情とPSR-5 - Qiita

    PHPDocとは、クラスや関数などのブロックに記述できるDocComment内に記述する書式の通称です。この書式の情報源として時折PSR-5が参照されることがあるので簡単に状況をまとめます。 TL;DR PSR-5の標準化ステータスは昨年10月にABANDONED (放棄・議論停滞)になりました 2018年9月26日にPSR-5とPSR-19が分割され、ともにDRAFT状態に入りました PHPDocを型注釈として利用する各処理系の実装にはばらつきがあり、PSR-5とは相違点があります PhpStormは現在のところ(2018.1 EAP)PSR-5と互換性がありません 特にチーム開発では、対応する型記述の書式について注意が必要です PhpStormに配慮して書く場合、phpDocumentorの仕様を参照する方が安全です PHPDoc リファレンス — phpDocumentor この記事

    2018年のPHPDoc事情とPSR-5 - Qiita
    urouro_n
    urouro_n 2018/03/13
  • AWS AmplifyでサーバレスWebアプリの構築(Cognito + API Gateway + IAM認証) - Qiita

    サーバレスWebアプリケーションを手軽に構築 ※この記事は2017年のServerless Advent Calendarの記事として投稿したものです。そのため、AWS AmplifyとAPI Gatewayの組み合わせでの認証を交えた使い方を説明したものとなっています。 AWS Amplify + AWS AppSyncでの認証を交えた使い方などをお調べの方は、2018年のServerless Advent Calendarの記事として投稿したこちらの記事をご確認ください。 これまでの問題 WebアプリでCognito Identity Pool + Cognito User Poolを使う場合、複数のJSを読み込む必要がある API GatewayのIAM認証をしている場合、SignV4での署名が複雑になる API Gatewayで生成されるSDKを使ってリクエストをする場合、複数のA

    AWS AmplifyでサーバレスWebアプリの構築(Cognito + API Gateway + IAM認証) - Qiita
    urouro_n
    urouro_n 2018/03/08
  • “Web Componentsだけ” で新サービスを実装して見えたこと - Qiita

    Double O というサービスを作りました。 フロントエンドはピュアな Web Components を採用していて、バックエンドは Lambda と DynamoDB のみで構成しました。 (厳密には CloudFront とか API Gateway とかもあるけどそこは省いていいよね?) REST API 以外の Util 系の Lambda 関数はすべて AWS Cloud9 で管理することで環境構築も不要な Lambda ができて楽でした。 TL;DR サーバーレスについてはごく普通のことしかしていないので、詳しくは触れないでおきます。 ピュアな Web Components だけでサービスを成立させることができた。 HTMLElement クラスを継承するだけなのでメジャーライブラリは不要になった。 Web Components の Custom Elements は標準仕様

    “Web Componentsだけ” で新サービスを実装して見えたこと - Qiita
    urouro_n
    urouro_n 2018/02/14
  • React Redux の SPA を運用して得られた知見と実装例、開発フローもあるよ! - Qiita

    Facebook が開発したUI ライブラリ 旧来の DOM 操作による状態管理を props や state で抽象化 パーツをコンポーネントごとに管理するのが得意 https://reactjs.org/ から、ライブデモを試せます。 SPAなどの複雑化する React のステート(状態)管理を、ルール(哲学)に従って書かせることで、フロントエンドの動きを追いやすくするためのライブラリ (*個人的解釈です) もともとは Flux と言う、データの流れを一方向に制限することで、流れを追いやすくするという、オブザーバーパターンの亜種から、さらに転じた考え方。 Redux と言う名前は 「Reducer」 + 「Flux」 で 「Redux」だそうです。array.reduce と同じような役割を Reducer が担います。詳しく知りたい方は作者の発表をご覧ください Dan Abramov

    React Redux の SPA を運用して得られた知見と実装例、開発フローもあるよ! - Qiita
  • DroidKaigi2018の資料一覧(随時追加) - Qiita

    iOSDCですごくありがたかったのでDroidKaigi版を準備してみました 情報漏れしてるものがあったらぜひ教えてくださいmm 情報下さった方ありがとうございます! Day 01 WelcomeTalk 10:20 ~ Kotlinアンチパターン https://twitter.com/oxsoft https://www.slideshare.net/RecruitLifestyle/kotlin-87339759 11:20 ~ Inside Android Architecture Components https://twitter.com/moridroid https://speakerdeck.com/kobitokaba/inside-architecture-components How to improve your MVP architecture and test

    DroidKaigi2018の資料一覧(随時追加) - Qiita
    urouro_n
    urouro_n 2018/02/10
  • GraphQLを導入してみて得た知見と雑感。GraphQLはタイタニックの救命ボードになりえるかも - Qiita

    GraphQLは実装内容に合えばタイタニックの救命ボードのように混沌から救い出してくれる。だからと言って全てのプロジェクトがタイタニックな訳ではないので、使い所が合わなければそんな救命ボードにもあまり意味は無い、という話。 先日、個人開発して公開したプロジェクト「node-node-node」のバックエンドはRails APIGraphQLを使っていて、このプロジェクト内容に対しては最高の親和性を発揮してくれた。 GraphQLのメリットを一言で言えば「クライアント=サーバー間での複雑なトランザクション処理の全てをGraphQLが吸収してくれる」ということに尽きる。ややこしい技術の詳細を書いたところでメリットはこれ以外に無い。 /usersや/postsというそれぞれのエンドポイントにリクエストを投げていたのがRESTful。 GraphQLにするとエンドポイントを気にすることなく「これ

    GraphQLを導入してみて得た知見と雑感。GraphQLはタイタニックの救命ボードになりえるかも - Qiita
  • 【今日からできる】コミットメッセージに 「プレフィックス」 をつけるだけで、開発効率が上がった話 - Qiita

    はじめに 今まで commit message を「なんとなく」書いていたが、プレフィックスをつけることで、コミットメッセージに対する考え方が変わった。 そのおかげで開発効率が上がったので、その内容をシェア。 プレフィックスをつけるってどういうこと? 以下のようにコミットメッセージの先頭に、なんらかの文字をつけること。 feat: xxx という機能を追加 fix: yyy で発生するバグを修正 refactor: zzz の機能をリファクタ のように feat, fix, refactor などがプレフィックスです。 最近 OSS の Contribution Guide などでよく見かけます。 導入したプレフィックスルール Angular.js/DEVELOPERS.md Angular.js の開発者ガイドに書いてあるメッセージを参考にしました。 以前のコミットメッセージ(例 ちなみ

    【今日からできる】コミットメッセージに 「プレフィックス」 をつけるだけで、開発効率が上がった話 - Qiita
    urouro_n
    urouro_n 2018/01/31
  • Ionicハンズオン資料 - Qiita

    はじめに こんにちは!! では、今からIonicを用いてWebアプリケーションを作成していこうと思います。 時間がないので、サクサクと進めていきますね! もっとじっくり学びたい? そういう方にはオススメのがありますので、こちらでじっくり学んでくださいね :-p Ionicで作る モバイルアプリ制作入門〈Web/iPhone/Android対応〉 2019年11月27日にIonicの第2版が発売されました🎉!! 記事はIonic v3の内容に基づいています。 より洗練されたIonic v4に触れたい、学びたい方はこちらでどうぞ! Ionicで作る モバイルアプリ制作入門[Angular版]<Web/iPhone/Android対応> 自己紹介 こざけ (Twitter: @s_kozake) システムアーキテクト Java屋 🍻(´∀`*v) 今から作るもの 「イベントさん」という名

    Ionicハンズオン資料 - Qiita
  • Docker for Macのディスクスループットを約2倍にする - Qiita

    2018-08-06 15:38 Stable版で復活のお知らせ Docker Community Edition 18.06.0-ce-mac70 2018-07-25 にて再度rawフォーマットが利用可能になりました。 Re-enable raw as the the default disk format for users running macOS 10.13.4 and higher. Note this change only takes effect after a “reset to factory defaults” or “remove all data” (from the Whale menu -> Preferences -> Reset). Related to docker/for-mac#2625 Docker for Mac Stable release

    Docker for Macのディスクスループットを約2倍にする - Qiita
  • サンプルコードで学ぶPWA - Qiita

    はじめに Google I/O 2017の動画を確認し、そろそろPWAについて真面目に把握していかなければと思い至り、GitHubからいくつかサンプルプログラムを探してきて触ってみたので基的な技術情報と合わせてまとめました。なのでPWA初心者向けです。 特定のJSフレームワークを扱う専門のエンジニアでない限り(私自身がそうなので)、それぞれのJSフレームワークの対応状況なども気になるところだと思いますので、 React.js , Angular , Vue.js の3つにおけるPWAのサンプルについても調べました。 確認した手順などを含めて要点だけまとめていますが、詳細はそれぞれのGitHubページを参照しつつcloneして触ってみて頂ければと思います。 シンプル構成 まずはJSフレームワークなどが入っていないシンプルな構成で、PWAの仕組みについてざっくりまとめました。 PWA ret

    サンプルコードで学ぶPWA - Qiita
    urouro_n
    urouro_n 2018/01/23
  • CPU脆弱性Meltdownのパッチ適用でベンチマークスコアが25%低下した - Qiita

    いま話題のCPU脆弱性Meltdownですが、 各OSベンダーからカーネルのパッチが配布され始めました。 個人で利用しているEC2にパッチを適用して、ベンチマークをとったところ、 トータルスコアが25%低下という結果が出ましたのでまとめます。 ※環境やCPUの種類やベンチマークの取り方で変わるので、 必ずしも全ての環境においてこの結果が正しいわけではありません。 環境とスペック EC2インスタンスタイプ:t2.midium OS: 3.10.0-693.11.6.el7.x86_64 (CentOS 7) CPU: Intel(R) Xeon(R) CPU E5-2676 v3 @ 2.40GHz (2コア) 結論 コンテキストスイッチの速度が低下する。 Meltdown関連の記事にもあるように、 パッチ適用によってカーネルモードとユーザモードのアドレス空間を分離する措置が取られるため、

    CPU脆弱性Meltdownのパッチ適用でベンチマークスコアが25%低下した - Qiita
    urouro_n
    urouro_n 2018/01/07