关于上个月学习笔记

7.7 代码工程
sourceTree 代码管理工具


github(代码的仓库,英文版)
码云 (中文版)


Xmind 总结性的思维导图
Dash API 查看工具  Dash for macOS - API Documentation Browser, Snippet Manager - Kapeli
Worktile - 更好用的企业协作平台


Markdown  博客(技术博客)


HBuilder  H5 + HTML + CSS + js


IDE 快速开发工具
MyEclipse : 对Eclipse进行了一些扩展,添加了JS,JSP,HTML等等插件,自己去编写配置文件。


IDEA:
Gradle配置


IdeaIU




7.10 web前端
1.web前端包含:PC端页面,移动端页面
2. 拉勾网(互联网求职网站)
3.web前端解决的问题
   1)有没得界面显示
   2)良好的用户交互体验


什么是网页
1.网页由文字,图片按钮等元素组成,还可以包括音频,视频






web标准
w3c标准
web标准规范分类   结构标准,表现标准,行为标准(身体,衣服,动作)
结构:HTML  表现:CSS    行为:javascript
网页制作三剑客:html,css,js


http:超文本传输协议
URL:平时写的网址就是URL的地址
规定URL地址的格式
scheme:定义因特网服务类型,常见的是http
host:定义域主机
domain:定义因特网域名,如anou3g.com
:post:定义端口号,网页默认端口号80
path:网页在服务器的路径




HTML语言
<html lang=”en”>定义站点是英文(en)还是中文(cn)
<head>头标签,标记网页的头部,声明信息,如编码格式,标题,搜索引擎搜索关键字,使用的链接问价等等
一个HTML文件只能有一个<head>标签




标签语义化:根据内容的结构化(内容语义化),选择合适的标签(代码语义化)
网页结构合理
网页更容易被浏览器引擎抓取
方便其他设备解析(移动设备等)
便于团队开发和维护


如何做到标签语义化:
尽可能少的使用无语义标签
在语义不明显时,既可以使用div或者p时,尽量用p,因为p在默认设置下有上下间距,对兼容特殊的终端有效利
不需使用纯样式的标签,如:b,font,u等,改用CSS样式。
需要强调的文本,可以包含在Strong或者em标签


ul无序清单 清单项目将以数字,字母顺序排列(type – 前面的样式,如何改变颜色(彩色))


工作QQ,工作微信,工作电话


图片 –src取值1.图片网址
  2.图片的存储路径(HTML文档于图片的存储层级)
  上一级目录存储:../文件夹名/图片名
下一级目录:/文件夹名/图片名
同一级目录存储:图片名


图片命名规范:全小写字母,可以有数字,但尽量不要用数字开头,多个单词使       用下划线_隔开




阿里巴巴Java命名规范




A标记 herf URL  链接目标URL
 Name section_name规定锚的名称
<a name=”_top"> //设置锚点
<a herf=”#_top”> //跳转到锚点
 Target在何处打开目标URL
_blank 在新的窗口打开网页
_self 在当前的目标打开网页




阿里矢量图标库http://www.iconfont.cn/


加密解密 MD5(方式)


单选功能,单选设置单选组,给它们添加相同的name




input file 上传文件<input type=”file”/>
<textarea></textarea>   --cols  设定字符数 
--rows  限制行数(相当于高度)




<select name=”学历”>
<option>小学</option>
<option>中学</option>
<option>大学</option>
</select>
size 规定下拉框可见选项的数目


<select>
<optgroup label=”湖北”>
 <option>武汉</option>
 <option>宜昌</option>
optgroup>
<optgroup label=”黑龙江”>
 <option>双鸭山</option>
 <option>绥芬河</option>
     <option>五大连池</option>
  </optgroup>


</select>


meta 的属性有两种:name和http- equiv。
http-equiv 网页重定向


link 应用外部css
引用title图片


作业:课堂笔记
 练习的代码  




7.11 CSS
问题1.由于HTML即写结构有写样式,导致页面缺乏结构性,降低了网页的访问性  2.页面维护越来越困难


Css可以为任何元素的文本和背景设置颜色;允许在任何元素外围设置边框;允许改变文本的大小,装饰(如下划线),间隔,甚至可以确定是否显示文本。


CSS:层叠样式表(Cascading Style Sheets)----控制页面布局和样式


