はてなキーワード: mySQLとは
駄文なので最初にまとめておくと、知識ゼロ異業種から転職して何とかエンジニアとしての人生を始めました、という話。経歴がショボすぎて誰かの道標にすらならないだろうけど書き残しておく。実名で書く勇気はないので増田にて失礼。
PCを初めて触ったのは4歳の頃。
黒くてごついボディが幼心にぐっときたのを覚えている。この記憶があったためか、初めて自分で購入したPCはThinkPadだった。
我が家にインターネット開通。深夜に親が寝てからこっそり2chとニコニコ動画を見ていた。PS2でドラクエ8をやってグラフィックに感動する。まだプログラミングという言葉は知らない。母親のヒステリーと父親の拳骨に耐える日々だった。
地元の高校に進学。友人とホムペ(死語)を作成。html/CSSで文字の色か変えられたりアニメーションをつけられることに気付く。この頃もまだプログラミングに目覚めない。プログラム?理系の人がやるお仕事なんでしょ?という雑な認識であった。
もちろん文系学部に進学。人の視線が怖かったので前を向いて歩けず会話もままならなかったが、制服が可愛いという理由だけでお洒落カフェでバイトを始める。私は阿呆だが、この阿呆さないしは無鉄砲さでエンジニアになったと言っても過言ではない。
新卒入社した会社を3ヶ月で退職。支えてくれる彼くんとかもいなかったので実家でお通夜してた。鬱も発症して薬漬けになった。対面で人と話すことが難しいため、テキストベースで仕事ができる職を探し始める。ここでやっとプログラミングに出会う。
何にせよ無職だから時間は腐るほどある。ヨドバシでカモ丸出しの顔をしてThinkPadを買い、Javaで簡単なアルゴリズムを実装することから始めた。フィボナッチ数列を生成するとかクイックソートを実装するとか。あと5日ぐらいかけてServlet/JSPとMySQLでTODOリストを作った。
2ヶ月ほどJavaをやった頃、無謀にも機械学習に手を出し始める。本を一冊買って隅々まで読み込んだ。この頃から鬱が寛解し始める。プログラミングに夢中になって、1日12時間以上はPCの前に座ってひたすらコードを書いていた。不思議と疲れはなかった。ゲーム用に買ったデスクトップPCにそこそこ良いGPUがついていることが判明したので、Tensorflowでモデルもどきを作り、AI(笑)を組み込んだポートフォリオ用webアプリを3ヶ月かけて作成した。サンプルコードを超える範囲はドキュメントを読む、適宜技術書で知識を補うなどしてなんとかオリジナルと言えるコードをひねり出すこともこの頃覚えたと思う。なお肝心のモデルはチューニングは一切していないわ当然精度も悪いわでその筋の人が見たら鼻で笑うレベルであるが、一人でアプリケーションを作り切ることができたのは大いに自信に繋がった。
ポートフォリオを持って5社ほど受け、うち1社の小さな受託系企業に内定を貰い、無事職にありつくことができた。文系未経験第二新卒を雇う勇気を出してくれた会社には感謝しかない。
会社規模が小さいからか、個人の裁量が大きく、設計から実装、テストまで何でも任せてもらえた。良き上司に恵まれ、主にUnityやスマホアプリの開発を担当し、技術の奥深さ面白さに触れさせてもらった。自身が実装を担当したアプリが世に出ていくことの喜びみたいなものも味わえた。この会社は昨年度退職し、現在は500人規模の自社開発系企業でiOSアプリエンジニアをやっている。スキルは未熟だし対人恐怖的なものも治ってはいないけど、私はプログラミングが好きで、エンジニアとして骨を埋めたいとか身の程知らずにも思っている。
ご覧の通り、私は幼い頃からプログラミングに触れたりモノづくりをしていたわけではない。むしろ目覚めは遅い方である。そういう人でも興味があるなら、ITエンジニア目指してもいいんじゃないか、そうであってくれ、という気持ちで書いた。読んでくれてありがとう。プログラミングはいいぞ。
自分はプログラミングほぼ未経験(大学の学部時代にCのコードを写経して動かすと単位がもらえる謎の講義に出たことがあるぐらい)の状態から、社会人になってから独学でPHPを勉強していわゆるweb系のソフトウェアエンジニアに転職した。以後8年近くソフトウェアエンジニアとして働いている。
初心者向けのプログラミングスクールの話題が尽きないが、スクールに通わなくても独学でもなんとかなった自分みたいのもいるよ.という例を紹介してみたい。このエントリがプログラミングに興味がある人の役に立てば幸いである。昔の話なので出てくる話題が古いのはご勘弁いただきたい。
なお、web系のソフトウェアエンジニアになる前は、上流系SIerでExcelと顧客折衝をがんばるSEをしていた。基本情報ぐらいは持っていたがコードを書く業務は一切なかった。
初めてプログラミングを学ぶことになったんだけど、正直全然理解が進まなくてしんどい。
・コーディングするのは初めて
・Javaではない言語だがバグ特定のためにデバッグすることはある
12月半ばから始めたオンラインの動画講座で、初歩的なところから初めてMySQLとかJSP/サーブレットを使って簡単なWEBアプリを作るところをやっている。
解答というか、書かれたコードをみるとなるほどそうやってやればいいのねと思うものの、いざ自分で書こうとすると手が動かない。複合的になるにつれ、こことここで学んだ書き方で書けばいいというのがわからなくなっていくというか…
書き方については見返したりしながら進めているので知識は頭に入っているはずなのに、部分的に?理解していて頭の中で繋がっていないのか。
始めて1ヶ月もたってないので、そんなすぐは書けるようにはならんだろと思うものの、自分で書けなくて結局分からなくて解答見てしまうのが悔しい。でも解答見なかったら先に進めないんだよな。
プログラミング学んでる人、こういう書き方をすればいいんだなってどうやったら思いつくの?経験?
※向いてないというコメントはなしで。趣味ではなく必要なのでやっていて、嫌いになるとモチベが上がらないのでできるだけ前向きにいきたい。
昔数学を始めた時にxとyが出てきて、二次関数くらいから全然解けなくて泣いた時の気持ちに近い。今となってはなんでそこにつまづいてたのかもわからないけど。
何事もなければ社長が死んだショックだけで終わったかもしれない。
7Payと言えばわかるだろうか。詳しくは書けないのだけど、あれと似たようなことが起きてしまった。
かなりのストレスだったと思う。ネットで調べたところ、急性心筋梗塞はストレスでも発症することがあるらしく、そこが少し引っかかってしまった。
様々な理由から現状社長の訃報を知らせるページを検索エンジンにインデックスされないようにしています。
もし心当たりのある会社があった場合でもリンクは貼らないでいただけますようよろしくお願いします。
使うのであれば、ライブラリ、フレームワーク、ミドルウェアの更新(バグ、脆弱性情報)を一生追い続ける覚悟で使ってほしい。
テスト自動化とかそういう発展的なものではなく、もっと根本的なテストについて勉強してほしい。
コードレベルのカバレッジとかそういうのではなく、「境界値分析」、「デシジョンテーブル」、「オールペア法」、「直交表」こういう物について勉強してほしい。
他にもいろんな手法はあるのだけど、上記に上げたもので1個でも知らない単語があった人は今すぐ検索してほしい。
いくら進捗が悪いからと言ってお客さんに順調などと嘘をつかないで欲しい。
遅れている理由を正直に言って(例えばテストの工数が膨れているとか)相談すればお客さんもわかってくれるかもしれない。
また、テストの質もそこまでの物が求められていないとかがわかるかもしれない。
お客さんに相談しないで工数圧縮の為にろくなテストも書かないで動いてるからいい!っていうのは危ない。
自信がない、もしくは、やったことがない・使ったことがない、などは正直に話してほしい。
もしかしたらそのせいで給料があがらなかったり、出世できなくなったりするかもしれない。
だけれど、その嘘のせいで他の誰かに負担がかかったり、他の誰かが不幸になるようなことがあってはいけないと思う。
これに関してはいろんな批判があることは覚悟している。嘘をついてでもいろんな経験をした方がいいって言う人もいると思う。
それでも、どうしても書きたかった。
別にLPIC(LinC)は持ってなくてもいい。本屋で適当に対策本をパラパラめくって、聞いたことのない単語がないレベルであればいい。
インターネットには嘘が散りばめられている。昔は本当だったけど今は嘘になっているものだってある。
一番いいのはエラーメッセージを出している物のソースコードを読むこと。二番目はドキュメントを読むこと。それでもわからない時だけ検索してほしい。
そして、その情報が誰が書いているかをよく見てほしい。書いている人が本当に信用できる、かつ、更新日付が近かったときだけそこの内容を信じてほしい。
公開リポジトリにpush/commitされているメールアドレスを収集している人がいるということ、
公開リポジトリにpush/commitされている秘密情報を収集している人がいるということ、
RDBによってはSQLのIN句に指定できる数に上限があること、
他にもいろいろあるが、1個でも知らないものがあった人は検索してみて欲しい。業界にもよるかもしれないが、本来であれば最低限知っておかなければいけない知識。
これを知らないと適切な設計、ましてや適切なコーディングすらできなくなる。
ぼくはエンジニアに向いてない
というかトランザクションを見逃してた、トランザクション上手くやりたいならまともなDBMS入れないと無理
誰も使ってないWindows PCとか転がっていればSQLServer Express(無料)とか入れてやる?通信の面倒くささでいえばSQLiteと一緒だろうけどエンドユーザー側がドライバとかインストールする必要はないはず(ODBCデータソースの設定は必要、めんどくさい……)
どうせODBC使うならドライバインストールくらいって思ってついでに増田がLinux慣れしてるなら鯖立ててポスグレでもMySQLでも何でも使えばいいと思うけど
SQLServerのOLEDB接続、廃止されたもんだと思ってたら復活していたらしい エンドユーザー側の設定不要だと思うからこれが一番楽かも?
追記2
3ヶ月くらいかな。特にJavaScript, PHP, AWS, MySQLはかなりやったよ
TwitterとかLINEのような有名SNSのWebアプリとか
>3X歳で突然Rubyを習い始めても、技術者になるのはかなり難しい
俺、41歳でHTML, CSS, Adobe XD, JavaScript, Vue.JS, PHP, MySQL, AWS, Gitを1日10時間くらい勉強して必死にポートフィリオ作って
今はアプリ作りながらDirectX12とC++の勉強してて、そこそこの3Dグラフィック扱えてるし
ゲームするだけなら、ログインしたユーザと、そのユーザに関連したデータだけあれば良さそうだが
中央では、ユーザを跨いだシステム全体のデータを検索したり、集計したりする必要がある
そうすると、JSONファイルでは厳しいので、SQLなどを使う
無料で使えるRDB=MySQL、PostgreSQLなど
PostgreSQLでもMySQLでも、dumpしてインポートするって基本は同じだと思うが、バージョンが違うことによるエラーに遭遇すると、一筋縄では行かない
SQL Serverだと簡単なのかは知らないが
コンピュータ・サイエンスを専攻してる大学生なんだけど、最近自分自身がエンジニアに向いてないんじゃないかって感じてる。ていうのも、周りの知人が大学生エンジニアとしてバイトしてたりする中で、同じように企業に混じって開発経験を積んでいくことに億劫になってやる気がでないし、流行りの技術に対して貪欲になることができないんだよね。例えばMySQLとかPythonとかが今の流行りだと思うんだけど、上辺だけの浅い知識をすくってるように見えるから冷めた目で見てしまってやる気がでない。結局、作りたいものがないからそうなるんだと思うけど。ただ技術その他の勉強が嫌いかと言われるとそうではなく、プログラミング言語だとC++とかLispとか本気で勉強してある程度理解できるようになったし、数学も統計に興味があってルベーグ積分までやったし、英語も英検準1級を持ってるし(その他もいろいろ勉強してるけど省略)。だからおそらく自分はただ勉強が好きなだけなんだよね。でもそれをもってエンジニアの世界に飛び込もうと思うととたんに億劫になる。だからただ自分の知的好奇心を満たすのが面白いだけでエンジニアとかにはさほど向いてないんだろうなって思う。他の人で同じように感じてる人っているのかな?
この板で言うと、PostgreSQLでもMySQLでもどっちでもいいのに、気にするコミュ障がいるといっておくと、察してもらえますよ
MySQLなんかマイシクルというかマイシコーというか、要するにbicycleと韻を踏むような読み方な。mycycleみたいな。