「コンパイラ」を含む日記 RSS

はてなキーワード: コンパイラとは

2019-04-04

anond:20190404164331

Cなんかは融通がききすぎで、コンパイラが何でも通しちゃうからね。

ま、最近コーディング規約で縛る方向でツールなんかも使われてるようだけど。

2019-03-25

Stadiaの開発者インタビュー その2

やっぱり途中で切れたので続きから


サービス提供を開始します。

するとシステムの準備は万端で、必要ソフトウェアの開発が必要ということでしょうか。Microsoftを見ますと、彼等はXBox OneのHWをサーバラックに積んでいるようです。あなたがたの手法とは異なりますか?

違います

するとGoogleインフラバックエンドのみでなくソフトウェアにも投資を考えていますか?

そうです。

自身の開発スタジオも考えていますか?

はい。Stadia Games and Entertainment組織を発表しました。これは我々の1stパーティスタジオです。

それが今起こっている?

はい

Google開発者に対し全てのツール支援しています。Stadia向けの開発は彼らにとって別のターゲットしか過ぎません。Visual Studioを用いる既存ツールや彼らが用いるツールの全てと共に、彼らのワークフロー統合されます。従ってStadia向けの開発はPlayStationXbox向けの開発と同じくらい簡単です。

我々はUnrealサポートします。UnityがStadiaサポートします。予想される多種多用な業界標準ツールミドルウェアが準備されます

意地悪な質問します。Googleコントロールを超えたものがありますよね。特にユーザサイド、クライアントサイドのインフラ家庭内安価ルータです。このような問題をどのように解決しますか?

とても良い質問です。我々はユーザに対し彼等のインフラの中で何が起こっているかをできる限り理解できるよう支援する必要があります。また我々はゲーマーに対し最適な体験を得られるようなチューニングを行うことが可能情報に対し投資を行うだけでなく、我々自身技術を用いて最良のパフォーマンスを実現するつもりです。Google技術の多くがインターネット網の基盤であることを思い出して下さい。我々はDCから情報がどのようにユーザに届くかを良く理解しております。できる限りの最適化を行うつもりです。

デベロッパパブリッシャは既存ゲームをStadia移植できるのですね。しかし同時にGoogleは新しい選択肢も数多く提供できると

その通りです。それこそが我々のプラットフォーム根本的な差別化ポイントです。既存ゲームカタログを持つデベロッパにとってStadia簡単で親しみ易いものです。我々はできる限り摩擦なくゲーム移植を行えるようにします。なぜならゲーマーは好きなゲームを遊びたいですし、彼らの愛するキャラクターストーリー世界を楽しみたいのです。しかし我々はまた開発者未来を描く新しいキャンバスをも提供します。ゲームを高速に配布し、プレーヤーと新しい手段で、特にYoutubeにて繋げます。そして開発者が持つアイデアを実現するための前例の無い技術提供します。


これまでのクラウドシステムクライアントサイドの限界基本的に画質やレイテンシに起こりました。明らかにこれらの問題インパクトはここ数年で新たにより良い技術を得ることとインフラ改善されることで緩和されてきました。しかローカル品質ストリーミング品質との間には今でも根本的なギャップ存在します。私はidソフトウェアZenimax特許を見たのですが彼らはh.264のモーションベクター効果的に用いてクライアントサイドのある程度の予測を立てレイテンシの知覚を減らしていました。Project Streamにも測定可能レイテンシ存在します。ギャップを閉じるために何をしていますか? これらの問題解決されたでしょうか。それとも少なくとも緩和はされましたか

解決されたと同時に緩和されています。まずデータセンターに対しより多くの人々がより良い経験を得られるようにするための投資が行われました。また圧縮アルゴリズムについては我々に抜本的な先進性が存在します。Google圧縮アルゴリズム標準仕様先駆者でありこの点がストリーミングの将来をより確実にします。残念なことですがGoogleでも制御できない点が光の速さです。そのためこの点が常に要因となりますしかし常に理解しなければならないこととして、我々は常にエッジ(終端)にもインフラを構築していることが挙げられますGoogleの中心にある巨大なデータセンタだけではありません。我々はできる限りエンドユーザの側にインフラを構築しています。それによって歴史上の幾つかの問題回避することが可能です。さらにまだ率直な、あまり洗練されていないProject Streamのストリーマーでも信じられない結果を出していますさらに我々はサービスリリース時に1080p60を超える品質を実現できるだけの根本的な改善を行いました。我々は8Kに至るでしょう。

それは素晴しい。それらの改善は全て圧縮に関連するものですか?

圧縮ネットワークです。我々はGoogleインフラに投入した数々の改善点に依っています。BBR、QUIC、WebRTCを基盤としてその上に構築がなされました。だからIPパケットの低レイテンシでの配信だけでなく、送信元へのフィードバックも行うことが可能です。ですのであなたが仰るZenimax使用した技術なら、彼らはここでも利用することが可能です。彼らは彼らのゲーム最適化を行うことができるでしょう。我々はフレーム毎のレイテンシ予測可能で彼らにそれに合わせて調整を行わせることができます


入力を受け取って、ゲームロジックを処理して描画を行うと、60Hzのゲームでは50ms程になります。続いてエンコード転送デコード、表示を行うとストリームではPC上のゲームに比べさらに60ms程かかります。これを改善することはできますか?

我々は改善を続けますStream最初バージョンです。我々は性能向上のために調査を行っており、レイテンシ適応していきますリリース時にはより良くなっているでしょう。

クラウドシステム接続可能性に従って成否が決まります。例えばRed Dead Redemption 2を数万、数十万、場合によっては数百万のプレーヤーオンラインにて同時に立ち上げるとします。システムの成否はアクセスによります。もしゲームプレイできないなら重大な障害となります

かにそのとおりです。そしてそれこそがGoogleが何年もかけて開発してきたスキルであり、抜本的なスケールする能力です。我々がどうやって実現しているのか、何をしてきたかについては今日は詳細にはお話しません。しかGMailMapYoutubeが同時に利用可能であるためと同じ基本的技術のいくつかが我々が依るものです。


我々は現在、現行世代が終了する移行の時を迎えています。これまではコンソールベースラインを定めてきました。Stadia次世代XboxPlayStationに対抗できると考えますか?

我々は競合他社が何をしているかは存じておりません。

でもGoogleには良い予測を立てられる優れた人々がいますよね?

我々の第一世代システムに導入されるGPU10Tflops以上の性能があり、さらスケールアップしま

GPUユーザ間で共有されますか? それとも1人のユーザが独占しますか?

単一インスタンスです。

NVIDIAGPUですか?

AMDです。

カスタムGPUだと思います

カスタムGPUです。

Google要件のために作られた訳ですね。他にも公開できる情報はありますか? Vegaですか? それともNavi、もしくはさら新世代ですか?

情報を公開したくない訳ではないのですが、このプラットフォーム進化することのほうがより重要です。そしてこの進化ユーザ開発者の双方に対しシームレスに行われることを確認して頂きたいのです。そして進化は常に継続し、誰もが常に最新で最高の物を手に入れます

クラウド確約する点ですね。ユーザはHWをアップグレードする必要がないと。

開発者にもこのように考えて欲しいのです。もちろん完全には抽象化されていません。特にゲーム開発者にとっては。しかし我々はそれでもこのプラットフォームが常に進化していると考えて欲しいのです。速さや容量、リソースには制限されていないのだと。

AMDGPUを使うことでStadiaと他のコンソールの間に共通な点ができました。開発者にとって利益となるでしょうか?

