大家好,先說一下我的背景大學是公衛,碩士是特教畢業,除了特殊生跟電腦一樣需要結構化的教學/語法之外,找不到跟電腦、程式相關的共同點了!
因為真的是超級新手,上網查一些教學影片之後,一直有些很困擾我的問題
問題一:
常常看到非本科系對於程式語言有興趣,有一天突然為了想解決某個問題而學會了程式語言,但我無論看哪個教學影片或是書都是從算數學,迴圈,條件式開始,想知道大家一開始如果不是像本科系一樣從基礎學起的話,大家的第一個程式是做甚麼?甚麼是套件?,是怎麼解決程式操作跟語法問題,進而達到自己設計解決問題的程式的??(例如像是能夠做出個可以縮網址的程式之類,但你完全完全不會的情況下怎麼做的?)
問題二:
前端的一些技能樹很明確,而且因為網頁可以呈現所以知道自己在寫甚麼東西,但是後端的程式碼是怎麼跟前端做連結,那些資料庫是怎麼用個人電腦控制的,就非常不清楚,雖然瀏覽過幾本解釋電腦原理的書籍,但頂多知道我們給電腦input訊息然後,後端會丟出output之類,可是不太知道後端確切是怎麼跟前端連結的?或是後端的工程師具體到底在做甚麼,不知道能不能有前輩可以指點迷津
因為想學新東西的時候,就很想知道流程跟目的,雖然已經報名課程但是還在等待開課,先自學網路上的內容,但就像個無頭蒼蠅先東看看西看看,感覺見樹不見林,問題如果太爛,希望大家鞭小力一點~感謝大家
雖然不知道為什麼0個喜歡還被選為最佳解答,但還是把我還是把重構更易讀的進階回答連結貼在此以方便尋找,建議先看完這邊,把連結文當作補充說明看。
https://ithelp.ithome.com.tw/articles/10233045
由於我是第一次發文不太會排版,因此盡量做到這樣請多包涵。另外根據這段時間的沉澱,發覺這邊的風氣好像不值得我這種寫作風格,因此不打算再回答更多文章,感謝各位花時間閱讀。
問題一:
常常看到非本科系對於程式語言有興趣,有一天突然為了想解決某個問題而學會了程式語言,但我無論看哪個教學影片或是書都是從算數學,迴圈,條件式開始。
用新手易懂角度來詮釋:
程式= 邏輯+數學
迴圈= 邏輯 * N次
條件式 = 邏輯敘述的其中之一
以上三個都是協助你翻譯 你想做的事-----(翻譯成)---->coding語言,讓機器看懂能用。
想知道大家一開始如果不是像本科系一樣從基礎學起的話,大家的第一個程式是做甚麼?
最平易近人的: Excel錄製marco幫你重複做文書工作開始
你去google打指令讓他幫你算1+1=? 就是最基本程式(1=數學,"+的觀念" =邏輯)
甚麼是套件?,是怎麼解決程式操作跟語法問題,進而達到自己設計解決問題的程式的??(例如像是能夠做出個可以縮網址的程式之類,但你完全完全不會的情況下怎麼做的?)
每天早上我去早餐店買 2個三明治,是我的一份 "早餐套件" ,月初的時候會加一杯柳橙汁, 所以月初的時候我的 "早餐套件" 豐富了一點,但是我還是叫他 "早餐套件" ,因為如果要叫做 "月初早餐套件" 這樣字比較多,工多但不加錢,工程師會不開心。
因此當工程師需要寫一份功能的時候,都喜歡去google有沒有人寫好的一包"解決套件",然後用
最高端的技術ctrl+v完成我今日的工作,振奮我的精神,是工程師每天成長的動力來源。
以上也順帶說明了 "XX是如何自己設計解決問題的程式",包含了字面解釋和深入的意義內涵。
問題二:
前端的一些技能樹很明確,而且因為網頁可以呈現所以知道自己在寫甚麼東西,
? (?就是這段最樸實無華的回答)
但是後端的程式碼是怎麼跟前端做連結,那些資料庫是怎麼用個人電腦控制的,就非常不清楚,雖然瀏覽過幾本解釋電腦原理的書籍,
用別人寫好的 "xxx" ,下指令在兩著之間互傳 ,xxx 會根據你使用工具的不同為不同的東西。
但頂多知道我們給電腦input訊息然後,後端會丟出output之類,可是不太知道後端確切是怎麼跟前端連結的?或是後端的工程師具體到底在做甚麼,不知道能不能有前輩可以指點迷津
??? (一樣,樸實無華的回答) ...很多時候真的很難知道自己"真正"在做什麼....
因為想學新東西的時候,就很想知道流程跟目的,雖然已經報名課程但是還在等待開課,先自學網路上的內容,但就像個無頭蒼蠅先東看看西看看,感覺見樹不見林,問題如果太爛,希望大家鞭小力一點~感謝大家
可參考此處
https://buzzorange.com/techorange/2019/04/22/google-engineer-career/
真的想學東西請看此處
https://blog.usejournal.com/how-a-googler-solves-coding-problems-ec5d59e73ec5
想一下兩著的差別你就會知道怎麼學程式的東西...
最後想提醒你,你要先學會問問題,在將來解決問題的路上才會順遂。你可以看一下你整篇文章,裡面包含很多零零碎碎想要傳達的訊息在裡面,這代表你有很多不屬於"程式範圍"內的基礎能力要補充。
不從基礎學起的話會不知道範例的原理,而不知如何更改為自己想要的效果,非常難去創造出想要的東西。
這裡的基礎不外乎就是指變數、型態、條件、迴圈、結構、指標、類別等。
一套程式語言學好,相同的觀念很容易套到另一個語言裡,若沒有這些觀念,很多目的會很難達到。這也是很多教學都從這些開始教的原因,所以專心花一段時間學好這一系列的觀念,將來就不必花太多時間在基礎的問題上困擾自己。
問題一:
個人第一個有用的程式,是用C語言做出俄羅斯方塊小遊戲,使用「graphics.h」來實現圖的部份,其它就是圖背後在運算的基本語法。不會的語法就google,如「C語言 畫方塊」,現在應該非常容易搜到答案了,但很多答案需要有基本的觀念才看得懂,所以還是建議不要跳過學程式的第一步,先學基礎。
問題二:
要知道程式如何運作,首先要有一個能正常運作的程式,去修修改改看結果哪裡會變,後端也是一樣的。當初學PHP+MYSQL時,個人就拿著一本教用Dreamweaver設計PHP的書,從第一章跟著做到最後一章,書中會介紹運作原理,一本同時有原理介紹與實作的書是很好的,個人不相信一本只介紹原理而沒動手做的書可以帶給新手什麼啟發。所以給你的建議是在有程式基礎下,鎖定一本書或一系列的網路文章去跟著實作,嘗試感受它是如何運作的,畢竟你沒經驗,這點苦工是少不了的。
這篇是我去年鐵人賽斷賽的倒數第二篇
關於我自己對學程式過程的感覺和心得
https://ithelp.ithome.com.tw/articles/10214451
我自己的想法是,用「問題和情境」,從別人的文章、教學、官方文件,做出你要的功能
然後自己想變化,把那些似懂非懂的語法和觀念搞懂
同時習慣寫程式分解問題的感覺
或甚至如果你資質不錯,可以像一些大大直接玩作業系統、套件、逆向人家的程式
我自己第一個碰程式語言是高職的時候
那時候老師教完If else後,丟了一個作業,要我們寫簡易Word的程式
要可以自由變化輸入欄位文字的「粗體」、「斜體」、「底線」、「文字大小」
我當時什麼都不懂,花了好幾天Google狂下關鍵字看別人Code,好幾個禮拜才做出來
大部分的同學看到後,抱怨太難或老師沒教,就放棄了
之所以剛學程式會覺得難,很多時候是因為第一反應想的是想趕快解出來
越是想要趕快解出來,越是沒辦法習慣分解問題的感覺
這個有一部份很吃耐性跟天分,也是很多學到一半放棄程式的原因
不管老師再強,Bug還是要自己會找,問題還是要自己去想。
你可以到些前後端的技術社團,從社團中的問題
或是網路上爬文看一下前後端的工作內容
會比只看理論的書籍還會有感覺
像最近某人的網站流量事件、之前口罩預購的當機事件
伺服器架設與設定、API開發、資料庫、流量承載、網路安全,就是後端再處理的
還有,前後端的差別完全不是有沒有寫程式...
在前後端分離的架構,只要是使用者介面的資料和功能互動的呈現
這些都是由前端負責實作
在網路上和書局挑資源的時候要慎選
有這些擔心其實是正常的
多從網路文章、課程整理資料,嘗試做一兩個專案後
如果你撐得過去,這些擔心自然會跟著消失
1.EXCEL VBA,自動化表格用,自己找資料自己學。
2.找個明確的框架來學寫前後端寫多了你就知道了。flask和python很好入門。
這行沒自學能力學會找資料,都要老師教就不要搞了。
我剛剛在看如何用golang接win32 api,套件包連個例子都沒有,只能自己翻MSDN和套件原始碼。
找個專案自己去查資料自己學絕對是最扎實的。
問題一:自發性的學習某些東西,就是動機跟動力,一個未曾學過英文的阿婆到了美國看女兒孫子,到了美國人生地不熟,為了通關學會比手畫腳,為了解決一頓吃飽而學會單字片語跟餐廳服務生溝通,為了跟孫子聊而學會簡單的對話,幾個幾個月探親之旅,回國之後,英文能力嚇嚇叫...
而學生學習英文、電腦語言,大部份的人都不會有動機跟動力,更甭談興趣㐪個字,那又如何談起如何開頭學習?那只好按步就班,把大家都當白紙,從字母、音標、生字、片語開始,程式語言也一樣,你都不知道為什麼學,要怎麼學,學了能做什麼時,老師也只能照本操課,從指令、變數、流程、函數....一層一層教下去,至於你要如何用語言來解決現實問題,是你自己要去發掘咯
問題二︰不是所有的程式語言都有明確的分前後端,多的是你做一個form,上面放個按鈕,按下去就直接insert一筆資料進資料庫,這是很傳統的程式語言的做法,而今日的MVC類的語言已經很明確的把程式分開成前端(畫面呈現、控制端),後端就比較明確負責資料的轉換,包含資料庫轉前端要的資料(XML、JSON、純文字.....),或前端送回的formdata依工作命令回存或新增到資料庫,或是把資料用商業邏輯計算後回傳前端/存資料,為的就是
作前端的人不需要懂如何操作資料庫
美工可以純綷工作甚至不用懂前端javascript
後端的人不懂管前端的畫面怎麼作,只要能如實的把資料轉發的事作好
不意外,這裡也臥虎藏龍連我這小蝦也是一條條.....會前端也會後端的滿天飛,我不懂美工但我有人家切好的版型可以直接抓上來套用
全端工程師最可憐,全部都要學全部都不專
以下就是全端人的通病
<html>
<head>.......</head>
<body>
<div>..................</div>
<?php
$sql = "SELECT * FROM DB";
//.................
foreach($data as $r){
echo "<tr><td>{$r["uid"]}</td><td>{$r["uname"]}</td></tr>
}
?>
<p>..................</p>
</body>
</html>
這樣的頁面能寫的漂亮,就怪了
看不懂==
只是想表示都會一點,就變成四不像了
如果工作很常用EXCEL的話,VBA真的可以學來當作程式入門。
推薦理由:
問題一:
大家的第一個程式是做甚麼?
第一個程式嘛。。。
不外乎就是在Hello world
、印星星、印三角形、印自己輸入的東西、印月亮、印一些有的沒有的
是怎麼解決程式操作跟語法問題,進而達到自己設計解決問題的程式的??
看
、 找
、試
跟 問
語法有問題,通常都會有error log
將看
到的錯誤訊息直接丟到估狗上進行尋找
依照前人的經驗試
著修改
十有八九都能解決出現的問題
真的特別狀況,努力了很久
就是 問
光IT邦這個平台就匯集了很多的大神前輩
只要不是想要不勞而獲,面對問題有積極的想要去處理
通常眾神都很願意幫忙 (保佑)
第二題的部分樓上的大神們都已對您有了些講解
我也還很菜,就不誤導您啦
每個程式都一樣 打好基礎再求變化 基礎看不懂 怎麼去改程式都不會
每個程式的基礎都是一樣 我用馬力歐電玩講解
先從宣告變數(可以把自定變數寫得越短越好)但自己要看得懂(不然馬力歐如何顯示ˋ幾種怪物如何跑出)
再來是條件式(不然你打電玩如何過關ˋ多少秒過關會放煙火)
再來是迴圈(主角怎麼動ˋ香菇怎麼動ˋ怪物怎麼動ˋ無敵星ˋBOSS怎麼動)
再來是陣列(可以節省記憶體內容運作ˋ或比較快完成工作)
這些懂了 才開始進階
比如庫霸的大小ˋ會不會噴火ˋ吐火花等