TT学习备忘录- Web开发篇

一位WEB开发新手分享从零开始搭建维基百科网站的经历,包括DOM操作、UI框架选择、数据库技术选型等方面的经验教训。

本人WEB开发新人,之前一直做底层的一些开发(学物理的,非计算机专业),主要用的是C和VHDL开发硬件,早年间业余得用VC,SQL和C#开发过一些学术类的应用,偶尔业余时间开发过一些IOS或ANDROID的APP,很少接触应用层的开发。

今年4月因项目要求,需要开发一个维基WIKIPEDIA,之前没有做过WEB APP,临时学习JAVASCRIPT, 一直以为开发WEB APP,HTML + CSS + 原生JAVASCRIPT 就是前端开发的所有了,前两者虽然没有学过,但比较简单,只花了很少的时间补习了下,因为之前有开发经验,所以JS也没有花太多时间,花1天时间看了一遍教程,就直接开始做项目了,所以在技术选型时,没有使用任何框架和库,因为是一个人SOLO干,交互设计,前端,服务器端都一个人搞,加上经验不足,于是噩梦开始了。所以写下一些经验之谈,备以后使用。

(另外备注一下,虽然是个程序员,但不太喜欢使用电脑和互联网,经常不使用手机,所以会犯以下的这些错误。更加喜欢是拿着弓去野外生存,拿着钢笔在纸上写程序,拿着吉他一个人去旅行,所以信息有时真的不灵通,有点过时,看来还是要及时更新脑子里的知识)


1. DOM的各种操作

Keywords: DOM (文档对象模型) , Jquery

用原生Javascript来进行DOM的各种操作,在不复杂的情况下还是OK的,但后期当class和id变得越来越复杂,越来越不够用时,一个Intelligent的元素选择器变得越来越重要,在准备自己写一个稍微smart一点的dom selector库时(当时真准备自己写一个库),我才知道原来有一个Jquery, 已经非常成熟了。

Jquery 教程:http://www.runoob.com/jquery/jquery-tutorial.html

Jquery 查询手册:http://hemin.cn/jq/index.html

Jquery CDN: http://www.bootcdn.cn/jquery/


2. UI Framework

Keywords: UI

我不是平面设计师,也不是UI或交互设计师,虽然在用HTML5+CSS3时不会很痛苦,但要设计出一个不错的UI还是有难度,尽管我是天平座的,审美还不错,但是开发的代码量相当的大,而且因为又要开发PC端,又要开发移动端,UI这一块浪费了很多时间,最终我找到一些解决方案是:使用UI框架

1) Bootstrap: Twitter开发的UI Framework(CSS3+JS)

教程与手册:http://www.runoob.com/bootstrap/bootstrap-tutorial.html

2) SemanticUI: 用语义class来开发UI

教程与手册:http://www.semantic-ui.cn/

3) JQuery UI: Jquery出的UI Framework

教程与手册:http://www.runoob.com/jqueryui/jqueryui-tutorial.html

最终,我还是没有用他们的任意一个,因为它们的体积都太大,我用的服务器太差,加上目前项目的UI比较简单,但是还是备忘在这里,说不定哪天可以用到,Bootstrap和SemanticUI很简约,很好用,SemanticUI的体积有些大,Jquery UI自己不太喜欢,我喜欢很简约的东西。


3. 数据库

Keyword: SQL Server, MongoDB, Redis

Database这一块我以为自己很熟悉,因为不光WEB APP, 之前开发过的APP都使用过Database, 但仅限于SQL SERVER和MYSQL, 所以在数据库技术选型时,我使用了SQL Server(因为使用的Windows服务器),因并行数越来越大,服务器又不是很好,于是我在想是不是有什么新技术,效率更高的,找到了这些:

1) MongoDB (NoSQL): 一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。


为什么使用NoSQL ?

今天我们可以通过第三方平台(如:Google,Facebook等)可以很容易的访问和抓取数据。用户的个人信息,社交网络,地理位置,用户生成的数据和用户操作日志已经成倍的增加。我们如果要对这些用户数据进行挖掘,那SQL数据库已经不适合这些应用了, NoSQL数据库的发展也却能很好的处理这些大的数据。对NoSQL最普遍的解释是"非关联型的",强调Key-Value Stores和文档数据库的优点,而不是单纯的反对RDBMS


教程与手册:http://www.runoob.com/mongodb/mongodb-tutorial.html


2) Redis:REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。


Redis 优势
性能极高  –  Redis能读的速度是110000次/s,写的速度是81000次/s 。
丰富的数据类型  –  Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
原子  –  Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
丰富的特性  –  Redis还支持 publish/subscribe, 通知, key 过期等等特性。


教程与手册:http://www.runoob.com/redis/redis-tutorial.html


4. Ajax

Keyword: Ajax

在学习Javascript过程中学到的东西,AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。AJAX 是在不重新加载整个页面的情况下与服务器交换数据并更新部分网页的技术。

教程与手册:http://www.runoob.com/ajax/ajax-tutorial.html


5.构建SPAs(Single Page Applications)

Keyword: vue.js, angulasjs

angulasjs: 

教程与手册:http://www.runoob.com/angularjs/angularjs-tutorial.html