シェーダコンパイラツールをいくつか開発しました。これらは開発を楽にするでしょう。しか現在GPUはとても優れており開発者が既にVulkanに親しんでいれば、例えばid Softwareさんは既に全てVulkanに移行していますが、そのような開発者の方々には既存ゲームをStadia移植するのはとても簡単です。Doom Eternal4K、60フレームで動いでいるのは既にご覧になったと思います。非常に素晴しい状態です。これこそが我々にとって重要証明ポイントです。FPSグラフィックプレイアビリティの双方で要求が高いゲームです。 従ってこれは我々のプラットフォームの強力な証拠であり、idさんにも講演して頂きます

CPUについては何か公開できる話はありますか?

x86で2.7GHzで動作しています開発者にとり慣れのあるものです。開発全体を通して、CPUは制約となる要因ではありません。我々は全てのタイトル動作するに十分なCPU提供します。

コア数、スレッド数は?

沢山です。

8コア、16スレッド? それより多い? 少い?

公開できない情報です。ハイパースレッド使用しています

しかサーバ級のCPUです。Stadiaはこれまでのコンソールと違いパッケージングに制約を受けません。熱対策問題も異なりますコンソールとはサイズパッケージング動機が異なりますデータセンタの中でそれはとても汚なく見えるかもしれません。一方でとても帯域幅が高いメモリ使用可能で、とても高速なペタバイト級のローカルストレージ使用可能です。ご家庭のコンシューマデバイスよりも数百倍は速い物です。

するとそれが開発者が全く異なる体験のために利用可能な要因となる訳ですね。得られる機会はとても大きいことでしょう。しかし我々はマルチプラットフォーム時代生活していますGoogle先進的な機能は1stパーティのみが利用できるものですか?

パートナーには彼らが話せる時点で彼らの計画を教えてくれるよう伝えています。Stadiaをこの世界で最も偉大なゲーム開発者達に説明することにはとても興奮します。Stadiaは、開発コードではYetiと呼ばれていましたが、Stadiaビジョン説明すると、開発者リアクションは「これは私が期待したもののものだ。これはまさに我々の次のゲームのためのビジョンのものだ。elastic computingの考え、次世代レベルマルチプレーヤー環境ゲームを観ることと遊ぶことの境をあやふやにし1つの体験にすること」と話されます

イノベーションの1つの領域として、最初のほうで述べましたが、マルチプレーヤー環境において、単純にパケット複数プレーヤーリダイレクすることから原子時計レベルでのコンシステンシーを全ての状態遷移において定期的にクライアント間で更新する真のシミュレーションへの移行が挙げられます。これにより開発者はこれまでには不可能だった分散された物理シミュレーションを得ることができます。これだけでもゲーム設計イノベーションに対し大きく寄与します。このため多くの開発者が、大袈裟でなしに、実際にとても感動的なリアクションを我々のプレゼンに対して返して下さっています


多くの問題解決し、規準を上げる可能性がある訳ですね。

これこそがゲーム業界の素晴しい点です。技術が常に創造性を刺激し、ゲームに対しより大きな聴衆を作り、そのことがプレーヤー開発者に対しより大きな機会を作ってきました。エコシステム進化し、正の方向に回り続けるなら、それはゲームを遊ぶことにとって良いことです。

あなたは先程、スケーラビティとStadiaがどのようにしてより多くのリソースを立ち上げ増大する要求対応するかについて話して下さいました。しかし、同時に10TflopsのGPUサーバクラスCPU存在するとも仰いました。リソース拡張をどのように行うのですか?

3台のGPSが一緒に実行されるデモを行っています。私は上限が無いとは申しません。しかし我々は技術上の限界を上げています。そしてStadiaは静的なプラットフォームではありません。このプラットフォームは5年や6年の間、レベルが変わらない訳ではありません。開発者プレーヤー要求に従い、成長し、進化するプラットフォームです。なぜならStadiaデータセンタの中に構築されています進化させるのは我々にとって簡単なことです。

ここまで第一世代について多くのことを教えて頂きました。すると第二世代やその後の世代もあるでしょう。現状でもスケールアップできるわけですが、3台のGPU連携次世代でも可能ですか?

CPU/GPU/メモリ帯域幅の変更にはいくつかの自然な段階があります。これは家庭の物理な小売の端末よりももっとスムースでより継続的な進化です。しかし、より重要なことは基盤データセンタ網とそれに含まれネットワーク技術への投資です。この2つが一致して行われることが重要でどちらか1つではダメなのです。

先程、エッジ上のインフラについて触れられましたが、例えばNetflixISPキャッシュインストールしている状況があると思います。これがGoogleが行っていることですか? それとも既にYoutubeで行われていますか?

それは我々も既に行っていますGoogleが既に20年以上、行っていることです。我々が依って立つまた別の巨人の肩です。


Project Streamではユーザに対し最低で25Mbpsの帯域幅要件しました。これはストリーミングのみのためですか? それとも他のユーザが同時に同じインスタンス接続する場合を含みますか?

我々はStreamさらに強化させています。従ってユーザはこの制約が全体のスタックに対する改善最適化、また特に時間によって緩和されることを期待するでしょう。我々はその期待の上を行きます

4K60には相当の帯域幅がいるのでしょうね?

4K60はもちろんより要求が高くなります

1080p60は低くなる・・・

私は具体的な数値についてはコメントしません。しかし当然低くなります

インターネット接続環境はStadiaリリースする市場では全体的に上昇機運が見られます。つまりこのパフォーマンス特性ますます多くのユーザが利用可能になります

さらに繰り返しになりますが、BBRを初めとする我々の技術がありますさらに覚えておいて頂きたいのは我々のネットワークに対する理解そのままではありません。それらもまた時と共に改善されていきますYoutubeマクロ

Stadiaの開発者インタビュー

Eurogamerにより独占配信されたStadia開発者二人に対するインタビュー記事

https://www.eurogamer.net/articles/digitalfoundry-2019-google-stadia-phil-harrison-majd-bakar-interview

やっつけなので可能なら原文を読むことをお勧めします。

---

なぜ今なのでしょうか?

タイミング問題です。20年間の蓄積によりGoogleにはデータセンタ内のパフォーマンスに優位性が存在します。Googleデータセンタ内ではHWメーカーです。我々はデータセンタ内で何年もの間、高い性能で端末間を接続する基盤を構築してきました。Youtubeでの経験からプレーヤーサイドの観点からだけでなくデータセンタ内部から技術観点から技術統合を行ってきました。他社でもその視点存在していますGoogleにはその点に固有のアドバンテージ存在します。

これまでの箱をTVの下に置いておいたパラダイムに比べ、無限演算リソースによる可能性が現れます。これまで存在しなかったことをできる可能性があります

その通りです。我々にはレガシーがありません。全てが21世紀のために設計されています開発者制限の無い計算資源が利用でき、何よりもマルチプレーヤーサポートできます。これまでのマルチプレーヤー環境は一番遅い通信に影響を受け開発者は最も遅い接続に対し最適化必要でした。我々のプラットフォームではクライアントサーバも同じアーキテクチャの下にあります。これまではクライアントサーバの間のping支配されていましたが我々の環境なら最速でマイクロ秒で済みます。だからプレーヤーの数は単一インスタンスにて動的にスケールアップが可能です。バトルロイヤルなら数百から数千、数万のプレーヤーが集まることも可能です。それが実際に楽しいかどうかは置いておくとしても、新聞ヘッドラインを飾ることが可能技術です。

クライアントサーバの双方でこの利益を得られるのでしょうか

両方です。

すると開発者に対しStadiaホリデーシーズンにぴったりの最高の製品だと言えると。理に適った範囲無限計算資源が得られると。

ユーザが我々のプライベートLANからはみ出さないだけでもその効果は大きいものです。Googleは45万kmに及ぶ光ケーブルにより世界中データセンタ間を接続しています米国西海岸から東海岸まででも20ms、フランクフルトからマドリッドでも20ms。これにより開発者は最も極端な場合においてもレイテンシ予測可能でそれに従い設計を行うことができます


