2023年5月29日のブックマーク (59件)

  • Flask実践入門 - 基本的なアプリ構成を問い合わせフォームをつくりながら学ぶ|ハイクラス転職・求人情報サイト AMBI(アンビ)

    コンフィグ設定 まずはapps/config.pyを作成し以下のコンフィグを追加しましょう。実践的なアプリでは開発環境の他にstaging環境、番環境、テスト環境などが存在するのでそれぞれ専用のコンフィグ設定を行います。 from pathlib import Path basedir = Path(__file__).parent.parent class BaseConfig: """ BaseConfigクラス """ SECRET_KEY = os.environ["SECRET_KEY"] WTF_CSRF_SECRET_KEY = os.environ["WTF_CSRF_SECRET_KEY"] class LocalConfig(BaseConfig): """ BaseConfigクラスを継承してLocalConfigクラスを作成する """ SQLALCHEMY_DA

    Flask実践入門 - 基本的なアプリ構成を問い合わせフォームをつくりながら学ぶ|ハイクラス転職・求人情報サイト AMBI(アンビ)
  • システム運用の現場でしか学べないことは他メンバーに積極的に経験してもらうべきだった - seri::diary

    的に自分はタスクを拾いすぎてしまう傾向にある。それに加えて比較的朝型なこともあり、前職ではエンジニアの中で一番朝早く出社していることも多かった。*1 その結果どうなるかというと、朝出社して見つけた運用上のトラブルは大体自分がとりあえず手を付ける状態になっていた。前日の夜間バッチやその日の早朝に動くバッチがコケて問い合わせが来ているのでそのリカバリをする、前日にデプロイした後レスポンスが高くなってアラートが出ているのでその調査をする、web appがやたらと500系エラーを吐いているのでBugsnagを見る、等々。 出社している以上無視するわけにもいかないというのもあるが、見つけてしまうと放っておけない性格ということもあり最優先でこれらの対応をしてしまっていた。お陰で前職で触っていたproductについてはかなり広範囲の知見があり、その行動がそれなりに社内での評価につながっていたのではな

    システム運用の現場でしか学べないことは他メンバーに積極的に経験してもらうべきだった - seri::diary
  • 3週間で48,000行のコードをこの世から抹消した話 – FiNC Engineering Blog – Medium

    qsona (twitter) です。以前、7,600行のコードを安全にこの世から抹消した話 という記事を投稿しましたが、今回はそれよりもずっと泥臭い話を書きたいと思います。あまりテクニカルな話はありませんが、現場における取り組み・試行錯誤の経過を読んでいただければ幸いです。 たくさん消しました、がんばりました〜背景肥大化するRailsサービスFiNCはマイクロサービスを指向しており、主にRuby on Railsで書かれたサービスが30個ほど存在します。しかし、FiNCアプリのメインとなるRailsのサービスは、テーブル数800を超える大きなサービスになっています。 FiNCのサービスは2014年から書きはじめており、かなり初期の段階(2015年)からマイクロサービス化を意識してきました。にもかかわらず1つのサービスが肥大化している理由はいくつかあります。 最初の1〜2年ですでに大量のコ

    3週間で48,000行のコードをこの世から抹消した話 – FiNC Engineering Blog – Medium
  • LINEのMySQL運用について

    語が正しく表示されていなかったため修正版をアップロードいたしました。 https://www.slideshare.net/linecorp/linemysql-115766814

    LINEのMySQL運用について
  • JWT認証、便利やん? - ブログ

    どうして JWT をセッションに使っちゃうわけ? - co3k.org に対して思うことを書く。 (ステートレスな) JWT をセッションに使うことは、セッション ID を用いる伝統的なセッション機構に比べて、あらゆるセキュリティ上のリスクを負うことになります。 と大口叩いておいて、それに続く理由がほとんどお粗末な運用によるものなのはどうなのか。最後に、 でもそこまでしてステートレスに JWT を使わなくてはいけないか? とまで行っていますが、JWT認証のメリットはその実装のシンプルさとステートレスなことにあります。現実的には実際はDB参照とか必要になったりするんですが、ほとんど改ざん検証だけで済むのは魅力的です。トレードオフでリアルタイムでユーザー無効化ができないことくらいですかね。ライブラリなんて使う必要ないほどシンプルだし、トレードオフさえ許容できればむしろ、なぜこれ以上に複雑な認証

    JWT認証、便利やん? - ブログ
  • なぜ我々はいまだに文字列でコメントを書いているのか - Qiita

    あるいは、画像コメントのすすめ。 TL;DR 画像コメントのほうが意図が伝わりやすい 画像URLからツールチップで画像表示してくれるVSCode拡張機能があるよ その場で画像を作るSVGエディタもあったよ 問題提起 みなさんは、少し複雑なアルゴリズムを書くことになったときどうしていますか。 たいていの場合、いきなりコーティングに取り掛かるのでなく、 雰囲気をつかむためメモやホワイトボードに落書きすると思います。 特に幾何計算では簡単なものでも図を描いた方がいいです。こんな感じ。 図を書いたら後はコードに落とすだけです。 ね、簡単でしょう? // 指定した直線を対称軸としたときの指定した点の鏡映位置を返す function flipVectorByLine(p: Vector, line: Line): Vector { // TODO: よくわかるコメントを書く const ln = ne

    なぜ我々はいまだに文字列でコメントを書いているのか - Qiita
  • 東京のIT企業7社でインターンシップをして感じたことをメタ的にまとめて見た。 - くうと徒然なるままに

    今までの人生の中で7社ぐらいの会社にインターンシップしてました。(2017に1社2018に6社) せっかくなので感じたことをまとめて見ました。なお、会社名は基的に出さない方針です。 ほぼ全ての会社に当てはまってたもの 大学院卒の人がITエンジニアでは多い 肌感ですが、大学院卒の人が多いと感じました。 特に、若い人は結構な割合で大学院卒が多かったと思います。 また、インターンシップに参加してた人も半数〜過半数が大学院生だった気がします。 (湯けむりハッカソンでは自分以外の人全員が大学院生だったし.... 会社で泊まる人がほとんどいなかった 「なれるSE!」 を読んだことがあるので東京のIT企業ではあんな感じなのかなーとかずっと思ってました。 しかし、現実はかなりホワイトっぽさを感じました。 なれるSE は一度見とくと良いかも。 Excel仕様書はほとんどなかった 事業会社ばかり見てたので

    東京のIT企業7社でインターンシップをして感じたことをメタ的にまとめて見た。 - くうと徒然なるままに
  • 新人の正論を取り込む準備と心構え - Konifar's ZATSU

    最近新しく人が入ってきて、今まで手がつけられていなかった部分に対する正論をストレートにぶつけてきてくれて思わずにやけてしまった。 そう、新しい人には感じたことをそのまま言ってほしい。まだ自分が成果を出せるかわからないタイミングで正直に思ったことをぶつけるのはすごく勇気がいることだとは思うけれど、新しい旋風を巻き起こしてくれた方が嬉しいし、それをうまく取り込むのは既存メンバーの役割だと思っている。 正論をうまく取り込むには準備と心構えが必要だと思っていて、それをざっとまとめてみる。 社内ブログやSlackチャネル、定例など意見を言いやすい場所を用意しておく 感じたことは率直に言ってほしいと期待している役割などを伝えておく 口だけみたいになるのでは、という不安はいったん気にしなくていいと伝えておく 個人ではなく仕組みに対してという伝え方を意識してほしいと伝えておく 言ってくれたら、まず素直に感

    新人の正論を取り込む準備と心構え - Konifar's ZATSU
  • コンテナのデザインパターンを学べる論文「Design patterns for container-based distributed systems」を読んだ - kakakakakku blog

    2016年に USENIX Conference で発表された論文「Design patterns for container-based distributed systems」を読んだ.タイトルの通り,コンテナのデザインパターンがまとまっていて,これからコンテナ設計をする人も,既にコンテナを運用している人も,デザインパターンを学べるのは価値があると思う.一部ミスリードをしているかもしれない. Design patterns for container-based distributed systems 論文も公開されている. https://static.googleusercontent.com/media/research.google.com/ja//pubs/archive/45406.pdf パターン一覧 Single-container management pattern

    コンテナのデザインパターンを学べる論文「Design patterns for container-based distributed systems」を読んだ - kakakakakku blog
  • SQLスタイルガイド · SQL style guide by Simon Holywell

    概要 全般 推奨 非推奨 命名規則 通則 表 列 別名、相関名 ストアド・プロシージャ 統一的接尾辞 問合せ文 予約語 空白類 インデント 望ましい形式 Create文 データ型の選択 デフォルト値の指定 制約とキー 非推奨設計 付録 予約語リファレンス SQLスタイルガイド(日語訳) 日語訳について 日語訳は誤訳や原文の最新版に追随していない恐れがあります。誤訳や改善点があれば、GitHubのissueまたはpull requestを使用するか、Twitterでお知らせください。 翻訳: 久利史之 @nkuritw 概要 このガイドラインは利用の他、forkしたり、自分自身のものに改変したりすることができます。ここで大事なのはスタイルを選択しそれを踏襲することです。変更の提案やバグの修正にはGitHubのissueまたはpull requestを使用してください。 このガイドライン

  • TCPパケットを解析して構造化ログでダンプするツール tcpdp を作った - Copy/Cut/Paste/Hatena

    やっと形になってきました。 github.com 「データベースのクエリログを取得したい」 例えば、データベース(RDBMS)のクエリログを取得したいとき一番確実な方法は、そのRDBMSに備わっているログ機構を利用することです。 一方で、全てのクエリログを出力するとなるとそれなりにIO負荷がかかることが予想されるので、負荷状況によってはクエリログ出力(のIO負荷)を別サーバに分離したくなります。 では、どうすればよいかというと、例えば アプリケーションサーバとデータベースサーバの間にプロキシサーバを挟んでそこで記録することでIO負荷を分離する アプリケーションサーバ側で(notアプリケーションで)記録することで(大抵、サーバ台数の多い)アプリケーション側にIO負荷を分散する というような方法を思いつきます。 そこで、「もし、TCPコネクション上に流れている(例えば)クエリログを解析してログ

    TCPパケットを解析して構造化ログでダンプするツール tcpdp を作った - Copy/Cut/Paste/Hatena
  • ゲーム音楽って面白いんです! - SEGA TECH Blog

    はじめまして、セガゲームスでサウンドクリエイターをしております小林と申します。 1998年に入社し、主に「ファンタシースター」シリーズでサウンドの制作に携わっています。 今回はゲーム音楽の面白さ!をできるだけ伝えられればと思っています。 【目次】 最初に作った音楽は? 格的に関わった「ファンタシースターオンライン」 インタラクティブミュージック・・? 「SYMPATHY」システムを使用した「PSO2」 目的を持った音楽を! PSO2のサウンド表現 「感動体験」を! 最初に作った音楽は? 最初の頃に作曲として参加した作品は「ぐるぐる温泉」というパーティーゲームBGMでした。ぐるぐる温泉というゲームはたくさんのミニゲームがあり、それに好きなBGMを鳴らして遊ぶというもので、自分も何曲か作りました。 (フュージョン的なBGMや、ボサノバ風なものも作りました) ここで、このゲームにおけるBGM

    ゲーム音楽って面白いんです! - SEGA TECH Blog
  • 良いエンジニアを採用するにはどうしたらいいか - おもしろwebサービス開発日記

    以前ソフトウェア開発者採用ガイドの読書感想文を書いたときに反響が思ったより大きかったので、エンジニア採用というテーマは関心が高いのだなと感じました。 上記感想文のエントリでも書いていますが、お手伝いしている会社の方などから「どうやったら良いエンジニアを採用できますか?」と聞かれることがよくあります。先のエントリでは「頑張るしかないですねとしか答えようがない」と書きましたが、頑張るとはいったい何を頑張るのか、きちんとまとめておいたほうが良いなと思いエントリをしたためる次第です*1。 あくまで僕はこう思いますという話で、この通りにしたからといって必ず良いエンジニアを採用できる保証はありません。あしからず。 想定読者 良いエンジニアを採用したい偉いひと、もしくは人事のひとです。 前提: 良いエンジニアとは このエントリでの「エンジニア」とはいわゆるweb系のエンジニア(例: サーバサイドエンジニ

    良いエンジニアを採用するにはどうしたらいいか - おもしろwebサービス開発日記
  • 次にソフトウェアエンジニア採用した際に教材にしたい本(基礎教養部分)

    受託の仕事がひと段落したので、現実逃避がてら内容が古い・良くない社内図書の整理を行っていた。整理しながら「そういえば基礎教養部分の社員教育カリキュラムがまったく準備できてないなぁ」と思い、社内図書をベースに教育用に課すを考えてみた。 以前から「日語作文能力が足りない~」と言ってきていたのだが、それに対しての現時点の暫定解がこれかなぁと思っている。 世界一やさしい課題解決の授業 世界一やさしい問題解決の授業―自分で考え、行動する力が身につくposted with amazlet at 18.09.25渡辺 健介 ダイヤモンド社 売り上げランキング: 402 Amazon.co.jpで詳細を見る とりあえず最初に読む。ごく当たり前の話がサクっと書いてあるが、意識がないと全く身についてない話でもある。 読むだけなら数時間(読むのが早い人であれば、30分もあれば読める)、演習もやるなら1日~

    次にソフトウェアエンジニア採用した際に教材にしたい本(基礎教養部分)
  • コンテナデプロイ基盤の検証 - Hatena Developer Blog

    はじめに はてなサマーインターン2018の大規模システム開発コースの成果報告をします。 今年は、メンターのid:cohalzさん、id:wtatsuruさんの下、実際に使われているサービスをAmazon ECS(Elastic Container Service)にデプロイする基盤を構築しました。 コンテナでサービスを番運用するために、AutoScaleの検証や、デプロイ時間の計測、改善策の検証を行いました。また、開発、デプロイフローを楽にするために、AWS CodeBuild、CodePipelineを使ってCI/CDの構築も行いました。これにより、PullRequestごとにCIが走り、masterにマージされたら自動でECSにデプロイすることができるようになります。高速なデプロイ切り替えを行うために、Blue-Green Deploymentの検討も行いました。 他にも、Micro

    コンテナデプロイ基盤の検証 - Hatena Developer Blog
  • [レポート]レガシーなコードにドメイン駆動設計で立ち向かった5年間の軌跡 #DDDAlliance | Developers.IO

    こんにちは。プロダクトグループのshoito(しょいと)です。 9/26(水)に開催された レガシーコードにドメイン駆動設計で立ち向かった5年間の軌跡 に参加してきたのでレポートします。 当日のtwitterのハッシュタグ#DDDAllianceのツイートがTogetterでまとめられています。 BIGLOBEにおける、5年間のDDDへの取り組みと今後について ビッグローブ株式会社 西 秀和さんより 30年間、事業を支えてきた業務システムをDDDで刷新する。 そのためには、組織的、エンジニアのレベルなど多くの問題があります。 その壁をどう乗り越えたのか? そして、壁の向こうで得た恩恵とは何のか? 5年という期間を経て、得ることのできた気づきや組織的な変化をお伝えしたいです。 アジェンダ DDD導入に至るまで 導入時の苦労 導入による効果 今後の目標 BIGLOBE販売システムについて、DD

    [レポート]レガシーなコードにドメイン駆動設計で立ち向かった5年間の軌跡 #DDDAlliance | Developers.IO
  • CacooはなぜKubernetesによるmicroservicesへの道を選んだのか? | ヌーラボ

    こんにちは。Cacoo チームの木村(@cohhei)です。Cacoo チームでは、 Kubernetes によるアーキテクチャの microservices 化に取り組んでいます。今回は私たち Cacoo チームが microservices 化によって解決しようとしている課題と取り組みの内容、その成果についてご紹介します。 この記事では以下の内容を含みます。 Cacoo の開発チームがどんな課題を抱えていたか 何故 microservices の道を選んだか どんな技術を選んだか microservices 化してどうだったか 現状の課題 課題:古いフレームワークとモノリシックなアプリケーション Cacoo は2009年にベータ版がリリースされた歴史のあるプロダクトで、モノリシックなアプリケーション上ですべての機能が実行されていました。 そのため、それぞれのコードの依存関係を十分に理解

    CacooはなぜKubernetesによるmicroservicesへの道を選んだのか? | ヌーラボ
  • 大規模サービスを支えるネットワークインフラの全貌

    わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48

    大規模サービスを支えるネットワークインフラの全貌
  • プログラマと学歴 - megamouthの葬列

    もはや現代では大学に行く必要はない、いや行ったほうがいい、という議論があるらしい。 大学が、「学歴」という形で、社会における個人の扱いをある程度は規定している事実がありながら、今ひとつ「大卒」であるということが、それほど重要視もされていないようにも見えるプログラマという職種こそ、このような議論がふさわしいのかもしれない。 そのようなプログラマと学歴との関係を少し書いておこうと思う。 プログラマ・カースト プログラマは奇妙な人々である。 クーラーの効いた小洒落たオフィスの最新スペックのパソコンに向き合って、鳴り続ける外線電話に出ようともしないで、その間にTwitterで卑猥なイラストをリツイートするといった、一般の社会人では考えられないような非常識を行ってもクビにならず、むしろ、これこそギークの証であると、納得される部分さえある。 そんな普通でない人々に学歴など必要なく、必要なのはただ、計算

    プログラマと学歴 - megamouthの葬列
  • 【まつもとゆきひろ氏 特別講演】20代エンジニアのためのプログラマー勉強法まとめ - 素人Web屋の備忘録

    先週末にサポーターズさん主催の【まつもとゆきひろ氏 特別講演】20代エンジニアのためのプログラマー勉強法 に参加してきました! これまで技術的なことしか書けていなかったのですが、とても学びが深い講演会だったので初めて雑記的にまとめを書いてみようと思います。 内容濃すぎ && 80分 という講演会だったのでざっくりまとめです! 講演会の様子はyoutubeで配信もされたので、このブログの最後にURL貼っておきます。 以下Matzさんによるプログラマー勉強法まとめ 今回「勉強」という言葉を使ったのはあえてミスリードを誘う目的。 具体的には「(学校)勉強」には「苦手を克服するべき」というメタファーがある。 「苦手を克服するべき」は社会人の勉強では間違い。 学生と社会人の勉強の違い9つ 1.満点VS満点なし 社会人の勉強に満点がない、つまり上限がない。平均値や偏差値がないから学生時代の常識が通用し

    【まつもとゆきひろ氏 特別講演】20代エンジニアのためのプログラマー勉強法まとめ - 素人Web屋の備忘録
  • 1週間でVue.jsをマスターしようと思った時に参考にしたサイト

    前置き(とばしてください〜) めっちゃ久しぶりに更新します。 プロフィールなども古いですがとりあえず今度そのあたりも更新しようと思っています。 簡単に今の私について。 携帯の販売→スマートフォンアプリの専門学校→Web制作会社→フリーランスフリーランスの時に仕事を受けたスタートアップの会社に就職(まだ2週間前の話) こんな感じです。 フリーランスのときは(今もまだ仕事はちょこちょこ受けてますが) 基的に私ができる仕事はなんでも受けていました。 ので、エンジニア仕事があればデザインの仕事、Botのシナリオ作成(UXライター的な)、プログラムとはかけ離れた仕事などなどもしていました。 また、ガッツリエンジニア!!という仕事はなかったので、(なぜが割とがっつり常駐していたスタートアップではメンバー半分がエンジニアだった!) 逆に、仕事で新技術学べる機会は殆ど無く… 今の自分が活躍できる領域

    1週間でVue.jsをマスターしようと思った時に参考にしたサイト
  • なぜビンゴゲームで同じ数字を書いてはいけないのか

    先日、結婚式の二次会に招待していただきました。新郎・新婦ともに大学時代からの友人です。 歓談中にビンゴゲームが開催されました。私はビンゴゲームに完全に勝利にしたにも関わらず、景品をもらうことができませんでした。 あまりに理不尽な経験だったので、泣き寝入りしてたまるものかと思い、Qiita に初投稿してみようと思います。 ビンゴゲームとは ビンゴはビンゴですよね。「ビンゴ!」って叫ぶやつです。 今回のビンゴゲームは $3 \times 3 = 9$ マスのカードを利用しました。縦・横・ナナメに一直線に 3 マス穴を開ければ「ビンゴ!」になります。 実は、各参加者には白紙のビンゴカードが配られ、各テーブルにはビンゴゲームのルールが書かれた紙が配られていました。下記がその内容です。 真ん中のマスに "free" と書いてください。(i.e. 真ん中のマスはゲーム開始時に穴を開けて良い) それ以外

    なぜビンゴゲームで同じ数字を書いてはいけないのか
  • ジュニアを採用しない連中はシニアに値しない - portal shit!

    Twitter で DHH が共有していた記事が面白かったので著者の許可を得て翻訳します。 "If you don't hire juniors, you don't deserve seniors", spot on! We've had phenomenal success hiring junior developers at Basecamp. @jasonfried first tech hire was particularly junior at the time 😂https://t.co/QczMtsou4J — DHH (@dhh) September 21, 2018 ジュニアを採用しない連中はシニアに値しない、というもの。 If you don't hire juniors, you don't deserve seniors (2023) • Minimum V

    ジュニアを採用しない連中はシニアに値しない - portal shit!
  • Redux 再考 - mizchi's blog

    今まで自分で作ったものが十数個、仕事で5社ぐらいの redux を見てきたので、その結果思うところを書く。 前提として、自分はエコシステムに乗るという意味で今では redux 肯定派だが、redux それ自身が過剰に抱えている複雑さはもっと分解されるべきだ、という立場。 Redux がうまく設計されているとどうなるか 一貫した一つの設計論に従うので、考えることがなくなる 難しさが廃されるのではなく、難しい部分が一箇所に集中する。React Component の末端では、何も考えることがなくなる。状態管理という難しい部分を作る人と、末端のコンポーネントのデザインに注力する人を分けられる。 大規模になっても設計が破綻しにくい、というエンタープライズ向きな特性を持つ。が、その技術基盤は(静的)関数型由来の考えが多く、基礎設計や基盤理解にはハイスキルが要求され、需要と適用対象のミスマッチを感じる

    Redux 再考 - mizchi's blog
  • Ctrl-[ が Esc になる理由 - Humanity

    理由 SHIFT キーはキーコードを -0x20、CTRL キーはキーコードを -0x40 する機能 全文 vim-jp.slack.com の #random から。 heavenshell [10:08 AM] TouchBar MBP にしたら強制的に C-[ になるので、オススメです!ようやく矯正できた。 mattn [10:09 AM] 人間の方が最適化されている yoshitia [10:12 AM] Escが物理的にない状況用にデフォルトでCtrl-[ 用意してるのすごい mattn [10:14 AM] いや、用意した訳ではないです。 SHIFT キーはキーコードを -0x20、CTRL キーはキーコードを -0x40 する機能なのです。 なので `[` つまり 0x5b は 0x1b になる。 0x1b = ESC 同様に CTRL-H は H が 0x48 なので 0x

    Ctrl-[ が Esc になる理由 - Humanity
  • エンジニアは全員技術記事を書くことを習慣化した方がいいぞ(翻訳)

    はじめに この記事は、Why Every Software Engineer Should Write Articlesを翻訳したものです。今まで、記事やブログを書くことに時間を使うことに懐疑的だったのですが、この記事を読んで腑に落ちるものがありました。 アウトプットしたほうがいいのは分かっているけど、めんどくさい、時間が勿体無いなどと思っている方にはぜひ読んでもらいたい記事です。 英語を日語に直訳すると不自然で読みにくくなるため、主張を壊さないことを前提に意訳します。ミス等あれば指摘ください。 なぜ全てのエンジニアが記事を書くべきなのか? 近頃、コンピュータサイエンス産業は複雑かつ急速に進化しており、複雑な技術やコンセプトを簡単な方法で説明するという事がより重要になってきている。 ブロックチェーン・機械学習・深層学習・データサイエンス・分散システム・量子コンピューティング・ビッグデータ

    エンジニアは全員技術記事を書くことを習慣化した方がいいぞ(翻訳)
  • Developers.IO 2018 で「API 設計」の話をしてきた #cmdevio2018 | DevelopersIO

    緊張すると声がアムロ・レイになる都元です。 ここからしばらく、キャッチコピーの迷走期が始まりますのでよろしくお付き合いください。 さて、去る 10/5 (金) 秋葉原 UDX にて開催された Developers.IO 2018、その中で 「クラスメソッドにおける Web API エンジニアリリングの基的な考え方と標準定義」 という仰々しいタイトルで1講座持たせていただきました。 スライド 話したかったことと、話したこと セッションで話したかったことはだいぶ多岐にわたり、当然 40 分では話しきれないので、当初は次の 2 テーマに絞ってお話しようと考えてスライドを作っていました。 アプリケーション動作ログガイドライン RESTful / リソース指向 API 設計 しかし実際にスライドを作ってみると、それぞれで 40 分の規模となってしまい…。 ログの話は断腸の思いで見送りとさせていた

    Developers.IO 2018 で「API 設計」の話をしてきた #cmdevio2018 | DevelopersIO
  • Dockerでプログラマが最低限知るべきことが、最速でわかるチュートリアル - Qiita

    はじめに Dockerを理解するには試してみるのが一番です。 でも、あなたはある日突然「あと一時間でDockerを理解する必要がある」 状況に追い込まれた不運なプログラマになってしまうかもしれません。 そんな状況で公式サイトのチュートリアルは長すぎることでしょう。英語ですし。 なので、Dockerでプログラムが最低知るべきことが最速でわかるチュートリアルを書いてみました。 簡単に「Dockerそれっておいしいの?」に答える Dockerは単に仮想環境を提供するアプリケーションです。LinuxのVMを提供します。ただ、コンテナ型ってやつなので軽量です。VMが短時間で構築できて便利です。コンテナ型ではないフルの仮想環境はゲストOSに中間マージンを払っているようなものなので、ゲストOSとホストOSが同じことやってるならリソースのムダです。ならば、ホストOSと直取引し、ゲストOSに支払っていた中間

    Dockerでプログラマが最低限知るべきことが、最速でわかるチュートリアル - Qiita
  • まだXMLHttpRequestを使ってるの? fetchのすすめ

    JavaScriptでWeb的なプログラムを書いたことがある人は、XMLHttpRequestを使った経験もあるのではないかと思います。XMLHttpRequest,略してXHRは、JavaScript(+DOM)でサーバーとHTTP通信をするための唯一の方法としての地位を長らく保ってきましたが1、ここ3〜4年でより新しいAPIであるfetch APIが登場しました。fetch APIが出たばかりの頃は何だこのおもちゃはと正直思いましたが、いつの間にか仕様が充実していい感じになっていました。 皆さんは、この新しいAPIであるfetchをちゃんと使っているでしょうか。それとも、古いXHRを未だに使っているのでしょうか。この記事では、未だにfetchを使っていない人を主な対象としてfetchの使い方を解説します。(XHRと比較しながら解説するので$.ajaxとかaxiosとかしか使ったことがな

    まだXMLHttpRequestを使ってるの? fetchのすすめ
  • 個人開発の高校野球ゲームが収益1,290万円超えるまでにやった3つのこと。引退かけたアプリ開発者が語る「課金収益10倍」ドラフト課金の思わぬ効果。 | アプリマーケティング研究所

    個人開発の高校野球ゲームが収益1,290万円超えるまでにやった3つのこと。引退かけたアプリ開発者が語る「課金収益10倍」ドラフト課金の思わぬ効果。 名古屋で野球ゲームをつくっている個人開発者を取材しました。「個人開発者特集2018」の第三回です。 ※furuApplications 古田 悠さん 月100万円いかなければ「アプリ開発者をやめる」 簡単に自己紹介をお願いできますか? 名古屋で活動している個人アプリ開発者です。いまは野球シミュレーションゲーム(シリーズ3作品)を主につくって生活しています。 独立して1〜2年は、貯金いつぶしながら生活してたのですが、シリーズ2作目の野球ゲームで、月に30万円はなんとか稼げるようになって。 そこでようやく、アプリで生活できるようになりました。 それはそれでスゴイですよね。 ただ、厳しい状況から脱したものの、結婚していて子供もいたので、正直なとこ

    個人開発の高校野球ゲームが収益1,290万円超えるまでにやった3つのこと。引退かけたアプリ開発者が語る「課金収益10倍」ドラフト課金の思わぬ効果。 | アプリマーケティング研究所
  • A/Bテストよりすごい?はじめてのインターリービング - Gunosyデータ分析ブログ

    はじめに こんにちは。メディアデータ分析部の飯塚(@zr_4)です。 弊社では現在、複数のニュース形式のアプリケーションを運用しており、各プロダクトでユーザーの趣向にあうような記事リストのパーソナライズを行っています。 左から:LUCRA、ニュースパス、グノシー そのため、記事のランキングに関するA/Bテストをする機会が多々あり「少数のユーザーで高速に有力なパラメータを探したい」というニーズがありました。 今回は上記ニーズを満たすべく、グノシーの番環境に導入したインターリービングを紹介します。 インターリービングとは 概要 インターリービングは高感度なランキング評価手法です。 実験的に、10倍から100倍従来のA/Bテストよりも効率的であることが知られています。*1 従来のA/Bテストにおいて、2つのランキングリストを評価する際は、ユーザを2つの群に分け各々に別々のランキングリストを提示

    A/Bテストよりすごい?はじめてのインターリービング - Gunosyデータ分析ブログ
  • AWS認定9冠制覇したのでオススメの勉強法などをまとめてみる

    まず11位の「クラウドプラクティショナー」ですが、2018年に新設されたAWSのエントリーレベルの認定です。AWSの基的な概念や、AWSのベーシックなサービスの特長、請求・アカウントマネジメント・料金モデルなどに関する理解が問われます。エンジニアだけでなくマネージャーや営業など様々なポジションを対象とした認定であるため、問われる知識の範囲は意外に広いです。ただ、知っていれば解ける問題が多いため、この順位にしています。 10位の「Alexaスキルビルダー - 専門知識」は、文字通りAlexaのスキル開発に関する知識が問われます。専門知識と銘打たれていますが、内容自体はそこまで難しくなく、Alexaスキル開発に関して知っていれば解ける問題が多かった印象です。これまでにAlexaスキルを開発したことがあり、クラウドプラクティショナーレベル以上のAWS知識があれば、問題なく合格できると思います。

    AWS認定9冠制覇したのでオススメの勉強法などをまとめてみる
  • あなたの生産性を向上させるJupyter notebook Tips | リクルートテクノロジーズ メンバーズブログ

    このエントリは全9回を予定する18卒新人ブログリレーの第3回です. はじめまして.今年度よりリクルートテクノロジーズに入社した河野 晋策です. 7月からQassチームにて検索ロジックの改善を行っています. Qassチームは,検索基盤の運用や検索ロジックの改善を行っているチームです. 詳しくは以下の記事をご覧ください. 検索組織の機械学習実行基盤 リクルート全社検索基盤のアーキテクチャ、採用技術、開発体制はどうなっているのか Elasticsearch+Hadoopベースの大規模検索基盤大解剖 記事の想定読者:普段Jupyter notebook・Jupyter Lab,Google Colaboratoryを使っている方,またこれから使おうと考えている方 記事の概要:jupyter notebookの知見共有 はじめに Jupyter notebookとは 近年,データの重要性が様々な

    あなたの生産性を向上させるJupyter notebook Tips | リクルートテクノロジーズ メンバーズブログ
  • PHPで動くファミコンエミュレータを作った

    TL;DR PHPで動くファミコンエミュレータを作った php-terminal-nes-emulator画面描画は点字を使って文字出力コントローラは標準入力からfread() 経緯 2016年の2月にPHPで動くゲームボーイのエミュレータ、php-terminal-gameboy-emulator に衝撃を受けて、その実装の解説を勉強会やカンファレンスでトークしたりSoftware Design誌に書いたりしました。(*1) カンファレンスでのトークでは時間の都合もあって全体のごく一部しか話が出来ないのですが、Software Design誌では誌面をたっぷり頂いてCPU、メモリアクセス、画面表示とphp-terminal-gameboy-emulator のほぼ全域を解説出来たので満足し、その熱は落ち着いていました。 そんな中、9月に開催されたbuilderscon tokyo 201

    PHPで動くファミコンエミュレータを作った
  • 侍エンジニア塾のC言語のサンプルがヤバすぎる。

    C言語はもうかれこれ10年くらい書いていないけど、流石にこれはヤバい。 正直な感想として、ブランド毀損するくらいの危険性をはらんでいると思う。 当該記事からコピーしてきた。 #include <stdio.h> #include <stdlib.h> // 構造体の宣言 typedef struct { int num; char *str; } strct; int main(void) { // 実体を生成 strct *entity; // 動的メモリの確保。確保したメモリをstrct型ポインタにキャスト。 entity = (strct*)malloc(sizeof(strct)); // メンバの初期化 entity->num = 0; entity->str = (char*)malloc(sizeof(32)); // メモリに文字列を代入 sprintf(entity->s

    侍エンジニア塾のC言語のサンプルがヤバすぎる。
  • 競技プログラミングで黄色になるまでにやったこと - hogecoder

    先月末に、めでたく AtCoder 黄色になりました。 1976 -> 2025 (+49) 念願の!!!! 黄色!!!! です✌️✌️✌️✌️✌️✌️✌️ pic.twitter.com/6S5whNlq8G— tsutaj (@_TTJR_) 2018年9月29日 きのう、ふと「黄色になりました記事書いてないなぁ」と思って雑に呟いたら、書いてくれという圧力声援を感じたので、記していこうかなと思います。記事の特性上自分語りしかありませんが、それでも良い方はお読みいただければと思います。 自分の能力について やったこと 灰から茶へ 茶から緑へ 緑から水へ 水から青へ 青から黄へ 最後に 自分の能力について 世の中には、プログラミングを始める前から数学が大得意で、 AtCoder を初めて半年くらいで黄色になるような「競技プログラミングをするために生まれてきた天才」*1も中にはいるのですが、

    競技プログラミングで黄色になるまでにやったこと - hogecoder
  • Node.jsにおけるプロトタイプ汚染攻撃とは何か - ぼちぼち日記

    1. はじめに 最近わけあってNodeのセキュリティ調査をしているのですが、今年の5月に開催された North Sec 2018 でセキュリティ研究者の Olivier Arteau 氏による 「Prototype pollution attacks in NodeJS applications」という面白い発表を見つけました。 この発表の論文や発表資料、デモ動画などもgithubで公開されていますし、ちょうどタイミングよくセッション動画も最近公開されました。 github.com Olivier Arteau -- Prototype pollution attacks in NodeJS applications この発表で解説されているのは、悪意のある攻撃者が、JavaScript言語固有のプロトタイプチェーンの挙動を利用して、Webサーバを攻撃する方法です。 発表者は、npmからダ

    Node.jsにおけるプロトタイプ汚染攻撃とは何か - ぼちぼち日記
  • Re-ducksパターン:React + Redux のディレクトリ構成ベストプラクティス

    Re-ducks というディレクトリ構成のベストプラクティスについてまとめる。Re-ducksパターンを使うことで、React + Redux を用いた開発がよりメンテナンスしやすいものになる。 Ducks パターン 名前からもわかるように、Re-ducks は Ducks というパターンをベースにしている。 erikras/ducks-modular-redux Ducks パターンが解決すること: actionType、action、reducerが散らばっててつらい 結局のところ actionType、action、reducer は密結合なので、ducksパターンではこれら3つを1つのファイルにまとめる。 // widget.js // Actions const LOAD = 'my-app/widgets/LOAD'; const CREATE = 'my-app/widget

    Re-ducksパターン:React + Redux のディレクトリ構成ベストプラクティス
  • Big Sky :: 書評「Go言語による並行処理」

    O'Reilly Japan, Inc. 様に献頂きました。ありがとうございます。 そして献頂く際にお声を掛けて頂いた、書の翻訳を担当された ymotongpoo さんにもお礼を申し上げます。ありがとうございます。 書の訳は非常に素晴らしく、とても原文が英文であったとは思えないほど綺麗で、読んでいく中で「原文でどの様に表現されているんだろう」といった引っかかりも無く、とてもスムーズに読み進められました。 Go 言語に関わって随分と長くなってきました。初めて Go を知ってからユーザがどんどん増える様を見る事が出来るのは正直に言って非常に嬉しいです。 ふと Go の魅力は何かと聞かれたら幾つか挙げる事が出来ますが、間違いなく選ぶのが「非同期処理の簡単さ」です。これまで多くの開発者が OS スレッドで実現してきた非同期処理を、Go 言語は少ないイディオムとインテリジェントなランタイムを

    Big Sky :: 書評「Go言語による並行処理」
  • メルカリもBASEも使ってる! 画像変換サービスImageFluxの魅力と新機能をご紹介! ImageFlux meetup #2 レポート (前編) | さくらのナレッジ

    メルカリもBASEも使ってる! 画像変換サービスImageFluxの魅力と新機能をご紹介! ImageFlux meetup #2 レポート (前編) | さくらのナレッジ
  • tmuxを効率よく使って開発を爆速にする最高の設定

    リポジトリを横断しての開発 自分は普段いくつかの(主にマイクロサービス)リポジトリを横断しつつコーディングをしています。 その際に tmux + zsh + neovim を使っているのですが、 tmux (とzsh)を使って複数のリポジトリを横断する最高の設定を使っているので紹介します。 まず前提として、複数リポジトリのマイクロサービスを立ち上げるとめちゃくちゃコンソールが増えると思います。 自分はプロジェクト毎にローカルサーバで1-2個・エディタ1つ・シェルで1つ・REPLで1つくらいは平気で使います。ついでに一時的な検証をするワークスペースを作って5-7個くらいは平気でプロジェクトを横断することがあります。 これを tmux の window と pane だけで管理するのは辛いのでやめましょう。 tmux には session という便利な機能があるのでこれを使います。 簡単に説明

    tmuxを効率よく使って開発を爆速にする最高の設定
  • 大量のテキストを食っても速い Markdown Editor 作った - mizchi's blog

    もう人生で何個目かわからない markdown エディタ作った。が、今回のは結構気に入っている。 https://markdown-buffer.netlify.com/ で遊べる。 用途としては、GitHub か Qiita か はてなブログかわからないが、なにか書こうと思ったときに、どのサービスも中途半端に重いので、とりあえずのバッファが必要、という感じで作った。なので速度重視。 ブラウザのストレージで永続化してる。オフラインで動く。できるだけエディタとしてはスコープを大きくせず、単に編集バッファ(textarea)でしかない、というのを意識している。 結構頑張って作り込んでしまった https://nedi.app が色々肥大化してしまっていて入力時にラグを感じるので、編集体験を見つめ直す自戒もある。 機能 数式対応 コードハイライト対応 バックグラウンドで自動保存 改行を br に

    大量のテキストを食っても速い Markdown Editor 作った - mizchi's blog
  • Webアプリケーションのベンチマークをとるときに気をつけている10のこと - たごもりすメモ

    10もないかも、と思いながら項目を書き出してみたら10以上余裕であってキリがないので10で収めた。いやあ、あるなあ。 仕事柄よくベンチマークを実行したりしてて色々と思うところが溜まっていたところ、以下のような記事を見掛けたのでなんか書こうと思った。ところでこの記事はベンチマークを実行するための準備作業がループを回して2時間かかるところの待ち時間に書かれている。 sfujiwara.hatenablog.com ISUCONといえば多少縁があるコンテストで、文中でISUCON5のことについても言及されているので、それも含めて。 自分が業務でいじっているのは "Webアプリケーション" というとちょっと違うんじゃないのというものばかりだが、いやー、最近なんでもHTTPで外部APIを作るからベンチマークのコツとしては大体変わんなかったりするよね。 なおこの記事でベンチマークはどのようなものかとか

    Webアプリケーションのベンチマークをとるときに気をつけている10のこと - たごもりすメモ
  • Rust製の分散オブジェクトストレージをOSSとして公開しました - dwango on GitHub

    はじめに ドワンゴではniconicoの配信系サービスのバックエンドで利用するために、Frugalosという名前の分散オブジェクトストレージを開発しているのですが、この度OSSとして公開することとなりましたので、この場を借りて軽く紹介させて貰います。 FrugalosはRustで実装されており、現時点では以下のリポジトリが公開されています: raftlog_protobuf: raftlogへのProtocol Buffersサポートの追加 “Frugalos"って何? “Frugal object storage"の略です。 “frugal"は日語では「倹約な」や「節約する」といった意味となり、「読み書き性能を犠牲にせずに、膨大な数のBLOB(Binary Large OBject)を、容量効率良く保持する」ことを目指して開発されているオブジェクトストレージです。 提供されている機能は

    Rust製の分散オブジェクトストレージをOSSとして公開しました - dwango on GitHub
  • ロギングにおける十戒 | Yakst

    どのように何をロギングするかを知ることは、ソフトウェアエンジニアが解決すべき最高に難しいことの一つだ。アプリケーションのログを拡張する手助けとなるのがこの「十戒」だ。 新年の私のブログにようこそ。監視とログのモニタリングについてのParisのdevopsメーリングリストでのスレッドに返信を書いた後、長らく心に留めていたブログ記事を思い出した。 このブログ記事は、私のOpsとしての顔をもって、主に開発者向けに書いた。 どのように何をロギングするかを知ることは、ソフトウェアエンジニアが解決すべき最高に難しいことの一つだ。多くの場合、これは予言をするのと同じようなことだからだ。トラブルシューティング中にどんな情報が必要かを知るのはとても難しい。それが、Opsエンジニアの大きな助けとなるよう、あなたのアプリケーションのログを拡張する手助けとなるこの「十戒」を望んだ理由だ。 1. 自分でログを書くべ

    ロギングにおける十戒 | Yakst
  • goroutineはなぜ軽量なのか - Carpe Diem

    概要 以前の記事で christina04.hatenablog.com Goはスレッドよりはるかに軽量なgoroutineでC10K問題を解決する、という話をしましたが、goroutineが軽量なのはなぜか?という理由を深掘りしたことがなかったのでしてみました。 環境 golang 1.11.1 Darwin 17.7.0 軽量と呼ばれる理由は2つ 大きく分けると以下の2つのポイントがあります スレッドに比べてメモリ使用量が低い スイッチングコストが低い それぞれ説明していきます。 goroutineがスレッドに比べてメモリ使用量が低いのはなぜか スタックとヒープのメモリの使い方を理解すると分かります。 ヒープはメモリの下層、プログラムコードのすぐ上にあり、上に向かって成長します。一方スタックは仮想アドレス空間の一番上にあり、徐々に下に成長していきます。 ref: イベントループなしでの

    goroutineはなぜ軽量なのか - Carpe Diem
  • JavaScript エンジニア向け: 知識ゼロから tensorflow.js で機械学習入門 - mizchi's blog

    この週末で機械学習を勉強した結果として、JavaScript エンジニア向けにまとめてみる。 自分が数式見て何もわからん…となったので、できるだけ動いてるコードで説明する。動いてるコードみてから数式見たら、多少気持ちがわかる感じになった。 最初に断っておくが、特にJSを使いたい理由がないなら python で keras 使ったほうがいいと思う。tensorflow.js が生きる部分もあるが、学習段階ではそこまで関係ないため。 追記: 最初 0 < a < 1.0 0 < b < 1.0 で三角関数 Math.sin をとっていて、これだと三角関数の一部の値しか使っておらず、線形に近似できそうな値を吐いていたので、次のように変更して、データも更新した。 // 修正前 const fn = (a, b) => { const n = Math.cos(a) * b + Math.sin(b

    JavaScript エンジニア向け: 知識ゼロから tensorflow.js で機械学習入門 - mizchi's blog
  • 心理的安全性を 0から80ぐらいに上げた話

    Twitter:https://twitter.com/Nunerm Roppongi Product Manager Meetup #6 のLTで発表した資料 https://pm-roppongi.connpass.com/event/99971/ Read less

    心理的安全性を 0から80ぐらいに上げた話
  • どうしてみんなMarkdown書くときTypora使わないの? - Qiita

    ここでは、最強のMarkdownエディタTyporaについて紹介する。 機能に関しては随時更新予定。 ざっくり概要 Typoraを使ってMarkdown書いているときの様子は以下のような感じになる。 後述するが、記述したその場でスタイリングしていく仕組みなので、「プレビュー表示」という概念がない。 そのため、目線を行ったり来たりさせる必要がない。 例えば、 上記のように#記号に続いて文字入力を行い、Enterキーで改行すると.... このように、自動的にその場でMarkdownの見出し表示になってくれる。 Typoraのいいところ 記述したその場でスタイリングしていく仕組み そのため、2つの画面を目で行ったり来たりする必要がない 操作が極めて直感的 高機能であるにも関わらず、インターフェースがとてもシンプル 数式・画像の挿入、表の作成など、通常のエディタだと苦戦するような操作も非常に簡単に

    どうしてみんなMarkdown書くときTypora使わないの? - Qiita
  • Wordな職場にMarkdownを定着させるためにやった4つのこと - Qiita

    はじめに ドキュメントって皆さんどうしていますか? Qiitaで記事を書いている方なら、Markdownを普段から使う人も多いと思います。 私の職場では、「Wordでドキュメントを書く」という習慣がありました。 最近、「Markdownで書く」というのを定着させることができましたので、その過程で何をやったのかを共有したいと思います。 2018/11/02 追記 記事に、Microsoft Wordを批判する意図はございません。 WordよりもMarkdownが優れているという主張をするつもりもございません。 それと、後出しで恐縮ですが、記事に登場する職場とは、ソフトウェアエンジニアがメインの部署です。 ドキュメントというのも、技術系資料です。 その前提でお読みください。 誤解があるといけないので追記いたしました。 (追記終わり) やったこと1:議事録をMarkdownで取った 私の職場

    Wordな職場にMarkdownを定着させるためにやった4つのこと - Qiita
  • インストールするだけでVSCodeをカッコよくする拡張4つ - Qiita

    VSCodeを使い始めました。とりあえずデフォルトをイケてる感じにしたかったので、4つの拡張機能をインストールしました。せっかくなので共有します。 Before After 私と同じVSCode初心者は、とりあえず下記をインストールしておけばOKだと思います! Dracula Theme Material Icon Theme Indent Rainbow Bracker Pair Colorizer 1. Dracula Theme まずはこれ。Dracula Themeです。 これを入れればシンタックスハイライトが変わり、かなり雰囲気が良くなります。デフォルトのハイライトだと特別感が少ないので、当におすすめです。 追記:Dracula以外のおすすめThemeをこちらにまとめています。よかったら見てください。 VSCodeをカッコよくするTheme拡張7つ GitHub https:/

    インストールするだけでVSCodeをカッコよくする拡張4つ - Qiita
  • Webシステムにおけるデータベース接続アーキテクチャ概論 - ゆううきブログ

    先月投稿した2015年Webサーバアーキテクチャ序論では、Webサーバアーキテクチャを学ぶ道のりと代表的な実装モデルの概要を紹介しました。 今回は、前回同様、主に新卒Webエンジニア向けに、Webアプリケーションサーバとデータベースサーバ間の接続管理モデルと運用事情について紹介します。 データベース接続の永続化やコネクションプーリングとは何なのか、なぜ必要なのかといったことが主な話題です。 背景 データベース接続の永続化とはなにか データベース接続のオーバヘッド データベース接続の永続化手法 コネクションプーリングとはなにか コネクションプーリング: ドライバ型 コネクションプーリング: プロキシ型 コネクションプーリング全体について PostgreSQLMySQL 参考資料 まとめ 背景 2015年Webサーバアーキテクチャ序論では、Webサーバアーキテクチャの話とWebアプリケーショ

    Webシステムにおけるデータベース接続アーキテクチャ概論 - ゆううきブログ
  • Go言語のイケてない部分 - ぐるぐる~

    最近色々あって仕事Go言語を使っています。 色々割り切っている言語なので、こんなこと言ってもしゃーないんですが、言語設計はミスってるんじゃなかなぁ、と思わざるを得ない点が多々あります。 使い始めて1か月くらいなので間違ったことを書いているかもしれませんので、何かあれば指摘していただけるとありがたいです。 文ではネガばかり羅列していますが、ランタイムとツール周りは気に入っています。 Goのランタイムを使う、もっと洗練されたAlt Go的なものがあるといいのに(もしくはジェネリクスのったGo2を早くリリースしてほしい)、と思う日々です。 追記: なんか意図とは違った受け取られ方をしている方もいるので追記します。 この記事はあくまで、「Go言語を学ぶにあたって躓いた点」を列挙し、まとめ、理由を考えてみる(教えてもらう)ために書いたものです。 Go言語自体はDisってますが、Go言語ユーザーを

    Go言語のイケてない部分 - ぐるぐる~
  • JavaScriptの { } を理解する - Qiita

    結果はどうなったでしょうか。 自分が今使っているGoogle Chromeだとこうなりました。 結果は{a: 10}というオブジェクトです。まあ、これは当然ですね。3 + 5と入力すれば実行されて8が返ってくるのですから、{a: 10}というオブジェクトリテラルを書けば{a: 10}というオブジェクトが作られるのは当然です。 ……。 ここで、一部の人は「おいふざけんなよ」と思っているかもしれません。というのも、この例は環境によっては違う結果になるのです。具体的には、Chrome以外2のブラウザのREPL(FirefoxやEdgeなど)が該当します。あと、ts-nodeのREPLも該当するらしいです。これらの環境では、結果は{a: 10}ではなく次のようになります。 オブジェクトを作ったはずなのに結果が10とか意味不明ですね。そもそも、こんな簡単なプログラムで結果が全然違うとか、JavaSc

    JavaScriptの { } を理解する - Qiita
  • 現役エンジニアが選ぶ、初心者でもアルゴリズムについて学べる4冊の書籍 - paiza開発日誌

    こんにちは。谷口です。 プログラミング初心者のみなさんは、アルゴリズムについて勉強された経験がありますか? 「プログラミングは勉強しているけど、アルゴリズムについてきちんと勉強したことはない」「プログラミング言語の書き方やフレームワークなどの勉強を優先しているから特にやっていない」という方も多いと思います。 ただアルゴリズムを全然知らないと、ちょっと開発が複雑になってきたときに どう実装すべきかわからない とりあえず力技で作る 力技で作ったコードは改修が面倒 できる人に「もっといいやり方がある」と言われる しかし自分ではその「いいやり方」を思いつけない… …といったことも起こりえます。 そこで今回は、paizaを作っているエンジニアたちに、実際に読んでアルゴリズムの勉強に役立った書籍を聞いてきました。 アルゴリズム初心者の方の参考になればと思います。 長田です。ブログでは健康オタクエンジニ

    現役エンジニアが選ぶ、初心者でもアルゴリズムについて学べる4冊の書籍 - paiza開発日誌
  • ネット圏外の田舎で育った僕でも初心者から3ヶ月でアプリ開発スキルを身に付けた方法

    はてブ 「アプリを開発したいけど何から始めればいいか分からない」 僕がプログラミングを始めたばかりの頃は、よくそう思っていました。 プログラミング言語?JavaSwiftって何?iPhone持ってないけど開発できるの?どうすればアプリを作れるようになるの?知識がない人にとってはすべてが分からないことだらけです。 僕は今でこそWebサイトやスマホアプリを作るエンジニアをやっていますが、高校生ぐらいまではITやパソコンには無縁でした。 地元は大阪の端の方にあるど田舎、実家の1階は電波が届くけど2階はインターネット圏外、友達にメールするときはわざわざ1階に降りてメールを送る、そんな環境で過ごしていました。 ですがそんな僕も学生時代にプログラミングに出会い、かれこれ5年以上アプリ開発を経験してきて、それなりにアプリ開発の全体像というのが見えてきました。 今では公開されているアプリを見て「このアプ

    ネット圏外の田舎で育った僕でも初心者から3ヶ月でアプリ開発スキルを身に付けた方法
  • JavaScriptの入門書を jsprimer.net で公開しました | Web Scratch

    ここ数年書いているJavaScript入門ですが https://jsprimer.net/ というURLで無料で公開しました。 まだ開発中です これからJavaScriptを始める人がES2015以降をベースにして学べる プログラミングをやったことがあるが、今のJavaScriptがよくわからないという人が、今のJavaScriptアプリケーションを読み書きできるようになるもの Webサイト: https://jsprimer.net/ リポジトリ: asciidwango/js-primer: JavaScriptの入門書 もともと公開してありましたが、jsprimer.net というドメインを取ったのでURLが変わっただけです。リダイレクトされているので既存のブックマークはリンク切れにはなりませんが、気になる人はブックマークしなおしてください。 またリポジトリ(asciidwan

    JavaScriptの入門書を jsprimer.net で公開しました | Web Scratch
  • Webサイトで使われている技術を解析するツール「Wappalyzer」 - JavaScript勉強会

    Webサイトをどうやって作っているか?を調べるツールがありました。 「Wappalyzer」というツールです。 www.wappalyzer.com Wappalyzerは、ChromeやFirefoxのプラグインとして提供されており、インストールすると使えます。 ブラウザーでWebサイトを閲覧したとき、Wappalyzerのアイコンをクリックすると、そのWebサイトで使われているソフトやサービスなどが表示されます。 (例)はてなブックマークを見たときは、以下のような内容が表示されました。 Webサーバーソフトは「Nginx」、キャッシュソフトには「Varnish」を使っていることなどが分かります。 これでいろんなWebサービスを調査してみれば、Webサイト制作の参考になりそうですね! Wappalyzerの参考情報 forest.watch.impress.co.jp www.leon-

    Webサイトで使われている技術を解析するツール「Wappalyzer」 - JavaScript勉強会
  • 気兼ねなくアクティビティを書き留められるTrickleというサービスをリリースしました - maru source

    こんにちは丸山@h13i32maruです。 今日、Trickle(読み:トリクル)というサービスをリリースしました! アクティビティ トピック 他の人のアクティビティ Trickleは「Twitterなにか少し疲れてきたなぁ。でもやめたいわけではないし、うーん」と僕が困っていたことを自分で解決するために作ったサービスです。 なので自分をターゲットにしたサービスなのですが、せっかくなので多くの人に使ってもらいたい!というわけで、リリースのお知らせを兼ねた紹介記事を書きました。気になった方は是非続きを読んでみてください。 まとめ 自分のアクティビティをトピックごとに気兼ねなく書き留めることができる ジョギング、読書と遊ぶ、などの自分で作ったトピックごとにアクティビティを書き留める 他人の興味あるトピックだけをサブスクライブ(いわゆるフォロー)できる 「Aさんの読書トピックはサブスクライブし

    気兼ねなくアクティビティを書き留められるTrickleというサービスをリリースしました - maru source