Posts

Showing posts with the label Introduction

ゴールデンウィークにTwitchでゲーム配信を始めた話|古いMacBook Pro・PS4・OBSで配信環境を作ってみた

Image
古いMacBook ProでもTwitch配信はできる?PS4・Switch2用にOBS配信環境を作ってみた ゴールデンウィークで時間があったので、以前から少し興味があったTwitchでのゲーム配信を始めてみました。 アカウントは うえはら000 。 主にストリートファイター6や、趣味で遊んでいるゲームを配信しながら、だらだら話すようなスタイルで配信しています。 この記事では、実際にTwitch配信を始めるまでに用意した機材、古いMacBook Proで配信してみた感想、配信を始めて分かったことをまとめます。 これから「家庭用ゲーム機で配信を始めてみたい」「古いMacでも配信できるのか知りたい」という人の参考になれば嬉しいです。 配信を始めたきっかけ もともと格闘ゲームは好きで、ストリートファイター4シリーズをそれなりに遊んでいました。 スーパーストリートファイターIV AE Ver.2012の頃は、家庭用でやり込みつつ、休みの日に新宿のタイトーステーションにも遊びに行っていました。 当時は、AE時代と比べて大幅に弱体化された後のユンを使っていて、一瞬だけグランドマスターに到達したことがあります。 とはいえ、グランドマスターだった期間は本当に一瞬で、実際にはマスター上位からグランドマスターに届くか届かないかくらいの位置にいることが多かったです。 ちなみに、強かった頃のユンはほとんど触っていません。スパ4AEの頃はまだライトゲーマーで、フェイロンを使っていました。 その後、Ver.2012でユン・ヤンが大きく弱体化されたのですが、対戦しているうちに「弱くなったとはいえ、まだかなり強くないか?」と思うようになり、試しに使い始めました。 使ってみると思った以上に自分に合っていたので、そのまま使い続けて、最終的にグランドマスターに届くところまでやり込みました。 その後、ウルトラストリートファイターIVが発表され、ユンに有利なシステム(赤セビ)やキャラ自体の強化も追加されました。ユンは再び強キャラの一角に戻ったのですが、当時は大学受験の時期と重なってしまい、ほとんどプレイできませんでした。 受験が終わった後も、大学生活や社会人生活がそれなりに忙しく、気づけばストリートファイターからはかなり離れていました。 他のゲームはちょくちょく遊んでいたものの、ストリートファイターを本格的...

Groovyで初めてコードを書いたのでわからないことメモ