Youtbeとの統合について教えて下さい。

StadiaYoutube技術と深く結びついていますが、実際には一歩引いています今日ゲーム業界を考えてみて下さい。2つの世界共存しています。1つはゲームプレイする人々で、もう1つはゲームを見る人達です。2億人の人々がYoutubeゲーム毎日見ています2018年には述べで500億時間ゲームを視聴するのに費されています時間人口の双方で信じられない程の視聴が存在します。我々のビジョンはこの2つの世界を1つにすることでゲームを見ることができ、かつ、プレイもできる、双方向に楽しめることです。

まり重要なのはゲームシステムでもなくコンソールでもありません。噂とは異なり我々はコンソールビジネスには参入しません。我々のプラットフォームの要点はコンソールでは無いことで、皆が集まる場所を作ることです。我々は箱でなく場所を作る。今までと異なる体験を得られる場所です。ゲームを見るなり、遊ぶなり、参加する場所であり、かつユーザが楽しむ場所であり、ユーザ他人を楽しませる場所です。

から我々のブランドはStadiaといいます。これはスタジアム複数形です。スタジアムスポーツを行う場所ですが同時に誰もがエンターテイメントを楽しむ場所でもあります。だから我々はそれをブランドにしたかったのです。皆が遊んで、観て、参加して、さらにはゲームをする場所。一歩下がって見ることもできる場所。常にどのボタンを押したか意識しないでも良い場所。他のアーキテクチャでは実現できない場所です。

まりリアルタイムシミュレーションゲームで全ての駒が人々であるようなものですか?

その通りです。そして単純に技術的に深い点を求めて、我々は第一世代でも4K60fpsHDRサラウンドサポートしました。さら開発者必要インフラに従ってスケールします。それだけでなく、同時にYoutubeに常に4K60fpsHDR画像送信することが可能です。だからあなたゲーム体験の思い出は常に最高の状態になります

Googleは全てを記録するでしょうか?

プレーヤー次第です。Googleは全てを記録はしません。もしプレーヤーが望むならGoogle4Kストリームしま

共有が友達だけか、世界中に公開かも自由選択可能です。Googleユーザ制御を明け渡します。もしユーザYoutubeで公開すれば誰でもリンククリックすることでそのゲームを遊ぶことができます

するとユーザshareするだけで誰でもがその特定ゲームに参加することができる訳ですね。

そう。そしてこれはマルチプレーヤーゲームロビーの新しい形となりますYoutubeクリエイターなら誰でもがファンチャンネルのsubscriberを自分ゲームへと誘うことができます生主として、Youtubeクリエイターとして私は視聴者を私のゲームに瞬間的に招待できます。それが私と10人の友達でも、(訳注: セレブの)Matpatと彼の数百万の購読者でも、技術は同じです。

アカウントシステムベースYoutubeですか?

Googleアカウントの一部です。従ってGMailアカウントがStadiaへのログインに利用できます。他の基盤についても説明させて下さい。最初サービス立ち上げから全ての画面への対応を行いますTVPCラップトップタブレット携帯です。我々のプラットフォームの基本は画面に依存しないことです。これまで40年間、ゲーム開発は端末依存でした。開発者として私は制約の範囲内で、私の創造性を開発対象の端末に合わせてスケールダウンする必要がありました。

我々はStadiaでそれを逆にしたいのです。我々は開発者に対し彼らの考えをスケールさせ、どの端末の縛りから解放したいのです。パフォーマンスに優れ、リンククリックすればゲームは5秒以内に開始されますダウンロードもなく、パッチもなく、インストール必要なく、アップデートもありません。多くの場合、専用のHWも必要がありません。従って古いラップトップChromeブラウザ使用する場合にでも皆さんが既に持っているだろうHID仕様に準ずるUSBコントローラ動作します。そして、もちろん、我々自身コントローラも開発中です。

なぜ独自コントローラを作るのですか? USBコントローラはどこにでもあるじゃないですか

コントローラ自作する理由はいくつかあります。1つはTVへの接続です。我々はChromecastをストリーミング技術採用します。Stadiaコントローラの最も優れた機能の1つはそれがWiFi接続DC内のゲームに直接接続することです。ローカルデバイスとは接続しません。

それは面白い。するとほとんどそれ自体が端末な訳ですね。

その通りです。これこそが我々のブランドの実現であり、具現化です。そして独自コントローラにより最高のパフォーマンスが実現します。ゲームに直接接続するためにプレーヤーは画面を移動することが可能です。プレーヤーはどの画面でも自由に遊び、停止し、他の画面でゲームに復帰することが可能です。

そしてコントローラには2つの追加されたボタンがあります。1つはGoogle Assistantの技術マイクを用いますユーザ選択により、ユーザプラットフォームゲームの双方に対し、自然言語を用いて会話が可能です。例えば「Hey, Google。MadjとPatrickと一緒にGame Xをやりたいな」と言えばStadiaマルチプレーヤーゲーム指定した友人と共に直ぐに開始します。

するとGoogle伝統的なUI回避するのですね?

我々はゲーマー可能な限り素早くゲームに辿り着かせるよう考えています。数多くの研究を行いましたが、多くのゲーマーゲームを起動したら直ぐに友人とゲームを開始したいと考えていますゲーマーUI時間を費したくは無いのです。

誰かが言ったことですが、現在コンソールは起動した時にまるで仕事のように感じると言うのです。ゲーム自体更新や、ゲーム更新があります。我々はそれらを完全に取り除きたいと考えています。もう1つのボタンは、ちょっと趣が異なるのですが、Youtubeシェアできます

端末は何でも良いのですね? スマホスマートTVも?

Youtubeが観られるならどこでもStadiaは動きます

TVへの接続にはChromecastが使用されると。では実際にはどのように動きますか?Chromecastがスマホラップトップからストリーミングを受け取るのでしょうか?

Chromecastはスマホからストリームを受取はしません。Chromecastはスマホから命令のみ受けます画像NetflixYoutubeから直接受け取ります。Stadia場合、StadiaコントローラからChromecastへとこのゲームインスタンスへと接続せよと命令がなされ、Chromecastはゲームインスタンスから動画ストリームを受け取りますクライアントはとてもシンプルです。行うのはネットワーク接続ビデオと音声のデコードのみです。Chromecastは入力を処理しません。全て入力コントローラが扱いますビデオと音声とネットワーク接続Chromecastの基本動作で全て既に組込まれています

Stadiaの起動はどうするのですか? コントローラで?

そうです。とても良く出来ていますWiFiに繋ぐだけです。コントローラにはWiFiIDとPWを入れるだけです。それだけです。ホームボタンを押すと勝手Chromecastを探し直ぐにChromecast上でクライアントを起動します。UIが表示され直ぐにゲームを遊ぶことができますデジタルパッドでUI操作することも可能です。これが重い処理を全てクラウドへと移行する点の美しさです。Chromecastのような低消費電力の端末で説得力のある体験ができますChromecastは5W位下です。Micro-USBで給電可能です。典型的コンソール100から150Wもします。またこれまで説明しませんでしたが、例えスマホでも行うことは動画再生だけです。従ってAssassin's CreedDoomや他の重いゲームあなたスマホの上でモバイルゲームよりも低消費電力で動作します。だからスマホ10時間でも遊べます

スマートTVではStadiaYoutubeクライアントに組込まれるのでしょうか。それともStadia独立して起動させますか?

今の所、我々はChromecastのみに集中しています。でも技術的、機能的な観点からYoutubeがある場所ならどこでも動きます。我々はまだStadiaをどのようにユーザに届けるかは検討中です。

コントローラに話が戻りますが、モバイル端末にはやはり物理的なアタッチメント必要に思われます。例えばスマホコントローラ接続するような。MicrosoftのXCloudを見ていると操作には実際に問題があるようです。

