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

  • OSSのライセンスを理解する(「使用」と「利用」の違い、知っていますか?) - Qiita

    最近、私的にDockerで遊んでいるのですが、Dockerを使っていると様々なライセンスを有したオープンソースソフトウェア(OSS)と遭遇します。自分が知らない間に著作権に抵触してしまうことが怖かったので、OSSのライセンスについて以下の流れでまとめてみました。 「ライセンス関連用語」を理解する 「オープンソースの定義」を理解する 「コピーレフト」を理解する 「主要ライセンス」を理解する 1.「ライセンス関連用語」を理解する OSSを理解するにあたって、まずは主要なライセンス関連用語の定義を理解することが重要です。私の場合は、「使用」と「利用」の違いや「オープンソースソフトウェア」と「フリーウェア」の違いについて、恥ずかしながら明確に理解できていませんでした。。。 【オープンソース・ソフトウェア(Open Source Software, OSS)】 ソースコードが無償で公開されており、誰

    OSSのライセンスを理解する(「使用」と「利用」の違い、知っていますか?) - Qiita
    netcraft3
    netcraft3 2018/05/05
  • 今日から始めるネットストーキング入門 - Qiita

    導入 あの娘を愛するためだけに僕は生まれてきた、と銀杏BOYZも歌っているように、僕の世界はすべてあの娘を中心に回っています。そんなあの娘のことをもっと知りたい、という思いを持つのは当然のことです。そんな大好きなあの娘がSNSであげている写真の場所に行って同じ空気を吸いたい、変な男にナンパされないように陰から見守り続けたい。いろんな欲求があると思います。今回はそういう時に役立つライフハックを紹介したいと思います。 如何にして写真から場所を特定するか? さて、SNSであげられた写真から場所を特定することは可能でしょうか?必ずとは言えませんがある程度は特定可能です。ではどのように特定すればいいのでしょうか? その1.文字を探す 最初の例はこの写真です。(以下の写真はすべて知り合いから場所を聞かずに頂いたものです。) ヨットハーバーのようです。ヨットをお持ちの方ならこれだけでピンとくるものがある

    今日から始めるネットストーキング入門 - Qiita
    netcraft3
    netcraft3 2018/05/02
  • アルゴリズムとは何か!? ~ 文系理系問わず楽しめる精選 6 問 ~ - Qiita

    今の場合は A さんが 31 歳の場合のストーリーでしたが、A さんが 20 歳~ 35 歳のうちのどの年齢であったとしても、似たようなストーリーで必ず 4 回の質問で当てることができます!(他の例も是非考えてみてください。) ちなみに、このような「真ん中で切ってどちらかに絞って行く」タイプのアルゴリズムには二分探索法という名前がついています。応用情報技術者試験でも頻出のテーマですので馴染みのある方も多いと思います。 1-2. つまり、アルゴリズムとは 上の年齢当てゲームという問題では、相手の年齢を当てる「方法・手順」を二分探索法に基づいて導きました。このようにアルゴリズムとは、 問題を解くための方法・手順 のことです。さて、アルゴリズムと聞くと「コンピュータ上で実装されたプログラム」のことを思い浮かべる方も多いと思いますが、必ずしもコンピュータと関係がある必要はなく、日常生活でも多々登場

    アルゴリズムとは何か!? ~ 文系理系問わず楽しめる精選 6 問 ~ - Qiita
    netcraft3
    netcraft3 2018/04/20
    わかりやすい。
  • SSDで道路の損傷を検出した - Qiita

    はじめに SSD(Single Shot Multibox Detector)で道路の損傷を検出しました. 作業環境等に関しては株式会社パソナテックさんにご協力いただきました. なお成果物は学習済みモデルとともにGitHubに公開されています. 不具合もまだ複数あると思いますので,気軽にissueを立てていただければと思います. やったことを最初から文章で説明するより,まずは成果物を見ていただいたほうが早いと思うので,デモをお見せします. このように,横断歩道やセンターラインのかすれ,陥没,ひび割れなどを検出することができます. 道路の損傷を検出する方法はいろいろありますが,画像認識を用いるならば,車で移動しながらスマホや車載カメラでリアルタイムに検出できると便利です. このような認識手法を採用するのであれば,デバイスの制約により,計算量が小さいモデルが求められます. 道路の損傷を物体認識

    SSDで道路の損傷を検出した - Qiita
    netcraft3
    netcraft3 2018/04/10
  • ソートアルゴリズムを極める! 〜 なぜソートを学ぶのか 〜 - Qiita

    NTT データ数理システムでリサーチャーをしている大槻 (通称、けんちょん) です。 今回はソートについて記します。 0. はじめに データ構造とアルゴリズムを学ぶと一番最初に「線形探索」や「ソート」が出て来ます。これらのテーマは応用情報技術者試験などでも頻出のテーマであり、アルゴリズムの Hello World とも呼ぶべきものです。 特にソートは、 計算量の改善 ($O(n^2)$ から $O(n\log{n})$ へ) 分割統治法 ヒープ、バケットなどのデータ構造 乱択アルゴリズムの思想 といった様々なアルゴリズム技法を学ぶことができるため、大学の授業でも、アルゴリズム関連の入門書籍でも、何種類ものソートアルゴリズムが詳細に解説される傾向にあります。記事でも、様々なソートアルゴリズムを一通り解説してみました。 しかしながら様々な種類のソートを勉強するのもよいが、「ソートの使い方」や

    ソートアルゴリズムを極める! 〜 なぜソートを学ぶのか 〜 - Qiita
    netcraft3
    netcraft3 2018/04/05
  • 新卒がSIerとして1年働いた結果見えた、深い深い闇の話 - Qiita

    4/1で社会人生活1年目なので、そのまとめとしてなんか書こうと思いました。 とあるそこそこ大手の常駐先でSEをしています。最初に配属された時はJavaの研修を受ける程のド素人でした。 大手あるあるですが、その常駐先では殆どの人がホストコンピュータを日々アセンブラやPL/I、COBOLでプログラミングして運用保守しています。 対して僕は分散と呼ばれる世界に居ます。業務用Webアプリやデスクトップアプリを作り客先に納品したり既存の資産をメンテナンスする事でお賃金を頂いておるわけですが、当然そこにあるのはむかーしむかしにVBや生のJavaで書かれた、錆びついたシステムです。酷い所は未だにWindows2000サーバーが動いてます。一番新しくてStrutsかな。 しかし人間関係に関しては神だったのでなんとか1年働けました。当にいい人しかいない、素晴らしい職場だと思います。なのでブラックとは思いま

    新卒がSIerとして1年働いた結果見えた、深い深い闇の話 - Qiita
    netcraft3
    netcraft3 2018/04/01
    GitやGitHubを知らないエンジニアとはたまにエンカウントする。SVNより太古のCVS使っている現場もあるよ。
  • C++完全理解ガイド Rev1.4.01 - Qiita

    はじめに C++を完全理解したので完全理解ガイドを書く。 最初に言っておくがタイトルは詐欺で、実際はポエムである。 僕は仕事C++を書いたことはないのでなんか変なことを言っているかも知れない。 ところで無職になったので、普通にC++で職がほしい。 2018年6月から受託で仕事をもらい、毎日C++17を書いています。 2018年9月から雇用され、毎日C++17を書いています。 かなり雑に書いているはずなので、コメント等でどんどんマサカリを投げてほしい。 僕は何者か 工学部を卒業して4年ほど高校の理科教師をやっていたが、現在無職になった人。 工学部を卒業して4年ほど高校の理科教師をやっていた。 最初は良かったのですが、授業に慣れ、このまま自分の成長が止まってしまうのかとなぁと思い、辞めて無職に。 一ヶ月無職を楽しんだあと、某から受託でC++を書く仕事をもらい、C++17を書いている。 主にツ

    C++完全理解ガイド Rev1.4.01 - Qiita
    netcraft3
    netcraft3 2018/03/28
  • Java 10新機能まとめ - Qiita

    Java 10が出ますね。Java 9なんてなかった! しかしながら、どんな機能があるかよくわからないので、まとめてみます。 ここに並んでいるJEPを簡単に紹介する感じで。 http://openjdk.java.net/projects/jdk/10/ APIの追加など、JEP以外の変更はこちらにまとめました。 Java10のJEP以外の変更まとめ - Qiita すべての変更点はこちらにまとまってます。 109 New Features In JDK 10 - Azul Systems, Inc. OpenJDKのダウンロードはこちら JDK 10 GA Release Oracle JDKのダウンロードはこちら Java SE Development Kit 10- - Downloads 286: Local-Variable Type Inference おそらく、コードを書く上

    Java 10新機能まとめ - Qiita
    netcraft3
    netcraft3 2018/03/20
  • nginx に実装された gRPC サポートを試してみる - Qiita

    Announcing gRPC Support in NGINX ということで、nginx 1.13.9 で gRPC サポートが入り、HTTP と同じように gRPC ストリームを扱えるようになるようです。めでたい! grpc_pass ディレクティブが新規に実装され、grpc:// と grpcs:// なバックエンドに対してリバースプロキシを行えるようになるようです。これを使って、 TLS 終端を nginx にやってもらったり 複数のバックエンドを置いて柔軟にロードバランスしてもらったり 同一のエンドポイントに複数 gRPC service を設定して、nginx にルーティングしてもらったり などの設定をすることが可能になるようです。 まだ正式にリリースされているわけではないので、今回は HEAD を持ってきて、リリースに載っている例を試してみます。 下準備 今回は適当に EC2

    nginx に実装された gRPC サポートを試してみる - Qiita
    netcraft3
    netcraft3 2018/03/19
  • 形態素解析ツールの比較 (NLP2018) - Qiita

    NLP2018のワークショップに行ってきたのですが、そこで聞いてきたことのうち、形態素解析ツールに関することを大雑把にまとめておきます。聞いたことをまとめることが目的なので、詳細は各ツールのWebサイトやgithubページへ行ってください。 間違っている部分、追加したい内容があればコメントでお願いします。 追記: 2018/04/02 nlp2018の発表資料が公開されました。 Juman++ (リンク) MeCab (リンク) KyTea (リンク) Unidic (リンク) https://sites.google.com/view/nlp2018ws/ NLP2018 形態素解析の今とこれから 趣旨: どういう手法・ツールをどのようなタスクに対して使うべきかを選べるように、各ツールの開発者の発表を基に比較してもらうこと。 さまざまな発表がありましたが、形態素解析ツールに焦点を当ててま

    形態素解析ツールの比較 (NLP2018) - Qiita
    netcraft3
    netcraft3 2018/03/19
    MecabやChaSenしか使ったことがなかった。
  • さくらVPSで利用していたmemcachedがリフレクションDDoS攻撃発信の踏み台として悪用された件 - Qiita

    突如メールが・・・ セキュリティ案件 memcached のアクセス制御に関する注意喚起 https://www.jpcert.or.jp/at/2018/at180009.html memcahcedの設定をデフォルトで使用していたため、リッスンするIPに制限がかかっておらず外部からアクセス可能になってたみたい。 なぜ外部からアクセス可能だとDDoS攻撃発信の踏み台になるかはこちらが詳しいです。(2018/03/02追記) 簡単にいうと下記。 UDP通信を使用している場合送信元偽装が簡単 送信元をDDoS攻撃したいIPに偽装して大量のデータをGETする操作を実施 偽装したIPに大量のトラフィックが集中する 参考(2018/03/02追記) memcached を悪用したDDoS攻撃についてまとめてみた http://d.hatena.ne.jp/Kango/20180301/151993

    さくらVPSで利用していたmemcachedがリフレクションDDoS攻撃発信の踏み台として悪用された件 - Qiita
    netcraft3
    netcraft3 2018/03/01
  • SMTPサーバとPOPサーバの実験を交えた詳解 - Qiita

    0. この記事について 結論から書くと、smtpサーバとpopサーバを整理する内容の記事です。なぜ書こうかと思ったかというと、メールサーバにおいて「smtpサーバ」がメール送信、「popサーバ」がメール受信を行なっているという解釈をしてしまっているというのを聞いたためです。 厳密には違います。 という話を、実験を交えて違うという主張を行なう記事となります。 実験は2. 実験から、smtp・popの詳解については5. 解説から行ないます。歴史なんてしっとるわという人は2から、結論だけ読みたい方は5から読まれることをおすすめします。 また当方インフラエンジニアとかではないので、誤りを見つけた場合はガンガン指摘をお願いします。 あと読者はこんな感じの人を想定してます。 virtualboxでなんとなくosインストールでき、インストールしたosにssh接続できるところまで設定できる ネットワークに

    SMTPサーバとPOPサーバの実験を交えた詳解 - Qiita
    netcraft3
    netcraft3 2018/02/28
    「SMTPサーバがPOPサーバにメールを送信していると思い込んでいる人がいる」…確かにそう思っている人は多い。
  • 探索的データ解析における正しい可視化手法の選び方と描き方 - Qiita

    データ分析における関数の使い方については様々な記事が上がっています。関数を知らなかったり使い方が分からないときは調べればだいたい答えが見つかります。 一方で、実際に分析を始めようとすると、たとえ関数の使い方がわかっていても、データをどのような切り口から何を分析・可視化していけば良いのか困ってしまうことがよくあります。 この記事では、あんちべさんが書いたデータ解析の実務プロセス入門というをベースに、どのようなデータから何を見たいときにどのような可視化手法を使えばよいのかを、具体例を交えながら整理していきます。 探索的データ解析とは データ解析のアプローチは、大きく分けて仮説をデータで検証する「仮説検証型」とデータから仮説を生み出す「探索型」に分けられます。 実際にデータ解析を行うときは、仮説検証型と探索型を行き来しつつ知見を見出していきます。 データ解析には検証すべき仮説を設定することが必

    探索的データ解析における正しい可視化手法の選び方と描き方 - Qiita
    netcraft3
    netcraft3 2018/02/25
  • JavaScript の仕組み:メモリ管理+ 4つの共通のメモリリーク処理方法 - Qiita

    この記事は sessionstack blog に投稿されている、How JavaScript works シリーズの一記事 "How JavaScript works: memory management + how to handle 4 common memory leaks" の和訳です。投稿されたのは Alexander Zlatkov, 原文はこちらです。翻訳については許諾いただいています。 メモリ管理もしくはC言語におけるメモリ解説他、用語なども怪しい箇所は多分にありますので、間違いがありましたら修正のご指摘・編集リクエスト等ください。 日語の参考 URL 先に日語の参考URLを記載しておきます。 JavaScriptで起こるメモリリークのパターン - EagleLand Browser Computing Structure // Speaker Deck Unders

    JavaScript の仕組み:メモリ管理+ 4つの共通のメモリリーク処理方法 - Qiita
    netcraft3
    netcraft3 2018/02/12
  • protocプラグインの書き方 - Qiita

    以前の記事では、Protocol Buffers (protobuf)の魅力の1つは周辺ツールを拡張しやすいことだと述べた。そこで稿では具体的に拡張のためのprotocプラグインの書き方を紹介したい。 ちなみに、protobufの周辺ツールと言うと2種類ある。 1つはprotobufでシリアライズされたデータを処理するツール。JSONやCSVにとってのjqやsedやawkに相当する。 もう1つはprotobufのスキーマを処理するツール。 先の記事にあるようにProtobufはシリアライゼーション機能だけでなくスキーマ言語としても価値が高いので、典型的なweb開発用途では後者のほうが重要だ。 稿は後者のスキーマ処理の話である。なお前者は、チュートリアルでAPIを覚えたらあとは自分で好きな処理を書きましょうというだけの話なので、別に難しくない。 初めに、protocについて確認しよう。こ

    protocプラグインの書き方 - Qiita
    netcraft3
    netcraft3 2018/02/11
  • SSL/TLSについてまとめ2018 - Qiita

    はじめに SSL/TLSについて改めて理解を深めたい思い、関連する技術についてまとめました。 記事はTLSに関すること主題として、HTTPS、暗号化、Apache、OpenSSL等について記載しています。 SSL/TLSの通信は色々なプロトコルや暗号化方式が組み合わされ補いあってできています。暗号化の仕組みはパズルのようで面白いです。一つ一つを読み取り理解が深まるごとで、SSL/TLSって当によくできると思いました。フレームワークの意味について考えさられます。 HTTPSの通信 HTTPSの通信はTCP/IPプロトコルスイートとして、TCPの上層にSSL/TLSがあり、アプリケーションプロトコルのHTTPプロトコルが載って通信をしています。 コネクションとセッションは通信の概念として別になります。TCPでクライアントからWebサーバに対してコネクション(経路)が確立され、その上でセッシ

    SSL/TLSについてまとめ2018 - Qiita
    netcraft3
    netcraft3 2018/02/10
  • 今さらProtocol Buffersと、手に馴染む道具の話 - Qiita

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

    今さらProtocol Buffersと、手に馴染む道具の話 - Qiita
    netcraft3
    netcraft3 2018/02/07
  • タイムゾーン呪いの書 - Qiita

    コメント欄で「Software Design 誌 (2018/12) に寄稿した内容や修正などをこちらの記事にも適用したい」と言ったあと、やるやる詐欺でずっと放置していましたが、三年近く経ってようやく 2021年 7月に大幅に改訂し、同時に Zenn に引っ越すことにしました。 タイムゾーン呪いの書 (知識編) タイムゾーン呪いの書 (実装編) タイムゾーン呪いの書 (Java 編) なにやら長くなりすぎたので三部構成になっています。 この Qiita 版は、しばらく (最低一年は) 改訂前のまま残しておきます。 タイムゾーンの存在はほぼ全ての人が知っていると思います。ソフトウェア・エンジニアなら多くの方が、自分の得意な言語で、タイムゾーンが関わるなにかしらのコードを書いたことがあるでしょう。ですが、日に住んで日仕事をしていると国内時差もなく1 夏時間もない2 日標準時 (Japa

    タイムゾーン呪いの書 - Qiita
    netcraft3
    netcraft3 2018/02/06
  • 2018 年 React と Redux のエコシステム総まとめ - Qiita

    Angular などの JavaScript フレームワークは大規模向けに設計されており、標準で多くのエコシステムが組み込まれています。 React は単なる View ライブラリです。そのため View ライブラリを補完するためのエコシステムの選択が必須となります。 エコシステムを自由に組み合わせて開発者とプロジェクトに応じた理想的なフレームワークを作成する必要があるわけです。 これは、小規模アプリケーションから大規模アプリケーションまでの様々な要件やニーズに対応できる柔軟性が高いことを意味していますが、エコシステムを選択するためのコストが必要となります。 下記では、筆者が最低限、導入を検討する余地があると考える主要な React のエコシステムとその簡単な概要を記載しています。 筆者の独断と偏見で選択したエコシステムであることを考慮してお読みいただきたいです。 既知のエコシステム (ほ

    2018 年 React と Redux のエコシステム総まとめ - Qiita
    netcraft3
    netcraft3 2018/02/01
  • 専門家なしで誰でも使える(ガチ勢でも便利),機械学習の大本命 Google Cloud AutoML 発表 - Qiita

    専門家なしで誰でも使える(ガチ勢でも便利),機械学習の大Google Cloud AutoML 発表初心者機械学習MachineLearninggooglecloud tl;dr 機械学習の恩恵を,先陣を切るGoogleから手軽に受けられるように しかも勝手によしなにしてくれるので,学習させたいものを与える以外に何もする必要がない まずは画像の分類から 背景 機械学習はこれまでにも,オープンソースやe-ラーニングなどで広く開かれている技術ではありました. しかし専門知識が要るのは依然として変わらず,急成長しているため追従も大変でした. ブラウザ上のGUI(あるいはAPI)からプログラミング不要で,誰でも機械学習を利用することができます. 学習させたいものを与える以外に何もする必要がありません.あとはいい感じに学習してくれます. 最初は画像認識から,今後は音声認識,翻訳など拡大されてい

    専門家なしで誰でも使える(ガチ勢でも便利),機械学習の大本命 Google Cloud AutoML 発表 - Qiita
    netcraft3
    netcraft3 2018/01/19