作為程式員,你可開發哪些有趣項目?

来源:https://www.cnblogs.com/secbro/archive/2020/06/29/13210558.html

初次看到原文我是有一些震撼的,原來作為開發人員,閑暇時間還算可以做這麼多有趣程式的開發。閱讀時暫且拋棄你所使用的語言的限制,你是否也能夠在“無聊”之時找到一個開發者的樂趣。 閱讀以下內容時重點關註項目的創意性,並結合自己的獨特經歷進行拓展,你一定也能夠找到編程的樂趣所在。很多項目都可以通過不同的技術 ...


image

初次看到原文我是有一些震撼的,原來作為開發人員,閑暇時間還算可以做這麼多有趣程式的開發。閱讀時暫且拋棄你所使用的語言的限制,你是否也能夠在“無聊”之時找到一個開發者的樂趣。

閱讀以下內容時重點關註項目的創意性,並結合自己的獨特經歷進行拓展,你一定也能夠找到編程的樂趣所在。很多項目都可以通過不同的技術棧來進行嘗試。以下為原文內容:

正文

經過1000天的培訓,你能夠成為一位初學者。經過10000天的練習,你將成為一位大師。

這是出自Mas Oyama的話,對學習新事物做了很好的總結。成為出色的開發人員的秘訣在於肯下功夫。要想成為一名開發人員,你需要花大量的時間在鍵盤上,並且需要親手實踐。

下麵有7個項目可以幫助你提高開發水平。選擇自己的技術棧,隨心所欲的寫代碼吧。

項目一:吃豆人

image

構建吃豆人是一個很好的可以從基礎角度來瞭解游戲開發的途徑。可以通過像React或Vue這樣的JavaScript框架來實現。

通過該項目你可以學到:

  • 實體的運動
  • 檢測按鍵是否被按下
  • 碰撞檢測
  • 你可以通過給幽靈添加轉向行來做更多的事情

GitHub示例地址:https://github.com/mbfassnacht/pacman-react

項目二:用戶管理

image

開發一個基於用戶管理的CRUD項目,可以教會你很多關於開發的基礎知識。這對剛入門的開發人員特別有用。

通過該項目你可以學到:

  • 路由(Routing)
  • 處理表格和驗證用戶輸入
  • 與資料庫交互-增刪改查的操作

GitHub示例地址:https://github.com/indreklasn/laravel-5.4-crud-example

項目三:當地天氣

image

如果你想開發APP應用程式,那麼天氣預報APP是一個完美的開始。該項目可以通過Swift來進行開發。

除了獲得構建APP的經驗外,還可以學習到:

  • 應用程式與API的交互
  • 使用地理位置
  • 通過添加文本輸入,用戶可以輸入位置以查看該位置的天氣,從而可以動態交互。

可以通過OpenWeather API來獲取天氣數據。當然,根據具體的情況可使用其他API服務。

項目四:聊天框

image

建立聊天框是開始使用socket的理想方法。在選擇技術棧時,可以有許多不同的選擇。Node.js便是是其中之一。

該項目最大的收穫是你可以學習socket如何工作以及如何實現它們。

項目五:GitLab CI

image

如果你不熟悉持續集成(CI),那麼最好還是擺弄一下GitLab CI。設置多個環境,並嘗試在管道中運行一些測試。這不是一個繁重的項目,但是相信你會學到很多東西。

如今,許多開發團隊都在使用CI,是一個很好的工具。你會學到什麼:

  • 瞭解GitLab CI
  • 配置一個.gitlab-ci.yml告訴GitLab運行程式該怎麼做
  • 部署到其他環境

項目六:網站分析器

image

製作一個用於分析網站語義併為它們創建排名的抓取工具。例如,你可以檢查圖像上是否缺少alt標簽,檢查頁面上是否有SEO meta標簽。你甚至可以在不創建UI的情況下實現抓取。

你將學到什麼:

  • 抓取的工作原理
  • 創建DOM選擇器
  • 編寫演算法
  • 通過創建UI、分析網站報告來增加額外的功能

項目七:挖掘社交媒體的情緒

image

挖掘社交媒體的情緒是學習機器學習的一種好方法。

你可以通過挖掘一個社交媒體平臺開始,而Twitter是經典的切入點。

在機器學習方面經驗豐富的開發人員可以嘗試挖掘不同的社交媒體平臺,而不是僅僅合併這些數據。

你將學到什麼:

  • 掌握機器學習

結論

這些項目應該可以使你忙上一陣子了。只需選擇一個項目,然後做就可以了。期待看到你的項目成果,編碼愉快!


程式新視界:精彩和成長都不容錯過

程式新視界-微信公眾號


您的分享是我們最大的動力!