Googleには解決手段があります

そうでしょう。スマホコントローラ取り付け以外にも、明らかな解決手段としてSwitchのようなクライアント端末を作るのでしょうか?

サービス開始時から提供されるサードパーティによる解決手段サポートしています。他にもアイデアがありますしかし今は話せません。

なるほど。GoogleUbisoftデモを行いましたが、これまでにDoom 2016でもデモを行いました。他にも開発企業はありますか?

良い質問です。私がこのプロジェクトに参加する前からチームは既に何社かと提携しここ何年かの間に技術提供していました。StadiaLinuxベースです。グラフィックAPIはVulkanです。開発企業クラウドインスタンス作成しますので、開発キットも今ではクラウドにありますしかクラウドだけでなく、開発社のプライベートDCでも、机上のPCでも可能です。

すると開発者物理的なHWを持つことが可能ですか?

もしそうしたいなら。でも我々は今後のトレンドが開発でも配布でもますますクラウドへと移行していくと考えています。従って今後数年で開発者にとってクラウド中心、クラウドネイティブゲーム開発での標準となるでしょう。

どの企業自身クラウドシステムを開発しているように見えます。例えばOriginクラウドがあるでしょう。しか必要とされるインフラ要件は、我々がここで話しているような内容を達成するには、3rdパーティには荷が重いように思えます。彼らは自身クラウド継続しながら、Googleシステムを導入するでしょうか。

デベロッパーパブリッシャーはとても賢くクラウドネイティブとなる新しいゲーム体験を達成するために必要ツール技術について考えていると思いますしかしそれは世界中で何千ものアクセスポイントを持つデータセンターを運営することや、それらの運営必要な莫大な投資資本とは異なるものです。Googleは今年単年でも$13Bの資本を投下しています

それはとても巨額ですね。しかしそれでも依然としてシステムを構築しインストールするのは根本的な問題です。多分野に渡る段階的なロールアウトになるのでしょうか?

米国では全ての必要場所に展開が終わっています。Project Stream試験必要環境2018年末には整いました。我々はGoogle社内で、Google社員対象2017年の始めから2年間の間、プライベートテストを行ってきました。2019年には米、加、西欧、英にて このエントリーをはてなブックマークに追加ツイートシェア

2019-02-20

オンラインエロゲ終了でオフラインプレイヤーを書いたら感動した

「対魔忍アサギ 決戦アリーナ」というオンラインゲーム(エロゲ)が終了する

まあ終了自体は仕方ない。このゲームゲームと言うには余りに大きな設計ミスを抱えすぎており、また、システム的にもかなり古くなっている。

だいぶ前からオンラインゲーム終了時にどうするか、という話はあるけど、あまり進展はない(ソシャゲ、ネトゲ等のサービス終了後のゲームの保存について考える、とか、米国でサービス終了オンラインゲームを著作権法例外とする動き―ESAは反対とか)。一つ根本的な問題として、本当にオンライン重要ゲームオフラインモードに余り意味がないのも大きい。

でも、対象エロゲ特に抜きゲ)なら話は別

何せ、最低限エロシーンだけ再生出来れば需要を満たす。

逆に、ゲームとしてのサービスが終わろうが俺には見たいエロシーンがあるんだよ!

anond:20190209083051 とかでも書かれていたけど、エロの質はいいし、ここにしかないものも多い。しかもそれは(ゲーム上で)自分が苦労して手に入れたものだ。勝手に閉じてほしくない。

……けど、運営コストを考えたらそうも言ってられないのはよく分かる。

というわけで、今こそオフラインプレイヤーの出番だ。

自分入手した分のデータダウンロードして、後は各人がローカルPC再生すればいい。

必要機能は大きく分けて、サーバからデータダウンロードしてくる部分、それからデータカードエロシーン)を閲覧するパートだ。

ちなみにこのゲームは初期に作られただけあって(?)、エロシーンに機能が少なく、BGV はおろか BGM も無い。オーバレイも1枚のみで、基本的に背景(シーン画像含む)と、テキストに 1:1 対応するボイスしかない。

これなら割とできそうな気がしたので保存・再生するソフトウェアを書いてみることにした。

というわけで出来たものこち

https://aakeeper.appspot.com 驚くほどあっさりできてしまった。

でも、今はできた物自体の話はいい。それより作る過程で色々感動したのでその話をしたい。

今や OSS には巨人の肩どころか常にジェット機に乗ってるくらいのツールが揃っている

今回使ったのはざっくり以下のもの

これらのツールに関して、自分殆ど学者だ。

Quasar FrameworkNode.js も Electron も使うのははじめて、他はちょっと触ったことあるけどそんな詳しくない。 ES もあまり好きでなかったので基本的には避けてきた。

にもかかわらず、全体で余暇時間2週間分くらいで出来た。

Quasar Framework は、とにかく物凄くよく出来ていてびっくりした。今回 Electron モードしか使っていないけど、本来はこれで SPA/PWA/モバイル(Cordova) アプリケーションが作れるという凄まじい対応幅のプラットフォームになっている。着手時に 1.0beta の予告だけあるというタイミングの悪さ(数日後に出た)だったので、 0.17 系を使った。しかし、それでも十分すぎるほどよく出来ている。

ES は今でも嫌いな点は多いんだけど、今回 async/await を使って感動した。これは素晴らしい。他の言語にも欲しい。

CoffeeScript趣味だけど、とにかく短く書ける点が素晴らしい。あれは終わったという人もいるが、記述量の少なさは js 系では他の追従を一切許していない。今回みたいな急いでいるケースでは、括弧の世話を焼いたり eslint おばさんと語り合う時間はない。CoffeeScript ならコンパイラが全部上手くやってくれる。

HTML5 ベースGUI は今や chronium の各種アクセラレーションのおかげで、並のポータブル GUI ツールキットよりずっと高速に動作する。

また、Vue.js + pug は非常に記述量が小さくて目的の画面がすぐ作れ、カプセル化がしやすコンポーネント再利用も容易だ。

Babel/Webpack は正にバッドノウハウを煮詰めて固めた感じだが、こいつがバッドな部分を吸収してくれるおかげで開発者正気を保てる。ただし追求しだすとSAN値が減る。

ユーザから見ると、Electron 製のアプリメモリをやたら喰う、少しもっさりしている、配布バイナリが巨大になるという問題は確かにある。

しかし、そうだとしても何より、とてつもなく高速に作れて、各種プラットフォームで割とちゃんと動く。

自分は色々初めてだったので結局2週間分くらい掛かったけど、前提知識が揃っている人なら本当に数日でできたりするんじゃなかろうか。

状況は良くなっている

つい数年前まで、クロスプラットフォームアプリケーション作成というのは本当に本当に大仕事だった。こんなに早く手軽に書ける事は無かったし、ユーザ側でもラインタイムインストール必要とか環境側のハードルも非常に高かった。

自分は今まで知らなかったけど、最早そういう時代は終わっていた。

もちろん過去に数多くのクロスプラットフォームフレームワークが登場しては消えていったのと同じく、Electron もいつかその仲間入りをするだろう。

でも確実に、びっくりするくらい状況は良くなっている。

興味があるけどまだ触ってないという人は、ぜひ試して感動を味わってもらいたい。

Happy Hacking!

2019-01-24

フェイクニュース親玉といわれたSpeee社での思い出

https://www3.nhk.or.jp/news/special/net-koukoku/article/article_02.html

言及されたSpeee社に所属した事がありその時の所感を述べてゆきたい。(そこそこ長くなったので時間がない人は総括だけ読んでほしい)

高学歴者で構成されていた

