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

  • プログラミングが大好きなWeb系エンジニアの50代以降のキャリアに関する考察 - Qiita

    先日、サイバーエージェントさんの「身に着けた技術をいかに捨てられるか。エンジニア歴39年、今でもエンジニアで居続ける理由。」という記事が大変話題になりました。 プログラミングやテクノロジーが大好きでWeb業界で働いているエンジニアの方の多くは、「可能であれば50代以降も現場で"手を動かすエンジニア"として働きたい」と考えてらっしゃると思いますが、平松さんのような方はかなり例外的で、Web業界で多数の現場を経験してきた私でも、50代以上の現役エンジニアの方とご一緒にお仕事をさせて頂いた経験は残念ながら一度もありません。 私は現在、雑エンジニアTVというYoutubeチャンネルで、Web系エンジニアのキャリアに関する情報を色々と発信させて頂いているのですが、視聴者の方から「Web系エンジニアの50代以降のキャリア」に関してご質問頂いても、完全に未知の領域になる&ロールモデルとなる方があまり

    プログラミングが大好きなWeb系エンジニアの50代以降のキャリアに関する考察 - Qiita
  • 「世界最悪のログイン処理コード」を解説してみた

    概要 ところでこのツイートを見てほしい。このソースコードをどう思う? 世界最悪のログイン処理コード。 実際のサービスで可動していたものだとか……https://t.co/C2bG93ZCkj pic.twitter.com/EfVNAEslrn — はっしー@海外プログラマ🇳🇿元社畜 (@hassy_nz) 2018年8月10日 すごく……セキュリティーホールです…… 一応は動いていますが、あまりに問題がありすぎるため、Twitterでも話題になっていました。 問題点は片手に入り切らないぐらいある気がしますが、一つづつ解説していきます。 ※元記事のタイトルに記載されていますが、このコードはイントラネット内で動作していたものです。 問題点リスト 1. クライアント上のJavaScriptで書かれている 他の問題点を全部ぶっ飛ばすぐらいの重大な不具合です。 クライアントと言うのはこの場合、

    「世界最悪のログイン処理コード」を解説してみた
  • プログラミングしたくてmac買った人のための環境構築 - Qiita

    webアプリ(php)開発に最低限必要な環境構築一覧(+あると便利なもの) こちらをターミナルから実行することで環境構築ができます。 brewをまだ導入していない人は必ず実行してください。 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" brew install vim brew install tig brew install mysql brew install homebrew/php70 brew install composer brew install tmux brew install nvm npm install -g gulp brew install tree #finderみたいにディレクトリ構造を見れる brew i

    プログラミングしたくてmac買った人のための環境構築 - Qiita
  • サーバレスアプリ開発をjQueryでがんばらないためのVue.js - Qiita

    サーバレス構成のWebアプリ開発を担当し、そこでVue.jsを使ってみたので採用した経緯と、Vue.jsの何を使ったかを紹介する。 これまでのWebアプリ開発 JavaのWebアプリ開発ならThymeleafやFreemarkerなどのテンプレートエンジンを使用していた。 サーバレスだと、HTMLJavaScriptで表示の処理を行うため、JavaScriptの処理が増える。 よく使われるのはjQueryによってDOMを操作し、HTMLを動的に変更する方法だろう。 jQueryのDOM操作は辛いよ jQueryを使ったことがあればお分かりだと思うが、jQueryによるDOM操作は「このイベントで、このvalueがxxxなら、このDOMを変更する」という手続き型のコードになる。 JavaScriptの処理が増えると、この手続き型のコードが増えてデータと状態の管理が煩雑になる。 また、Jav

    サーバレスアプリ開発をjQueryでがんばらないためのVue.js - Qiita
  • コーディングをするときに鼻血がでるほど便利なwebツールリスト - Qiita

    普段お世話になっているwebツール達の紹介です。 以下のサイトはすべて 無料 & 登録不要 です。 正規表現 regexper 正規表現を可視化してくれます。 複雑な正規表現を書くときやコードリーディングのお供に重宝します。 Rubular Rubyの正規表現をテストできます。 JSON JSON FORMATTER & VALIDATOR JSON系のツールが集まったサイト。 それぞれ、サイト名とドメインが違うのでリンクはそのうちの1つになっています。 (画像クリックでそれぞれのツールに飛べます。) ひとつずつ紹介します。 JSONをフォーマットしてくれます。 出力結果は折りたたむことができるので、長いJSONを読むときにも便利です。 JSONを含めた様々なデータ形式を変換できます。 Inputの以下に対応。 CSV INI JSON XML YAML Outputは以下に対応。 JSO

    コーディングをするときに鼻血がでるほど便利なwebツールリスト - Qiita
    mcmht507
    mcmht507 2018/05/13
  • 開設後3週間で収益10万円を得た個人開発サイトでやったことの全部を公開する - Qiita

    開設して3週間ほどで収益10万円を個人開発サイトから得たので、そこでやったことを全部ここに公開する。 世の中には**億ドルのバリュエーションを獲得したスゲー起業家の話か、個人開発サイトを立ち上げたものの収益なんてゼロに近い話かの両極端しか無いように感じる。 パッと立ち上げてだいたい1ヶ月でiPhoneXが買えるぐらいのサイト規模というのは、どんなレベルのエンジニアでも手が届く範囲内にあるのが実感だ。「人生賭けて起業!」とかそんな熱い話ではない。普段の仕事が終わったら、ちょこちょこコードかいて個人的にアプリを公開して収益を得る、ぐらいの話。「1億総クリエイター時代」ではこんなやり方が世の流れに合っている気がする。 この記事でも「エンジニアアウトプット至上主義であるべき」と主張している。自分で主張するからにはやっぱり得たノウハウは全部公開するのは当然だな、と。だいたい数週間で収益が10万円な

    開設後3週間で収益10万円を得た個人開発サイトでやったことの全部を公開する - Qiita
  • 【保存版・初心者向け】独学でAIエンジニアになりたい人向けのオススメの勉強方法 - Qiita

    追記 【2020年版・初心者向け】独学でAIエンジニアになりたい人向けのオススメの勉強方法 【保存版・初心者向け】独学でAIエンジニアになりたい人向けのオススメのAI勉強方法 また、Python機械学習がオンライン上で学べるAI Academyをnoteでも書きましたが、3/17日からほとんどのコンテンツを永続的に無料で利用できるよう致しましたので、是非使って頂けますと幸いです。 AI Academy Bootcamp 我々が提供している個人向けオンラインAIブートキャンプのご紹介です。 AI Academy Bootcamp AI Academy Bootcampは、「短期間でAI活用スキルを付けたい」と考えている方や、 「データサイエンティスト」や「機械学習エンジニア」として就業を目指している方向けの AI特化型オンラインブートキャンプです。 講義動画とオンラインマンツーマンの演習授

    【保存版・初心者向け】独学でAIエンジニアになりたい人向けのオススメの勉強方法 - Qiita
  • アルゴリズムとは何か!? ~ 文系理系問わず楽しめる精選 6 問 ~ - Qiita

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

    アルゴリズムとは何か!? ~ 文系理系問わず楽しめる精選 6 問 ~ - Qiita
  • AWS、何から勉強したらいい?に対する俺の答え - Qiita

    このツイートがわりと好評だったので解説。 「AWS、何から勉強したらいい?」に対する俺が考えた回答がこれ。 pic.twitter.com/ouuP3P27Bu — 伊藤 祐策(パソコンの大先生) (@ito_yusaku) 2018年4月17日 これは誰向け? メンテナー以上の領域を目指す人向け。 オペレータ ... システムの運用、監視、障害調査&対応をする人 メンテナー ... システムの拡張、改善をする人 アーキテクト ... システムを1から設計、構築する人 解説 各科目の選定基準 必修科目 ... AWS番運用するにあたって絶対に避けては通れないサービス。 重要科目 ... 間違った設計をすると、あとから取り返しがつかないサービス。 選択科目 ... 学習量を削るために仕方なく必修から外したが、Webサービスを構築するにあたりほぼ必須となるサービス。 必修科目で押さえておく

    AWS、何から勉強したらいい?に対する俺の答え - Qiita
  • システムで「性別」の情報を扱う前に知っておくべきこと - Qiita

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

    システムで「性別」の情報を扱う前に知っておくべきこと - Qiita
  • ソートアルゴリズムを極める! 〜 なぜソートを学ぶのか 〜 - Qiita

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

    ソートアルゴリズムを極める! 〜 なぜソートを学ぶのか 〜 - Qiita
    mcmht507
    mcmht507 2018/04/06
  • 「AndroidはiOSと同じデザインで!」と言われたときの対応案 - Qiita

    はじめに 「AndroidはiOSと同じデザインで!」と言われてどう実装しようか悩んでる方向けの記事です。 Androidアプリを作るなら当然マテリアルデザインガイドラインに合わせて1から画面設計するのが最高なんですが、そうはいかないことが経験上多いので対応案をざっくりまとめました。 諸注意 これは「iOSとAndroidUI対応一覧」ではありません。 iOSとAndroidで同じような見た目のUI部品でも作られた経緯や目的は違うので、比較して置き換えるようなことは基的にできないと思います。 とはいえなんの指標もないと辛いので、ここでは「iOSのこのUIAndroidで代用できるのはこれかもね」くらいのニュアンスで列挙しています。 必ずしもどのアプリにも言えるようなことではないので、あくまでたたき台と思ってください。 「なぜAndroidらしくする必要があるのか」についてはこ

    「AndroidはiOSと同じデザインで!」と言われたときの対応案 - Qiita
    mcmht507
    mcmht507 2018/03/29
    さんこうにします!
  • async/awaitを使ったモダンな非同期処理 - Qiita

    2017年6月リリースのES2017で、JavaScriptはようやくまともな非同期処理を手に入れました。 以下はMODERN ASYNCHRONOUS JAVASCRIPT WITH ASYNC AND AWAITの日語訳です。 MODERN ASYNCHRONOUS JAVASCRIPT WITH ASYNC AND AWAIT JavaScriptで非同期処理を行う近代的な方法とは。 Introduction JavaScriptはコールバック地獄からES2015のPromiseまで瞬く間に進化しました。 そしてES2017では、async/awaitによってより簡潔に非同期処理を書けるようになりました。 非同期関数はPromiseとジェネレータの合わせ技であり、そしてPromiseより高いレベルの抽象化です。 リピートミー。「async/awaitはPromiseで作られている」

    async/awaitを使ったモダンな非同期処理 - Qiita
    mcmht507
    mcmht507 2018/03/13
  • 一番分かりやすい OpenID Connect の説明 - Qiita

    はじめに 過去三年間、技術者ではない方々に OpenID Connect(オープンアイディー・コネクト)の説明を繰り返してきました※1。 その結果、OpenID Connect をかなり分かりやすく説明することができるようになりました。この記事では、その説明手順をご紹介します。 ※1:Authlete 社の創業者として資金調達のため投資家巡りをしていました(TechCrunch Japan:『APIエコノミー立ち上がりのカギ、OAuth技術のAUTHLETEが500 Startups Japanらから1.4億円を調達』)。 2017 年 10 月 23 日:『OpenID Connect 全フロー解説』という記事も公開したので、そちらもご参照ください。 説明手順 (1)「こんにちは! 鈴木一朗です!」 (2)「え!? 当ですか? 証明してください。」 (3)「はい! これが私の名刺です!

    一番分かりやすい OpenID Connect の説明 - Qiita
  • イマドキなAndroid音楽プレーヤーの作り方 - Qiita

    こんなものを作ります とても一般的な音楽プレーヤーの雛形を作ります。 また、専用の処理を実装しなくてもWearやAutoに対応できる方法を取ります。 Android音楽プレイヤーに関するの日語記事って皆無ですよね。 色々苦労してなんとか実装できたので記事にしました。 長くなりますが、よければお付き合いください。 実装だけ見たい方は、いざ実装まで飛ばしてください。 Android上で動く音楽プレーヤーのあるべき姿 PCで動く音楽プレイヤーを作る時は、MediaPlayer等のインスタンスの各種メソッドを Formに貼り付けたボタンのクリックに応じて呼び出すのが主な作り方だったと思います。 しかし、近年のAndroidやiOSなどのモバイルプラットフォームはスマートフォンにとどまらず 腕時計やカーオーディオ、テレビなどの様々な機器に組み込まれるようになりました。 するとスマホとリンクして、

    イマドキなAndroid音楽プレーヤーの作り方 - Qiita
    mcmht507
    mcmht507 2018/03/02
  • Python Webスクレイピング テクニック集「取得できない値は無い」JavaScript対応@追記あり6/12 - Qiita

    この記事について 記事はPythonを使ったWebスクレイピングのテクニックを紹介します。 ※お酒飲みながら暇つぶしで書いたので割と適当です。 今回紹介するテクニックを使えれば経験上大体どんな値でも取得でき、これらはRubyだろうがGolangだろうが同じ様に動作します。 Webスクレイピングが出来ないサイトがあればコメントにて教えてください。全身全霊を持ってやってみます。 また、Webスクレイピングをしたことが無い方は下記の記事を読むことをお勧めします。 Python Webスクレイピング 実践入門 - Qiita 追記更新 6/12 コメントに対応しました。 はじめに 注意事項です。よく読みましょう。 岡崎市立中央図書館事件(Librahack事件) - Wikipedia Webスクレイピングの注意事項一覧

    Python Webスクレイピング テクニック集「取得できない値は無い」JavaScript対応@追記あり6/12 - Qiita
    mcmht507
    mcmht507 2018/02/23
    やります
  • プログラムのネーミングに迷ったら GitHub でコード検索すると参考になる説 - Qiita

    TL;DR プログラムのネーミングで迷ったら GitHub でキーワードを検索して、ヒットした件数が参考になるのでは? 複数キーワードを検索して結果の一覧を表示する CLI 作りました https://github.com/kyoshidajp/ghkw ネーミング迷いますよね? みなさん、コードを書いていて変数やメソッド名のネーミングって迷いますね。 こんな時に自分たちはチームを横断して「こういう名前考えたんだけど、これってどうかな?」という確認を Slack 上で行っています。先日、この Slack チャンネルを見ていて考えました。 「GitHub で検索すれば世の中のコードでどのぐらい使われているかざっくり分かるので参考になるのでは?説」 GitHub で検索できるという条件付きではありますが、コードの規模からするとある程度期待できそうです。 GitHub で検索 例えば「除外条件」

    プログラムのネーミングに迷ったら GitHub でコード検索すると参考になる説 - Qiita
    mcmht507
    mcmht507 2018/02/07
  • NEM のコールドウォレットの自作は難しいのか検証してみた - Qiita

    まえがき Coincheck(コインチェック) の XEM盗難騒動で 技術的に難しかった というお話があったようだ。 今回はコールドウォレットを自作してみて、当に難しいのかを検証してみた。 設計 ネットワークにつながっていない端末で PrivateKey を保有する(または入力する) 上記端末で署名済みのトランザクションを生成する 署名済みのトランザクションを ネットワークにつながっている端末でNEMネットワークに送信する こうすることで PrivateKey がネットワーク上に露出することがなくなる ここで検討しないといけないのが 署名済みのトランザクション をどのようにネットワークにつながっている端末 に受け渡すか 最も単純な方法として、 QRコード に変換して画像として渡してしまえば、 カメラが有る端末で容易に送金できる まとめるとこんな感じ ネットワークにつながっていない端末 オ

    NEM のコールドウォレットの自作は難しいのか検証してみた - Qiita
    mcmht507
    mcmht507 2018/01/29
  • コードを書く際の指針として見返すサイトまとめ - Qiita

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

    コードを書く際の指針として見返すサイトまとめ - Qiita
  • ディープラーニングの判断根拠を理解する手法 - Qiita

    ディープラーニングは特定分野で非常に高い精度が出せることもあり、その応用範囲はどんどん広がっています。 しかし、そんなディープラーニングにも弱点はあります。その中でも大きい問題点が、「何を根拠に判断しているかよくわからない」ということです。 ディープラーニングは、学習の過程でデータ内の特徴それ自体を学習するのが得意という特性があります。これにより「人が特徴を抽出する必要がない」と言われたりもしますが、逆に言えばどんな特徴を抽出するかはネットワーク任せということです。抽出された特徴はその名の通りディープなネットワークの中の重みに潜在しており、そこから学習された「何か」を人間が理解可能な形で取り出すというのは至難の業です。 例題:このネットワークが何を根拠にとして判断しているか、ネットワークの重みを可視化した上図から答えよ(制限時間:3分) image from CS231n Visua

    ディープラーニングの判断根拠を理解する手法 - Qiita
    mcmht507
    mcmht507 2017/09/07
    あとでよむ