CSS的语法结构
选择器{
属性:值;
属性:值;
}
属性和属性值之间用冒号(:)隔开,定义多个属性时,属性之间用英文输入法下的分号;隔开。


什么是选择器:实现CSS对HTML页面样式的控制,如果要让这些样式对HTML页面中的元素实现一对一,一对多或者多对一的控制,这就需要用到CSS选择器,HTML页面中的元素就是通过CSS选择器进行控制的。


选择器的分类:
基础选择器
标签选择器
类选择器(是对HTML标签中的class属性进行选择。CSS类选择          
   器的选择符是“.”)
ID选择器(同一个页面不能有相同的ID,不会报错,但是不符合          
                        W3C标准,所以要保证唯一性)
复合选择器
后代选择器(包含选择器)eg.  .title input()      #content a()
并集选择器(使用逗号“,”隔开多个选择器,对多个标签进行   统一设置,可以说具体的标签,可以说class,id)
专用于input的选择器:通过type去区分每个input标签




类选择器的使用方法:
第一步:使用合适的标签把要修饰的内容标记起来,如下:
<span>Web开发</span>
第二步:使用class="类选择器名称"为标签设置一个类,如下:
<span class="one">Web开发</span>
第三步:设置类选器css样式,如下:
.one{color:red;}


多类选择器:
一个标签可以有多个类选择器的值,不同的值用空格分开,如:
<div class="one yellow leftStyle">此处为标签内的文字</div>
这样我们可以将多个样式用到同一个标签中
<p class=”p1 p3”>我是一个段落标签</p>




选择器的命名:
 
  
header     
内容 content/container   
footer   
导航 nav   
侧栏 sidebar   
标志 logo   
广告 banner   
页面主体 main   
内容 content  






规范:
不要使用汉字,拼音及HTML的标签去命名一个选择器,反例:zhuce,p,a,daohang;
数字不能开头,反例1name,35age
符号只可以使用下划线“_”,反例my&&name,¥money




ID选择器与类选择器
1:类选择器:好比人的名字可以多个人使用
2:id选择器好比人的身份证的唯一性有且只能使用一次
3:写样式的时候,大部分都是用类,极少的使用id。不提倡用ID去写样式,因为它的权重最高。通常留给js使用


通配符选择器:
通配符选择器用“*”号表示,他是所有选择器中作用范围最广的,能匹配页面中所有的元素




CSS常用属性:
Width:宽   height:高
Color:前景色,一般用于设置文字颜色
Background-color 背景颜色
Font-size 字体大小单位通常使用px
Text-align:设置位置,值可以是center,left,right等
Font-family:设置字体样式,如宋体等
Font-weight:设置字体加粗,nomal默认,bold加粗
Font-style:设置字体风格






HTML中,根据显示模式不同,将标签分为几类


块级标签(div,p,h1—h6,form等。特点是独占一个自然段,1.一个块级元素独占一行。2.元素的高度,宽度,行高及边距都可设置。3.在不设置宽度的情况下,为充满父容器(占父级容器的100%,如果父级是浏览器,占据浏览器宽度的100%))


行内标签:
行内元素无法设置其上下边距,但是行内元素可以转换为块级元素,display属性设置为block     设置成行内块元素displayinline block
行内块标签






div和span 是无语义标签,没有具体的含义和样式,div可以理解为一个容器,如果想对网页中的某一些元素组成一个区域整体去设计CSS样式,可以将这些元素放入一个容器div中


span :文字,如果有一些文字没有任何标签包裹进行说明描述,想要对其设置CSS样式,通过span包裹文字,设置类或id选择器进行设置。


选择器{
font:font-style font-weight font-size/line-weight font-family}
必须按照顺序去书写,必须设置字体大小和字体


标签指定式选择器
标签指定式选择器(即....又....)
标签指定式选择器又称交集选择器,由两个选择器构成,其中第一个为标记选择器,第二个为class选择器或id选择器,两个选择器之间不能有空格,如
   h3.special或p#one。




CSS有三种使用形式:内联式,在当前行使用,不可重用。(一般只用于个人和测试)
 内嵌式,写在head标签中,可重用。
 外联式,单独定义CSS文件,用link引用。

Process on(程序流程图,UML工具)https://www.processon.com/popular


CSS优先级
内联样式最大,内联样式的优先级最高。
ID选择器的优先级,仅次于内联样式。
类选择器优先级低于ID选择器
标签选择器低于类选择器。