創業者のH氏からし名古屋大の物理学部であり、理系高学歴が立ち上げた企業だった。H氏は理系卒だが営業経験があり20代前半でSpeee社を起業した非常に優秀な人間であった。

ざっと思い出すだけで、東工大早稲田慶應京大と言った世間一般でも高学歴と呼ばれる人間が中心に構成されていた。

基本は学歴不問で高卒叩き上げみたいな人もいたが高学歴者が中心であった。

開発部には、商用コンパイラ作成経験があるという本当に優秀な人もいたし、高学歴で優秀な人が多かった。

また、人柄も多くは世間的には「いいヤツ」と呼ばれるような前向きで、気さくで親切な人が多かった。

ただ、私の在職中に敏腕営業マネージャーパワハラが発覚し、飛ばされかけた事件もあったことにはあったので、演じることがうまい人も多かったのかもしれないが。

まぁ聞いた話によるとSpeee社は一度派閥争いにより乗っ取られかけたことがあるので、人柄重視の採用をしていたらしい。

当時の業務

私が在職中のSpeee社の事業の柱はSEOだった。当時はまだページランク存在していて、それをあげるに被リンク有効だった。

なので何をするかというとお客さんのページにリンクするためにブログなどにツールを使ってリンクを貼りまくるという結構グレーというか、

今なら完全にブラックな事をしていた。

他にもページランクが高いドメインが売られていると自動的に購入するツールや、

意味のないワードサラダまみれのサイト自動生成しそこからお客さんのページにリンクするツールなどを作成していた。

かにもお客さんのページの検索順位を記録するために、グーグル検索結果をDBに保存するため、レコード数は数十億とあった。そのため大量レコードを捌くノウハウみたいなのは結構蓄積されていた。

私が所属していたのは開発部だったので、ここらへんのツール作成メンテを行っていた。

当時のSpeeeの中心は営業部であった。前述したように創業者のH氏からし営業出身であり、創業必要資金を貯めれるくらいには優秀な営業であった。

そのため、営業部はH氏のお目にかなう優秀な営業部員で構成されており放送局など大手企業から案件を受注していた。

Speee社の営業部には他のWebSIerにはない特異な風習があった。

それは大手案件を受注した営業オフィスの中心で受注報告を行い、それを全社員が聞き拍手喝采を行うというものだった。

おそらく営業になろうという人間は他の部署人間に比べて目立ちたがり屋が多いのでこの風習麻薬的にモチベーションを爆上げしたものだと思われる。(もしこれを読んでいて営業成績に悩んでいる経営者かいたら参考にしてほしい)

あと、SEO分析する部署もあり、この部署には東工大数学科出身人間などがおり、コンサルティングと数値分析を行っていた。

このように営業部的な雰囲気が私に合わなかったが、基本的には働くには良い会社だったと思う。業務倫理的にグレーな事を除けば。

総括

当時の事を総括すると高学歴かつ優秀で人柄もいい人たちが、情弱を騙すような倫理的にグレーな事をして結構利益を上げていた。

その有様はスタンフォード監獄実験のようだった。

これが資本主義で金を稼ぐという事がどういう事なのかを実感できた。

WELQ事件などを通してグーグル検索結果はゴミばかりと認知されてきたが、Speeeでの経験はそれを予想するには十分であったし、個人的にはそれほど踊ろなかった。

そして、ネット理想とか良心資本主義の前には、あっさり敗北するものだと認識できた。

だって、すごく優秀な人たちがフルタイムで壊しにかかっているのだから

追記

イニシャル間違ってたので修正した

2019-01-22

anond:20190122190654

Cコンパイラなのに、なぜCのみですべて書かないの?的な

2019-01-17

anond:20190117073041

less than or equal か less than の違いか


話は違うけど、アイルランド人と話をしている時毎回「less than or equal...」って言ってたら、

「or equal」は要らないと言われた。

でも日本人てその数を含むか含まないか重要視するよね。

「13歳以下」は13歳を含んでますよね、含まないのであれば13歳未満ですよね、とか。

よく分からないのが、「小学生以下」は小学生を含んでいるとかいないとか。(以下なんだから含んでいると思うんだけど。)


ま、コンパイラ仕様による違いか

2018-12-28

anond:20181227014045

勝手ジョークぶちあげて揚げ足取られたら話の筋道をそらすのは如何な論法かと思うけどね、ジョークならジョークで完結させろよと言いたいが、「それはジョークだじゃあ話を元に戻そう」、これでいいのでは?それとも子供に対してCPUのことを計算してくれる装置ですよと語りかけるが如く丁寧懇切に連立方程式の解き方からBLAS存在まで説明しろとおっしゃるのかな?

それは筋が通らない話だと思うし議論する気があるなら最低限・・そうだな大学がならう数値計算とか並列計算機の授業のレジュメさらっと目を通すぐらいはしたらどうでしょうか?

https://www.cspp.cc.u-tokyo.ac.jp/hanawa/class/sp20180925.pdf

並列計算機の話としてはココらへんが大変おすすめ

うーむHPCに対するアプローチは二通りあって情報工学的に計算科学の一環(つまりスパコンを作る側)として見るか、1科学者としてのシミュレーションを行う場、仮想実験場(スパコンを使う側)としてる見る場合の2つのアプローチがあると思うのだけど・・・PEZY-SCを搭載したシステムに関しては前者、計算科学の成果としてみるべきシステムだと思うのよ、これの成果としては「非GPUで超メニーコアシステムを実現すると共に高効率システムを構築することに成功した」って言う一つの事実に集約されると思う。

でここで高効率システム基準はなんなのかとというと「HPL」と言うベンチマークですわな、HPL=LINPACKと言う認識で話を進行させるけど、HPL本来連立方程式の求解を行う速度を競うベンチマークであって、これを皆が手放しで賞賛してるのはおかしいと言う批判存在する。

これは一理あってすべての科学技術計算の性能向上に寄与する指標とは言いがたいからだ。

じゃあなんでこれが推されている居るかというと理由は何個かあるけど連立方程式の解を求める必要のある技術計算はとても多いから、昔からやっててデーターが揃ってるから

ここまででHPL重要視されている理由がご理解いただけると幸いなんだけど・・じゃあ具体的に連立方程式使用する場面を示せよと言われると腐るほどあってどれを示せばいいのかわあらんのですが・・

これがなんか1番わかりやすい事例だったかな?

http://www.cs.kyoto-u.ac.jp/wp-content/uploads/2012/07/05hori.pdf

HPCを利用した構造都市地震応答シミュレーション

まああんまり人様の研究をあれこれ紹介して間違った説明しても申し訳ないので中身には触れないでおくけど実際に連立方程式は最もシェア率が高い問題であると言う認識は持ってくれると

話が早い

まあここまでがHPLがそこそこ信頼されている理由です。

 まあさっきのXeonでいいじゃんって話も一理あって性能が低くてもx86_64時代コードそのまま使いまわせるし、さっきあげたユーザーから見た時楽ちんであるのは事実だ。

なによりintel C++/Fortranコンパイラと言うクソ便利なものがあってライセンス料払うとある程度勝手高速化してくれたりするし使いまわせるコードも多い

まあPEZY-SCよりXeonのほうが計算機を研究してるわけじゃない物理学者とかの各種研究エンジニアからすれば魅力的な点が多いのは事実だと思う

からと言って計算科学としての計算機の純粋な性能向上を主とする研究・開発成果を邪険にしていいわけないしまた別の問題、確かに商業ベースで考えたとき

これらの問題をどうにかしないといけないのは事実だし改善して行かねばならないのはPEZYやエクサスケーラーの各位に残された課題であるのは間違いない。

だが少なくともまだこの世に銀の弾丸となりうる万能システム存在しない。

もしあるなら俺にくれ あといい加減なこと言ってたらゴメン、強いひとに殴ってもらうと筋トレになる