更多相關文章
  • Reactor 操作符 上篇文章我們將 Flux 和 Mono 的操作符分了 11 類,我們來繼續學習轉換類操作符的第 2 篇。 轉換類操作符 轉換類的操作符數量最多,平常過程中也是使用最頻繁的。 Flux#concatMap 將響應式流中元素順序轉換為目標類型的響應式流,之後再將這些流連接起來。該 ...
  • pom.xml中引入 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.2</version> </dependency> 在applicati ...
  • 1.判斷提交方式 if(request.getMethod().equals("POST")) 2.返回json @ResponseBody 3.限定請求方式 @RequestMapping(value="/login",method= RequestMethod.POST) 4.session / ...
  • 安裝typora 下載地址:https://www.typora.io/ 找到配置文件 picgo 的預設配置文件為~/.picgo/config.json。其中~為用戶目錄。不同系統的用戶目錄不太一樣。 linux 和 macOS 均為~/.picgo/config.json。 windows 則 ...
  • 13 約定 A common problem that arises when wrapping C libraries is that of maintaining reliability and checking for errors. The fact of the matter is tha ...
  • 構建生命周期 Maven的生命周期(lifecycle)可以理解為由Maven的各種plugin按照一定的順序執行來完成java項目清理、編譯、打包、測試、佈署等整個項目的流程的一個過程。 Maven內置了各種插件,如果再pom中沒有顯示配置就會調用預設的內置插件,如果pom中配置了就會調用配置的插 ...
  • 介面 恰當的原則是優先使用類而不是介面。從類開始,如果使用介面的必要性變得很明確,那麼就重構。介面是一個偉大的工具,但它們容易被濫用。 介面中可添加靜態方法與預設方法 一個類實現一個介面的同時必須實現該介面的所有方法(可以不用實現預設方法即關鍵詞為為 default的方法) extends 只能用於 ...
  • 小白是一名.net程式員,之前小白介紹了過了自己的博客系統http://www.ttblog.site/,用.net寫厭了,所以想學下java嘗嘗鮮,於是小白準備用spring boot來實現一個博客內容管理系統。 因為管理系統要有自己的數據源,但是又要從博客系統獲取博客內容,所以第一反應是要弄一個 ...
一周排行
  • C#6.0新特性 C#7.0新特性 C#8.0新特性 ...
  • out變數 可以直接在方法中使用out申明變數 int.TryParse("123", out var result); 元組 元組的申明 var alphaBetaStart = (alpha: "a", beta: "b"); Console.WriteLine($"{alphaBetaStar ...
  • 在我們的項目中,通常會把數據存儲到關係型資料庫中,比如Oracle,SQL Server,Mysql等,但是關係型資料庫對於併發的支持並不是很強大,這樣就會造成系統的性能不佳,而且存儲的數據多為結構化數據,對於非結構數據(比如文本)和半結構化數據(比如JSon) 就顯得不夠靈活,而非關係型資料庫則很 ...
  • 這幾天終於弄懂了async和await的模式,也搞明白了一直在心裡面積壓著的許多問題,所以寫一篇博客來和大家分享一下。 關於非同步機制我認為只要記住的以下幾點,就可以弄明白了: 1.我認為async和awwait兩個修飾符中最關鍵的是await,async是由於方法中包含await修飾符之後才在方法定 ...
  • 實現WCF的步驟如下: 設計服務協議 實現服務協議 配置服務 托管服務 生成客戶端(這步可有可無) 設計或定義服務協議要麼使用介面,要麼使用類。建議介面,使用介面好處一堆例如修改介面的實現,但是服務協定有無需改變。 設計服務協議,介面上使用 ServiceContractAttribute ,方法上 ...
  • 什麼鬼,我的CPF快寫好了,你居然也要搞跨平臺UI框架?什麼Maui? 之前怎麼不早說要搞跨平臺UI框架呢?看到谷歌搞flutter眼紅了?明年年底發佈?又搞這種追別人屁股的爛事情。 什麼MVU模式?模仿Dart?用C#代碼直接寫UI的模式和我的CPF很像啊。 當初我考慮過XML,Json來描述UI ...
  • 寫在前面 Docker作為開源的應用容器引擎,可以讓我們很輕鬆的構建一個輕量級、易移植的容器,通過Docker方式進行持續交付、測試和部署,都是極為方便的,並且對於我們開發來說,最直觀的優點還是解決了日常開發中的環境配置與部署環境配置上的差異所帶來的種種疑難雜症,從此推脫產品的措辭也少了——“我電腦 ...
  • 一、前言 回顧:認證授權方案之授權初識 從上一節中,我們在對授權系統已經有了初步的認識和使用,可以發現,asp.net core為我們提供的授權策略是一個非常強大豐富且靈活的認證授權方案,能夠滿足大部分的授權場景。 在ConfigureServices中配置服務:將授權服務添加到容器 public ...
  • 項目背景: 工作之餘兼職一家公司(方向是工業4.0)給做IM系統,主要功能包括:文字、 圖片、文件傳輸、遠程協助、視頻語音等等。這些功能都是基於群會話, 比如工廠操作工人遇到問題,請求遠程專家,這個初級專家不能解決問題,會邀請一個高級專家進來解決。開發過程中主要遇到的問題是視頻和語音這一塊,像其他的... ...
  • 基礎概念 Microsoft中間語言(MSIL),也成為通用中間語言(CIL),是一組與平臺無關的指令,由特定於語言的編譯器從源代碼生成。MSIL是獨立於平臺的,因此,他可以在任何公共語言基礎架構支持特定的環境上執行。 通過JIT編譯器將MSIL轉換為特定電腦環境的特定機器代碼。這是在執行MSIL ...