CSS伪类
:link{属性:值;}   链接默认状态  
:visited{属性:值;}链接访问之后的状态 
:hover{属性:值;}鼠标放到链接上显示的状态  
:active{属性:值;}   链接激活的状态
:focus{属性:值;}    获取焦点




背景background
background-color:设置背景颜色
background-image:设置背景图片
background-repeat:  设置背景平铺    one-repeat   repeat-x   repeat-y
background-postion:  设置背景位置   left,right,center,top,bottom
background-attachment:   设置背景是否固定    


背景连写的格式???






行高
1.浏览器默认的字体大小:16px
2.浏览器默认的字体行高:18px
3.行高=上边距+字体大小+下边距




盒子模型


所谓盒子模型就是把HTML页面中的元素看作是一个矩形的盒子,也就是一个盛装内容的容器。每个矩形都由元素的内容、内边距(padding)、边框(border)和外边距(margin)组成。
1.border
语言:
border:宽度 边框的样式 边框的颜色










7.12 CSS2 (浮动和布局)


浮动的特点:
1浮动找浮动,不浮动找不浮动
2.浮动值影响后面的元素
3.浮动以元素顶部为基准对齐
4.浮动可以实现模式转换(span设置浮动可以设置宽高)
5.让块级元素在一行显示




margin外边距的总结
margin:设置四个方向的外边距 margin:上 右 下 左
margin-left,margin-right,margin-top,margin-bottom:分别设值
margin:20px 20px;第一个代表上下,第二个代表左右
margin:20px auto;auto 自适应大小,类似于在父容器居中。




整理代码格式快捷键
cmd+shift+F
(cmd是指空格左右侧带)


新人快速工作总结
不要拿来就去做,要去思考,去规划
根据原型图做出模块分布图,要设计好结构(多思考会出现的冲突)为一个模块做好命名/规划等
将各个模块以border或背景形式展示出来
具体填充每一个模块




原型图
一般由设计/美工使用PS制作,根据项目需求/产品需求设定界面,在原型图中要规定


.9图片


overflow属性规定内容溢出元素框时发生的事情。




定位
定位分类
static
absolute  绝对定位,以左上角为基准,开始定位,当它的父级不是游览器而是一个盒子,当父盒子使用了定位,则从盒子开始定位,一个盒子在另一个盒子中,父盒子未设置定位,子盒子以游览器左上角为基准开始定位
relative
fixed




自助学习网站(app)
掘金




相对定位
相对定位以元素自身位置为基准设置位置
相对定位占位置
一般子元素设置相对定位,父元素绝对定位




固定定位fixed
固定定位不占位置
固定定位




7.14 Javascript


由网景公司(Netscape)在1995年发布


特点:
借鉴C语言的基本语法
借鉴Java语言的书籍类型和内存管理
借鉴Scheme语言,将函数提升到“第一等公民”(first class)的地位
借鉴self语言,使用基于原型(prototype)的继承机制


借鉴了众多语言,为了让js可以让更多人多熟悉,可以很快上手进行开发
Javascript弱化了Java的强类型概念,js是弱类型的语言,var可以代表所有的类型




面试提升的知识点
面向过程和面向对象
面向对象:封装,继承,多态
封装和继承都是为多态服务的
封装的实现:类(setter、getter方法)
内部类。抽象类,使用继承建立连接关系,借口,枚举,泛型,反射等,尽量减少类型的出现。类型数量减少,内部建立连接关系,高内聚,从而能达到少儿精的目的,最终的目的:修改和维护更加的方便,内存的管理更加的轻松。
架构设计
几乎半数以上的设计模式都是在针对多态去操作的


在Java中通过多态简化类型的概念,让某个类具有多种表现形态


内存管理
Java中的弱引用,强引用,虚引用,软引用
都是针对垃圾回收机制,操纵垃圾回收机制操作内存
采用某种引用机制,当对象不被使用时,会根据引用机制去判断草去垃圾回收,将该对象占据的内存空置出来。






牛客网 (笔试面试平台)




JavaScript的认识
javascript是一种网页编程技术
JavaScript就是一种基于对象和时间驱动,并具有安全性能的脚本语言
JavaScript可以被嵌入到HTML文件中不需要经过web服务器就可以对用户操作作出响应




JavaScript的组成
ECMAScript:JavaScript的语法标准
DOM:JavaScript操作网页上的元素的API
BOM:JavaScript操作浏览器的部分功能API