2018-11-19

学習用のプログラミング言語の選定基準

型について考えてみる

個人的には、

  1. 最初に、動的型付けの言語を使ってみる。
  2. 次に、静的型付けの言語を使ってみる。
  3. 最後に、型推論が強力な言語を使ってみる。

という順番がいいと思う。

 

  1. 最初、試作品を一気に作る場合、型は柔軟に変更できる方が楽。Rubyモックアップを作る、とか。
  2. 次に、試作品を完成品にするとき、型チェックでエラーを弾く。Javaガッチリ作り込む、とか。
  3. 最後に、型推論コンパイラに型チェックをさせる。人間様は型で消耗しなくていい。OCamlで書いて、他の言語トランスパイルする、とか。

…というかんじ。

 

双方の立場の一番の違いは、動的型付け言語システム非平衡状態を重視するのに対し、 静的型付け言語は平衡状態を重視していることなんじゃなかろうか。

型とは設計である

型とは設計だと思っている。しかコードから乖離することのない、生きた設計だ。

型を見れば問題の切り分けが出来ているかどうか分かる。

型を見れば開発者意図が分かる。

型を見れば静的な性質の多くが分かる。

型を見てそれらが分からないようなら、それは設計(型)が悪いのだろう、と僕は思っている。

さらに型チェックが通れば設計一貫性担保される。

設計の変更時にはコンパイラが何処を直せば良いか全て洗い出してくれる。

 

静的型付言語では型が煩わしくなるという旨の発言を聞くたびに、僕には「私は設計が出来ません/設計を考えた事がありません」と言っている様にしか聞こえない。

 

型って「データ構造」の設計必要情報だよね。

2018-11-12

anond:20181112081309

今ググった。こんなのあるのか。湯浅先生コンパイラという教科書なら読んだ

日本はいつまで徴兵制を続けるのか

徴兵制度。それは就職採用活動と名を変えて今でも日本社会に延々と受け継がれている。

卒業年度の翌日である4月1日。この日に正社員の職を得ていない者は社会の枠からはみだした者とみなされ、批難・嘲笑の的だ。徴兵検査で落とされた者、良心徴兵拒否をしたものには社会は徹底的に厳しい。再チャレンジの芽は徹底的に摘まれる。

大学卒業後に半年世界放浪してリフレッシュした気分で仕事を探すなんてとんでもない。「ちょっと旅行に行くから徴兵検査先延ばしにしてくれない?」なんて戦時中に言う奴がいるだろうか。

我先にと徴兵検査の列に並んで、上官殿に踊れと言えば踊り、歌えといわば歌う。兵士を目指す者として当然だ。徴用されるまでには何度も何度も別の列に並ぶのは極めて一般的である

苦労して徴兵検査合格したとしても彼らを待っているのは帝国陸軍ゆずりの初年兵いじめだ。古年兵は初年兵より常に偉く、常に正しい。

北斗の拳ジャギ様も言っているではないか

「兄より優れた弟なぞ存在しねえ!!」と。

一流大学コンパイラ最適化研究していた初年兵よりも、HTMLすらまともに書けない古年兵の方が圧倒的に正しい。よって彼らから礼儀作法精神論などを徹底的に叩き込まれる。おじぎの角度や名刺の渡し方が何よりも重要なのは言うまでもない。

この過程によって「新人自分のほうが優秀な部分もあるはずだ」といった反逆思想矯正され、「大学で学んだ事など社会ではなんの役にも立たない事が分かりました。先輩のやり方をそっくり踏襲させていただきます。」といった優秀な兵士に育っていくのだ。

そうした思想矯正研修を無事に修了したら初めて配属部署が決まる。間違っても初年兵が自分のやりたい事を選べるなどと思いあがってはいけない。

仕事よりも面子大事なので、それを守るためにルールが沢山あるのは当たり前。上司や先輩が残業しているのに先に帰るなどはもっての他だ。毎日夕方に家に着いて家族ご飯を食べるなんて夢は諦めた方がいい。そんなのはサザエさん世界の話だ。マスオさんしか許されない幻想だ。初年兵諸君は決して惑わされてはいけない。

日々乗っている快適な満員電車人身事故で遅れたとしても会社遅刻するのは決して許されない。長い列に並んで遅延証明書なるものを貰っても効果はあまりない。叱責のセリフが「遅刻した事には変わりがない。2本前の電車に乗っていれば間に合っていた。」などといったありがたい小言に変化するぐらいである。

ちなみに開始時間には非常に厳しいが終了時間には無頓着だ。仕事が長引いても延長証明書などは発行してくれないのでプライベートの予定は最初から入れないように気を付けよう。

もし君が「荷物が家に届く予定なのでそれまで自宅で作業してから出社します」なんてメールを送ろうもんなら、係長課長部長クラスまで集まって反逆思想矯正のための対策会議が開かれることだろう。

(他にも上司より高いランチを注文してはいけないなど、数限りないルールがあるのだがキリがないので割愛させていただく。)

さて・・・このような数限りない理不尽に耐えている会社員はさぞかし高い給料を貰っているに違いないと皆は考えるだろう。

否っ!全くの反対っ・・!

しろ驚きの安さであるっっ!!

過去20年で他の先進国賃金がどんどん上昇して行っているのに比べて、我が国賃金はどんどん下降している。

専門職にいたってはわが国の賃金は他の先進国の半分以下といった水準である大企業でも昇給はすずめの涙。入社二年目になったら住民税が引かれるので手取りはむしろ減るのが当たり前だ。

じゃあいったいどうしたらこの状況は変わるだろうか・・??

答えは簡単。ここまで書いた全ての事を逆にすればいいだけだ。

え?そんな無茶苦茶会社あるの?と思うかもしれないが普通アメリカ企業はこんな感じだ。

給料日本の数倍だし、昇給スピードも早い。

日本はいつまでこんな徴兵制度を続けるんだろうか?

こんなままでは生産性賃金いつまでも上がらないと思うのだが。

2018-10-23

https://qiita.com/Tommy_/items/bedc86bfcf7926d15f0e

果たして学生最初に教えるプログラミング言語はCで良いのか?ってのは情報大学学部でも議論紛糾してて、

データサイエンス教授Pythonでいいじゃんと言ってるし、

コンパイラ教授はCじゃなきゃアカンと主張しており埒が明かないですね。

中学生なのにすごいね、とか女の子なのにすごいね、と言われる

中学生なのにすごいね、とか女の子なのにすごいね、と言われると悔しいですね。 
女じゃなかったらすごくないのかな、とか思ってしまう。
https://twitter.com/YukiMihashi/status/1054325472480264192

小中高大のときは「女子」のほうが頭いいし、むしろ女子のほうがプログラミングなり音楽は秀でて当然ではないか

中学生で」というのは、ひとむかし前はパソコン1台30万で、コンパイラー10万は必要で、

そもそも敷居が高すぎてやる気があっても触れることすらできなかった。

今となってはブラウザで Ctrl+Shift+i のコンソールから alert("こんにちはこんにちは!! "); で即入門可能。恵まれすぎてる。

2018-10-21

普通プログラマ関数型プログラミング絶対理解できない

実を言うと、普通プログラマオブジェクト指向以前のプログラミング理解できないんだけど、あれらはまだ手続き的な要素を内在してるから、そっちだけを受け取ることはできる。

それまで手続き的な要素+宣言的な要素だったプログラミングが、関数型プログラミングへと移行する時に手続き的な要素を切り捨てたのね。より純粋手法進化するために。

から、それまで手続き部分だけを受け取って喜んでた普通プログラマは急にわからなくなりヒステリーを起こした。

だけど、プログラミング上級者はオブジェクト指向以前にも宣言的な部分しか見てないか普通プログラマが何を騒いでるのかわからない。

