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

  • 【Goのやさしい記事】埋め込みによる委譲を5分で学ぼう - Qiita

    はじめに 12/1から3日連続で、Go初心者向けのやさしい記事を公開しています。 今日のテーマは委譲です。 「Goには継承がないけど委譲があるよ。」と言われて、「委譲って何?!」と思われた人向けに、なるべく簡潔に分かりやすくまとめました。 インターフェースの基理解が必要なため、自信のない方は前日のアドベントカレンダーに投稿した【Go初心者向けのやさしい記事】Goのインターフェースを10分で学ぼうを見てください。 委譲と埋め込み 委譲とは 委譲とは、ある構造体やインターフェースの機能を別の構造体やインターフェースでも使えるようにする手法です。 メソッドやフィールドの再利用性を高めます。 Goにはクラスが存在せず、構造体がクラスに似た働きをしています。 しかしながら、構造体はクラスではないため継承ができません。 代わりに、「埋め込み」を利用して委譲ができます。 埋め込みとは、別の構造体やイン

    【Goのやさしい記事】埋め込みによる委譲を5分で学ぼう - Qiita
    tetsu4580
    tetsu4580 2022/10/14
  • RDB - 実例で学ぶ、JOIN (NLJ) が遅くなる理屈と対処法 - Qiita

    "Nested Loop Joinしか取り上げて無いのにタイトルが大きすぎないか" と指摘を頂いたので、タイトルを修正しました。Merge JoinとHash Joinのことはまた今度書こうと思います。 「JOINは遅い」とよく言われます。特にRDBを使い始めて間がない内にそういう言説に触れた結果「JOIN=悪」という認識で固定化されてしまっている人も多いように感じています。 たしかに、JOINを含むようなSELECT文は、含まないものに比べて重たくなる傾向があることは事実です。また、質的に問い合わせたい内容が複雑で、対処することが難しいものも存在します。しかし、RDBの中で一体どういうことが起きているのかを知り、それに基いて対処すれば高速化できることも少なくないと考えています。 稿では、JOINの内部動作を解説した上で、Webサービスを作っているとよく出てくるJOIN SQLを例題に

    RDB - 実例で学ぶ、JOIN (NLJ) が遅くなる理屈と対処法 - Qiita
    tetsu4580
    tetsu4580 2018/11/12
  • HTMLからはじめるWebパフォーマンス - Qiita

    WebパフォーマンスにおいてHTMLで出来ること Webパフォーマンス Advent Calendar 2017 9日目の記事です。 比較的取り組みやすいHTMLの変更だけで、Webパフォーマンスを改善する方法を紹介します。 ここではHTMLの圧縮等は扱いません。 Resource Hints(dns-prefetch, preconnect, prefetch, prerender) 指定しておくことで、ページ遷移時に名前解決・接続・リソースの取得・レンダリングを早めることができる。 Resource Hintsはあくまでページ遷移時に効果を発揮するものなので、初回読み込みするページでは関係がない。 https://developer.mozilla.org/ja/docs/Web/HTML/Link_types https://www.w3.org/TR/resource-hints/

    HTMLからはじめるWebパフォーマンス - Qiita
    tetsu4580
    tetsu4580 2017/12/09
  • Vue.jsで始めるPWA - Qiita

    はじめに 先月、フロントエンドエンジニア界隈ではリニューアルした日経電子版が高速すぎてヤバイ件に注目が集まりましたね。 今自分で注目しているVue.jsと、PWAでSPAをつくるためのことはじめを記事にしようと思います。 1. PWAとは PWA(Progressive Web Application)とは、一言で言えば「ネイティブアプリのような使い勝手を実現したWebアプリ」です。 Googleのコードラボを一通りやると全体像がつかめるかと思います。 PWAでできること ホームスクリーンへの追加(Add to homescreen) PWAで作られたWebアプリケーションにアクセスした際に、ホーム画面への追加を促すことができます。 条件は下記です。 - 必要な情報が記載されたマニフェストファイルが存在する - サイトにService Workerが登録されている - HTTPS経由で配信

    Vue.jsで始めるPWA - Qiita
    tetsu4580
    tetsu4580 2017/12/09
  • Vue.js で初めて SPA を開発する際に考えたこと - Qiita

    はじめに MVVM フレームワーク初心者の筆者がVue.jsを使ってSPAを開発する際に考えたことを掲載していきます。記事を通して、これからSPAを開発する人にとっての足掛かりとなれば幸いです。 対象読者 HTML, CSS, JavaScript の経験あり、また jQuery などのJSライブラリの使用経験あり React, Angular といった今時のJSフレームワークによるSPA開発未経験 Vue.js に入門したい Vue.js を使い始める場合、大きく分けて2つの方法があります。 <script> タグを使ってjQuery感覚で使用できる環境を整える vue-cli を使って単一ファイルコンポーネントに特化した環境を整える 環境を整える手間は同じぐらいなので、どちらでも良いと思いますが Vue.js の真価を発揮するなら vue-cli を使った方法を取るのが良いと思います

    Vue.js で初めて SPA を開発する際に考えたこと - Qiita
    tetsu4580
    tetsu4580 2017/12/03
  • Androidでのアプリ内課金でハマったポイント・注意するポイント - Qiita

    夏頃に調査と学習のためにAndroidのアプリ内課金を試したので、その際にハマったポイントを書いておきます。 ※記載するにあたり一通りドキュメントは見たのですが、もしかしたら細部変わっているところがあるかもしれません ハマったポイントの前にAndroidのアプリ内課金について少しだけ触れたいと思います。 課金の種類について お金のやり取りはGoogleを介して行われます。 種類としては2つあります。 管理対象のアイテム このアイテムの購入情報はGoogleによってGoogleアカウント毎に管理されます。 それぞれのアイテムは1つしか持てないため、一度購入すると2回目の購入はエラーになります。 機種変更や再インストールでもGoogleアカウントに紐付いているので、広告除去、プレミアム会員のような一度だけ買う性質のものはこれだけで実現できます。 現在のversionでは全てのアイテムがGoog

    Androidでのアプリ内課金でハマったポイント・注意するポイント - Qiita
    tetsu4580
    tetsu4580 2017/01/14
  • 運用フェーズにおけるGCPとAWSの違いについて - Qiita

    Google Cloud Platform(2) Advent Calendar 2016 8日目を担当するk-bataです。 Qiitaへ投稿するのは初めてで読みづらい点もあるかと思いますが、最後までお付き合いくださいませ。 今年になってGCPの東京リージョンが発表され、AWSにしか関心がなかった自分がGCPを触ってみたところ、非常に使いやすいと感じました。 特に運用フェーズではGCPの方が使いやすいと感じるところがありましたので、AWSと比較しながら紹介したいと思います。 対象となるかた AWSでたくさんのアカウント(VPC)を管理しているインフラ担当 GCPに興味はあるが、運用で楽できるのか不安に思っている方 ハードウェアメンテナンスで仮想マシンが停止しない AWSで100台以上のインスタンスを運用していると、月に一度はどこかの仮想マシンがメンテナンス再起動の必要に迫られます。 AW

    運用フェーズにおけるGCPとAWSの違いについて - Qiita
    tetsu4580
    tetsu4580 2016/12/09
  • GitHubでのコードレビューが爆速になる新機能review requestsの使い方 - Qiita

    日(2016/12/08)のアップデートにより、GitHubコードレビューの為の機能が実装されました。エントリーでは、レビュー機能の機能と使い方について紹介します。 レビューを依頼する側 ① プルリクエストを作成します。 ② 画面右側「Reviewers」という箇所をクリックします。 ③ コードレビューして欲しい人を選択します。 以上でレビューの依頼ができました。 レビュー依頼を受けた側 ① メールやGitHub上から、レビュー依頼を受けた旨の通知が来ますので、「Add your review」をクリックします。 ② レビューします。 ③ レビューが反映されます。 レビューの種類について 下記のレビュー画面では、3つの種類のレビューができます。 レビューの種類は次の3つより選択できます。 Comment コメントを残します。 Approve プルリクエストの承認をしつつ、コメントを残

    GitHubでのコードレビューが爆速になる新機能review requestsの使い方 - Qiita
    tetsu4580
    tetsu4580 2016/12/08
  • IEでtableのborderが消えた話 - Qiita

    tr { th { background-color: #f00; border: 1px solid #000; color: #fff; } td { border: 1px solid #000; } } 確認機種 IE9 - 11。 Firefox47(情報提供ありがとうございます!) 解決策 td ないし th に position: relative;がかかってないかを確認する。 かかってたら無効化すると治る。 別担当が *{position: relative;} とかやってくれてたおかげで引き起こされたようでした。 他の人に迷惑かけちゃダメ絶対。 参考:http://stackoverflow.com/questions/31030579/css-background-color-overlapses-with-border-on-table-cell-in-ie

    IEでtableのborderが消えた話 - Qiita
    tetsu4580
    tetsu4580 2016/09/30
  • Let’s Encrypt+NginxでSSLの評価をA+にしたい! - Qiita

    Let’s Encryptが開始され、SSLの導入のハードルがぐんと下がりました。 その分、SSLの設定も見直す必要性も出てきます。 SSLの評価を行うことのできるサービス、SSL Server Testを使ってSSLの評価を行ってみましょう。もしFだったら要注意です。 Let’s Encryptの導入 Let’s EncryptのSSL証明書で、安全なウェブサイトを公開 さくらインターネットが公開している上記の記事が参考になります。 しかし、上記設定だと自分の設定(CentOS6.8、nginx1.1.3)だとBだったので諸々調整しました。 調整内容 server { listen 443 ssl http2; server_name ドメイン名; root /usr/share/nginx/html/ドメインで使うディレクトリ; index index.php index.html i

    Let’s Encrypt+NginxでSSLの評価をA+にしたい! - Qiita
    tetsu4580
    tetsu4580 2016/09/20
  • GitHubを使って3分でHPを公開する。 - Qiita

    GitHubやばい、何がやばいってソース公開していいならWebサーバなくてもWebページ公開できる。 JavaScriptもちゃんと動いてる。(サーバ必要系はたぶん無理) というわけで表題の件ですが、GitHubは主に2つの形式でWebサイトを公開できます。 テンプレサイト作るだけならgitコマンド叩いたり、ローカルにリポジトリ作る必要もありません。 ユーザーアカウントに対して紐付けられているWebページ リポジトリごとのWebページ ほとんどリンク先見てね状態ですが、毎回ググるのめんどくさいのでメモ書き。 GitHubアカウントもっているならば、3分かからないです。 ユーザーアカウントに対して紐付けられているWebページ。 yourself-account.github.io.gitリポジトリを作成することでWebページが公開できます。 こんな感じ。 http://budougumi06

    GitHubを使って3分でHPを公開する。 - Qiita
    tetsu4580
    tetsu4580 2016/09/19
  • `rm -rf /` on Bash on Ubuntu on Windows - Qiita

    Help us understand the problem. What is going on with this article?

    `rm -rf /` on Bash on Ubuntu on Windows - Qiita
    tetsu4580
    tetsu4580 2016/08/20
  • JSON Web Token の効用 - Qiita

    Note: JWT の仕様やそもそも論の話は触れません。どう使うか、何が出来るかしか書いていません。 JSON Web Token? JSON Web Token とは、ざっくりいって署名の出来る JSON を含んだ URL Safe なトークンです。 署名とは、署名時に使った鍵を用いて、JSON が改ざんされていないかをチェック出来るようにすることです。 URL Safe とは、文字通り、URL に含めることの出来ない文字を含まないことです。 これだけだとよくわかりませんが、触り心地としては次のような性質があります。 発行者だけが、鍵を使ってトークンが正しいことを検証出来る。 暗号化ではないので、JSON の中身は誰でも見られる。 仕様的には、暗号化のオプションもあります。 しかしながら、JSON の変更は出来ない。(改ざんをすると、検証時に失敗するので。) 全体的には、なんか変更できな

    JSON Web Token の効用 - Qiita
    tetsu4580
    tetsu4580 2016/05/24
  • あなたのサーバは本当に安全ですか?今もっともイケてる脆弱性検知ツールVulsを使ってみた - Qiita

    はじめに サーバ管理をしている身としては、 セキュリティ は常に付きまとう悪魔みたいなもので、このセキュリティに関しては何をどこまで頑張ればいいのか不透明な部分が多い。 脆弱性に関しては、CVEなど、毎日情報は入ってくるが、それがどのサーバの何に関連したものなのかなんていちいち調べてられないし、どの脆弱性がすぐに対応しなければいけないもので、どの脆弱性があとあと対応すればいいものなのかなんてわからない。 実際のところ、大きな話題になった脆弱性くらいしか緊急で対応してないという人は多いのではないかと思う。 そんな中、満を持して登場したのが vuls !! 各サーバの脆弱性情報を取得して、個々のサーバそれぞれでどんな脆弱性があり、どのくらいやばい脆弱性なのかを検知できるようになった! 今回はこのvulsを紹介します。 Vulsとは 公式でロゴが発表されたので、差し替えました 公式ドキュメント:

    あなたのサーバは本当に安全ですか?今もっともイケてる脆弱性検知ツールVulsを使ってみた - Qiita
    tetsu4580
    tetsu4580 2016/05/06
  • EXT4 vs XFS vs Btrfs vs ZFSをfioでベンチマークを取ってみました。 - Qiita

    概要 CentOS7のデフォルトのファイルシステムがXFSとなりました。 mkfsコマンドでも、minix, xfs, btrfsが使えるようになりました。 そこで気になるファイルシステムを色々調べ、ベンチマークを自分なり取ってみました。 多少なりともご参考になればと思います。 色々なファイルシステム こちらをご参考ください。 http://qiita.com/sion_cojp/items/c8e015db39ddbf43012e それぞれファイルシステムを作ってみる 今回の環境は CentOS6(ホスト) 4Core, MEM:32G, HDD:300G CentOS7(ゲスト。こちらで計測しております。) vCPU *1, MEM:4G, HDD:40G 容量が少なかったため、btrfsのベンチマークが終わった後、zfsにファイルシステムを変更し検証をしております。 ### zfsの

    EXT4 vs XFS vs Btrfs vs ZFSをfioでベンチマークを取ってみました。 - Qiita
    tetsu4580
    tetsu4580 2016/03/28
  • 中規模サイトのApacheチューニング - Qiita

    イマドキApacheのチューニングなんてしなくてもちゃんと動くだろうと思ってたら痛い目にあったので、書いてます。基をおろそかにするとよくないですね。 [追記] スライドも作ってみました。良かったら見てください。 http://www.slideshare.net/yumemikouda/apache-69549461 前提 Apache2.x系です preforkでの起動です 写真はイメージです WEBサーバ数台+DB2台(マスター1、レプリカ1)程度のトラフィックを前提 大規模だとまた話が変わってきます mpm関連 パラメータ説明 項番 項目 説明 補足

    中規模サイトのApacheチューニング - Qiita
    tetsu4580
    tetsu4580 2016/03/02
  • nginx + fluentd + TreasureData - Qiita

    nginxのログをfluentdを用いてTreasureDataに入れてみたのでメモしておく。 背景 TreasureDataを使ってみたで書いたのだが、要はログの管理が面倒で、容量とかのログ管理をせずにログを貯めたい!ってのがやりたいこと。 それで縁あって上のやりたいことがTreasureDataを使ってできるかを確かめてみたって感じ。 以下環境情報。 ubuntu: 12.04 ruby: 2.1.2p95 gem: 2.2.2 nginx: nginx/1.1.19 TreasureDataのAPIキーは取得済みであることを前提とする。 TreasureDataを使ってみたを参照。 fluentd(td-agent)のインストール 以下のコマンドでfluentdの安定版であるtd-agentをインストールします。

    nginx + fluentd + TreasureData - Qiita
    tetsu4580
    tetsu4580 2016/03/02
  • GKEを便利にするGCPのサービス - Qiita

    Google Container EngineとKubernetes Google Container Engine (以下GKE) は Kubernetes (以下k8s) というコンテナ管理アプリケーションを載せた基盤を構築するサービスだ。GKEは Google Cloud Platform (以下GCP) の幾つかのサービスを使って構築されているので、GCPの各サービスの恩恵を受けることができる。このエントリでは、GCPの恩恵によってGKEがより便利になる事柄を紹介する。 k8sとは まずk8sとは何なのか。ここではk8sを使う為に理解すべき事柄を中心に紹介する。 k8sにまつわるよくある勘違い k8sはDockerコンテナを動かすための基盤ではない。Dockerコンテナは手段でしかなく、k8sの質はコンテナをスケーラブルに運用するための基盤である。そのために様々な概念や設定がでて

    GKEを便利にするGCPのサービス - Qiita
    tetsu4580
    tetsu4580 2016/02/22
  • 便利な関数の甘い罠 - Qiita

    はじめに いつの間にかJOINとUNIONが使えるようになった! さらに出来るようになったなBigQuery!! と、いうことでBigQueryには便利な関数が用意されています。 でも使い方を誤る(つーか、あとで気づくのだが)と後で『やり直しかぁぁぁ!』となります。Oracleに慣れていると『あぁ、暗黙変換ってとっても便利だったんだなぁ。』と思うこともしばしば。まぁ、甘えすぎなんですけどね。ちゃんと指定せぃっ! まぁ、そんなこんなで。 時間はあくまでUTC 時間や日付に関する関数が色々用意されています。 https://developers.google.com/bigquery/query-reference?hl=ja#datetimefunctions 使い始めると当に便利です。 でね、このあたりでよく使うのがCURRENT_DATEとかCURRENT_TIMESTAMPとか。 D

    便利な関数の甘い罠 - Qiita
    tetsu4580
    tetsu4580 2016/02/18
  • [Vim] 全行ヤンクにggyG使うのはやめよう - Qiita

    Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    [Vim] 全行ヤンクにggyG使うのはやめよう - Qiita
    tetsu4580
    tetsu4580 2016/02/18