タグ

ブックマーク / techblog.kayac.com (13)

  • ゲームプログラミング研修 - KAYAC Engineers' Blog

    こんにちは。技術部平山です。 たぶん15年ぶりくらいに研修の類の講師をやったので、そのことについて書きます。 概要 2D用(github)、 3D用(github) の2つのUnityプロジェクトをテンプレートとして用意して、 そこに「コードだけで」ゲームを作る研修をしました。 どちらも、Hierarchyに何かを足すことは禁止、 足して良いアセットはC#ファイルのみで、 そのC#ファイル内ではUnityEngineの機能を使用禁止、 というレギュレーションです。 いずれも、IMachineなるインターフェイスが存在し、 これを通してゲームを作ります。 例えば2D用のIMachineの主要部分はこんな感じです。 public interface IMachine { public int Width { get; } // スクリーン横解像度 public int Height { get

    ゲームプログラミング研修 - KAYAC Engineers' Blog
  • 社内発OSSのドッグフーディングでみんな捗る! - KAYAC Engineers' Blog

    Tech KAYAC Advent Calendar 2023 の11日目です。 こんにちは。 専らドッグフードをべる側の長田です。 もちろんリアルな犬のはなしではなく、ドッグフーディングのはなしです。 https://ja.wikipedia.org/wiki/ドッグフーディング ドッグフーディング (英: dogfooding) または「自社のドッグフードをべる」「ドッグフードする」(Eating your own dog food、Drinking your own champagneとも言う)は、コンピュータ業界において、自社製品を開発して利用する組織の習慣で、組織が実際の使用法で日々自分たちで製品を利用しながら製品テストを行うことである。 カヤック由来のOSS 実はカヤック(社員名義も含む)はOSSなプロダクトをそこそこの数公開しておりまして、実際の業務でも使っています *1

    社内発OSSのドッグフーディングでみんな捗る! - KAYAC Engineers' Blog
  • 連結リスト(LinkedList)の使い所 - KAYAC engineers' blog

    こんにちは。技術部平山です。 今回は地味ネタです。図すらありません。 私は一年に何回か、連結リスト(線形リスト、とも) を使いたくなる時があります。 基的なデータ構造として教科書には必ず載っていますが、 その割に使っている方が少ない印象を受けます。 この記事では、「こんな時に使えるよ」という使い所を具体的に紹介しようと思います。 99%配列か辞書 Unityに限らず、私が今までプログラムを書いてきた感じ、 配列か辞書があれば99%は足ります。 ここで言う「配列」は広い意味の配列でして、C#であれば List も含みます。数が不定ならList、固定なら(狭い意味の)配列、というのが良い使い分けでしょう。 辞書は主にDictionary ですが、 キーだけあれば良いケースでは HashSet も辞書の一種と考えて良いでしょう。 さらに、キーでforeachした時に特定の順番で出てきてほしい、

    連結リスト(LinkedList)の使い所 - KAYAC engineers' blog
    korin
    korin 2022/11/08
  • 誰も興味が無いnanoの基礎の基礎 - nanoはpicoの千倍なの! - - KAYAC engineers' blog

    タイトルを見てドン引きした人とはむしろお友達になれそうな気がします。 初めまして、新人の瀬戸と言います。 ネタが無いうえに先輩社員からの前振りがあったので、自分が使用しているエディタについて語りたいと思います。 この記事を見ている人は「エディタ」と聞いて何を思い浮かべるでしょうか。 vimemacs、サクラエディタ、TeraPad、EmEditorなどを思い浮かべるのでしょうか。 「メモ帳で十分だろ常識的に考えて…」 と言う人や、 「純正viしか認めない!」 と言う人や、 「Eclipse使ってないの?プークスクス(笑) …え? IDEの話はしていない?」 と言う人や、 「漢なら黙ってcatとパイプ」 と言う人も居るのかもしれませんね まあ、何にしても人それぞれ好みのエディタがあって、それを使用している事でしょう。 (環境や言語などによって使い分けるということは往々にしてあると思います

    誰も興味が無いnanoの基礎の基礎 - nanoはpicoの千倍なの! - - KAYAC engineers' blog
    korin
    korin 2022/08/08
  • Perlでいかにして短いコードを書けるかを考えてみる - KAYAC engineers' blog

    この記事はTech KAYAC Advent Calendar 2020の9日目の記事です 技術部1年目サーバサイドエンジニアのkoluku(コルク)です。 この記事ではPerlでコードを書くための思考過程や実践的なテクニック(やっちゃだめなテクニック)を織り交ぜながらいかにしてコードを短くできるかを紹介してみたいと思います。 FizzBuzz問題 みなさんはFizBuzz問題をご存知でしょうか。 FizzBuzz問題とは、 1〜100までの数字を順に出力を行い、その数が3で割り切れるならFizz、5で割り切れるならBuzz、そのどちらでも割り切れるならFizzBuzzと代わりに標準出力(文字表示)する という問題です。プログラムを書くことがある人は一度は書いたことはあると思います。 この問題では出力が改行ありなしの指定が無いのでここでは(都合がいいので)改行ありということにしておきます。

    Perlでいかにして短いコードを書けるかを考えてみる - KAYAC engineers' blog
  • AWS Lambda Node.js runtime の EoL に疲れたので Go にしていっている話 - KAYAC engineers' blog

    SREチームの藤原です。Tech Kayac Advent Calendar Migration Track 19日目の記事です。いよいよ年も押し詰まってきましたね…! AWS Lambda、使ってますか?最近はサーバーレスという文脈で取り上げられることも多い Lambda ですが、カヤックではそこまでサーバーレスにこだわることはせず、主にイベントドリブンな処理に適切なユースケースに使用しています。 Lambda のリリース当初に用意されていたランタイムは Node.js のみでした。カヤックで最近使うことが多い言語である Go, Ruby のランタイムがサポートされたのが比較的最近だったということもあり、Node.js の Lambda function が比較的多く存在している状況でした。 Node.js EoL (End of Life) ところで、技術基盤チームのリポジトリで「La

    AWS Lambda Node.js runtime の EoL に疲れたので Go にしていっている話 - KAYAC engineers' blog
  • Vueでもっと幸せになりたいあなたへ。VueのUIコンポーネントライブラリVuetifyのススメ - KAYAC engineers' blog

    どうもみなさまおはようございます。あるいはこんにちは。あるいはこんばんは。 KAYAC Advent Calendar 2018の12日目の記事を担当します、今年1月に中途入社しましたエンジニアのたがみです。 前職ではサーバーサイドのSEとして業務系のwebアプリを開発したり運用したりしていましたが、今はクライアントワークのフロントのエンジニアとしてwebサイトを作ったり動かしたりぶっ飛んだものにしたりしなかったりしています。 今回は、そんな私がフロントエンドになったばかりの頃に仲良くなった思い入れのある言語、Google App Scriptの話を!・・・・・・と、つい二日前までは、思っていたのですが。 Google先生を訪ねて色々と検索していたところ「あれ・・・なんか・・・Vuetifyについての日語記事、実は少ないのでは・・・?」と気づいてしまったのです。 (もしかしたら気のせいか

    Vueでもっと幸せになりたいあなたへ。VueのUIコンポーネントライブラリVuetifyのススメ - KAYAC engineers' blog
    korin
    korin 2018/12/13
  • Dockerで非エンジニアでも開発環境を上げ下げできる、mirageというツールを作りました - KAYAC engineers' blog

    いやー今年もISUCONの予選参加募集がはじまりましたね! 昨年は出題側だったので胃が痛かったですが、今年は参加側ですので大変楽しみにしております。@acidlemonです。 Docker使ってますか? さてみなさん、Docker使ってますか? 使ってる? 使ってない? ぼくは使ってませんでした。えー今どきBlue-Green Deploymentやってないの? Immutable Infrastuctureじゃないの? と言われそうですが、世の中にはいろんなしがらみとかもあってなかなか簡単にエイヤーでコンテナに移行できるわけでもないのは皆さんなんとなく感じているのではないでしょうか。 とはいえ、最近これだけ話題になっているDockerですので、そろそろ使ってみたいなぁ…ということで、まずは開発環境をDockerで上げられるようにしました。 Dockerでコンテナを作るときには2つのアプロ

    Dockerで非エンジニアでも開発環境を上げ下げできる、mirageというツールを作りました - KAYAC engineers' blog
    korin
    korin 2014/08/29
    この決まりきった、「非エンジニアでも…できる」をできる人が、エンジニアという定義になる職場もあったりしそうで、環境により、同じ言葉の意味することの「かい離」は激しい。インフラエンジニアという言葉とかも
  • 安全なバッチ処理の作り方 - KAYAC Engineers' Blog

    このまえ登り坂の途中でロードバイクのタイヤが破裂しました。ながたです。 今回はバッチ処理について書いてみようと思います。 バッチ処理? Webサービスの処理開始条件は、大まかに次の2つに分けることができます。 ユーザーのアクションに起因するもの ユーザーのアクションに起因しないもの このうち後者の処理をバッチ処理が担当することになります。 バッチ処理の担当分はさらに、 特定の条件(時間やサービスの状態)で実行するもの 手動で実行するもの の2つに分けられます。 今回はこの「手動で実行するもの」について書きたいと思います。 バッチを手動実行するのはどんなとき? バッチ処理を手動で実行するのは、十中八九イレギュラーな状況が発生したときです。 ルーチンワークや実行の条件が決まっているものは何らかの方法で自動化できるはずです。 そしてイレギュラーな状況のほとんどは不具合が発生したとき。 つまり 重

    安全なバッチ処理の作り方 - KAYAC Engineers' Blog
    korin
    korin 2011/10/06
  • vimプラグインでよりよいコーディングを - KAYAC Engineers' Blog

    こりなくvimプラグインの紹介をします。北原(@soh335)です。 たかが、エディタですがプログラムを書く際には一番触っている道具です。イチローも道具は大切にすることが重要と言ってますし、メンテナンスしながら良い状態にしておきたいですね。 今回はvimプラグインの管理、プログラム書く自体には関係ないけど便利なプラグイン、実際にエディタを使っている際に便利なプラグインの紹介をします。 vimプラグインの管理 vim-pathogen http://www.vim.org/scripts/script.php?script_id=2332 vimプラグインは、windows環境はで$HOME/vimfiles/、mac等では$HOME/.vimのディレクトリの下にインストールしていきますが様々なプラグインを一つのディレクトリにいれると のようになり例えばこのプラグインが更新されたのでアップデ

    vimプラグインでよりよいコーディングを - KAYAC Engineers' Blog
    korin
    korin 2010/10/30
  • vimに欠かせない3つのプラグイン - KAYAC Engineers' Blog

    Ark Advent Calendar で、今回こそPerlデビューをもくろんでいるアルバイトの北原です。 僕は普段エディタにvimを利用しています。巷では高まるvim熱のはずなのですが、社内ではEmacs派の方々が大半で、さらにvimを使っているともてないという話まで出てきています。この悲しい現実を打破すべく普段vimを使っている方にも、使ってない方にも、これから使おうと思っている方にもオススメできる3つのプラグインを紹介したいと思います。 1. quickrun.vim quickrun は編集中のファイルの全体もしくは一部を実行する Vim プラグインです。 実行するためのコマンド |:QuickRun| が提供されます。 quickrun.vim help 概要より引用 quickrun.vimはthinca氏によるプラグインです。同名のプラグインをujihisa氏が以前から公開さ

  • 高速にWeb開発をするために便利ないくつかのTIPS - KAYAC engineers' blog

    outputz でいまだに1位になれたことがない村瀬です。 社内で開発をスムーズにするための tips 集を紹介したので、まとめておきます。 記事ではデモができないので便利さが伝わらない物も多いですが参考になれば幸いです。 screenとかzshとか便利だよ!と言う話は社内ではさんざんしているのでありません。 また、OSX 限定の内容もあります。 でははじめましょう。 keychain keychain と言っても OSX の KeyChain ではなく、コマンドラインのツールです。 これは ssh-agent をより便利にするためのラッパーです。これを使用すると ssh の秘密鍵のパスワードを一度入力するとあとはパスワードなしで ssh 接続できるようになります。 「同じこと二回も言わせんな!」といつも切れているような人は導入すると良いでしょう。 使い方は $ keychain ~/.s

    高速にWeb開発をするために便利ないくつかのTIPS - KAYAC engineers' blog
  • jQuery言語入門 : tech.kayac.com - KAYAC engineers' blog

    先月の社員PVランキングは91番目でした。agoです。 たまに他言語開発者から「JSは何となくわかるけど、jQueryが特殊すぎてよくわからない」という声を聞きます。 個人的にjQueryを使う場合、「JSの中でjQueryを使う」と言うより、「jQueryの中でJSを使う」と考えた方が理解しやすいと思うので、今日は"jQuery言語"の書き方を紹介したいと思います。 文法 Traversing methodでインデントを下げて、.end()でインデントをあげます。 (Traversing以外のmethodはインデントを維持します) そして、末尾には開始行と同じ位置に「;」を置きます。 $('body') .find('a') .filter('.permlink') .attr('href', function () { return $(this).attr('href').repla

    jQuery言語入門 : tech.kayac.com - KAYAC engineers' blog
    korin
    korin 2009/08/28
  • 1