はてなキーワード: mvcとは
githubでなにか作ったものをアップロードするのは、自分向きではないことに気がついた。
私が仕事で作っているようなwebアプリケーションというのは、誰でも使える一般性の高いものではなく、もっと特定のビジネスに依存した特殊なものである。
だから一般的な誰でも使えるようなものを作るというのにはあまり慣れていないのだ。
なにか作る場合はkaggleのほうが遊び場として向いていると思っている。
kaggleで「コンペ」に参加するつもりはないし、あれはBERTが出現したぐらいからは、少なくともNLP(自然言語処理)界隈は不毛な場となってしまった。
指標があれば不毛なハックがある。それが現実というものである。
それに業務で実用レベルで使えるモデルというのは、もっと運用のしやすいシンプルなモデルである。
モンスターアンサンブルで精度がSOTAでーすピロローン!なんてことには興味がないが、コンペはそれを目指している。
ではなぜkaggleが良いかと言うと、データセットが転がっていて、notebookも簡単に作成できるからである。
「このデータをこうやって使うとこういうツールが作れる」「このデータをこうやって分析するとこういう知見が得られる」というのは、「web開発用のMVCフレームワークを作ります」よりも具体性がある。
そして特定のデータに対するモデリングをするために論文を調べるようなことになった場合は、勉強にもなる。
私は昔、自然言語処理のブログを書いていたが、実験したことのコードを載せるタイプの記事が多かった。
ところが自称データサイエンティストや自称NLPエンジニアがツイッター上で「ゴミのようなブログを書くな」と言っていて、自分が言われている気がして怖くなったのでブログを閉鎖した。
そういう「政治おじさん」との接触を最大限減らすには、ブログというフォーマットではダメだと思うわけである。
私のマグカップには"Talk is cheap, show me the code."と書かれている。
これはリーナストーバルズの名言だが、政治おじさんが近寄らない場所というのは、具体的なコードが存在する場所であると言えよう。
この辺に正解なんてないよ
書くべきことは書かなくちゃいけないが、それをどこに閉じ込めるかってだけの話だから
一箇所の「View」でしか処理されないなら、どんなに「Model」の処理に思えても「View」に書くべきだと思う
その変更によって、影響範囲がどうなるのか?
テストしなくちゃいけない処理はどこまでになる?
みたいなことを考えずに、原理主義的にやると
進みの遅いホビープログラマなので、今さら時代遅れな話題かも知れないが、MVCモデルについて考える。
この考え方が重要なのは、結局「モデルとビューをわける」というところに要点があるのだろう。
ビジュアルなプログラムでは、目的が「◯◯を描画する」ことにありがちなので、そのまま書いてしまいがち。
けど、そこを注意して「◯◯の状態モデルに変更を加え、それに基づいて描画する」と問題をわけると、拡張性が高くなる。
しかし問題は、結局「◯◯を描画したい」と考えているときに、「どこまでが状態の問題でどこからが描画の問題なのか」が曖昧なことが多いということで。
キャラクターの移動を考えるときに、キャラクターの位置だけが状態だと思っていたら、描画に属するキャラクターのアクションから位置変化に影響を与える方が自然だと後から思ったりする。
phpの場合、<?php 処理 という具合に書くが、この中身にはhtmlやjavascriptも包含することができてしまう
MVCフレームワークを使わないにしろ、基本的にビューとバックエンド処理は分割しておくべき。
さらにDB処理、ビジネスロジック、プログラム処理と言ったものがあるが、
DB処理はdbhandler専用のモジュールに分けておき、さらにそのモジュールを処理するテーブルごとに分けておいた方が良い(MVCではモデルと言う)
特にビジネスロジックとプログラム処理の区別だが、「商品名にアダルト商品と思わしき文字列があった場合は登録を拒否する」という例外は「ビジネスの例外」であるのに対し、「商品名の文字列がDBで用意されたvarcharの可変文字範囲を超えた」という例外は「技術の例外」であるということを明確に区別するようにコードを書く。
QiitaのMVCに関する見当違いな記事にたくさんツッコみが入っているのを目にしたが、無知は怖い。
自分が新卒でWEBサイト制作の会社でエンジニアとして働いていたとき、マジで無知だったので、DBのトランザクションの概念を知らなかった。
コードレビューをしてもらえるような体制も無く、クライアントワークでトランザクションなしで複数のDB更新を行う実装してた。
最後まで誰かに指摘されることはなく、転職して、勉強してる中で当時やばいことしてたなと自分で気がついた。
今はなんとか人並みになったと自負しているが、
年明けたけど振り返っておく。
上半期は成長に停滞感があった。5 月で現職について満 3 年が経ち、コンフォートゾーンに入りすぎていた。
いつもと同じメンバーでいつも通り Rails や React を書く仕事に不満はなかったが、成長のためにもっとチャレンジングなことをしたかった。
夏頃、ちょうどチーム異動の打診がやってきたのはラッキーだった。
9 月からは新しいチームに配属されて、チームメンバーや仕事の進め方、技術スタックまで全てが変わり、新鮮な気持ちで働けた。
go が書けるようになったことや、MVC + ORM 以外のバックエンドアーキテクチャを学ぶことができたのは大きな成長につながったと思う。
APEX のランク戦でダイヤ帯に行った。春が終わる頃まではほぼ毎日欠かさずにやっていたと思う。
ダイヤ帯に行ってからは目標がなくなったので引退気味になっていたが。友達とおしゃべりしながら遊ぶ分にはまだまだ楽しい。
ポーカーはあまり上手くなれていない。戦法が凝り固まってしまっている。ターンでブラフレイズを打ったりポラライズベットができるようになればもっと強くなれると思う。座学がまだ足りていない。
人との出会いを増やすために一人で飲みにいくようになった。知らない人と話すのはいい。バーの店員と仲良くなったりした。
やっとマッチングアプリを辞めた。もう一生やらない。
https://celstore.shop-pro.jp/?pid=171912527
ダウンは似合わないけど、これはダウンとマウンテンパーカーの中間みたいな感じでよい。1LDK に売っていた。
映えスポットに行ったら服にカメムシが大量について萎えたが、俺の足はカメムシより臭かった。
RubyKaigi で行った。松坂牛を会社の金で食いまくった。
中目に住んで 2 年になり、旨い店がわかってきた。
めちゃくちゃ安いのに旨い。
2022 年短かすぎだろ。
(WEBエンジニアリング)未経験から(院卒新卒カードを使って)Webエンジニアになって(5年で)年収1000万円(の会社員と同等の手取りを本業副業合わせて)稼げるようになった話
工学部(情報系でない)の修士課程で、画像処理や機械学習を用いた研究をしていた。
PythonやLinuxについては少々経験したが、MVCに関する技術は一切触った事がなかった。
就活して、Web系のC向けの名の知れたサービスを自社開発している企業にエンジニアとして入社することになった。
※当時は今より牧歌的で自分のような人間が入社することができた。今はわからない。
PythonのFWを使ったWebサービスの開発を行なっていた。
とはいえ、腰を据えて開発している時間は少なかった。大きい企業の既存事業にいると開発とは無関係の運用や調整業務がかなりあった。
3年目くらいで副業を始めることにした。
上記の通り業務内で技術力を向上させることがむずかしかったのと、未経験で業界に来ているハンデを抱えていたのである。
Python以外の言語はほとんど書けなかったのでPythonでwebかスクレイピングの案件を探した。
5件ほどお祈りされたが、懲りずに応募し続けてたら採用された。Flaskの案件だった。Flaskは書いたことがなかったが採用された。
当時はその会社に Python が書けるエンジニアがいなかったので重宝されたし、仕事も任せてもらっていた。
契約は週15時間だった。その間にCOVIDが来て全てが在宅勤務になり、気付いたら週30時間まで稼働するようになっていた。。
当初の見込み通り基礎体力は身に付いていったと思う。
最初の案件を納品したあと、次の案件をもらい、段々仕事の幅が広がっていった。
Linuxサーバを触ったりDBサーバを触ったりphpを雰囲気で書いたりDockerfileを書いてECSの環境を構築したりなど。
※Golang, Rust, k8sなど人気の技術の案件は探してもちょうどいいものが見つからないのでチュートリアルをやる以上の勉強はできていない。
ちょうど良さそうな募集があったので応募したところ今度は一回で採用された。
給与も少し上がった。後ほど元の副業の給与も上がり、本業の給与も少しずつ上がった。
年収がいくらなのかよくわからなくなったので、月々の手取りを銀行口座から調べて、年収1000万円の会社員の手取りと比較すると大体同じくらいの金額になっていた。
犠牲にしていることといえば可処分時間くらいだと思っているので、TLDR節に書いた内容についてはそんなに無理がなくある程度再現性があるんじゃないかと思っている。
辛さでいえば大学院のほうが辛かった。
可処分時間ということでいえばCOVIDで通勤時間が無くなった影響はそれなりにある。
自分について
・要領は決していい方ではない
要領がいい人なら5年も掛けずもっと早く辿り着くのではないか。
今回、特にジョブホッパー的な動きはしていない。各職場(案件)に恵まれたこともあるし、器用さが足りないといえばそうだと思う。
エージェントは中抜きされるという意見もあるが、自分はSNSは長続きしないし、勉強会もあまり肌に合わずほとんど出席することはないのでエージェントを通してしか案件を見つけられていない程度の行動力しかない。
年収についてはおおむね満足するようになり、人間とは面白いもので段々欲がよく出てくるようになった。
モダンな技術は、レガシーな技術よりも、おしなべて責任範囲が明確であり、何かあったときのリカバーがききやすかったり、謎の負債が含まれるリスクも少なく、幾分か安心して開発ができる。枯れた理論は好きだが、新しい技術を先回りして身につけることにも興味が湧いてきた。
Python をウェブで使いたくないのは、HTML が Lisp の S式であって、Python のカッコが一対一対応しないからだろうね。Django のテンプレートに endif みたいなタグがあって、キモかった記憶があるで。すくなくとも、Rails は MVC の View が Lisp をベースとした Ruby に合致したから、流行った部分もあると思う。
就活時の適性検査って優劣じゃない名目の奴でも実質的な足切りラインみたいなのが設けられているところは結構あって、
IT系とかの場合、実績とかはそこそこある人間でもこの辺りで足切りされてそもそもアピールする場所にすら立てないみたいなことが結構あって、
自分は学生時代で開発系のコンテストで結果残したり作ったアプリがニュースサイトに取り上げられたりそこそこの規模のWebサービス運営してたりってまあまあ強みはあったと思うんだけど、
就活時この辺りですっっっげーーーー苦労した。
MVCやオブジェクト指向の意味がわからないどころかプログラミングすらやったことない同期が次々内定取る中で俺だけが最後まで取り残されてった。
この手の企業が「弊社は多様性が尊重します」「どんな人種、ジェンダー、性的指向の人でも働きやすい環境を!」とか偉そうなお題目を並べてるとつい白い目で見ちゃう。
「ああ、この人達の言う多様性という言葉の中に俺みたいな人間はどこにも含まれてないんだろうな」
「ちゃんと(今話題になっているポリコレ属性リストに書かれている範囲内の)多様性を尊重しますって書いとけよ」
そんなことをつい考えてしまう。
※ 再ポストを許してくれ。どうしても、聞く人がいないのだ。
当方は、元プログラマー。今となっては、家庭の都合で引退した身。嫌なことがあって、久しぶりにプログラミングを勉強したら楽しくて仕方ない。
たとえば、Ruby on Rails, Next with React on TypeScript とか最高にイカしていると思ったし、Kubernetes や Terraform で AWS, GCP を触れば IaC に感銘したし、Kafka や Elasticsearch といった NoSQL が RDB が進歩した上で共闘している様は夢のようだ。PHP や Java も元気にしていて、おじさん嬉しいよ。(最近の流行りだから Docker も触ったが、Vagrant なんかを触れた身からすると、正当な進化だよね。)ただ Python が人気なのは理解できないし、そんでもって C は苦手なままだけどな。あと、CSS と HTML のナレッジのアップデートについていけないのは歳のせいだろう。
閑話休題。それでタイトルの質問なんだけど、今のモバイルアプリの開発手法について知りたいのだ。もちろん React Native といったものがあるのは知っているが、この手のものは好きになれないのよね。どうしても無理から生じる齟齬が気になっちゃうし、もっと言えば「プログラミングを介して、設計思想に触れたい」からね。
まず、iOS の話題から。今は iOS は SwiftUI だけで書けば良いのかしら?昔は Objective-C と Storyboard を使っていたけど、新規のプロジェクトだと無視してもよいのよね?いや、だめだったら追加で勉強するだけだから良いのよ。その、加減がわからなくてね。自分としては Swift言語が好きで、SwiftUI は StoryBoard よりマシだと思うから、そこは問題ないのよね。10年前より、絶対に良くなったと思うし。あと SwiftUI と Swift言語の example 集とか、CocoaPods のまとめサイトなんかを教えてほしいな。公式だけじゃ物足りない。
次に Android なんだけど、現行なのは Kotlin言語 + Android Studio の UI ビルダーを強制なんでしょ?昔は Java言語 + XML の MVC という感じで、当時としては iOS よりまともなイメージだったけど、最近ふれたら蕁麻疹が出そうだった。なんというか、ちょっと体が受け付けない感じがする。だから、Android は昔の開発手法で良いのかを教えてほしい。あと、iOS と同様に example を大量に載せたページをお願いします。
こんな感じかな。追加で知っておくべきことがあれば、嬉しい。たとえば、PWA とか。自分としてはモバイルのプログラミングが理解できたら、ブロックチェーンや人工知能を除くと、ここ10年のナレッジはキャッチアップできたつもりなので満足なんだよね。あと気力があれば、作成物を増田に晒すかもしれないです。
時間 | 記事数 | 文字数 | 文字数平均 | 文字数中央値 |
---|---|---|---|---|
00 | 119 | 15462 | 129.9 | 41 |
01 | 63 | 5937 | 94.2 | 34 |
02 | 28 | 3483 | 124.4 | 60.5 |
03 | 14 | 2554 | 182.4 | 91.5 |
04 | 18 | 3496 | 194.2 | 68 |
05 | 13 | 2515 | 193.5 | 143 |
06 | 15 | 1083 | 72.2 | 29 |
07 | 44 | 7999 | 181.8 | 51 |
08 | 61 | 4097 | 67.2 | 47 |
09 | 70 | 12146 | 173.5 | 40.5 |
10 | 139 | 11875 | 85.4 | 50 |
11 | 114 | 10468 | 91.8 | 41.5 |
12 | 175 | 15576 | 89.0 | 47 |
13 | 168 | 17341 | 103.2 | 42.5 |
14 | 129 | 14969 | 116.0 | 56 |
15 | 147 | 12586 | 85.6 | 45 |
16 | 149 | 15799 | 106.0 | 42 |
17 | 158 | 15087 | 95.5 | 49 |
18 | 155 | 14187 | 91.5 | 53 |
19 | 109 | 13134 | 120.5 | 40 |
20 | 127 | 20863 | 164.3 | 44 |
21 | 113 | 16206 | 143.4 | 34 |
22 | 142 | 18248 | 128.5 | 41.5 |
23 | 133 | 23357 | 175.6 | 45 |
1日 | 2403 | 278468 | 115.9 | 45 |
ロリショタ(12), はすみとしこ(10), コンビニ人間(9), ぎこちな(3), 中坊(3), むっつり(3), MVC(3), ノールック(3), 見世物小屋(7), 藤井くん(3), アファーマティブ・アクション(4), 1枚(3), 抗議デモ(3), 媚び(21), Vtuber(20), チー(12), 接待(10), 黒人(42), V(11), VTuber(7), 人種差別(7), 児童(18), ショー(7), ディズニー(13), 白人(24), デモ(22), エロ漫画(15), リアリティ(10), 揶揄(18), 人種(16), 発達障害(20), 表明(14), ビジネス(16), 知能(15), 進化(12), 差別(90), 推し(16)
■コンビニ人間と発達障害と見世物小屋と普通の差別 /20200607142545(22), ■自分はなぜVTuber文化が気に入らないのかまとめてみた /20200607213322(17), ■その『コンビニ人間』のとらえ方は風評被害レベルだよ /20200608134203(12), ■ステーキがおいしくない /20200607193705(12), ■大人ってさぁと思った話 /20200607192611(11), ■243が3の倍数っぽくない件 /20200608130409(10), ■ペットボトルのラベル剥がさないやつ多すぎない? /20200608140825(10), ■ノットフォーミーって分かって使ってんのかよ /20200608170924(9), ■アニメの母親って絶対優しいよな、これも押し付けよ /20200608102134(9), ■これからプログラミングを習おうとする人はMacBookを買う意味があるのか /20200608104345(8), ■エロ漫画に出てくるロリショタ /20200608143718(8), ■Vtuberは別に嫌いじゃないけど結局キャバクラだしオタクがキモい /20200608122907(8), ■頭文字 /20200608200850(7), ■コンビニ人間はマジで大ッ嫌いだったなあ。嫌になるほど女作者だなこれって思った /20200608124138(7), ■ /20200608113100(7), ■@nhk_sekaima の投稿したBLMのビデオ何が悪いんだ /20200608171158(6), ■なんではてなーってソシャゲは叩くのにVtuberは擁護するん /20200608162145(6), ■ブラックリストが差別的とか言ってる奴はバカ /20200608215040(5), ■Vtuberはリアリティショーなのか? /20200607215453(5), ■anond:20200607142545 /20200608025534(5), ■マイノリティの私が自分の性別について話したら人権団体にポリコレ棒でぶっ叩かれた話 /20200608043750(5), ■ASDぽい娘と会話が出来ない /20200608112118(5), ■anond:20200608115937 /20200608120530(5), ■ /20200608140303(5), ■女が児童性愛者にならない理由 /20200608150014(5), ■LGBTの話を聞くとイライラするやついる? /20200608200910(5), ■大好きなディズニーの世界がツイステのせいで曇ってく /20200601124254(5)