如何知道一个网站和应用是用哪种语言写的?
目前在学java,学到数组了,如果没机会从事it行业,想自己开发一个vpn软件。除了java,python,前端,安卓,还需要掌握哪些知识才能自己独立开发出一款app?程序员真的是最适合我的职业了,后悔太晚学习,自己学历太低了。现在每天早上10点学到晚上23点,就是人比较笨,不知道能不能学会。
网站和应用是由什么语言开发的?
网站
网站,比如 B 站,分为两块,前端(你浏览器看到的图片、视频、文字布局的制作)和后端(在B站公司的机房运行的东西的制作)。前端的编写语言有 HTML/CSS/JavaScript(或TypeScript),在实际的编写过程中,会用到一些 CSS 或 JavaScript 库/框架,来提升开发的效率、简单性。后端,包含了很多组件:web 服务器、数据库、缓存、消息队列、推荐系统等,你要知道,越大的公司/网站,前端、后端包含的东西就越多(否则他们是怎么就靠这些玩意就能市值上亿的)。组件:web 服务器、数据库、缓存、消息队列,他们可以由任何语言编写(Java/Go/C++都可以),但即使他们由不同语言编写,他们仍然可以自由交流、通信。如果你做的是个小网站,你只用关注 web 服务器就可以了,web 服务器你可以使用什么语言 编写,你会使用一种叫 web 框架的东西编写一些代码,用什么web 框架就用什么语言编写代码。有很多web 框架可以选择,Java/Python/Go/Ruby等等,你都可以选择。当然,不同得编程语言和框架之间对比,都有自己的特点。
应用
应用,可分为 windows应用(比如你电脑上的QQ游戏、word软件)、mac 应用(苹果电脑上的软件)、安卓手机应用、苹果手机应用。windows 应用可通过 java/c++等编写,mac应用可通过swift 编写,安卓应用由java/kotlin编写,苹果手机应用由swift编写。同样,你是使用库/框架来开发应用的。
在他们的行业里,他们一般说网站/软件由xxx语言开发
他们程序员会按照工作职位、工作内容,把写代码工作划分为这几种
我以 B 站作为例子
前端:编写 B 站网页显示的东西。比如推荐的视频一行显示几个,搜索框在哪个位置,小图片、字体的位置颜色大小的设置,你还需要考虑这些东西怎么在电脑上显示、怎么在手机上显示
后端:编写 B 站服务器上运行的东西。比如你发表了一个评论,这些后端代码的工作就是把你的评论文字存到 B 站服务器的硬盘上(当然不仅做这些);你点开播放了一个Vlog视频,这些后端代码的工作就是根据复杂的数学模型,计算得出你可能喜欢的视频,推荐给你
移动端:编写 bilibili 的安卓或苹果手机app。成果就是你手机上的那个app
算法:编写、设计复杂的数学算法/模型。他们就是做人工智能、机器学习(当然还有别的)的那群人,这些人学历都很高,名校硕士/博士。B 站上怎么推荐你视频的模型就是他们设计的,B 站女孩直播时给自己套一个动漫头像,这是怎么做到的也是他们设计实现的;你搜索框里输入“什么是EDM",怎么返回你最期待的视频结果也还是他们设计的
测试:他们用来检测前边那些人写的代码到底可靠不可靠。
大数据:编写代码管理、使用 B 站服务器上存的数据。比如,计算下最近3天 B 站上播放量最高的数据,怎么计算速度最快;后端经常会调用大数据做的东西,算法做的东西经常会被大数据来实际应用
运维:管理、监控 B 站机房里的计算机和代码运行状况。比如,这些计算机怎么配置、优化运行速度最快;代码出现问题了,赶紧找到相关的后端/大数据过来解决。
如果你想开发个人网站或手机APP的话,请选择 Javascript,这样你能同时很多事(前端/后端/移动端)。
网站
网站,比如 B 站,分为两块,前端(你浏览器看到的图片、视频、文字布局的制作)和后端(在B站公司的机房运行的东西的制作)。前端的编写语言有 HTML/CSS/JavaScript(或TypeScript),在实际的编写过程中,会用到一些 CSS 或 JavaScript 库/框架,来提升开发的效率、简单性。后端,包含了很多组件:web 服务器、数据库、缓存、消息队列、推荐系统等,你要知道,越大的公司/网站,前端、后端包含的东西就越多(否则他们是怎么就靠这些玩意就能市值上亿的)。组件:web 服务器、数据库、缓存、消息队列,他们可以由任何语言编写(Java/Go/C++都可以),但即使他们由不同语言编写,他们仍然可以自由交流、通信。如果你做的是个小网站,你只用关注 web 服务器就可以了,web 服务器你可以使用什么语言 编写,你会使用一种叫 web 框架的东西编写一些代码,用什么web 框架就用什么语言编写代码。有很多web 框架可以选择,Java/Python/Go/Ruby等等,你都可以选择。当然,不同得编程语言和框架之间对比,都有自己的特点。
应用
应用,可分为 windows应用(比如你电脑上的QQ游戏、word软件)、mac 应用(苹果电脑上的软件)、安卓手机应用、苹果手机应用。windows 应用可通过 java/c++等编写,mac应用可通过swift 编写,安卓应用由java/kotlin编写,苹果手机应用由swift编写。同样,你是使用库/框架来开发应用的。
在他们的行业里,他们一般说网站/软件由xxx语言开发
他们程序员会按照工作职位、工作内容,把写代码工作划分为这几种
我以 B 站作为例子
前端:编写 B 站网页显示的东西。比如推荐的视频一行显示几个,搜索框在哪个位置,小图片、字体的位置颜色大小的设置,你还需要考虑这些东西怎么在电脑上显示、怎么在手机上显示
后端:编写 B 站服务器上运行的东西。比如你发表了一个评论,这些后端代码的工作就是把你的评论文字存到 B 站服务器的硬盘上(当然不仅做这些);你点开播放了一个Vlog视频,这些后端代码的工作就是根据复杂的数学模型,计算得出你可能喜欢的视频,推荐给你
移动端:编写 bilibili 的安卓或苹果手机app。成果就是你手机上的那个app
算法:编写、设计复杂的数学算法/模型。他们就是做人工智能、机器学习(当然还有别的)的那群人,这些人学历都很高,名校硕士/博士。B 站上怎么推荐你视频的模型就是他们设计的,B 站女孩直播时给自己套一个动漫头像,这是怎么做到的也是他们设计实现的;你搜索框里输入“什么是EDM",怎么返回你最期待的视频结果也还是他们设计的
测试:他们用来检测前边那些人写的代码到底可靠不可靠。
大数据:编写代码管理、使用 B 站服务器上存的数据。比如,计算下最近3天 B 站上播放量最高的数据,怎么计算速度最快;后端经常会调用大数据做的东西,算法做的东西经常会被大数据来实际应用
运维:管理、监控 B 站机房里的计算机和代码运行状况。比如,这些计算机怎么配置、优化运行速度最快;代码出现问题了,赶紧找到相关的后端/大数据过来解决。
如果你想开发个人网站或手机APP的话,请选择 Javascript,这样你能同时很多事(前端/后端/移动端)。
要知道网站或应用是哪种语言开发的,最简单就是官方的说法。其次,看使用的开源库,一般使用什么语言的库,应用/网站也是使用相同的语言。最后,android 一般是 java 开发的,ios 现在一般是Swift,以前多用 Objective-C ,网站看网页文件的扩展名,扩展名带 php、jsp、asp 等,这些是能看出对应的语言的,html/htm 就无法得知是用什么语言开发的。
编程说难也难,说不难也不难,普通人有清晰的路径,认真学都能学会。自学需要自律,需要查找资料,找出一条学习的正确道路,后者在现在很简单了,知乎上很多相关的回答,网上也有很多前几年,并不过期的培训班的视频。自学的难点还在于自律,但我看你应该是没问题。
开发 VPN,我不懂。
编程说难也难,说不难也不难,普通人有清晰的路径,认真学都能学会。自学需要自律,需要查找资料,找出一条学习的正确道路,后者在现在很简单了,知乎上很多相关的回答,网上也有很多前几年,并不过期的培训班的视频。自学的难点还在于自律,但我看你应该是没问题。
开发 VPN,我不懂。
开发VPN并不难,至少在Linux下开发一个简单的VPN还算比较容易,不过需要一点C语言基础才行。IBM开发者网站中已经详细说明了如何开发一个Linux下的VPN软件了: https://www.ibm.com/developerworks/cn/linux/l-tuntap/index.html
个人觉得其实最关键的只有1行代码而已: fd = open (device, O_RDWR) ,其中 char *device = "/dev/net/tun";
个人觉得其实最关键的只有1行代码而已: fd = open (device, O_RDWR) ,其中 char *device = "/dev/net/tun";
有个浏览器插件Wappalyzer可以查看网站所用的技术栈,有些站也能看到后端用的框架
现代密码学
如果你 0 基础,想开发出一个比现有翻墙软件还安全的软件,差距还很大
如果你 0 基础,想开发出一个比现有翻墙软件还安全的软件,差距还很大
考虑到要适配多端,推荐学习下 flutter,或者用 react native,都好使,加油吧
JAVA PHP JS HTML等网页用语言
具体不清楚,但分前端后端
前端HTML JS之类的
后端PHP啥的
具体不清楚,但分前端后端
前端HTML JS之类的
后端PHP啥的
网站?前端还是后台?
搞开发,和学历没什么关系。
我们大一学的高数,没有什么直接用处,大一第2学期basic,大二上学期cobol,下学期pascal
做网站,语言是基础,主要还是架构,和服务器的分发原理。
当然了解网络是有帮助的,数据库。
程序结构和算法,易学难精。
编译原理直接跳过。
搞开发,和学历没什么关系。
我们大一学的高数,没有什么直接用处,大一第2学期basic,大二上学期cobol,下学期pascal
做网站,语言是基础,主要还是架构,和服务器的分发原理。
当然了解网络是有帮助的,数据库。
程序结构和算法,易学难精。
编译原理直接跳过。
已隐藏