タグ

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

  • やはり「オブジェクト指向」の「クラス」を「タイヤキの金型」とかって喩えるのは間違っている。 - Qiita

    TL;DR 「クラス」と「クラス定義」は区別して説明するべき。 「クラス」とは「分類」である。 『「クラス」とは「分類」』とすることで、「継承」も説明できる。 はじめに オブジェクト指向の用語の中でも、とかく「クラス」は喩えられがちです。 まずは「クラス」がどのように喩えられているか、よく見かけるものを挙げてみましょう。 クラスとは、機械の設計図のようなもの クラスとは、料理レシピのようなもの クラスとは、タイヤキの金型のようなもの なるほど。 いずれも、「何かの作り方」が「クラス」であるという喩えです。 そして「何か=インスタンス」という説明になっていることが多いです。 しかし、私はこれらの喩えに敢えて異を唱えます。 『「インスタンスの作り方」が「クラス」である』と喩えるのは間違っている より正確にいえば、 『「インスタンスの作り方」そのものが「クラス」である』と喩えるのは間違っている

    やはり「オブジェクト指向」の「クラス」を「タイヤキの金型」とかって喩えるのは間違っている。 - Qiita
    ringtaro
    ringtaro 2022/11/06
    あの時、怒っていた人が言いたかったのは、むしろ、こっちかも。
  • 線形代数を学ぶ理由 - Qiita

    はじめに 少し前(2019年4月頃)に、「AI人材」という言葉がニュースを賑わせていました。「現在流行っているディープラーニングその他を使いこなせる人材」くらいの意味だと思いますが、こういうバズワードの例の漏れず、人によって意味が異なるようです。併せて「AI人材のために線形代数の教育をどうするか」ということも話題になっています。 線形代数という学問は、来は極めて広く、かつ強力な分野ですが、とりあえずは「行列とベクトルの性質を調べる学問」と思っておけば良いです。理工系の大学生は、まず基礎解析とともに線形代数を学ぶと思います。そして、何に使うのかわからないまま「固有値」や「行列式」などの概念が出てきて、例えば試験で3行3列の行列の固有値、固有ベクトルを求め、4行4列の行列の行列式を求めたりしてイヤになって、そのまま身につかずに卒業してしまい、後で必要になって後悔する人が出てきたりします(例え

    線形代数を学ぶ理由 - Qiita
    ringtaro
    ringtaro 2019/05/10
    最初にああいう断り書きをしても、警察なコメントをする人は湧くんだなぁ/“(物理学においては)世の中は「支配方程式」と呼ばれる(物理学者が作った)微分方程式で記述されています”どこが間違っているんだろう?
  • vimって極めればvscode並のIDEになるんじゃないの? - Qiita

    個人用メモです。 *めちゃくちゃ昔の記事なのでasync系のプラグインが無かったりneovimじゃなかったり色々恥ずかしいですが、エンタメ的な気持ちで読んで頂ければ幸いです。 今回は、自分が味噌漬けに育ててきたvimを、初心者の方でもコピペで簡単に再現できるように3分で作っていきます。 ※中央上がエディタ画面、左がディレクトリツリー、右上がターミナル、下がエディタで開いてる機械学習ファイルの実行ログ。全てvimで出してます。 今回は以下の内容を紹介していきます。 インサートモードでもマウスでコピーアンドペースト ファイルのツリー表示 16言語の補完(ディレクトリ補完も有) vim画面でプログラム実行/出力 vim画面でシェルを開く 各種便利ショートカット 覚えづらいコマンドのショートカット化 まずは必要なライブラリのインストール " setting if has('vim_starting

    vimって極めればvscode並のIDEになるんじゃないの? - Qiita
    ringtaro
    ringtaro 2019/04/09
    sublimeも相当終わってると思うが…と関係ないトコに反応してしまった。
  • エンジニアリングマネージャを退いた話 - Qiita

    この記事は、Engineering Manager Advent Calendar 2018の06日目のエントリーです。 Engineering Manager Advent Calendar 2018 2016年某月からリーダー相当となり、さらに2018年04月から半年間、開発チームのマネージャとしてやってきた。しかしやり続けても成果を出す自信も、そもそもこれがやりたいことなのかという疑問もあったことと、なによりちょうどよくそれを託すに値する人がリファラル採用によって獲得できそうということが偶然にも重なり、マネジメントをやめたいと経営者に伝えたのが2018年10月。 そしていま現在、件の人にマネジメントしていただいており、これが機能していて、これがマネジメントなのかということを感じている。振り返るに自分には何が足りなかったか、マネジメントとは具体的になにをすることだったのか、ということを

    エンジニアリングマネージャを退いた話 - Qiita
    ringtaro
    ringtaro 2018/12/07
    “わたしたちは管理されたくないわけではない。「正しく管理されたい」だけなのだ”本当にそう思う
  • フリーランスエンジニアの単価を決める - Qiita

    記事概要 書いた目的 フリーランスエンジニアの単価設定に「情報の非対称性」ある フリーランスは市場動向掴んで「売り手」になるべき エンジニア応援したい、優秀なエンジニア年収伸ばせば良いし、キャリアミスマッチしてるエンジニアは再構築すれば良い 読者想定はフリーランスエンジニア、qiitaに多そうだから投稿 記事の内容 1. 自分のプロフィールと単価を公開 前職年収900万円で、フリーランス日額6.5万円〜10万円 40社ぐらい営業して、1/3は話が進む 2. この単価設定にした根拠を説明 前職基準、採用市場、派遣、フリーランス市場、英語圏 3. 終わりに 「こんな人材求められてるんじゃないかな」、「こうしたらキャリア積めるかも」を記載 正社員に戻って修行するなら、開発チームが強い(CTOが役員として存在)イケてるWeb企業で正社員キャリア積むことを目指すべき フリーランスのままでも「チーム

    フリーランスエンジニアの単価を決める - Qiita
    ringtaro
    ringtaro 2018/09/04
  • 「さようなら ImageMagick」の考察 - Qiita

    はじめに サイボウズさんの ImageMagick の利用をやめる記事について少し思う所を書きます。否定というよりアシストのつもりです。(2018年08月26日投稿) さようなら ImageMagick 自分のスタンスを3行でまとめると、 policy.xml で読み書き出来るファイル形式を絞れば、いうほど怖くはない ただ、ImageMagick に限らずサーバサイドで動かすのは手間と覚悟が要る Yahoobleed の件でコード品質が信用ならないと言われたら、ごめんなさい 「ImageMagick を外した理由」 サイボウズさんのブログでは、2017年の ImageMagick 脆弱性報告数が多いので駄目との事です。 脆弱性 ImageMagick には脆弱性が大量に存在します。 2017 年に報告された ImageMagick の脆弱性は 236 件 でした。 大量にある上にリモートコ

    「さようなら ImageMagick」の考察 - Qiita
  • 書籍「Clean Architecture 達人に学ぶソフトウェアの構造と設計」を読んだので大事なポイントを自分のためにまとめてみた - Qiita

    書籍「Clean Architecture 達人に学ぶソフトウェアの構造と設計」を読んだので大事なポイントを自分のためにまとめてみたGo初心者まとめアーキテクチャCleanArchitecture はじめに Clean Architecture 達人に学ぶソフトウェアの構造と設計を読んだ。 なぜソースコードを綺麗に書くのかから始まり、オブジェクト指向、コンポーネントの原則、アーキテクチャと体系的にまとまっている良い内容だった。 この記事では、書の内容の引用を踏まえながら自分の考えの振り返りをまとめたものである。 実際にGoで実装したりしたので、なにか間違いなどあれば指摘していただきたい。 クリーンアーキテクチャの書籍を読んだのでAPIサーバを実装してみた 対象読者 ・Clean Architecture 達人に学ぶソフトウェアの構造と設計を読むか迷ってる人 ・Clean Architec

    書籍「Clean Architecture 達人に学ぶソフトウェアの構造と設計」を読んだので大事なポイントを自分のためにまとめてみた - Qiita
  • 機械学習で使うベクトルや行列の微分を使った公式の導出 - Qiita

    はじめに 機械学習の勉強をしていると,次のようなベクトルや行列を使った公式達を使わなければならない場面が出てくると思います.機械学習の巻末に書いてあることが多いと思います.(これらはPattern Recognition and Machine Learning (Bishop著, 2006)の巻末に載っている公式です) \frac{\partial}{\partial\boldsymbol{x}}(\boldsymbol{x}^\mathrm{T}\boldsymbol{a}) =\boldsymbol{a} \\ \frac{\partial}{\partial\boldsymbol{A}}\mathrm{Tr}(\boldsymbol{A}\boldsymbol{B})=\boldsymbol{B}^\mathrm{T} \\ \frac{\partial}{\partial\b

    機械学習で使うベクトルや行列の微分を使った公式の導出 - Qiita
    ringtaro
    ringtaro 2018/08/23
  • CentOS 7(RHEL 7) 初期設定 Ansible 編 - Qiita

    はじめに CentOS 7(RHEL 7) 初期設定 の 内容を Ansible の Playbook に 置き換えてみます。 ロケール、タイムゾーンの設定 - name: set locale shell: localectl set-locale LANG=ja_JP.utf8 # Mac の 場合は「us-mac」を指定 - name: change keymap to Japanese 109 shell: localectl set-keymap jp-OADG109A - name: change x11 keymap to Japanese 109 shell: localectl set-x11-keymap jp-OADG109A

    CentOS 7(RHEL 7) 初期設定 Ansible 編 - Qiita
  • ngrokが便利すぎる - Qiita

    はじめに 先日利用したngrokというサービスが便利過ぎたので紹介します。 ngrokとは 簡単にいうと、ローカルPC上で稼働しているネットワーク(TCP)サービスを外部公開できるサービスです。例えば、ローカルPCのWebサーバを外部公開することができます。 ngrokの導入 ngrokにユーザ登録 ngrok公式サイトからユーザ登録します。Githubアカウント、Googleアカウントでも登録できるのでお好みで登録します。 ngrokコマンドをインストール ngrokのサービスを利用するには、公開されているngrokコマンドを使用します。ダウンロードサイトからOSに合ったファイルを取得します。ツールはzip圧縮されているだけなので、ファイルをダウンロードしたら任意の場所に解凍します。 ngrokコマンドをインストール ツールのインストールが完了したら、アカウント登録後に表示される「Wel

    ngrokが便利すぎる - Qiita
    ringtaro
    ringtaro 2018/08/19
  • プログラマが知っているとよい色(1)使い(JIS安全色) - Qiita

    <この項は書きかけです。順次追記します。> This section is about to be written. I will add it little by little. 目次の前に(forward) この記事は、インターンシップの大学生の方に、「ゲームはするよりもゲームプログラムを書く方が楽しい」ということを説明した際に、その説明の一部として書いたものです。ゲームを卒業研究の題材にするなら、ゲームの中での色使いで、人による見え方の違いに配慮した改訂のあったJIS安全色(国際整合:ISO 3864-4:2011(Graphical symbols−Safety colours and safety signs−Part 4: Colorimetric and photometric properties of safety sign materials))を参考にするとよいよとい

    プログラマが知っているとよい色(1)使い(JIS安全色) - Qiita
  • tesseract.jsがスマホ上で動くOCRアプリケーションを作る - Qiita

    初投稿です。 目標 スマホのブラウザとカメラで動く日語OCRアプリケーションを作る。 経緯 会社で社内便(複数)の郵送を頼まれる事がある。その際、宛名読む→宛名から郵便受け番号への変換→宛名の郵便受けまで行って投函→宛名読む→...を繰り返す必要があり効率化したい。 ↓ 配達の前にPCで宛名を一括で打ち込み、郵便受けの番号リストを作成すれば良いがタイピングが面倒。 スマホのカメラで動くOCRなら便利そうだが、Google Cloud Vision APIの社内利用はセキュリティの問題もあって(多分)無理。 ↓ tesseract.jsなら入力情報を外部に送信しなくて良いので安全なのでは!? AndroidとかiOSのアプリは作れないけどhtmlなら何とかなりそう!? ↓ 今ここ ↓ 社員情報のAPIを使用した最短ルートの提案など... 作成物 作成物のデモ 処理速度の関係でiPhone

    tesseract.jsがスマホ上で動くOCRアプリケーションを作る - Qiita
  • ぼくたちのかんがえたさいきょうのi18n国家

    記事は下記のtweetから始まるスレッドに触発され、@qnighyや@na4zagin3からアイディアを拝借して書いた。 i18n力が最強の国は国内に複数の言語があり、そのうちいくつかは他国でも使われている言語の方言で、1バイト文字での代替表記が困難で、歴史的にISO-2022ベースの文字コードとUnicodeと独自エンコーディングが混在していて、フリガナなどの特殊な組版規則があり、右書き左書き縦書きを併用し、 — Masaki Hara (@qnighy) 2018年8月6日 皆さんのおかげで最強のi18n国家が建設されつつある。一瞬で滅びそう — Masaki Hara (@qnighy) 2018年8月6日 長い前置き ソフトウェアのi18nは難しい。自文化では当たり前と思っていてハードコードしてしまった仮定が崩れて、大幅な再設計を余儀なくされるからだ。気づいて再設計できればまだ良

    ぼくたちのかんがえたさいきょうのi18n国家
  • 月5ドルで動かしているWordPressでTV東京のWBS砲をさばく - Qiita

    リフカムではRefcomeというサービスを運営しています。このサービスのホームページはWordPressで作られており、WordPressAmazon Lightsailで構築しています。さらには、インスタンスのタイプも一番安い$5/monthなので大量のアクセスをさばくことは絶望的です。そこらへんは負荷が問題になってから考えればいいよねーと言って何も考えずに作ったのですが、TV取材が入って「放映されるから大至急高速化して」と言われて大慌てです。 実際に放送された内容 実際に放送された内容は以下になります。 http://www.tv-tokyo.co.jp/plus/business/entry/2018/017321.html 大体放映されたのが10分くらいで、撮影が1〜2時間くらいかかっているので編集の力を思い知ります。 Amazon Lightsailの性能を確かめる さて、前述

    月5ドルで動かしているWordPressでTV東京のWBS砲をさばく - Qiita
  • プログラムは音楽だ (A program is a music.)

    この資料の背景 この資料は、子供にプログラミングを教えるのに、音がなる題材だとデバッグが容易であることと、音楽活動をされているプログラマの方々との意見交換に基づいています。 何人かは、プログラマに転身される過程におつきあいしています。 そんな方の紹介からまず。 公開算譜(open source)は楽しいの (just want to have fun.) から参照しました。 # ある日の午後 音楽活動をされているプログラマの方と話をした。 音楽のこと。 オープンソースのこと。 心理学のこと。 音楽 音楽を専門家としてお金をもらって活動するか、 音楽以外の職業を持ち音楽を自分の楽しみとして活動するか、 それ以外にも色々な状況がある。 音楽から少し視点を変えて美術ならどうだろう。 美術であれば、専門家で、美術活動だけではえずに、 学校の先生をしたり、別に職業を持って絵を描いている人たちは大勢

    プログラムは音楽だ (A program is a music.)
  • 弊社でのJavaScriptの書き方 - Qiita

    まあこれは弊社(Claves)での取り組み方(別に相談してないので独断ですらある)です。 多分そのうち陳腐化するので金科玉条のごとき扱いはしない方が良いです。 書くにあたった動機 若い人間がJavaScriptを書く場合に、 参照しているものが古い 便利なライブラリとかがあるのに再発明とかしてる Railsで書く場合にどう書けば良いのか などが整理されていないと感じた。 都度説明していたが三回をこえて面倒なので書き下すことにした。 JavaScript? TypeScript? 正直モダンに書くのであればJavaScriptでもTypeScriptでも良いと思っている。 構文的にはTypeScriptはモダンなJavaScriptに型、抽象クラスなどが追加されていると思って良いかと思う。 継承とかゴリゴリ書くのであればTypeScriptは便利だし、後述するReactなんかも TypeSc

    弊社でのJavaScriptの書き方 - Qiita
  • Unity使いは全員Unity Test Runnerを使え!爆速のトライ&エラー環境だぞ! - Qiita

    ##### 2020/7/1追記 ##### この記事は古いので最近書かれたブログ記事を紹介しておきます。 【UnityUnity Test Runner(Test Framework)の使い方を総まとめ - インストールから自動化まで(LGITH11) ↓の記事はテストの書き方をいろいろ紹介してるのでまだ参考になるかも? Unityでちゃんとテストを書きたい人のためのまとめ ##### 追記ここまで ##### 今すぐ使え! Unityを使っている人は 拾ってきたサンプルコードの挙動を確認したい 「書いたはいいが自信がないコード」の実際の動きを確認したい UniRx とか Zenject とか難しいライブラリ/フレームワークを使ったコードを書いていろいろ実験したい と思ったときに、いったいどうしているだろうか? 既存プロジェクトの適当なMonoBehaivour継承クラスに間借りしてコ

    Unity使いは全員Unity Test Runnerを使え!爆速のトライ&エラー環境だぞ! - Qiita
  • 2018年の最先端バックエンドエンジニアに必要なスキルについて考えてみました。 - Qiita

    @rana_kualuさんの2018年の最先端バックエンドエンジニアになろうという翻訳記事がとても興味深かったのですが、記事内で提示されているロードマップに関して微妙に違和感を感じる部分もありましたので、 記事に記載されているスキルは現場でどの程度必要なのか 記事に記載されていないが現場において重要なスキルは何か といった辺りを、自分なりの意見を交えてちょっと書き出してみました。 自分をエンジニアとして最先端だとは全く思っていないのですが、最近のバックエンドのトレンドに一応多少なりともきちんとキャッチアップしてるかなとは思うので、若い方や、まだ経験の短いエンジニアの方たちのご参考になりましたら幸いです。 言語 ロードマップに記載されていた言語のうち、私は一応 Elixir Scala Java .NET (C#とVB.NET) Python Ruby PHP TypeScript Gola

    2018年の最先端バックエンドエンジニアに必要なスキルについて考えてみました。 - Qiita
  • 2018年の最先端バックエンドエンジニアになろう - Qiita

    フロントエンドエンジニア / バックエンドエンジニア / DevOpsエンジニア@poly_soft 先日2018年の最先端フロントエンドエンジニアになろうという記事を訳したのですが、そのリポジトリにはバックエンドとDevOpsのロードマップ画像も置いてあります。 しかしバックエンドのテキストにはTODOの1行だけで、動きがありませんでした。 解説が追加されないかなー、と思ってたら別の人がやってたのを見付けました。 ということで以下はModern Backend Developer in 2018の日語訳です。 Modern Backend Developer in 2018 こんにちのWeb開発の様相は、数年前とは全く別物です。 Web開発には多すぎる選択肢があって何をすればいいのか迷います。 それが、これらのステップを視覚的に表し、段階的にWeb開発を行っていくためのガイドラインを作

    2018年の最先端バックエンドエンジニアになろう - Qiita
  • 計算量オーダーの求め方を総整理! 〜 どこから log が出て来るか 〜 - Qiita

    NTT データ数理システムでリサーチャーをしている大槻 (通称、けんちょん) です。今回は計算量オーダーの求め方について書きます。 0. はじめに 世の中の様々なシステムやソフトウェアはアルゴリズムによって支えられています。Qiita Contribution ランキング作成のために用いるソートアルゴリズムのような単純なものから、カーナビに使われている Dijkstra 法、流行中のディープラーニングに用いられている確率的勾配降下法など、様々な場面でアルゴリズムが活躍しています。アルゴリズムとはどんなものかについて具体的に知りたい方には以下の記事が参考になると思います: アルゴリズムとは何か ~ 文系理系問わず楽しめる精選 6 問 ~ アルゴリズムを学ぶと $O(n^2)$ や $O(n\log{n})$ や $O(2^n)$ といった計算量オーダーの概念が登場します。こうした記法を見ると

    計算量オーダーの求め方を総整理! 〜 どこから log が出て来るか 〜 - Qiita