タグ

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

  • スーパーマリオのジャンプのアルゴリズム - Qiita

    先日、気持ちのいいジャンプを目指してというQiitaの記事を見かけました。記事中では、マリオのジャンプについても触れられています。マリオというと、マリオブラザースやスーパーマリオブラザース等々、色々あるのですが、これはおそらくスーパーマリオブラザースの事だと思われます。ジャンプアクションゲームといったらスーマリですね。 そのマリオのジャンプの仕組みは「マリオの速度ベクトルを保存しておいて座標を計算するんじゃなくて~」と書かれていて、別サイトのブログへのリンクが張られています。 マリオのジャンプ実装法とVerlet積分 ただ、この記述については不正確であるという別のブログもあったりします。 マリオの完コピvol.28 ジャンプの解析と修正 ホントのところはどうなんでしょうか?世界で最も有名なゲームジャンプがどのように処理されているのか気になったので調べてみることにしました。 原典にあたる

    スーパーマリオのジャンプのアルゴリズム - Qiita
    favril
    favril 2019/11/07
  • 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
    favril
    favril 2018/11/09
  • 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
    favril
    favril 2018/08/22
  • いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方 - Qiita

    さくらインターネット Advent Calendar最終日は、硬派にLinuxのメモリに関する基礎知識についてみてみたいと思います。 最近はサーバーを意識せずプログラミングできるようになり、メモリの空き容量について意識することも少なくなりましたが、いざ低レイヤーに触れなければいけないシチュエーションになった際に、OSを目の前に呆然とする人が多いようです。 基的にLinux のパフォーマンスについて、メモリをたくさんつめばいいとか、スワップさせないほうが良い とか、このあたりは良く知られたことだと思います。 ただ、なんとなく ps コマンドや free コマンド などの結果を見るだけでなく、もう少しメモリのことについて掘り下げてみてみたいと思います。 メモリとキャッシュ Linux におけるメモリの状態を大きく分けると「使用中のメモリ」「キャッシュ」「空きメモリ」「スワップ」の 4 つに分

    いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方 - Qiita
    favril
    favril 2016/12/26
  • 至高のDockerイメージ生成を求めて - Qiita

    稿は良いDockerイメージを良い方法でビルドすることを探求した記録である。 Supership株式会社 Advent Calendar 2016の21日目にあたる。 2019年現在は@inductor氏の改訂版を見たほうが良い。 この記事で論じた望ましいコンテナイメージの姿は2019年でも変わらない。ただし、multi-stage buildのような新しい仕組みが普及したりツールの評価が定まってきたりと、実現に用いるツールの状況が2016年からやや変化している。 良いDockerイメージ 良いDockerイメージとは何だろうか。Dockerの利点は次のようなものだから、それを活かすイメージが良いものであるに違いない。 ビルドしたイメージはどこでも動く 適切にインストールされ、設定されたアプリケーションをそのままどこにでも持っていける。 コンテナ同士が干渉し合うことはないので、任意のイメ

    至高のDockerイメージ生成を求めて - Qiita
    favril
    favril 2016/12/22
  • プログラマーの君! 騙されるな! シェルスクリプトはそう書いちゃ駄目だ!! という話 - Qiita

    記事が切っ掛けとなってお声がけを頂き、記事の増補リファイン版となる記事をSoftwareDesign 2018年1月号のシェルスクリプト特集第2章として執筆しました。リファイン版には、この記事で触れていない文法面での分かりにくさについての解説が含まれています。その文法面での分かりにくさの解説の一部に相当する記事もありますので、ぜひそちらも併せてご覧下さい。 Shell Script Advent Calendarをご覧の皆様、図々しくも5日目に続く2度目のエントリーのPiroです。 前回は自作のBashスクリプト製Twitterクライアントをネタに実装を解説しましたが、今日は他の言語で多少のプログラミング経験はあるんだけど、どうにもシェルスクリプトは苦手だ……という人のための、シェルスクリプトによるプログラミングの勘所を解説してみようと思います。多分、プログラミング入門レベルの人や上級

    プログラマーの君! 騙されるな! シェルスクリプトはそう書いちゃ駄目だ!! という話 - Qiita
    favril
    favril 2016/12/08
  • Dockerのライフサイクルを理解するハンズオン資料 - Qiita

    概要 手を動かしながら docker コマンドの基礎を学びます。 Docker イメージを使い、どのようにコンテナを動かすかを理解します。 イメージを自動構築し、Docker Hub にアップロードします。 Dockerfile の基と、CMD と ENTRYPOINT の違いを理解します。 所要時間は約15~30分です。 発表資料(Dockerライフサイクルの基礎)の中からハンズオン部分だけを抽出したものです(コピー&ペーストの確認用)。こちらを副読資料として、あわせてご覧ください。 Dockerライフサイクルの基礎 地雷を踏み抜けろ! http://www.slideshare.net/zembutsu/docker-underlying-and-containers-lifecycle ハンズオン内容 ドキュメントの Get Started with Docker の内容をベースに

    Dockerのライフサイクルを理解するハンズオン資料 - Qiita
  • 複数プロジェクトをChefで運用管理するための独自ルール - Qiita

    上記のうち、LibraryについてはLWRPを使う前提なので、それ以外についてもう少し詳細に説明します。 App cookbook Appは複数PJで使う前提なので、単体で動くことを最優先にします。 また、Appは1cookbookで1アプリケーションです。(例:app-httpd, app-nginx, app-mysql56) つまり、include_recipeでそれを読みこめば、とりあえず動く。 この「とりあえず」というのがちょっとミソで、httpdなら当にrpmインストールして終わりレベルだったりしますが、その他個別にある程度設定を入れてたりします。 あとはちょっとした設定とかはここに作っちゃったりしてます。(EC2用のapp-amznlinux-swaponとか) 個人的には、このapp-cookbookが充実して後述するwrapperであまり色々やらなくても、attribu

    複数プロジェクトをChefで運用管理するための独自ルール - Qiita
    favril
    favril 2016/02/17
  • 開発フロー研修 @ Wantedly - Qiita

    Githubでの開発 - Issue, Commit, Pull Request, Mention, Code Reviewに関する基的なルール ゴール 「 チーム で 長期にわたって 生産性を上げる 」 前提 みんながサービス・プロダクトについて自主的に考える組織 エンジニア全員がそれぞれオーナーシップを持ってよりプロダクトを良くすることを考える いわゆるPM職の不在 = コードは書かずに、マネージだけする人がいない これは組織による。(e.g. 外注やディレクター職の存在) けれど、Wantedlyは、多少変化しつつも、より良いサービスを生み出すために、役割の程度の差はあれ全員がプロダクトについて考え責任を持ったほうが良いと考えている。 理想型 図:「青と黄色」のチーム構成が従来の縦割り+統括チーム、「緑(金)色」のところが目指すべきマイクロサービスチーム マイクロサービスチームは、

    開発フロー研修 @ Wantedly - Qiita
    favril
    favril 2015/04/11
  • iOSアプリのプロビジョニング周りを図にしてみる - Qiita

    きっかけ iOSアプリ公開の壁となっているプロビジョニング周りですが、ハマりまくったので覚えている内に図にしました。 難しくしてる理由 難しくしているのは、この辺が理由ではないかと思います。 iOS Developerサイトでの画面・操作手順がしょっちゅう変わる Xcodeも、バージョンによって画面・操作手順が変わる ということで、書籍やWebでのノウハウがすぐに古くなってしまいます。ググるといろんな情報が出てきてしまい、かえって混乱します。 また、開発時のiOSデバイスはXcode側である程度自動的にやってくれるのですが、それがかえって分からなくしているような気がします。 概念図 ということで、結局、概念を理解してしまうのがいいのではないかと思い、図にしてみました。 (より厳密に実行端末が判断されるAd Hoc配布をベースに記述) ざっくり手順(※個別の操作は省略) 鍵ペア(秘密鍵/公開

    iOSアプリのプロビジョニング周りを図にしてみる - Qiita
    favril
    favril 2015/01/15
  • test-kitchenのつかいかた - Qiita

    更新:v1.2.2.devに対応。 Chef Inc. (旧Opscode)のtest-kitchenについて、テストのライフサイクルとサブコマンドの使い方を説明する。 1.2系について。 Test-Kitchenヘルプ まずはkitchenコマンドを叩くとヘルプが表示される。 $ kitchen Commands: kitchen console # Kitchen Console! kitchen converge [INSTANCE|REGEXP|all] # Change instance state to converge. Use a provisioner to configure one or more instances kitchen create [INSTANCE|REGEXP|all] # Change instance state to create. Star

    test-kitchenのつかいかた - Qiita
  • 誰も教えてくれなかったMySQLの障害解析方法 - Qiita

    それほどDBに詳しくないアプリエンジニアが何かトラブった時にすぐさま行動して問題把握できるようになる情報を列挙しておきます。 開発時、障害時の対処療法やちょっとした定期監視方法などを対象にしています。 抜的な対策などはインフラエンジニアさんにお任せしたほうがいいと思います。 DBはいろんな意味でこわいんでできれば触りたくないです>< 事前確認 MySQLサーバーのシステム設定値を確認しておく 以下のようにサーバーのシステム設定値を確認できます。 mysql> SHOW GLOBAL VARIABLES; # ワイルドカード(%)を用いた絞り込み mysql> SHOW GLOBAL VARIABLES LIKE 'performance_schema%'

    誰も教えてくれなかったMySQLの障害解析方法 - Qiita
    favril
    favril 2014/07/12
  • 大規模にchefを使い倒すためのcookbook pattern - Qiita

    概要 チームや組織、プロダクトをまたいでcookbookを使っていく場合に使えるcookbookの書き分け方を紹介します。 要はプロダクト毎にサーバに対する要求は変わりうるのでサービス毎にcookbookを分けるんだけど、会社全体として組織プロダクトをまたいで共通化しておきたい部分は共通のcookbookを使いましょうという話です。 こういう分け方をしたらよい、という話もします。 組織やプロダクトの成長とcookbook 小さな組織やチーム内でchefを導入した場合、cookbookを書くのは大抵の場合一人だと思います。 扱うサーバの種類もそんなに多くないので、apacheのインストールやphpの設定を一つのrecipeにベタ書きしても人間が管理できるボリュームに収まると思います。 というか、変に分割するよりもベタ書きのほうがrecipeの見通しがいいと思います。 ところが、組織が大きくな

    大規模にchefを使い倒すためのcookbook pattern - Qiita
    favril
    favril 2014/05/21
  • Googleの虎の子「BigQuery」をFluentdユーザーが使わない理由がなくなった理由 #gcpja - Qiita

    「BigQueryは120億行を5秒でフルスキャン可能」は当か? 先日、kaheiさんがGoogle BigQuery(Googleクラウドの大規模クエリサービス)について、こんなエントリを書いていた。 とにかくパフォーマンスがすごい。(Fluentd Meetupでの)プレゼン中のデモで、ディスクに収められた5億件のデータをSQLでフルスキャンするのに3秒しかかからない。9億件のデータを正規表現を含んだSQLでスキャンしても、7秒で終わる(これ、記憶がちょっとあいまい。もう少しかかったかも)。これには驚いた。佐藤さんがGoogleに入社して一番驚いた技術が、一般公開される前のBigQueryだったと言っていたが、その気持ちはわかる。 From Fluentd Meetupに行ってきました これを読んだ時、BigQueryの検索スピードについてちょっと補足したくなった。確かにFluent

    Googleの虎の子「BigQuery」をFluentdユーザーが使わない理由がなくなった理由 #gcpja - Qiita
  • 多段SSHの設定を.ssh/configにまとめる - Qiita

    概要 踏み台サーバを経由した多段SSHの設定をconfigにまとめる方法 接続するマシンは、WANやゲートウェイ内のネットワークのいずれにも属する可能性があると想定(ノートPC等) ネットワーク図 図のようにゲートウェイ経由でしかアクセスできないネットワーク内にさらにゲートウェイがあるネットワークを想定 単純な多段SSHの書き方 host gateway HostName sshgate.hoge User hoge Host RemoteHost-out HostName RemoteHost User fuga ProxyCommand ssh -W %h:%p gateway 上記の設定を~/.ssh/configに書いた後、 ssh RemoteHost-out でgateway経由でのアクセスが可能 複数に同時に設定を適応する場合 .ssh/configには複数の設定をワイルドカ

    多段SSHの設定を.ssh/configにまとめる - Qiita
    favril
    favril 2014/04/24
  • Git・GitHubに隠された便利な機能 | GitHub Cheat Sheet(日本語訳) - Qiita

    It has been archived by the owner. It is now read-only. 日語翻訳に関するメモ GitGitHub の便利な使い方をまとめたられた GitHub cheat sheet の日語訳です。 もっと分かりやすくしたいので翻訳に関するダメ出しは歓迎です。 レポジトリ

    Git・GitHubに隠された便利な機能 | GitHub Cheat Sheet(日本語訳) - Qiita
    favril
    favril 2014/04/21
  • Railsで簡単可逆暗号(ActiveSupport::MessageEncryptor) - Qiita

    Railsで簡単に可逆暗号をする方法 情報が古くなったため、rails4.2, rails5.0, rails5.1, rails5.2, rails6.0 で変更点確認し更新 使い方 ActiveSupport::MessageEncryptor を利用することで簡単に可逆暗号ができる key_len = ActiveSupport::MessageEncryptor.key_len secret = Rails.application.key_generator.generate_key('salt', key_len) crypt = ActiveSupport::MessageEncryptor.new(secret) encrypted = crypt.encrypt_and_sign('Qiitaきーたキータ') # => "Adp1SPOkYRqLgTMoAlcyEganoi

    Railsで簡単可逆暗号(ActiveSupport::MessageEncryptor) - Qiita
    favril
    favril 2014/03/31
  • AWS OpsWorks(™)のCustom Cookbooksレシピ開発役立ちメモ - Qiita

    ec2-**なコマンドを使いたい amazon linuxなら/opt/awsにamitools/apitools入っており、パスが通っているので使いましょう。 デフォルトの権限はレイヤ設定iam roleに基づきます。 chef-shellで作業したい /opt/aws/opsworks/currentで作業すれば、普通のChefクライアントを操作出来ます。 11.4 の場合 $ cd /opt/aws/opsworks/current $ bundle exec chef-shell -s -c conf/solo.rb loading configuration: conf/solo.rb Session type: solo Loading.......done. This is the chef-shell. Chef Version: 11.4.4 http://www.ops

    AWS OpsWorks(™)のCustom Cookbooksレシピ開発役立ちメモ - Qiita
  • DeployGateでiOSアプリを配布する方法 - Qiita

    Androidアプリ配布プラットフォームのDeployGateが、ついにiOSアプリ配布対応されました! 早速使ってみたのでその流れをメモしておきます。 まずはDeployGateのページでアカウント作成。 Githubアカウントでアカウント作成できるのがcoolでgeekですね。 ログインするとダッシュボード画面が表示されるので、左下の「アップロード」ボタンからおもむろにipaファイルをアップロードします。 アップロードボタンはAndroid版と共通なのですね。 すると、登録したメールアドレスにメールが届くので、開発端末でメールを開きます。 メールの中にリンクがあるので、このリンクをsafariで開くと、アプリのインストール画面が開きます。 この時、端末とアプリの配布管理のための構成プロファイルがインストールされていないのでインストールされます。 構成プロファイルインストール後、このリン

    DeployGateでiOSアプリを配布する方法 - Qiita
    favril
    favril 2014/02/19
  • 登録されるとつらいユーザー名リスト - Qiita

    Twitter, GitHub, Qiita などのように root/(username) でユーザーページをルーティングするところが増えてきている. このルーティングを採用し, help などのユーザー名を許可すると, root/help が奪われてしまう. そこで, 登録時に validate で, ある程度排除するのが習わしになっていると思うが, 急に root 直下に置きたいページが増えたときなどに取得されていると悲しいことになる. また, サブドメインを利用するサービスだと, api などをうっかり取られてしまうケースが後を絶たない. http://api.hatenablog.com/ みたいに取られることによる面白みもあるが, おおむねつらい. 実際, twitter では search アカウントが取られていて, TweetDeck では twitter.com/searc

    登録されるとつらいユーザー名リスト - Qiita
    favril
    favril 2014/02/15