普通プログラマって、部品化の凄いやつが関数型プログラミングになるとか勘違いしがちだけど(staticおじさんもその変奏)、全く質の違うもの

部品化って、重複コードをひすたらサブルーチンに括り出すようなもの副作用がある。

日本SIer(日立NEC富士通とか)って教養がない極東田舎者から副作用理解できない。すぐに「部品化」を持ち上げる。怖いんだろう。自分理解できないプログラミングが。モナドですら大多数は理解できないんだものあん教科書的なものですら。

とにかくアジアってIT後進国なのね。トップ日本ですらこうなのだから。"NTT"データHaskellレガシーシステム脈絡なく解析してホルホルしてるレベルもの

まず日本に生まれた時点で、関数型プログラミング理解するには圧倒的に不利。こんなこと言うと、「普通プログラマにもわかやす説明できるのが一流ダー」みたいな恥ずかしい駄々っ子が沸いてくるけど、プログラミングって歴史上一度も大衆相手にしてないので。

昔は研究機関IBMで、今はMSGAFA

OSS恩恵で、普通プログラマコンパイラ無料で使えるようにになっただけで泣いて喜ぶべき。

そしてあれは、将来のスポンサーコミッタ入り口としてやってるの。1000人に1人、将来コミュニティに貢献する人材いるかもしれないと信じて。

シリコンバレー住人にもOSSコミッタにもなれない普通プログラマはまあ、おこぼれで"文化的"コスプレしてQiitaでもやればいいんだと思うよ。

anond:20181021093430

2018-10-18

いい加減テキストエディタプログラムを書く悪習はやめた方が良い

今はコードを書く苦労がIDE支援によって軽減されている。

MS製のVisual Studio Codeを使えば、MS言語TypeScriptも苦労せずに済む。

 

http://www.atmarkit.co.jp/news/200711/07/techday.html

Emacsは30年前には、すばらしいものだった。しかし、Emacs消滅すべき。現在Emacsが30年前のものと似ているのを見るのは、何だか寂しい」。

Javaの生みの親であるジェームスゴスリング氏は、UNIX上で標準的に用いられてきたテキストエディタEmacs開発者としても知られている。

ゴスリング氏は最近コンパイラや開発環境進化について触れ、「もうテキストエディタを使ってはいけない。NetBeansを使ってほしい」と語りかけた。

viIDEがない環境での緊急手段

 

anond:20181018101849

2018-10-16

anond:20181016211918

どうせ大半がbrainf*ck亜種だったり大学コンパイラ演習の課題作りましたみたいなんだろそれ

2018-09-22

anond:20180922130419

プログラムやってる人には、vary じゃなくて validate の方が意味わかるなあ

プログラムデータバリデートするって言ったら、そのデータが適格かチェックするという意味

文章バリデートするというのは、コンパイラで言えば、字句解析構文解析意味解析を行うということ

端的に言えば、文章文法的に適格かチェックし、また、意味的に矛盾してる部分がないか確認すること

エラーが見つかれば、コンパイラは処理を停止してエラーメッセージを吐く

まり、やってることがコンパイラ程度のことで、そこに自分意見はない、ということを言いたかったんじゃね?

2018-09-16

職業訓練IT系)に半年通った感想

(※半年といっても7月後半〜8月まで夏休みでした)

私は20代半ば手前の者です。

昨年仕事第一次産業)を辞めてしまい、学歴スキルもないのに何やってんだろ...と引きこもりかけたところ、

ハローワークで長期の職業訓練を見つけたので応募してみました。

それは専門学校委託される2年間の訓練でした。その間失業保険支給は、期限が過ぎても延長してもらえます

要するに入学料・授業料タダ、お金をもらいながら勉強でき、専門卒になれるチャンスというわけです。

(本当に有難い制度です。就職したら、きちん税金を納めて世の中にお返しするつもりです)

どうやら希望者は少なかったようで、筆記(中学レベル知識大丈夫でした)と面接はすんなり通りました。

受講するコースIT系を選びました。

(他には、介護系・看護系のコースがありました)

訓練の様子

専門学生に混じって授業を受けます

同じ訓練生は1割程度です。(30~40代の方が2人おられます

ほとんどは地元高校卒業したばかりの18才の子たちです。

ワイワイやる人が3割、静かな人が7割ぐらい? といった印象です。

男子100%ですが、ホームルームだけは女子100%のコースと一緒にやります

悪い人はいない感じで、授業が荒れて成り立たないとか、そういうのはなくてよかったです。

ただ、バイトが忙しいのか授業中イビキかいて寝ちゃう人や、全然授業について行けなくて辞めちゃうはいます

この辺の雰囲気大学1〜2年と似たような感じですかね。

授業内容とか

Office(前期のみ)

word,excel,powerpointを一通りやりました。PC操作に慣れていない人も多いので、

手取り足取りゆっくりやる感じでした。自分仕事で使ったことがあったので、課題を早く終わらせて

自学をしたり、隣の子に教えてあげたりしました。

C言語

terapadコマンドプロンプトを使っての授業です。(コンパイラborlandです)

SE先生(本人曰くCOBOLer)の説明聞いてから課題をこなしていく感じです。

入学前に、RubyやらJava参考書を一周してみたり、ドットインストールC言語動画を見たりしていたので、

授業にはついていけています

ただ授業だけだと完全に足りなさそうなので自学を頑張ってます

基本情報技術者試験対策

分野ごとに授業があります教科書を読んで先生が板書・たまに問題集プリントを生徒にやらせるといったスタイルです。

ただ試験対策なので、問題演習を重視した方が良いと思いました。

授業を聴きながら(たまに当てられるので)、ひたすら過去問をやっています

ちなみに学校は12月の修了試験合格すると本試験の午前問題免除)→来年4月の本試験 を前提にカリキュラムを組んでいますが、

私は年も食っているし、合格就職活動に間に合わないので、来月受験します。

就職指導先生応用情報技術者も取っておけ、と言われましたが、必要ですかね...?

勿論取らないに越したことはありませんが、Railsチュートリアルとか他の技術書時間をさいたほうがいいかな、と思いました。

アルゴリズム(前期のみ)

フローチャートや疑似言語を使って、バブルソート基本選択法など初歩的なアルゴリズム勉強です。

実際のプログラムコードの方がわかりやすい気がしますが、基本情報技術者試験対策なので仕方ないですね。

今も現場ではフローチャートや疑似言語は使われているのですかね?

そんなの古い現場しか使ってないよ、という意見はよく聞きますが...

HTML/CSS

先生意向でなぜかメモ帳推奨。(他のエディタを使っていたら嫌な顔をされた)

素人がいうのも何ですけど、ミス気づきにくいし、使いづらくないですかね...

案の定何でもないところでハマる人がいて、授業はよく止まってしまます

ブラウザ開発者ツールの使い方を隣の子に教えてあげたら、喜んで使ってくれていましたが、

やっぱり変なもん教えるなという目を先生から向けられちゃいました...

データベース実習(後期〜)

Accessを使った授業です。テキスト通りにやっていきます

Accessは初めて使いましたが、Mysqlをちょこっと触ったことがあるので、要領はなんとなく掴めました。

これも授業は遅いので、先に教科書の内容は家で一通りやってしまいました。

今はVBAの本をやっています

就職指導

ビジネスマナーや、ちょっとしたゲーム、話し合いなど。

グループワークとかやめてください死んでしまます、と思ったけど、意外と楽しめました。

ただ、喋らない人たちしか居ないグループだと、何を話しかけても反応が薄かったので、ちょっと辛かったです。

訓練(学校)の不満なところ

