タグ

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

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

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

    プログラミングが大好きなWeb系エンジニアの50代以降のキャリアに関する考察 - Qiita
    letsspeak
    letsspeak 2018/09/02
  • 「さようなら ImageMagick」の考察 - Qiita

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

    「さようなら ImageMagick」の考察 - Qiita
    letsspeak
    letsspeak 2018/08/27
  • JavaScriptでClean Architectureを導入してみた - Vue.js・Reactのサンプルつき - Qiita

    事の発端 始まりはこちらのツイートから。 Usecasesレイヤーを充実させていったらVuex Actionsほとんど使わなくなるな笑 — Andy (@andoshin11) 2018年6月15日 それはどういうことだよ・・・ フロントでどう使うんだ・・・? と疑問に思い、自分なりに検証・実装してみたいと思ったのが事の発端です。 Clean Architectureとは? まず根の理解がほぼなかったので調べることにしました。 こことか https://qiita.com/koutalou/items/07a4f9cf51a2d13e4cdc こことか https://blog.tai2.net/the_clean_architecture.html こことか https://qiita.com/Tueno@github/items/705360b357c2a00c9532 こことか h

    JavaScriptでClean Architectureを導入してみた - Vue.js・Reactのサンプルつき - Qiita
    letsspeak
    letsspeak 2018/08/25
  • React Native をプロダクションで使ってわかった良かった点・悪かった点 - Qiita

    こんにちは、株式会社ピケ CTO の中西(@nakanishy)です。 Dish というランチ検索アプリのフロントエンドとデザインを担当しています。 Dish では、React Native を採用して iOS アプリの開発をしています。iOS アプリを正式にリリースしたことがなく、また React Native も初めてだったので、苦戦する場面も多々ありましたが、良かった点もたくさんありました。 この記事では、Web 開発者の視点で React Native の良かった点と悪かった点を紹介したいと思います。 React Native の良かった点 高速に開発できる React Native は、ライブリロードとホットリロードをデフォルトでサポートしているので、Web 開発をしているかの如く高速に開発が進められました。保存すると即座に変更が反映されます。また、ホットリロードの場合、状態を維

    React Native をプロダクションで使ってわかった良かった点・悪かった点 - Qiita
    letsspeak
    letsspeak 2018/08/25
  • 【OpenPose】〇〇の画像をアップすると近い構図の〇〇の画像が送られてくる。を自動化してみた。 - Qiita

    はじめに この記事は、Twitterのハッシュタグで話題の #アニメの画像をアップすると近い構図の水谷隼の画像が送られてくる #羽生くんの画像をアップすると近い構図の羽生さんの画像が送られてくる #アニメの画像をアップすると近い構図の水谷隼の画像が送られてくる キタ━━━━(゚∀゚)━━━━!!ʬʬʬʬʬʬ pic.twitter.com/MrzTEZ7vfh — みも厨 (@mimochull0628) 2016年8月17日 をOpenPoseで自動化してみた。という内容です。タイトルで誤解を生みそうですが、 自動で送られてくるbotではなく近い構図の自動抽出までをスコープにしています。 また、近い構図の抽出と言っても何も高度なことはしておらず、「あれ?OpenPose使えば簡単にできるんじゃね?」と見切り発車でやってみた系記事なので、ご了承ください。(期待値調整) それにしても面白いで

    【OpenPose】〇〇の画像をアップすると近い構図の〇〇の画像が送られてくる。を自動化してみた。 - Qiita
    letsspeak
    letsspeak 2018/08/22
  • ぼくたちのかんがえたさいきょうのi18n国家

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

    ぼくたちのかんがえたさいきょうのi18n国家
    letsspeak
    letsspeak 2018/08/07
  • 【ポエム】Scala製ゲームサーバーのあれやこれやを大チューニングした

    私は現在、Scalaで書かれているわりと古めのゲーム用サーバーに、いろいろ機能追加したり不具合修正したりする仕事をしています(オマケとして、Nodeで管理ツール(イベントやお知らせの編集、プレイヤーの個別情報の閲覧や設定)やKPIツール(各種統計をとってビジュアライズする、ゲーム運用の生命線となるツール)を書いたり、PythonGoでテストクライアントを書いたりもしています)。 このサーバーシステム、これまでのいくつかのゲームタイトルでおおむね順調に稼働していた実績を買われ、差分開発ということで別のゲームへの流用を打診いただき、ふたつ返事でOKさせていただいて機能追加をしてきたものです。 で、簡易的な負荷試験で見つかった問題を改善し、臨んだクローズドβテストでは何も問題なく左うちわ。 しかし、大量のプレイヤーが参入したオープンβテストで、これがもう、壮絶過ぎる大破産を迎えてしまいました。

    【ポエム】Scala製ゲームサーバーのあれやこれやを大チューニングした
    letsspeak
    letsspeak 2018/08/01
  • ブロッキングとかノンブロッキングを理解したい - Qiita

    この記事は、Spring WebFluxの前提である、ブロッキングやノンブロッキンクとは何か、Servlet3.0の Async Servletや Servlet3.1の NonblockingI/Oとは何か、を理解することが目的です。 検証バージョン > java -version java version "1.8.0_181" Java(TM) SE Runtime Environment (build 1.8.0_181-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode) > ver Microsoft Windows [Version 10.0.17134.165] @Slf4j public class BlockingAndSingleEchoServer implements EchoS

    ブロッキングとかノンブロッキングを理解したい - Qiita
    letsspeak
    letsspeak 2018/08/01
  • スピード感重視なのでテストは書かない。テストはなぜ開発を遅くするか - Qiita

    あまりにバズってしまったので、前書きを追加 ここまでバズってしまって正直すまんかった。 この記事はもともと愚痴記事をマイルドにして投稿しただけなので「テストを勧める」とか「テストを信奉する」とかそこまで強い意図は特にありません。(私がテスト好きなのは否定しません) 「テスト書こう」に対して「そんなコストはない」と言いながら、いろいろ問題が生じる現状を愚痴りたかっただけです。愚痴るだけだと生産性がないから、なんでこんなに認識が違うんだろうと原因を考えた結果、テストを書くことに対する技術で実際にコストが大きく異なるなと気づいて書いた次第です。 この記事の対象は「テストを書く技術がなく、テストを書く気がない」組織に所属する人です。 アジャイル開発において「テストコードは当然」なのか?という記事で(私の記事をきっかけとして)テストコードの「徹底」とか「カバレッジ100%」とかを批判し、トレードオフ

    スピード感重視なのでテストは書かない。テストはなぜ開発を遅くするか - Qiita
    letsspeak
    letsspeak 2018/07/31
    テスト有無に限らずマスターストーリー定義と再利用性をきちんと考えて設計していないひとが世の中にはわりといる
  • Webカメラで表情認識してWebsocketでブラウザアプリ内のキャラを動かす【Python&pyFaceTracker&Live2D版/Unityでやる版】 - Qiita

    Webカメラで表情認識してWebsocketでブラウザアプリ内のキャラを動かす【Python&pyFaceTracker&Live2D版/Unityでやる版】PythonOpenCVLive2DMotioncapture表情認識 こんにちは。オリィ研究所( http://orylab.com ) のryo_gridです。 今回はWebカメラで表情認識して2Dアバターを動かす、というのをElectronやWebアプリ(ローカルのWebサーバで配信しているものに限る)で出来るように、Websocketを介して行うというのをやってみました。 まあ、FaceReg ( https://www.4gamer.net/games/032/G003263/20160111001/ ) 的なものを作ってみるって感じです。 実験レベルなのでリップシンク(唇が開いてるか閉じているか)だけ実装します。 Open

    Webカメラで表情認識してWebsocketでブラウザアプリ内のキャラを動かす【Python&pyFaceTracker&Live2D版/Unityでやる版】 - Qiita
    letsspeak
    letsspeak 2018/07/21
  • 型消去の話で出てきたポケモンの例題を理解する #tryswiftconf - Qiita

    1日目お疲れ様でした!あの人やこの人や皆さんが渋谷に集結して熱かったですね。 以下、Gwendolyn Westonさんの発表「Keep Calm and Type Erase On」のコードをもとに勝手に解釈しました。解釈が間違ってたらご指摘ください…… 発表そのものの解釈ではないのでそれについては録画の方にお願いします。コードの完全版はすでに上がっています↓ https://gist.github.com/gwengrid/d8aacf2118fa12c9b475

    型消去の話で出てきたポケモンの例題を理解する #tryswiftconf - Qiita
    letsspeak
    letsspeak 2018/07/18
  • なぜSwiftのプロトコルはジェネリクスをサポートしないのか - Qiita

    Swift のプロトコルは、 Java や C# などのインタフェースのようなものと説明されることが多いですが、いくつかの違いがあります。最も大きな違いの一つが、 Swift のプロトコルはジェネリクスをサポートしていないということです。 Sequence プロトコルを例にして説明します。 Swift では、 Sequence プロトコルに適合した型は for 文で要素を取り出すことができます。 // Array は Sequence に適合 let array: Array<Int> = [2, 3, 5] for element in array { print(element) } struct Array<Element> はジェネリクスによって型パラメータを持ちますが、 Sequence は protocol Sequence<Element> のように宣言されているわけではあり

    なぜSwiftのプロトコルはジェネリクスをサポートしないのか - Qiita
    letsspeak
    letsspeak 2018/07/18
  • AIが見つけた、埋もれたQiita良記事100選 - Qiita

    背景 Qiita殿堂入り記事、と、7つの「驚愕」 良い記事なんだけどなかなかいいねがつかなかった記事を、 AIによって発掘したいという試み。 または、機械によって「いいね」かどうか判断させたり、 何いいねになる記事なのか、予測することは可能なのか?という問題を考えてみたい。 以下の2つの記事の中でも少し予告していた、 一番難しそうな内容に挑戦してみる。 Qiita殿堂入り記事ランキングを作った物語(2018/06/29投稿) Qiitaの記事データの取得と、全体感について記載。 既にいいねを多数集めている「良記事」を「殿堂入り」として月ごとにまとめ。 直近1年のQiita記事分析で分かった7つの「驚愕」(2018/07/03投稿) 直近の記事データから、傾向分析を実施し、 様々な知見や気づきを得ることが出来た。 上の記事を読んでいない人へのまとめ。前回までのあらすじ Qiitaのデータを分

    AIが見つけた、埋もれたQiita良記事100選 - Qiita
    letsspeak
    letsspeak 2018/07/13
  • 弊社でのJavaScriptの書き方 - Qiita

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

    弊社でのJavaScriptの書き方 - Qiita
    letsspeak
    letsspeak 2018/07/11
  • 【スケベ】女性用アダルト動画のデータを分析して、女性から評価が高いアダルト動画をデータ分析してみた

    こんにちは、スケベサイエンティストのDai (@never_be_a_pm)です。 世の中の男性、アダルトビデオから間違った性の知識を得がち問題 さて、よく女性からこんな意見を聞きます。 「世の男性はアダルド動画を見すぎている。そこで変な知識をつけてしまって、気持ち良いSEXをすることができない」 確かに、世の男性は女性が喜ぶ正しいSEXをよく理解しておりません。特に経験が足りない童貞にとっては、学びたくても学ぶことが経験から学べないという、深刻な問題を抱えています。その結果、日では年間6万人以上の童貞が、いきなり局部に手を突っ込んでいると報告されています。 これは非常に社会的な問題なのではないかと思います。そして、もし女性が喜ぶSEXを男性が知ることができたら、童貞もSEXできるし、女性も喜んで童貞とSEXできます。 女性が喜ぶSEXとは何か分かれば、童貞にもチャンスがあるのではないか

    【スケベ】女性用アダルト動画のデータを分析して、女性から評価が高いアダルト動画をデータ分析してみた
    letsspeak
    letsspeak 2018/07/10
  • Rails と Vue.js でWebサービスの環境を作ってみた - Qiita

    はじめに Railsを勉強し始めて、そろそろオリジナルでWEBサービス(比較サイト)を作ろうと思い、色々と調べつつ構築していったら勉強になったのでメモしていきます。今回は、Rails,Vueを使って開発したかったので、それに合わせた環境になっています。 この記事では以下の環境(2018年7月9日時点)で動作確認できました。 Ruby: 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin17] Rails: 5.2.0 mysql2: (>= 0.4.4, < 0.6.0) mysqldockerに作成してあります Docker version 18.03.1-ce yarn: 1.7.0 webpacker: (~> 3.5) vue: ^2.5.16 参考にしたレポジトリ プロジェクトを作る上で参考にした、サービスのレポジトリは以下で

    Rails と Vue.js でWebサービスの環境を作ってみた - Qiita
    letsspeak
    letsspeak 2018/07/09
  • 障害対応で一番最初にやるべきことは全体への周知じゃね? - Qiita

    結構「障害対応ハウツー」みたいなのはググればいくらでも記事が出てくるけどここに言及してる記事が案外少ないなあと思ってどうしても書きたくなりました. 新人でもすぐできるからぜひ覚えてもらいたくて「新人プログラマ応援」のタグも付けました. 監視ツールの通知によってとか, 誰かに「このページ見れなくなってるよ」って教えてもらうとか, 何らかの手段によってエンジニアが障害の発生に気づいたとき, 一番始めにやることは全体への周知だと思っています. 「一番始めに」 一番始めにというのは, まさに何を差し置いても一番始めにということです. 障害に気づいたエンジニアはつい 「どこのページだ」 「レスポンスタイム10秒って出てるけどホントかよ試しに俺もアクセスしてみよう」 「さっきのデプロイが原因じゃねえか?」 などと口走りがちですが, これらの気持ちをグッと堪えてまずは周知に意識を向けるべきです. 「全体

    障害対応で一番最初にやるべきことは全体への周知じゃね? - Qiita
    letsspeak
    letsspeak 2018/06/29
  • 死んだCSSを見つける方法 - Qiita

    使われてないCSSであればツールで見つけられますが、そうではなく、"実質的に"使われてないCSSを見つけるにはどうすればよいでしょうか。 という問題にスマートな解決方法を記載している記事を見つけたので訳してみます。 以下はFinding Dead CSSの日語訳です。 Finding Dead CSS 私が今週開いていたパフォーマンスワークショップで、Webサイト上で死んだCSSを見つけるテクニックが頭をよぎりました。 今、故意に『未使用CSS ( unused CSS ) 』ではなく『死んだCSS ( dead CSS ) 』というフレーズを使いましたが、これは以下のようなシナリオを想定して使いました。 数十人規模の多数のチームが開発している、数十万行のコードを含む、長期にわたって運用されている大規模なプロジェクトがあるとしましょう。 そこには既に使われていないCSSがあるだけではなく

    死んだCSSを見つける方法 - Qiita
    letsspeak
    letsspeak 2018/06/18
  • プロダクトのドキュメントにプルリクエストを送れる仕組みがすごい - Qiita

    これ↓なんですけど、意外と RT や Like が付いてたので、ちゃんと書きますね。 しっかしMicrosoftのドキュメントシステム良く出来てるなー。右のEditボタン押すとGitHubが開いてすぐPR送れる。あちらでマージされれば即サイトに反映される。Contiributorsに自分のアイコンが増えた♪ これはフィードバックするのに「面倒」は理由にできないですぞ。https://t.co/9KhAwhV5PP pic.twitter.com/r46zFUvkEp — あめいぱわーにおまかせろ! (@amay077) 2018年6月12日 このツイは Microsoft の製品やサービスのドキュメントについてなんですが、 Microsoft Docs というポータルがありまして、同社のサービスの多くはここでドキュメント公開されている模様です。 ここで公開されているドキュメント群は、バック

    プロダクトのドキュメントにプルリクエストを送れる仕組みがすごい - Qiita
    letsspeak
    letsspeak 2018/06/13
  • FlowのドキュメントにあるコードをひたすらTypeScriptのPlaygroundで試す - Qiita

    Flow 0.74 Typescript 2.9 TypeScriptの設定は以下な感じ 先にまとめ やってみることによって学びがあった。良かった。 FlowのObjectTypeは必要なプロパティがあれば同じ型として使えるがTypeScriptの場合はそうではない。 基型はだいたい同じだが、mixedがないのとvoidの挙動が違う。 Maybe型がない。 TypeScriptは型を書かないとanyになるがFlowは推論は推論してくれる 多分、お互いに似たようなことはできるが、実際にやるにはそれなりの経験が必要そうだ。逆をやってみるのも面白そう。 これをやってみた感じからするとFlowのほうが好み。 Stringへの暗黙型変換 // @flow "foo" + "foo"; // Works! "foo" + 42; // Works! "foo" + {}; // Error! "fo

    FlowのドキュメントにあるコードをひたすらTypeScriptのPlaygroundで試す - Qiita
    letsspeak
    letsspeak 2018/06/11