忍者ブログ
RoboCup Junior Japan Rescue Kanto OB

             2005~2013
[1]  [2]  [3]  [4]  [5]  [6
最初に断っておくと、転職絡みの話ではありません。

まず経緯から。

ちょっと色々ありまして、Pythonをまた触ることになりました。

「また」といっても今回の案件はPython3でして、今までは仕事の関係で2しか触ったことがなく、

しかもそれが3年半前という、これからPython3案件を請けるにしては、割とヤバイ状況でして、

どうにかしてリハビリがしたい・・・でも今Pythonの環境持ってないし・・・


・・・ということで、オンラインで何か面白いリハビリ材料を探していたら、ヒットしたのがpaizaでした。

paizaというのは、ITエンジニア向け転職・就活・学習サービスで、恐らくかなり新興のモノです。
少なくとも僕が学生の頃にはなかったハズ・・・


職業エンジニアの方からするとオンラインコーディングができるこちらのページの方が有名かもしれません。

基本的には転職サイトのようなのですが、プログラム関係の学習サービスを展開しているほか、

スキルチェックというサービスがあって、paiza上でランク分けされたプログラムの問題を解くことによって

ユーザーのランク分け機能がある他、AtCoderのようなレーティングなんかもあったりします。
なんかpaiza側の解答が間違っている問題がちらほらあるみたいで、レーティングはあまにリ参考にならないかもしれません・・・

ぶっちゃけ上の方は競プロ絡み案件で、あまり実務には適さない問題も多く、

正直あまり興味はないのですが、スキルチェックの問題を利用すればPythonのリハビリになるのでは?と思いまして

とりあえずその場のノリでスキルチェックをやってみることにしました。



paizaのランクはS、A、B、C、D、Eの6ランクが存在し、問題のランクはS、A、B、C、Dと5ランクあります。
実は自分はpaiza自体は2年ほど前から登録だけしてる状態でして、ずっとEランクのままでした。

自分のランクよりひとつ上の問題が一問でも解けたらランクアップとなります。ランクダウンはないっぽいです。

どうやらpaiza自身はこのランクに随分と大きな自信を持っているようで、

高ランクになる度に耳障りのいい台詞を見る機会が増えていきますが、噓八百と考えたほうがいいでしょう。



で、一番易しいDランクの問題を初めて見たのが今から5日前になります。

スキルチェックでは色々な言語が使えるようで、僕の知らないプログラミング言語も対応しているくらいでした。



で、Dランクの問題ですが、

記憶にないです。
※因みにスキルチェックの問題は外部に記載が禁止されているそうです。


いや、なんか簡単というか、流石にこれで終わらせるのブログとして色々アレなので、

この記事を書くにあたって、paizaのログに残ってる自分の解答を見直したのですが

1行しか書いてない。

マジでこれ書けなかったらこの業界来ない方がいいぞ・・・?って本気で思うレベルでした。

ソースを見ても特に言うことが増えなかったので、さっさとCランクの問題に行きましょう。







Cランクですが、

これも記憶にないです。

ログによると、この辺からif for whileの条件文を書き始めたみたいです。いや待て大丈夫かこのレベル


これもマジで特記事項が何もないので次に行きます。






Bランク
です。ここで2日目になってます。

ちょっと複雑なアルゴリズムになります。プロでも凡ミスしてアウトになる可能性があるのはここからでしょうか。

多重ループ回したり、簡単な文字列操作があったり、ロジック組んだりし始める、くらいのレベルですね。

この辺りから既存で用意されているテストケースをクリアしたヨシ!で提出すると、

境界値などのテストケースでカバーされていない範囲で弾かれて乙り出します。

私はCまでの問題が簡単すぎたせいもあって、余裕こいて確認せずに提出して1問殺しました(懺悔)


とはいえ、一般的なレベルで境界値やコーナーケースに注意すればそこまで難しくはないでしょう。
さっきのと別で大いなる力に弾かれて1問時間切れになりましたが(#^ω^)<鯖落ちクソ



D、Cと反射で解けるクソ雑魚ワンパン問題だったのに、Bでいきなりアルゴリズムを要求されます。

インターネッツ大航海をしていると、Bで急に難しくなった!という声があったり、

paiza的にもBをクリアすることで、応募可能な求人が一気に増えるそうです。

個人的な意見としても、Bがクリアできていれば一般的なIT系のPGとしてはやっていけると思います。

Bランクというのは「業界で最低限やっていけるかどうか」の結構大きな境目になっているのではないでしょうか。

それに、正直ここから上の問題が解けたところで、それが現場で生かされるケースはかなり少ないと思います。
プログラムを「計算」に使う分野じゃないと使わない知識かなぁ




さて、次にAランクです。2日サボったのでここで5日目です。

Aランクは、難しいです。

というか、ウン年間触れてもいないような言語でやるような問題ではないです。

具体的に言うと、Bランクまでは、プログラミング言語の使い方とかアルゴリズムの考え方とか、

プログラムやる上で普遍的に必要なレベルの範疇の問題だったのですが、、、


Aはアレです、方向性が競プロです。

そろそろリソースを考えてプログラムを組んでいかないとヤバイ感じになります。

ソースの実行時間に制限があったり、使えるメモリの量に制限があったりします。


いや、本当はDランクの問題からこれらの仕様は存在したのですが、

引っかかることがなかったので実質ないも同然だったんです。

なのですが、Aに関しては計算量考えてアルゴリズム考えたり、容量意識したメモリ取りが必要になります。

多分競プロ御用達のアルゴリズムとかがいくつかあるので、その辺の勉強が本来必要なんだと思いますが、

私はゴリ押しました。

いやだって、アルゴリズム自作したほうが早いし楽だし、人が考えたものってわかりにくいよね。


でも時間とかメモリとかの仕様を知らなかったせいでクリアには時間がかかってしまいました。

タイムアウトしたり、Pythonの再帰の上限値設定の存在を知らなくてランタイムエラー吐いたり・・・


そんな感じでやらかしまくって問題をいくつか落としてしまいました。

というか、問題によっては時間ギリギリになるせいでトロいPythonでは実行できずC++で書かされたりもしました。

というか、クリアした問題がそれだったのでAはPythonじゃなくてC++で解いています。


・・・そう、PythonじゃなくてC++で解いてしまったんですよ。

Pythonのリハビリで始めたのに!!!

手段と目的が入れ替わってしまった!!!

paiza、恐ろしい子。






では最後、Sランクです。これ解いたのがさっきです。ここまで実働3日!

Aの問題見る限り、Sも競プロ系だろうし解かなくてもいいかな~っていう気にもなったのですが、

やるからには一番上の方が気分いいじゃん?ということでタダの見栄、特に細かいことを考えずに突撃しました。


ただ、問題を選ぶときって問題のタイトルしか見れないんですよね。

問題選んでスタートしてから問題文が見れるので、選んだ問題がPytthonで解けるかどうかはガチャなんです。


まぁ結果から言うと、ガチャでSSR当てました。

問題文に振れない程度に内容を言うと、構文解析系の問題でした。

正規表現かけて回して再帰するだけの簡単な問題。正直Aより簡単だぞ?って思いながら解いてました。

この問題だけなのかもしれませんが、特に計算量とか気にする必要もなかったので、

もしかしたらSとAは問題の差異があまりないのかもしれません。


正規表現の実装は言語によって微妙にニュアンスが違うので、そこの設定にちょっと時間がかかりましたが、

それ以外の箇所は問題なく、普通に一発クリアでした。Cランク挑戦時以来の一発クリアですね。




という訳で、SランクをPythonで解いたので、最後はちゃんとリハビリを行うことができました!


Sまで解いた総括としては、Sはまだ問題を1問しか見ていないのでなんともですが、

自分のレベルならAで解けない問題はないかな?という感じです。尚凡ミスで乙る模様

paizaのサイトにはSランクは上位3%しかいないスーパープログラマだ!みたいな能書きが垂れ流されていますが、

大嘘だと思います。

その上位3%の母数には僕みたいにpaizaに登録してから

年単位でランクEのまま放置している人間が大量に含まれているんだと思います。


paizaのSランクについての認識を世間と共有するためにググってみたのですが、皆さん概ねその認識のようです。
いや、なんか、採用の面接でpaizaSランクです!ってドヤ顔するのに使っている層が一定数いるらしいのですが、絶対逆効果だと思います。

ただし、内部的にAランクとSランクで採用に関して区分けがされているパターンはあり得ると思いますので、

就活でpaizaを使う気があるなら、一応Sランクに上げておいた方がいいかと思います。
具体的に言うとランクSユーザーしか企業側にレコメンドされないとか、そもそも応募基準にランクがあるとか・・・



巷ではSランクにあがるためのなんとか~みたいなことが書いてあるサイトもいくつか散見されていましたが、

ぶっちゃけちゃんと勉強したら誰でもSランク、取れると思います。

というか、ノリと勢いだけで取れたので、本格的な競プロ系の勉強はしなくても取れるんじゃないかな。



多分アルゴリズムで詰まるようなレベルの問題はSランクでもそうそうないと思うので、

落ち着いて出力形式見て着実に入力条件縛ってコーナーケース確認して境界値も見て・・・ってやれば


Bまで解ける知識があるなら(再起の知識があれば)誰でも行けると思います。

再帰使った探索はちょっと頻度高いので、それは流石にわかってないと厳しいかな?って感じですかね。


・・・いや待て、この記事はSランクを目指すための記事じゃないんですよ。

この記事の目的は


paizaのスキルチェックはリハビリは初めて触る言語の勉強に使えますよ~

ということを紹介するためのお話でした。リハビリに使うならまずはBランクがおススメです。

という訳で、ここまでご覧いただきありがとうございました。paizaさん、宣伝したからお金ください


(^・ω・)ノ RadiumProduction at curonet
なぜか前回のダンガンの記事が反響があって混乱してます。

自分はSリボルバーやWレイザー最つよ世代でFレース以降はそこまで詳しくないのです。。。

ハードはクソ雑魚ナメクジなので地区大会決勝までは残るけど全国には行けないくらいの位置にいました。
その後別ジャンルに転向した後河童に転向して、そっからのことはこのブログに書いてありますね

言いたいことは記事タイトルに書いてあるので、結論だけ見たい方はタイトルだけ読んだらブラウザ閉じてOKです。
死んでません。死んでませんよ。

9月、10月は(今も)色々忙しかったので一切更新していませんでした。が、ブログは生きています。


本日のネタは先日、某SNSから流れてきた話。
卒論はとりあえず出せたので後はパワポ。というか卒論関係ないラボの仕事自重してください。

今日はブログの方にSyntaxHighlighterというものを導入してみました。
全甲萩風着任ワンチャンありました。後は酒匂堀(´・ω・`)


今日は久しぶりにC言語の話。


プログラムを、書いていました。
ソロモン海方面に出撃して2日目の夜になりました。()

それとは何の関係もありませんが、今日は確率の話です。それも常識的な範囲の話です。
python一色なのが最近の日常です。


というのも、Haskellと触れ合う時間は終了し、prologともしばしのお別れ。

Rubyは正直飽きたし、C++やC++はもう使いたくないということで最近はpython勉強してます。
Java?もう一生使いたくない


色々紆余曲折あって、今pythonでアプリケーションを作ることになったということもあって、

今起きている時間のほとんどはソシャゲとアプリケーション製作に使われています。


twitterで僕のアカウントをフォローされているかはわかると思いますが、

昼夜問わず発狂しているのは主にこのアプリケーションが原因です。

pythonというより、GUIライブラリの方が仕様が謎すぎて毎日がカーニバルですね。\カーニバルダヨ/


最初は
PyQtを使おうと思ったのですが(大学に師匠もいるし・・・)

C++主体で、C++以外の言語でやろうとする色々と不便極まりないことがわかったので、

今回はwxpythonを使っています。

wxpythonについては日本語の資料が少ないようなので、そのうちコーナー記事を書いていこうと思います。
これ以上コーナー増やすのかとかいう声は気にしない。

とりあえずまずはアプリリリースからですね。

バグがありすぎて到底リリースとか遠い話ですが、できたら9月中に出したいですね。


という自爆告知をしたのが今日の記事でした。進捗を見て煽りたかったらTwitterをご参照ください。


(^・ω・)ノ RadiumProduction at curonet



お久しぶりです。7月最初の更新ですね。

実は風邪でぶっ倒れていて、ココ暫く全然大学に行っていなかったりする人です。



今日は新しいプログラミング言語に初めましてしたお話です。

毎度毎度のことですが、覚える言語多すぎです。

Octaveは数値計算用のインタプリタ言語だそうで、若干Rと趣向が似てる言語です。


個人的な感想としては、難しくはないけど慣れない感じ。というところでしょうか。


ただ、流石は数値計算用というだけあって、行列計算の簡単さが光って見えました。

'を付加するだけでだけで転置行列になるっていう仕様は便利ですね。(小並感)


・・・。



実は触ってみたものの、今週は体調がちょっとアレなせいで触ったといいうか触ってないというか・・・。


これ以上は殆ど何もしてないので書くことがなくなってしまいました。

また今度ちゃんと触った時にレビュー書きますね。


という訳で今日はこのへんで。只の生存報告だと思ってください。


(^・ω・)ノ RadiumProduction at curonet
10日以上更新をサボってました。いやサボりたくてサボってたわけじゃないですよ。

ちょっとレポートがお察しなことになってるんです。やばいんです。



大学生活が始まってはや2ヶ月半。既に高専時代のほぼ全てが跡形もありません(´・ω・`)

メインで使っているPCも変わりましたし、サブPCもAsusの13インチから、AcerのタブレットPCになりました。
高専時代から残ってるものってTwitterアカウントとdropboxくらいじゃないでしょうか・・・。



メインで使っているプログラミング言語も高専時代はPHPとCだったはずなのですが

今はRuby,Python、C++、Haskell、特に今はPythonとC++の合わせ技を多用しています。

といってもこの言語たちはまだまともに始めてから1ヶ月も経っていないので、使えるかというとまぁ微妙ですが・・・。

それ以外にもlisp、prolog、R、Dなど、使える言語が知らないうちに増えていってます。尚英語は使えない模様。

因みに今日は2年ぶりぐらいにBrain*uckを触りました。なにがしたかったのかは謎です。



あと大きく変わったのは回路には一切触らなくなった上に、

高専の頃まではメインであったはずのwebページのプログラムとマイコン関連の組み込みのプログラムを

一切しなくなったことですね。

つまり、高専の時にやっていて、大学入試の面接で言っていた

「僕は今までこれこれこういうことをやっていて、大学では更にこれを深めて云々かんぬん」

という項目を完膚なきまでになかったことにしています。


公約をなかったことにする政党の気持ちってこんなかんじなんですかね。ここまで行くと完全に詐欺ですね。



本当にここ数ヶ月は高専の時には考えもしなかったような世界に突撃をかけています。

まぁ勿論、単身突撃なんてしてたらとっくに死んでます。編入仲間がいなかったら4月の時点で干されてます。


編入において一番大事なのは編入仲間とのコミュニティだよ。うん、間違いない(´・ω・`)



今回はそんな感じの近況報告でした。

実は書く内容はいっぱいあるのですが、あれもこれもまだ公開できるものではないので、

暫くはどうでもないような内容の記事や既存コーナーの続投の内容が続きそうです。


それでは今日はこのへんで

(^・ω・)ノ RadiumProduction at curonet
ちょっと前にも同じような話なんてしてませんよ。


とある実験の授業でシミュレーションを行う機会がありまして、

前方からWindowsを使う圧力()を受けたのですが、WindowsのCの環境

いわゆるVisual Stadioの使い方がよくわかってないという問題がありました。


そこでふと資料を見たら課題で使用可能な言語の中にR言語の文字が。

そして隣のPCではR言語でカタカタと。


これはもう、しょうがないですよね。


というわけで、R言語に初めましてをして物理シミュレーションを行いました。
僕が分からないようなVisual Stadioを作った某会社が悪いんです。

起動した感じはPythonやprologに似た印象を受けました。この子もスクリプトですね。

不慣れなリスト構造とかなんやらかんやら使って謎なプログラムを作成し、

最終的には前後運動する謎の物体に取り付けたラックが、振り子の支点に設置されたギアを回して

振り子の周期を安定させる謎シミュレーションを作りました。反省はしていない。



R言語ってタノシイネ!多分もう使わないけど。


(^・ω・)ノ RadiumProduction at curonet
Pythonの方の進捗は割とスムーズですが、Rubyの進捗はダメダメです。

これは次のアプリケーションはPythonが採用されそうですね。


というのも、Mecab使って形態素解析をやってみようと思ったのですが、

Python→一瞬で実装完了

Ruby→Ruby2.1に対応していないのか、何をやってもエラーを吐きつづける


この差はいったい・・・。

やっぱりPythonの力は偉大でした。

という話。


やっぱり現行の言語はPythonとHaskellの2強なんですかねぇ。

(^・ω・)ノ RadiumProduction at curonet
カレンダー
02 2024/03 04
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
最新CM
[05/09 ONE RoboCuper]
[05/07 HDD ほしいよー]
[04/21 ブラック3辛]
[12/26 bols-blue]
[06/08 ONE RoboCuper]
かうんた
カウンター カウンター
らじぷろ目次
らじぷろ検索機
プロフィール
HN:
Luz
性別:
男性

PR

忍者ブログ 2007-2021,Powered by Radium-Luz-Lα+-Rescatar in RadiumProduction [PR]


Related Posts Plugin for WordPress, Blogger...