(勿論、アンケート等で学校側に伝えています

・授業で使うPCはメモリ4GBでもうちょっと欲しいなあと思いました。

エディタAtomUSBに入れて使っていましたが、カクカクでよくフリーズしました...

(VSCode大丈夫でした。)

モニタも19インチ正方形で、ウィンドウをたくさん出したい時は不便ですね。

どんな職場に行ってもどんな環境でも何とかやれ、という訓練ということなんでしょうかね。

そんな感じです。

1年生後半にRubyの基礎、インターンシップ強制)、就職活動の開始

2年生からは、Java,Rails,サーバ構築, データベース構築あたりの授業、という流れで進んでいきます

来年卒業します。

年齢が20後半になるので、周りの若い人たちと何かしら差をつけないといけないので大変ですが、

地元企業SE(Web系を希望しています)で採ってもらえるよう頑張ります

アドバイスがありましたら、いただけると嬉しいです。

追記

拙い感想文にいろいろと反応いただきありがとうございます

>>学費取れないぶん設備が劣るのは仕方ない気もするが

もっともです。私は皆様の雇用保険から学校に通わさせていただいているので、文句言う立場じゃないですね...

ただ、年100万近く払っている一般生徒の方は、不満に思っているかもしれませんね。

>>田舎で数年間無職してるけどIT系就職訓練無くて最悪 羨ましい 田舎ゴミ 

そうですか... 私の住んでいるところも地方都市ではない田舎なのですが、

近隣にIT企業進出してきていることもあってか、今年からIT系が訓練の対象となりました。

都市部ではない地域も、もっとIT系の訓練が拡充されると良いですね。

>>otihateten3510 基本情報さえ取ればどっかに潜り込めるだろうから、そこで3年くらい真面目にやれば結構いけるとおもう。

>>コード書けると良い。/授業はまあそんなもんだよね。現役の人に聞いたほうが正しい。/東京のほうがイージー

ちょっと精神的に病んで前の仕事をやめてしまったので、家族サポートを得て、地元就職しようという情けない有様でございます

なんとかしてこちらの企業に潜り込みたいと思います

仕事事情は、やはり現役の方に聞くのが一番ですね。企業訪問インターンで色々聞いて見ようと思います

2018-09-12

anond:20180910094331

なんか書いといたほうがいいような気がしたので書いておく。

組み込みといっても範囲が広く、

最初あなた相手にするのはRAM 1kB, ROM 4kB、クロック 20MHzなどというMCUである

なんてところもあれば、中身はARMLinuxですみたいなところもあるし、その中間RTOS使ってます。ということもある。

ただ、歴史的経緯として、マイコン制御などと呼ばれていたような時代から組込みソフトウェア開発がはじまって、

時代をくだるにつれて最終製品機能が高機能化、複雑化するにしたがってソフトウェア開発の規模も比例的に、

あるいは指数関数的に拡大しているわけで、NonOSアセンブラやCで書くという仕事相対的に減っている。

(なんせ、ある程度高価格、高付加価値製品を作らなければ国内メーカーは潰れるしかない)

なので、一番規模が小さいところの仕事はなくなりはしないし、働いている人は食いっぱぐれないとは思うけど、

わざわざ新たに飛び込むのは正直オススメしない。

で、問題は規模の大きい方で、当時マイコン制御をやっていたようなベテランやそれに薫陶を受けた開発者

勉強」をせずにこちらの方にコンバートするとどうなるかという話だ。

コンパイラC++11,C++14であるにもかかわらず、Cもどきコードを書くし、プロセスは巨大だし、

強烈に古臭いアーキテクチャを擬似的にOS上に構築してしまう。

その結果出現するのは、ひたすら肥大化アンタッチャブルになったコードと原因不明バグである

IoTがどうのこうのなんて言っていても、組み込みが専門じゃない人がラズパイセンサー買ってきて

一日半あればできるようなことを、ああだこうだやっているようじゃやっぱり生き残る道はないんじゃないかなー。

2018-09-09

プライベートでは一切勉強したくない」エンジニアおすすめ職種

おいでよ組み込み系ワールドへ。プライベートで一切勉強しなくてもそこそこの収入とよその会社からスカウト殺到エンジニアライフあなたを待っている

組み込み系のいいところ

組み込み系のよくないところ

(ソースコードの最新は共有サーバのこのフォルダなんて運用だったり、コンパイラの都合でwindows XPを使ってたり)

ブコメを見て追記

年次で昇級するってのは人によってはデメリットに感じると思う

今回おすすめしてるのは「プライベート勉強しなくても周りと大して差がつかない」という理由なので実力者はそれに見合う環境選択したほうがいいですね。

目に見える範囲競争が緩いとこが多いので業界丸ごと外国から黒船駆逐されたら諦めましょうの精神。ゆるくやっていきましょう。

プライベートでは一切勉強したくない」って言ってる人が、意味不明不具合にぶちあたって自力解決できるとは思えない

これは鋭い指摘で、問題を解法のパターンマッチングで処理するタイプの人は厳しいかもしれない。

時として宇宙線によるメモリエラーとか突拍子もない原因の不具合に遭遇することがあるので目の前で起きている事象論理的に切り分けられる人でないと仕事量が爆発するかも。

2018-08-12

なぜSQLけがこの世界で未だに職人芸じみているのか

1.リファレンス無料で読めないか

標準SQL仕様書は有料である。このご時世ありえん。

たとえばC#など.NET系のリファレンスMSDNで読むことができる。

RubyだってHaskellだってScalaだって公式サイトガイドぐらい置いてある。

そもそも標準SQLサイトは有料ですら見つけるのが難しい。

2.実装ごとに仕様が違いすぎるから

OracleDB2MySQLPostgreSQLSQLite、AccessなどSQL実装されたDBMSは様々にあるが、どれを取っても仕様が違う。

皆が標準SQLに従っていてその上で適当増設している程度ならよいが、もはや誰も標準SQLに従う気が無い。

この点でCコンパイラ多様性のようなものとはわけが違う。

根幹的に必要機能があったりなかったりするから、あるDBMSで書けるようになったからと言ってSQLを覚えたとは言えない。

これと上記1とのせいで、何かググった時に特定DBMSしか解決法にならないものが大量に出てくる。

3.最適化人間任せだから

最近プログラミング言語は大抵、雑に書いたってコンパイラ適当最適化してくれる。

同じ結果を生むような二つのコードは、よほど下手くそに書かない限りは同じような実行速度になる。

SQLオプティマイザが最適化はするが、ほぼ同じような二つのコードで速度が全く変わったりする。

そのため実行計画というオプティマイザの中間言語のようなものを読んであげて、

より速い中間言語が生成されるようSQLチューニングし直さなければならない。

これでは何をやっているのかわからない。

有名なサイトでは、初心者必死で書いたような可愛らしいSQLを「それでは遅すぎるんじゃ」とけちょんけちょんにけなし、

なんかシンプルなのだけれどよくわからない文法を一杯使って実行速度を高めたのを「正解」としていたりする。

しかもその文法、ググってもろくな解説が無かったり、特定DBMS依存してたりと使えないオチ

4.スタイルガイドがないか

上手い人はSQLを綺麗に書く。だけど、その綺麗さの基準が人によって違う。

エディタが単なるメモ帳しかないようなDBMSも多いから、インデント文字数さえ個々人に任される。

インデントは2文字か4文字か。SELECTで改行するかしないかカンマは列の後ろか、前か。

いろいろなサイトに色々なことが書いてあったけれど、全部違うこと言ってた。

まり各々綺麗に書ければいいやということであり、読むほうも宗教が違ってもまあ綺麗なら読めるから困りはしない。

困るのは初心者である

何かの解決法をググるたびに違うスタイルからどう書いていいのかわからない。

結局なんかいろいろな上手い人のスタイルをツギハギした新たなスタイルが世に誕生してしまうのだ。

最後

だけど、そんな職人芸じみたSQL世界が私は好きです

アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん