【飛達智能 - 後端工程師】
工作內容:
1.系統設計
2.文件撰寫
3.需求訪談
4.系統監控
5.系統開發
6.和前端工程師整合
7.完成主管交辦事項
工作經歷:3年以上
學歷要求:專科以上
科系要求:資訊工程相關
語文條件:英文 -- 聽、說、讀 、寫 /略懂
工作技能:系統架構規劃、系統維護操作、系統整合分析、軟體工程系統開發、軟體品質與保證
其他條件:
1.個性主動積極、抗壓性高
2.善於溝通、主動發現問題、改正問題
3.熟悉Java, Maven, Spring Boot, Spring MVC, XML, JSON, Tomcat
4.熟悉RDB(MySQL, PostgreSQL)
5.熟悉Hibernate, JPA
6.熟悉Version control(SVN, GIT)
7.熟悉HTTP/HTTPS, TCP/IP等常見協議
8.Linux 基本操作
9.擅長工具Intellj, eclipe, Postman
10.加分:Python
同時也有1部Youtube影片,追蹤數超過7萬的網紅在地上滾的工程師 Nic,也在其Youtube影片中提到,對於設計模式的學習有多方派系持不同意見,但仔細去思考,會發現設計模式的存在是避免自己發明愚蠢的設計在已經常出現的問題上,在日新月異的科技進步下,隨著商業邏輯更加複雜,軟體工程師所遭遇到的問題也一次比一次還難 Design Pattern 的存在是幫助思考,避免不必要的協作災難,只要能懂得這點並融會...
「java mvc架構」的推薦目錄:
- 關於java mvc架構 在 科技Kano Facebook 的精選貼文
- 關於java mvc架構 在 純靠北工程師 Facebook 的最讚貼文
- 關於java mvc架構 在 軟體開發學習資訊分享 Facebook 的精選貼文
- 關於java mvc架構 在 在地上滾的工程師 Nic Youtube 的最佳解答
- 關於java mvc架構 在 Re: [問題] MVC程式架構- 看板java 的評價
- 關於java mvc架構 在 mvc架構java的問題包括PTT、Dcard、Mobile01,我們都能 ... 的評價
- 關於java mvc架構 在 mvc架構java的問題包括PTT、Dcard、Mobile01,我們都能 ... 的評價
- 關於java mvc架構 在 mvc架構java的問題包括PTT、Dcard、Mobile01,我們都能 ... 的評價
- 關於java mvc架構 在 千锋Java教程:15 三层架构+MVC 什么是三层架构 - YouTube 的評價
- 關於java mvc架構 在 Java-029-MVC架构 的評價
java mvc架構 在 純靠北工程師 Facebook 的最讚貼文
#純靠北工程師2te
早安 各位工程師前輩們
小的現在是某學店資管大四生
有在某程式公司做助理程式設計師1年的實習經驗
(公司主管有在問我要不要轉正)
熟悉c#、MS SQL、MVC架構、
JavaScript
有一些Java、Android開發經驗
然後最近在自學React
想問問看,這樣的條件畢業的話
在台北可以喊到怎樣程度的薪水呀
能到40K嗎 QQ
👉 去 GitHub 給我們🌟用行動支持純靠北工程師 https://github.com/init-engineer/init.engineer
📢 匿名發文請至 https://kaobei.engineer/cards/create
🥙 全平台留言 https://kaobei.engineer/cards/show/3650
java mvc架構 在 軟體開發學習資訊分享 Facebook 的精選貼文
講師 F. Frank Ozgul 是一位軟體架構師,一直在軟體開發行業從事架構師與教師的工作有 12年經驗。
講師擁有英國 Leeds University 機械工程學士學位和軟體工程碩士學位,並一直在傳授 .NET 和 JAVA 的軟體開發技術給銀行軟體開發人員,也在軟體機構教學生做 IT 開發。
本課程是關於使用 Microsoft 和 Docker 公司所提供的最新技術從頭開始建構電子商務 Web 應用程式,這技術基於微服務架構,使得應用程式的微服務全部運行在其獨立容器中,並在需要時通過訊息(messaging)彼此溝通,在其它狀況下 mvc 客戶端將協調微服務的行為。我們將有 5 個微服務運行,包括 mvc 客戶端應用程式。
本課程還教你如何 docker 化你的微服務專案,利用 docker 資料庫容器和建構一個 docker-compose 檔案,以實現微服務容器建立的自動化。
本課程還將教你如何通過基於 IdentityServer4(利用 OAuth2 和 OpenIDConnect 協議)與AspNet Identity 協作建構的認證伺服器微服務來保護你的 web apis 和你的 mvc 客戶端應用程式。
最後,你將學習在某些情況下,可能需要兩個微服務發送訊息給對方取得間接通信。 RabbitMQ伺服器與 MassTransit 、 Autofac Dependency Injection Library 以及一些相關的 nuget 套件協作,將會提供我們一個事件匯流排 ( evnt bus ),通過它我們可以實現這一點。
本課程充滿了最新的想法和技術,這將使你在當今快速發展的技術世界武裝大量的技術。
🔥 udemy 目前 NT360 特價中,請更新優惠折扣碼 ( http://bit.ly/2O0wbOm )
https://softnshare.com/aspnet-core-20-e-commerce-web-site-based-on-microservices-and-docker/
java mvc架構 在 在地上滾的工程師 Nic Youtube 的最佳解答
對於設計模式的學習有多方派系持不同意見,但仔細去思考,會發現設計模式的存在是避免自己發明愚蠢的設計在已經常出現的問題上,在日新月異的科技進步下,隨著商業邏輯更加複雜,軟體工程師所遭遇到的問題也一次比一次還難
Design Pattern 的存在是幫助思考,避免不必要的協作災難,只要能懂得這點並融會貫通,職業生涯中有更多的時間去學習不同的思考方式、軟體架構以及團隊管理
成為真正的資深工程師道路上,Design Pattern 絕對是一門主修科目,你可以不完全使用,但卻不能不知道
以下是學習 Design Pattern 的推薦資源,其中包含筆記、書籍和程式碼範例
✅ 我的部落格筆記(Ruby) https://blog.niclin.tw/2018/11/18/%E7%89%A9%E4%BB%B6%E5%B0%8E%E5%90%91%E5%9F%BA%E6%9C%AC%E5%8E%9F%E5%89%87-solid-ruby-sample/
✅ 設計模式學習筆記 https://skyyen999.gitbooks.io/-study-design-pattern-in-java/content/
✅ 七天學會設計模式:設計模式也可以這樣學 https://www.books.com.tw/products/0010750585
✅ 大話設計模式 JAVA 版範例: https://github.com/skyyen999/bigTalkDesignPatternJava
章節:
00:00 算我拜託你了
01:00 什麼是 Design Pattern
02:25 學習 Design Pattern 的好處
04:43 實際應用與學習方式
07:34 導入工作
喜歡影片的話!可以幫忙點個喜歡以及分享、訂閱唷!😘
━━━━━━━━━━━━━━━━
⭐ 蝦皮賣場: https://shopee.tw/bboyceo
⭐ instagram (生活日常): https://www.instagram.com/niclin_tw/
⭐ Facebook (資訊分享): https://www.facebook.com/niclin.dev
⭐ Blog (技術筆記): https://blog.niclin.tw
⭐ Linkedin (個人履歷): https://www.linkedin.com/in/nic-lin
⭐ Github: https://github.com/niclin
⭐ Podcast: https://anchor.fm/niclin
━━━━━━━━━━━━━━━━
🌟 任何問題或合作邀約信箱: niclin0226@gmail.com
#designpattern #前端 #後端
java mvc架構 在 mvc架構java的問題包括PTT、Dcard、Mobile01,我們都能 ... 的推薦與評價
接下來讓我們看這些論文和書籍都說些什麼吧:. OCP:Java SE 11 Developer認證指南(下)API剖析運用篇; mvc架構java進入發燒排行的 ... ... <看更多>
java mvc架構 在 mvc架構java的問題包括PTT、Dcard、Mobile01,我們都能 ... 的推薦與評價
接下來讓我們看這些論文和書籍都說些什麼吧:. OCP:Java SE 11 Developer認證指南(下)API剖析運用篇; mvc架構java進入發燒排行的 ... ... <看更多>
java mvc架構 在 Re: [問題] MVC程式架構- 看板java 的推薦與評價
MVC中的model並不只是資料而已
model可以代表該企業模型相關資料及行為
但是首先要先說明的是
資料庫並不是開始
相反的則是第二步驟之後
以我自己開發為例
我會先描述規劃該作業相關的屬性跟行為
先寫好XXXBean的屬性類別跟初步的行為類別,例如你覺得很奇怪的Service Manager
還有相關DAO-->這時是空的或是騙人的函式
然後稍微寫一下testcase來驗證一下規劃的架構有沒有怪怪的
甚至這個時候我還會把畫面跟流程先給使用者看看有沒有什麼大問題
(例如需要輸入或顯示的資訊是否充足 ,其他例如美觀通常就不在此)
然後我才開始開table 實做dao
-->存放資料的實作其實是之後才開始的,而非一開始就先開好table
其實這種開發模式我是照著書上寫的來試看看,然後發覺還不錯用
於是我就養成這種習慣了
然而我的同事跟配合廠商的開發模式幾乎都是DFD( Data Flow Diagram)
先開好TABLE,然後一路照著資料流的方式來走
通常在DFD的思維下,整個mvc就很不漂亮了
以spring 2.5(3.0)+開始導入annotation為例
其對於model的定義就並非以資料為主
而是 將 view的資料轉換成model的資料並交付model去執行運算,並將其結果傳至view
PS.我當初看到自動轉換model的時候,相當的激動,可是看到為了系統實際需要
例如session 或是...
其原本所規畫的model必須要被spring或是httprequest(view)所侵入的時候
我就覺得這不是model阿 ◢▆▅▄▃-崩╰(〒皿〒)╯潰-▃▄▅▆◣
那麼什麼是企業行為
你所舉的workflow就是一例
舉例來說
1.某企業開始創建全新的資訊系統
2.一開始就來先弄個web ap吧
3.程式就照web的規範來寫就好
XXXAPageAction:
run(){
readdata();
doaaa();
dobbb();
writeccc();
if(aa){
gotopage1();
}else{
gotopage2();
}
}
以上可以發現到
將企業邏輯-doaaa dobbb 跟企業資料-readdata writeccc 還有顯示方式 page1 page2
通通都放在一起
PS.其實這裡我個人是認為(這裡有不同的說法)-Action是用來橋接view的controller
而非model或是workflow
通常如果只有開發沒有異動,通常就到此為止了
而這也是學校老師常會犯的錯誤,以為table開好就沒事了嗎
通常開始測試的時候,才是專案真正的開始
4.發現某個作業page也需要差不多的流程,但是顯示的頁面是不同的
所以要怎麼做?
*.共用?
XXXAPageAction:
run(){
readdata();
doaaa();
dobbb();
writeccc();
if(aa){
if(來源==XXXXB){
gotopageB1();
}else{
gotopage1();
}
}else{
if(來源==XXXXB){
gotopageB2();
}else{
gotopage2();
}
}
}
或是
*.複製?
XXXBPageAction:
run(){
readdata();
doaaa();
dobbb();
writeccc();
if(aa){
gotopageB1();
}else{
gotopageB2();
}
}
上述的兩個方式,對於需求異動的應變能力相當的低
看看php asp 純jsp 就知道了
所以把上述只跟企業有關的程式碼通通集合在一起,取個大家了解的名子
這樣不但可以重覆使用企業流程,同樣的也方便異動
所以你的癥結就在於使用DFD的思維去看系統設計
而忽略了企業行為(邏輯 流程 等...)的重要性
(基本上看到"資料存放在資料庫"就知道是DFD的思維了)
因為資料存放在那裡並不是物件導向設計第一要考慮的事情
可是我也不能對這種思維有什麼評論,老實說我週遭的人都是這種思維
其實model不僅是資料或是行為也包括相關的操作
例如交易範圍 系統紀錄等等 但這些都不是view所關切的
可是老實說也不是百分百的跟企業邏輯有關的-->PROXY AOP無誤
所以整個mvc會是
view -controller - model(含流程 資料及相關如交易) - controller-view
model:
service(manager) - componment....
透過service可以有效的整理及管理企業相關資料 邏輯 及相關操作如交易等
只是大多的狀況都是利用service來作為交易的管理就是
其實我自己認為在model層還要視情況導入process/flow層來分離企業流程
service-(flow)-componment
題外話(賺P幣用的):
spring 2.0 + spring web( view(jsp/json))
有個問題就是跟頁面有關的參數資料影響了json多餘的資料
這也是跟mvc有關
例如
ajsp.
----
需要某個參數資料的顯示
<c:forEach begin="1" items="${cusbeanrs}" var="cusbeanList">
<OPTION value="<c:out value="${cusbeanList.attra}"/>" >
<c:out value="${cusbeanList.attra}" /></OPTION>
</c:forEach>
----
所以
controller就會被迫加入
mav.addObject("cusbeanrs", queryBeanrs());
以供ajsp使用
其實cusbeanrs跟企業邏輯無關 這只跟view-jsp有關
甚至有些view-jsp是不需要該cusbeanrs的,但還是會執行該函數,造成浪費
這就是mvc沒有切的很乾淨 (來人阿!拖出去在閹!!)
解決方法就是
1.提供custom tag來用
但也會有個問題tag會好多,開發會是個問題,而且客製化也是個問題
2.使用ajax來呼叫
容易造成server的request過多,也造成重複或不必要
所以我自己弄了springtag 供jsp直接呼叫spring註冊的bean來呼叫
將controller有關的參數檔通通趕到jsp去(controller的mvc)
然後也降低了custom tag的開發-因為只有一個
程式碼就變成了
ajsp
<springtag:bean beanname="cusDao" method="queryBeanrs"
name="cusbeanrs" />
<c:forEach begin="1" items="${cusbeanrs}" var="cusbeanList">
<OPTION value="<c:out value="${cusbeanList.attra}"/>" >
<c:out value="${cusbeanList.attra}" /></OPTION>
</c:forEach>
PS.是個有危險的tag(要注意PG是否濫用,但我有加入交易或是名稱的限制)
然後搭配ajax來做非同步的submit,避免頁面reload
在連續操作該作業的情況下,達到好處
*.頁面參數分別只會查詢一次,降低sql,也不需要ajax,降低request
(該參數是固定的結果,如果非固定則不在此)
*.controller更為乾淨,避免不必要的函數
*.配合動態view輸出,直接將jsp改為json,立刻變成 類REST Web App
※ 引述《cyclone350 (老子我最神)》之銘言:
: 大家好,因為這幾年遇過幾個web專案,有幾個問題想起教大家
: 當然,我知道什麼是MVC,我也會用spring,也可能是我只懂皮毛,所以才會有以下問題
: 我會先分析專案所使用的程式架構,並嘗試說明使用每個元件(如Dao)的原因
: 最後問一些問題,當中如果有錯請指正,謝謝
: 首先資料是存在Database或是檔案裡面,為了方便(或是抽象),我們將結構化
: 的資料一對一對稱到Java Bean,通常被稱為是Entity,例如
: 資料庫欄位跟值如下
: id | name | age |
: ----------------------------
: 5566 | google | 10 |
: ----------------------------
: 會對應到以下Java Bean
: public class Tablex {
: public int id;
: public String google;
: public int age;
: }
: 為了簡化資料存取的邏輯,通常一個Entity會對應一個Dao class
: 例如要select資料只需要下列語法大概就能使用
: tablexDao.selectByPK(5566);
: 再來是 MVC,優點不贅述
: 首先 view 一定是 JSP
: controller 是一般的 Java class
: model 是 view 跟 controller 來互傳的 Java Bean
: 以 Struts2 來舉例好了,Controller 是 Action class,
: 也就是說在Action 我們必須做一連串的動作來完成事情,
: 舉一個例子,我要從tablex檢查特定id資料有無資料
: Action 可以寫成如下:
: public class testPageAction {
: TablexDao tablexDao;
: testPageFormBean formBean;
: ...
: ...
: ...
: //假設Dao跟FormBean都設定完傳好值開始跑
: public void run() {
: int pk = formBean.getId();
: Collection resultSet = TablexDao.selectByPK(pk);
: if (resultSet.isEmpty()) {
: Page.forward("fail");
: } else {
: Page.forward("success");
: }
: }
: ...
: ...
: ...
: }
: 對我而言,Action class 只是一個 workflow,
: 一連串的行為都必須到對應的Action 完成,當然為了 clean code 我們可以
: 設定一些 private method 來避免程式碼重複等問題
: 有人可能會多寫一個Function,例如
: private boolean doSomething(int id) {
: ...
: ...
: return false;
: }
: 然後再 run 裡面呼叫
: public void run() {
: ...
: ...
: x = doSomething(4);
: y = doSomething2(1,x);
: if(x || y) Page.forward("success");
: Page.forward("fail");
: }
: 以上,是我所認識的 MVC 架構
: 問題來了,我待過的每一個Web專案理,都會在Action 跟 Dao 中間夾帶一層 Service
: 或是 manager...
: 而規定幾乎是 "一個Action對應一個manager"
: 而 manager 所做的事,就像是把Action 的 private method 移到 manager 變成
: public method ...
: 我完全找不到理由可以說明為啥要特地開一個 manager, manager的工作事項模糊不清
: 一個寫在 manager 的 public method 完全可以改到自身
: Action class 的 private method
: 而實際情況是,在寫method時,有些程式設計師會寫到 Action ,有些會寫到 Manager
: 這完全沒有意義,假設有 10 個 method,兩位程式設計師可能寫完全不一樣
: 例如
: 程式設計師A: 1,2,4,5,6 寫到 Action, 3,7,8,9,10寫到 Manager
: 程式設計師B: 2,6,7,5,8,10 寫到Action, 1,3,4,9寫到 Manager
: 我所遇到的專案就是如此,有沒有人能夠解釋 Service 或 Manager 的必要,以及它們
: 真正存在的意義在哪裡?
: 苦惱很久了
: 謝謝大家看完
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.29.28.131
原本作業的流程是
a.jsp->
a.controller( ->xxService )->
b.jsp
後來有json+ajax這個好東西出現後
如果可以改成
ajax->a.conroller->json
但會有個問題就是
當輸出(view)改變時,其controller是否要改變?
spring提供了不用改變的架構,透過uri的指定,可以改變要輸出的view
但這就會有個問題
原本page的controller裡面有提供給jsp使用的資料(跟業務邏輯無關)
也會一併輸出成json,但是對於用ajax來呼叫的服務來說,裡面有些資料是沒有用的
換句話說,ModelAndView裡面夾雜了非關業務邏輯的資料
如果無用就算了,但會多呼叫SQL,也是造成不必要的運算
那該怎麼辦?
情境是
1.
a作業:
a.jsp->a.controller->a1.jsp
b作業:
b.jsp->ajax call a.controller with json->json get!!!
2.如何在異動最少及降低系統負擔的情況下,達成上述的功能
因此我進一步的將controller理的modelAndView中的資料再次分離
原則為:
1.業務邏輯相關的資料及行為放在Model裡
2.跟view相關的資料及行為放在各view裡
達成了各元件的乾淨,也可以降低系統不必要的操作
PS.其實也可以透過客製化的jsonview及model屬性命名規則也可以達成同樣的效果!
※ 編輯: swpoker 來自: 163.29.28.131 (09/02 14:27)
※ 編輯: swpoker 來自: 163.29.28.131 (09/02 14:33)
※ 編輯: swpoker 來自: 163.29.28.131 (09/02 14:34)
... <看更多>