BOM(Browser Object Model)浏览器对象模型


Window对象
window对象是JavaScript中的顶级对象
所有定义在全局作用域中的变量函数都会变成window对象的属性方法
window对象下的属性和方法调用的时候可以省略Window




window的方法
window.open(url,target,param) 不写target默认在新窗口打开
URL要打开的网址
Target新窗口的位置_blank,_self
Param新窗口的设置
window.close()关闭窗口




在网页中经常设计到页面的切换和跳转
通过a标签超链接能够完成
但是特殊情况有很多,如点击图片跳转,点击按钮跳转
这些a标签不能完成的内容,由window的open方法进行跳转




通过标签名获取(返回值是数组)
document.getElementsByTagName("img")[0];
通过类名获取
document.getElementsByClassName("iocn")[1];


匿名函数的形式
XX.onclick = function(){


}




Js的特点
简单易用
可以使用任何文本编辑工具编写,只需要游览器就可以执行程序
解释执行
实现不编译
逐渐执行
无需进行严格的变量申明
基于对象


js使用范围
客户端数据计算
客户端表单合法性验证
浏览器对象的调用
浏览器时间的处罚
网页特殊显示效果的制作






js语法规范
与CSS类似,嵌入HTML的head标签
单独文件,在head标签中引用






innerHTML(覆盖,替换)单独写入文字,写入HTML标签
innertext:写入文本内容




js执行原理
HTML页面中出现<script>标签后,就会让页面暂停等待脚本的解析和执行。无论当前脚本是内嵌式还是外链式,页面的下载和渲染都必须停下来等待脚本的执行完成才能继续,这在页面的生命周期中是必须的。




通过js与网页进行交互
警告框alert()  : 直接弹出
对话框confirm() : 
输入框prompt






命名规范
变量名必须以字母或者下划线开头,变量可以包含数字,大小写字母
js严格区分大小写




JS中的数据类型
简单(基本,信)数据类型
Number,String,Boolen,Undefined,Null
复杂(引用数据类型(暂时了解))
Object,Array,Date




查看当前变量的数据类型
typeof name
typeof(name)




数据类型转换
将数字类型转换为字符类型
隐式类型转换
强制类型转换(string(),变量.toString())
将字符串转换为数字类型
隐式类型转换
强制类型转换(number(),parseInt(),prasefloat())




逻辑运算符
1.&&:逻辑与,一假即假






定时器
循环执行(间隔多长时间反复执行)
setinterval(code,interval)
   参数1:执行的代码,可以是function函数
参数2:间隔的时间,以毫秒为单位
取消循环定时器
clearInterval(timerID);
定时执行
setTimeout(timeDo,3000)




other.Classname = other.className.replace(“box”,”hide”);
控制标签的显示与隐藏
js修改替换HTML标签的class样式




编辑器
sublimeText(需要自行安装HTML插件)
atom(功能最强大的文档编辑器,什么都能打开)




location 
window.location
相当于游览器的地址栏
通俗:在js代码中想要获取访问网址的主机




第三方托管
友盟
科大讯飞
mob.com


navigator
window.Navigator()获取客户端的信息,如游览器型号,操作系统型号


历史记录history
forward,back前进,后退


DOM
文档对象模型
document object model
文档树模型




DOM可以做什么
找对象(元素)
设置元素的属性,设置元素的样式
动态创建和删除元素
时间触发响应
事件源(事件触发者)
事件名称
事件响应元素




7.18
名词
响应式编程,响应式网站
reactive programing
响应式编程是一种面向数据流的变化传播的编程范式。这意味着可以在编程语言中很方便地表达静态或动态数据流,而相关的计算模型会自动将变化值通过数据流进行传播




从侧面可以理解为观察者模式


rn:React native 使用RN在JavaScript中提供更加优化的操作
热更新/热修复:
so文件:使用C语言编写,用来驱动硬件,控制底层的音频/视频 encode/decode,更多的应用于Linux系统。但是如果你是一位javaweb,android,ios,前端,后台的开发人员,你总会有一天需要使用so文件。直播,视频网站,歌曲网站,网站可以控制电脑硬件,车载音响,智能电视,扫地机器人。


Javaweb
Ffmpeg 用来记录,转换数字音频,视频,并能将其转换为流的开源计算机程序,他提出了录制,转换以及硫化音视屏的完整解决方案


openGL