Image
書いてみた。 Groovyの環境構築をした話。 にある通り、環境構築をした。 それだけだとなんだか味気ないのでコードを写経した。 そこで初めて対面したGroovyについてのメモ。 コードは ここ 。 写経元は 実践プログラミングDSL ドメイン特化言語の設計と実装のノウハウ 。 class Order { def security def quantity def limitPrice def allOrNone def value def bs def buy ( su , closure ) { bs = 'Sold' buy_sell ( su , closure ) } def sell ( su , closure ) { bs = 'Sold' buy_sell ( su , closure ) } private buy_sell ( su , closure ) { security = su [ 0 ] quantity = su [ 1 ] closure ( ) def getTo ( ) { this } // 1.Hook to intercept calling unvalid method. def methodMissing ( String name , args ) { order . metaClass . getMetaProperty ( name ) . setProperty ( order , args ) } def getNewOrder ( ) ) { order = new Order ( ) } // 2.Clojure to express designated method of calculating price. def valueAs (...

Groovyの環境構築をした話。

Image
Groovyやろう Groovyやろう インストール そうしよう。 実践プログラミングDSL ドメイン特化言語の設計と実装のノウハウ でDSLという領域に興味が湧いたので本を読んでいくと、最初はJavaでプログラムを書いていたが、途中からGroovyがより表現力豊かで適しているという記述が。 ひとまず試してみるかぁということでLet’sインストール。 インストール macOSなのでHomebrewを使います。 $ brew install groovy インストール完了後にバージョンチェック。 $ groovy -version Groovy Version: 3.0.7 JVM: 15.0.2 Vendor: Oracle Corporation OS: Mac OS X $ export GROOVY_HOME=/usr/local/opt/groovy/libexec ついでにパスを通しておきます。 そんでもって起動。 $ groovyConsole & すると無事起動。 試しにHello World print "Hello World" するとHello World。 これだけだった。 Javaの環境構築してないとJVMのインストールとか入るのかな。

「問題解決力を鍛える!アルゴリズムとデータ構造」とLeetCodeで学ぶ再帰と動的計画法(メモ化)

Image
再帰とメモ化 問題 再帰とメモ化 問題解決力を鍛える!アルゴリズムとデータ構造 というアルゴリズムとデータ構造を学ぶのに良い本があります。 LeetCodeの問題を解いていた時に、この本の中で解説されていた例とすごく被っている内容があったので、記事にしてみようと思いました。 問題 1137. N-th Tribonacci Number 難易度はEasy。 再帰の入門にうってつけです。 問題解決力を鍛える!アルゴリズムとデータ構造 の4章の解説にもある通り、再帰関数のテンプレートは (戻り値の型) func(引数){ if(ベースケース){ return ベースケースに対する値; } func(次の引数) return 答え } 問題解決力を鍛える!アルゴリズムとデータ構造 第4章 設計技法(2):再帰と分割統治法より引用 といったものです。 今回解く問題は、 トリボナッチ数列Tnは次のように定義される。 T0 = 0, T1 = 1, T2 = 1, そして n >= 0 で Tn+3 = Tn + Tn+1 + Tn+2 となる。 nが与えられたとき、Tnの値を返す。 という内容です。 では、こちらをPythonでかつ再帰で解いてみましょう。 class Solution: def tribonacci(self, n: int) -> int: if n == 0: return 0 elif n == 1 or n == 2: return 1 return self.tribonacci(n-1) + self.tribonacci(n-2) + self.tribonacci(n-3) # Time Limit Exceeded しかし、これだとnが 30の時に時間切れとなり、正解とは認められません。 これは再帰で同じ処理が重複し、関数の呼び出し回数がとてつもない回数になっているためです。 ではこれを解決してみましょう。 class Solution: def tribonacci(self, n: int) -> int: memo =...

Pythonでリストの中から被っている値を見つけよう!!LeetCodeの解法例あり

Image
リストの中から被っている値を見つけよう!! 基本 問題 解法 改良前 改良後 リストの中から被っている値を見つけよう!! という話。 見つけてその値を削除するなり、被っている値の数を数えるなり、被っている値は何なのかを返すなりは別にいいとして、個人的な方法をメモ代わりに取っておく。 基本 今回は考えやすいようにLeetCodeの問題を例に考えてみます。 問題 例えばこちら。 287. Find the Duplicate Number 難易度はMediumです。 問題としては与えられた数字のみのリストの中に1つだけ2つ存在する値があるのでそちらを探して欲しいという問題です。 例としては以下のような感じ。 Example 1: Input: nums = [1,3,4,2,2] Output: 2 Example 2: Input: nums = [3,1,3,4,2] Output: 3 Example 3: Input: nums = [1,1] Output: 1 Example 4: Input: nums = [1,1,2] Output: 1 解法 改良前 これの解放としてパッと思い浮かぶものとしては、二つのfor文で二つの値を比較しながら被っている値があれば行いたい処理を行う、というもの。 ただ、与えられたリストがソートされていないのでまずソートしないとその比較はできなくなります。 試しにPython3で書いてみました。 class Solution : def findDuplicate ( self , nums : List [ int ] ) - > int : ans = 0 nums = sorted ( nums ) for i in range ( len ( nums ) ) : for j in range ( i + 1 , len ( nums ) ) : if nums [ i ] == nums [ j ] : ans = ...

My first Engllish post.

 Welcome to Kuehar's blog!! Hi,I'm Kuehar. I'm working in Japanese tech company as an IT Engineer. In the near future,I'd like to work in IT Company based on Silicon Valley, but I have not take CS course when I was a student .I majored Economics. To pass IT Company interview,I have to study CS field(for example, Algorithms,Data Structure,Hardware,etc...) and explain it clearly. So,I am trying to take Online English course, Coursera and Online English Lessons now. Also,I read a lot of IT Books that I'm interested in. I am high motivated person and can take action,If you have a question,Please feel free to contact @KueharX on Twitter.  Thanks for reading!!