vue.js: 

教程与手册:lhttp://cn.vuejs.org/guide/index.html


6.正则表达示

http://www.runoob.com/regexp/regexp-tutorial.html

代码转载自:https://pan.quark.cn/s/8ce4326d996e 对于在 CentOS 7 系统中修改网卡配置文件后无法使设置生效的情况,经过实践验证,可以通过使用 nmcli 命令来进行调整。完成修改之后,需要重新启动虚拟机以使更改生效,这样操作流程即告完成。如果设置仍然无法生效,则表明虚拟机在启动过程中所获取的 IP 地址配置并非针对 eth0,此时可以对其它网卡的配置文件进行修改或将其移除。在 CentOS 7 系统中,网络配置的管理机制与早期版本存在差异,主要体现为采用了 Network Manager 服务来负责网络接口的管理。在某些情形下,尽管修改了 `/etc/sysconfig/network-scripts` 目录下的 `ifcfg-eth0` 文件,但网络配置却未能即时生效。此类问题的发生通常源于 CentOS 7 采用了不同于以往的配置读取方法。接下来将具体阐述如何借助 nmcli 命令来处理这一挑战。 以 root 用户身份登录系统并打开终端界面。nmcli 是 Network Manager 提供的命令行界面工具,它支持在命令行环境下执行网络连接的建立、编辑、查询及管理任务。针对修改 eth0 网卡配置的需求,可以遵循以下步骤进行操作: 1. 导航至 `/etc/sysconfig/network-scripts` 目录: ``` cd /etc/sysconfig/network-scripts ``` 2. 检查该目录内是否存在 `ifcfg-eth0.bak` 文件,该备份文件可能是先前调整配置时遗留下来的,若存在可能造成冲突。若发现该文件,可以选择将其删除: ``` [root@localhost netw...
代码转载自:https://pan.quark.cn/s/46fd08fb879c 网管教程 从入门到精通软件 ★一。★详尽的xp修复控制台指令及其应用!!! 放入xp(2000)的光盘,安装时选择R,执行修复! Windows XP(涵盖 Windows 2000)的控制台指令是在系统遭遇某些意外状况时的一种极具效用的诊断、检测以及恢复系统功能的工具。笔者确实一直期望能够将这方面的指令进行归纳,此次由老范辛苦整理了这份极具价值的秘籍。 Bootcfg bootcfg 命令用于启动配置与故障恢复(对大多数计算机而言,即 boot.ini 文件)。 带有特定参数的 bootcfg 命令仅在运用故障恢复控制台时方可使用。能够在命令行界面下运用带有不同参数的 bootcfg 命令。 用法: bootcfg /default 设定默认引导选项。 bootcfg /add 向引导清单中增添 Windows 安装。 bootcfg /rebuild 重复整个 Windows 安装流程并让用户选择需添加的项目。 注意:运用 bootcfg /rebuild 之前,应先借助 bootcfg /copy 命令备份 boot.ini 文件。 bootcfg /scan 探查用于 Windows 安装的全部磁盘并展示结果。 注意:这些结果被静态存储,并用于当前会话。若在当前会话期间磁盘配置发生变动,为获取更新的探查结果,必须先重启计算机,然后再次探查磁盘。 bootcfg /list 列示引导清单中已有的项目。 bootcfg /disableredirect 在启动引导程序中禁用重定向。 bootcfg /redirect [ PortBaudRrate] |[ useBio...
代码下载链接: https://pan.quark.cn/s/fc524f791b68 AA制程,即Active Alignment,被理解为主动对准,是一种用于确定零部件装配中相对位置的方法。在摄像头封装阶段,涉及图像传感器、镜座、马达、镜头、线路板等多个部件的重复组装,而传统的封装设备如CSP及COB等,均是依据设备设定的参数进行零部件的移动装配,因而零部件的叠加误差会逐渐增大,最终在摄像头上表现为拍照最清晰的位置可能偏离画面中心、四边清晰度不均等现象。伴随智能手机和其他高端电子产品的普及,摄像头模组的性能正日益受到重视。高分辨率、卓越的低光表现以及稳定视频输出是现代用户所期望的。在摄像头模组的制造环节,各部件的精准定位对成像质量具有决定性作用。因此,一种名为“AA制程”(Active Alignment)的前沿技术被开发出来,成为摄像头精密对准的核心技术。 AA制程,即Active Alignment,是一种在摄像头封装过程中应用的主动对准方法。该方法在多个组件装配阶段发挥作用,涵盖图像传感器、镜座、马达、镜头和线路板等部件。传统的封装方式,例如CSP(Chip Scale Package)和COB(Chip On Board),依赖于设备预设的参数进行组装,但随着组件数量的增加,误差也会累积,最终影响摄像头的表现。例如在成像质量上可能出现中心位置偏移、四角清晰度不一致等问题。 AA制程技术的核心在于实时监测与主动调整。在组装过程中,它借助先进的检测设备持续监控半成品的状态,并根据实时信息对组装部件进行精确修正,从而显著降低装配误差。通过这种技术,能够确保摄像头模组中各组件的相对位置准确无误,从而使得最终的成像效果更加稳定,特别是在中心区域和四角的清晰度上...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值