链《--》Array
链式编程
前端(大前端工程师)
后台(全栈工程师)
数据结构/复杂数据处理  必须强
json格式,xml格式的数据熟练
几种特别火的小语言:Python,rubby,go,kotlin,


第三方:邮箱验证,三方平台登录,分享,手机短信验证码,集成第三方视频(优酷),
java的网络编程 tcp/ip,Socket,UDP,HTTP
网址:URL
网络连接:httpURLConnection
网络响应码:200,404,405,505
流stream:输入流,输出流等等
文件:File    mkdir,mkdirs:创建文件夹
              createNewFile:创建文件
关于网络请求的一些概念名词:
get,post,head,body,param,request,respond


javaweb
传递:表单,获取到用户信息,封装成json结构的数据


JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。


面试概念
String:不可变字符串
子类会继承父类的private属性和方法吗?子类会继承父类的全部!!(内存上全部继承)但是由于private的权限限制,无法使用
内部类
静态内部类




多线程编程
1.进程:
进程一般指的是内存中运行的应用程序
每一个进程都有一块单独的内存空间
多个进程


2.线程
线程指的是在进程中的一个执行流程
开启多线程之后可以实现几部分代码同时执行




线程与进程的关系
一个进程可以有多个线程指,一个应用可以有多个功能,完成多个任务
一个线程必须依附一个进程指某个功能或任务


Java中的线程就是thread,至于Runnable,CAlable都是线程的target所有的线程执行都说离不开thread,必须由thread(),start才能开启线程




创建线程的三种方式
Thread,Runnbale,Callable




Yield() 暂停当前正在执行的线程对象,并执行其他线程。
Join() 一个线程在一个线程结束之后再执行
Sleep() 




线程的生命周期   新建状态—>(执行了start方法,进入就绪状态->(等待分配CPU资源)->(CPU分配了运行内存)->运行状态(执行run方法)->分支
---如果有耗时操作(sleep休眠/耗时)阻塞状态(耗时执行完毕)就绪状态(run方法执行完毕)进入死亡状态
为什么要是有线程
行为线程的:并发性,抢占式运行特性
例子:下载软件同时下载4个电影


内存溢出,内存泄露
同步,异步  接口回调
线程优先级 
每一个Java线程都有一个优先级,这样有助于操作系统确定线程的调度顺序
Java线程的优先级是一个整数,其取值范围是(Thread.MIN_PRIORITY)-10(Thread.MAX_PRIORITY),默认情况下,每个线程都会分配一个优先级NORM_PRIORITY
具有较高优先级的线程对程序更重要,并且应该在低优先级的线程之前分配处理器资源
线程优先级不能保证线程执行的顺序,而且非常依赖于平台


火车票出售异常:线程不安全/不同步
原因:
多线程在运行的时候究竟是在运行状态是完全随机的
线程可以在程序的任意位置由运行状态进入就绪状态
当线程由运行状态变为就绪状态在回复运行状态是,所有的变量值还是会使用之前运行状态时的变量值
解决方法:
同步就是协同步调,按预定的先后次序进行运行
在一个线程执行某段代码时,如果没有执行完,其他线程就会在代码处等待而不能调用该段代码
同步方法,同步代码块,线程锁
都可以解决多个线程共同操作一个变量的情况,让其同步操作,按顺序执行,同时只有一个线程可以访问,其他要等待该线程访问结束,才可以执行同步的内容。




修饰符 volatile
volatile是一个类型修饰符(type specifier),就像大家更熟悉的const一样,它是被设计用来修饰被不同线程访问和修改的变量。volatile的作用是作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。
volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。




Java虚拟机的编译优化及运行时优化。哪些代码不会启动编译优化:不稳定的代码,多个线程会操作访问的,final修饰的。




链式编程
 写代码的手段,对运行和效率没有任何提升,让您写出的代码更加的优雅,简洁
创建一个用户信息表,名字,昵称,性别,年龄








前端框架   jQuery








JAVA   servlert + jsp
Web.xml
<load-on-startup> -1 代表初始化   
0  tomcat刚启动的时候就开始初始化      都代表初始化,数字越小,初始化的时间越早
写在<servlet-mapping>里面




<servlet>标签中的
<init-param>初始化定义变量
<param-name></param-name>
<param-value></param-value>


</init-param>






request.setAttribute(“asc”,a);
将数据库中查询出来的东西放在request域中,方便前端页面调用

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值