- muduo网络库学习总结:基本架构及流程分析
moumde
epoll网络muduoc++
muduo网络库学习:基本架构及流程分析基本架构BasicReactorMutipleReactor+ThreadPoolmuduo库的基本使用基本结构介绍EventLoop类Poller类Channel类TcpConnection类Acceptor类TcpServer类流程梳理之前一直在学习陈硕大佬的muduo库,一直考虑找个时间总结一下(不然没过多久全忘光了)。muduo库是一种基于React
- muduo网络库学习(1)
躺又躺不平卷又卷不动
C++后端网络学习
muduo网络库学习(1)文章目录muduo网络库学习(1)前言一、muduo是什么?二、代码结构1.base库2.net库3.附属库二、网络库结构总结前言本章节主要介绍muduo网络库的整体架构!一、muduo是什么?muduo是一款基于reactor的网络库,整个网络库采用oneloopperthread+threadpool的方法,代码简洁,性能优越·。二、代码结构1.base库base库如
- muduo网络库学习笔记(三)TimerQueue定时器队列
weixin_30648963
目录muduo网络库学习笔记(三)TimerQueue定时器队列Linux中的时间函数timerfd简单使用介绍timerfd示例muduo中对timerfd的封装TimerQueue的结构.TimerTimer的容器.TimerQueue私有接口介绍.更新定时器时序图TimerQueue源码TimerQueue使用示例muduo网络库学习笔记(三)TimerQueue定时器队列TimerQueu
- muduo网络库学习(三)定时器TimerQueue的设计
一个程序渣渣的小后院
muduo源码学习muduo网络库源码分析
Linux下用于获取当前时间的函数有time(2)/time_t(秒)ftime(3)/structtimeb(毫秒)gettimeofday(2)/structtimeval(微秒)clock_gettime(2)/structtimespec(纳秒)定时函数,用于让程序等待一段时间或安排计划任务sleep(3)alarm(2)usleep(3)nanosleep(2)clock_nanosle
- muduo网络库学习之EventLoop(一):事件循环类图简介和muduo 定时器TimeQueue
s1mba
muduo网络库学习
1、EventLoop、Channel、Poller等类图如下:黑色菱形:组合;白色菱形:聚合;白色三角形:继承;实线:关联;Channel是selectableIOchannel,负责注册与响应IO事件,它不拥有filedescriptor。Channel是Acceptor、Connector、EventLoop、TimerQueue、TcpConnection的成员。一个EventLoop对象
- muduo网络库学习笔记(15):关于使用stdio和iostream的讨论
li27z
muduoC/C++
C/C++程序中需要执行输入/输出时,我们一般会用到stdio或iostream。stdio指C语言的scanf/printf系列格式化输入输出函数,iostream指C++语言的cin/cout输入输出对象等。但是,在真实的项目中很少用到iostream(muduo网络库也不例外),本篇就对二者的优、缺点进行一个小结(主要考虑x86Linux平台,不考虑跨平台的可移植性,但是要考虑32-bit和
- muduo网络库学习之Timestamp类、AtomicIntegerT 类封装中的知识点
s1mba
muduo网络库学习
一、Timestamp类封装classTimestamp:publicmuduo::copyable,publicboost::less_than_comparable类图如下:值语义:可以拷贝,拷贝之后,与原对象脱离关系对象语义:要么是不能拷贝;要么可以拷贝,拷贝之后与原对象仍然存在一定的关系,比如共享底层资源两者之间的关系参见这里。1、muduo::copyable空基类,标识类,值类型2、l
- muduo网络库学习笔记(1):Timestamp类
li27z
muduo
时间戳一般用来唯一地标识某一刻的时间,通常是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数。muduo网络库对时间戳Timestamp类也进行了封装。Timestamp类类图:由类图可知,Timestamp类的参数有一个常量kMicroSecondsPerSecond表示每秒所对应的微秒数,成员变量microSecond
- muduo网络库学习之EventLoop(一):事件循环类图简介
哆啦尼可夫
muduo源码
番外TCP网络编程本质TCP网络编程最本质是的处理三个半事件连接建立:服务器accept(被动)接受连接,客户端connect(主动)发起连接连接断开:主动断开(close、shutdown),被动断开(read返回0)消息到达:文件描述符可读消息发送完毕:这算半个。对于低流量的服务,可不必关心这个事件;这里的发送完毕是指数据写入操作系统缓冲区,将由TCP协议栈负责数据的发送与重传,不代表对方已经
- muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor
335046781
目录muduo网络库学习笔记(五)链接器Connector与监听器AcceptorConnector系统函数connect处理非阻塞connect的步骤:Connetor时序图Acceptor系统函数acceptSocket的封装Acceptor的封装Acceptor时序图.简单测试程序AcceptorConnctor运行日志muduo网络库学习笔记(五)链接器Connector与监听器Accep
- muduo网络库学习(九)日志类Logger和LogStream,将日志信息打印到屏幕
一个程序渣渣的小后院
muduo源码学习muduo网络库源码分析
每一个成熟的项目都有大大小小的日志系统,在关键的地方打印日志信息,常用来跟踪程序运行,查找错误原因等,可以节省大量的debug时间muduo的日志信息有5个级别TRACE,细粒度最高的日志信息,打印的最详细DEBUG,细粒度级别上对调试有帮助的日志信息INFO,粗粒度级别上强调程序的运行信息WARN,程序能正常运行,但存在潜在风险的信息ERROR,执行出错,但不影响程序继续执行的错误信息FATAL
- muduo网络库学习(四)事件驱动循环EventLoop
一个程序渣渣的小后院
muduo源码学习muduo网络库源码分析
muduo的设计采用高并发服务器框架中的oneloopperthread模式,即一个线程一个事件循环。这里的loop,其实就是muduo中的EventLoop,所以到目前为止,不管是Poller,Channel还是TimerQueue都仅仅是单线程下的任务,因为这些都依赖于EventLoop。这每一个EventLoop,其实也就是一个Reactor模型。而多线程体现在EventLoop的上层,即在
- muduo网络库学习之muduo_http 库涉及到的类
s1mba
muduo网络库学习
1、httprequest:requestline+header+body(header分为普通报头,请求报头与实体报头)header与body之间有一空行(CRLF)请求方法有:Get,Post,Head,Put,Delete等协议版本1.0、1.1常用请求头Accept:浏览器可接受的媒体(MIME)类型;Accept-Language:浏览器所希望的语言种类Accept-Encoding:浏
- muduo网络库学习之muduo_inspect 库涉及到的类
s1mba
muduo网络库学习
muduoinspect库通过HTTP方式为服务器提供监控接口,现在只实现进程相关信息的监控,通过成员ProcessInspector实现。ProcessInspector//通过ProcessInfo返回进程信息ProcessInfo//获取进程相关信息我们可以参照ProcessInspector实现一个如TcpStateInspector,作为Inspector的成员,这样就可以实现对Tcp连
- muduo网络库学习之EventLoop(四):EventLoopThread 类、EventLoopThreadPool 类
s1mba
muduo网络库学习
1、EventLoopThread(IO线程类)任何一个线程,只要创建并运行了EventLoop,都称之为IO线程IO线程不一定是主线程muduo并发模型oneloopperthread+threadpool(计算线程池)为了方便今后使用,定义了EventLoopThread类,该类封装了IO线程EventLoopThread创建了一个线程在线程函数中创建了一个EvenLoop对象并调用Event
- muduo网络库学习之Logger类、LogStream类、LogFile类封装中的知识点
s1mba
muduo网络库学习
一、Logger类、LogStream类1、日志作用开发过程中:调试错误更好的理解程序运行过程中:诊断系统故障并处理记录系统运行状态2、日志级别TRACE指出比DEBUG粒度更细的一些信息事件(开发过程中使用)DEBUG指出细粒度信息事件对调试应用程序是非常有帮助的。(开发过程中使用)INFO表明消息在粗粒度级别上突出强调应用程序的运行过程。WARN系统能正常运行,但可能会出现潜在错误的情形。ER
- muduo网络库学习笔记(3):Thread类
li27z
muduo
muduo网络库采用了基于对象的编程思想来封装线程类。类图如下:变量numCreated_表示创建的线程个数,类型为AtomicInt32,用到了我们上篇所说的原子性操作。Thread类中还用到了CurrentThread类。代码要点如下:(1)线程标识符Linux中,每个进程有一个pid,类型为pid_t,由getpid()取得。Linux下的POSIX线程也有一个id,类型为pthread_t
- muduo网络库学习笔记(0):面向对象编程风格和基于对象编程风格的比较
li27z
C/C++muduo
我们通过对一个线程类的封装来比较这二者的不同。面向对象编程风格使用面向对象编程风格封装线程类,一般这么做:写一个Threadbaseclass,含有(纯)虚函数Thread::run(),然后应用程序派生一个derivedclass,覆写run()。程序里的每一种线程对应一个Thread的派生类。类图如下:代码如下:文件名:Thread.h--头文件#ifndef_THREAD_H_#define
- muduo网络库学习笔记(8):高效日志类的封装
li27z
muduo
前言在服务端编程中,日志是必不可少的。开发过程中,日志的存在能方便我们调试错误和更好地理解程序;运行过程中,日志能帮助我们诊断系统故障并处理、记录系统运行状态。muduo日志类封装细节(1)日志消息有多种级别(level),如TRACE、DEBUG、INFO、WARN、ERROR、FATAL。日志的输出级别在运行时可调。代码片段1:返回当前日志级别文件名:Logging.ccLogger::Log
- muduo网络库学习笔记(6):单例类(线程安全的)
li27z
muduo
muduo用pthread_once实现了线程安全的Singleton。文件名:Singleton.htemplateclassSingleton:boost::noncopyable{public:staticT&instance(){pthread_once(&ponce_,&Singleton::init);return*value_;}private:Singleton();~Single
- muduo网络库学习之EventLoop(三):Socket、Acceptor、TcpServer、TcpConnection(连接建立,接收消息)
s1mba
muduo网络库学习
1、Socket操作封装Endian.h封装了字节序转换函数(全局函数,位于muduo::net::sockets名称空间中)。SocketsOps.h/SocketsOps.cc封装了socket相关系统调用(全局函数,位于muduo::net::sockets名称空间中)。Socket.h/Socket.cc(Socket类)用RAII方法封装socketfiledescriptorInetA
- 在Muduo网络库学习过程中获得的C++知识
小黄的雷雷
muduo网络库
1.shared_ptr为了解决多线程编程下无法确定对象是否存活的问题,引入了智能指针shared_ptr。shared_ptr是引用计数型智能指针,当计数为0时,对象即被销毁。shared_ptr控制对象的生命期,只要有一个shared_ptr存在,对象x就不会被析构,当最后一个shared_ptr析构或reset时,对象会被析构。注意是当指针销毁,对象就被析构。借助shared_ptr还可以实
- muduo网络库学习笔记(10):定时器的实现
li27z
muduo
传统的Reactor通过控制select和poll的等待时间来实现定时,而现在在Linux中有了timerfd,我们可以用和处理IO事件相同的方式来处理定时,代码的一致性更好。为什么选择timerfd常见的定时函数有如下几种:sleepalarmusleepnanosleepclock_nanosleepgetitimer/setitimertimer_create/timer_settime/t
- Muduo网络库学习之Buffer读取与发送数据
段长风
Muduo网络库
Buffer存在的意义Buffer是Tcp网络编程中必不可少的东西。为什么必须要有要有Buffer。举个简单的例子,先说输出buffer,假如服务器要向客户端发送100KB数据,受到了某些因素的影响,一次性只能发送80KB,那剩余的20KB怎么办,总不可能把它丢掉吧。这时候Buffer的作用就出来了,它将缓存没发送完的20KB数据(把数据按时间顺序存好,有点像队列,先入先出),然后再次注册sock
- 一个基于C++11的定时器队列(timerfd,poll实现)
艾露米婭娜
目录前言优点test源代码@前言最近小程序要用到定时器,找了一圈也没找到合适的,最后还是绕回来选择了muduo里面的TimerQueue,整理了下它的代码,独立了出来,因为实在懒得从头写一个--!。原来的muduo中TimerQueue是专为EventLoop提供定时功能的组件,我在笔记muduo网络库学习笔记(三)TimerQueue定时器队列中解读过muduo这块代码,现在反过来,EventL
- muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor
艾露米婭娜
目录muduo网络库学习笔记(五)链接器Connector与监听器AcceptorConnector系统函数connect处理非阻塞connect的步骤:Connetor时序图Acceptor系统函数acceptSocket的封装Acceptor的封装Acceptor时序图.简单测试程序AcceptorConnctor运行日志muduo网络库学习笔记(五)链接器Connector与监听器Accep
- muduo网络库学习笔记(四) 通过eventfd实现的事件通知机制
艾露米婭娜
目录muduo网络库学习笔记(四)通过eventfd实现的事件通知机制eventfd的使用eventfd系统函数使用示例EventLoop对eventfd的封装工作时序runInLoop()queueInLoop()wakeup()handleRead()doPendingFunctors()总结muduo网络库学习笔记(四)通过eventfd实现的事件通知机制上篇文章为EventLoop添加了一
- muduo网络库学习笔记(三)TimerQueue定时器队列
艾露米婭娜
目录muduo网络库学习笔记(三)TimerQueue定时器队列Linux中的时间函数timerfd简单使用介绍timerfd示例muduo中对timerfd的封装TimerQueue的结构.TimerTimer的容器.TimerQueue私有接口介绍.更新定时器时序图TimerQueue源码TimerQueue使用示例muduo网络库学习笔记(三)TimerQueue定时器队列TimerQueu
- Muduo网络库学习知识点总结
chudongfang2015
Muduo网络库
static_cast(expression)该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法:①用于类层次结构中基类(父类)和派生类(子类)之间指针或引用的转换。进行上行转换(把派生类的指针或引用转换成基类表示)是安全的;进行下行转换(把基类指针或引用转换成派生类表示)时,由于没有动态类型检查,所以是不安全的。②用于基本数据类型
- muduo网络库学习笔记(15):关于使用stdio和iostream的讨论
Leeds1993
C/C++程序中需要执行输入/输出时,我们一般会用到stdio或iostream。stdio指C语言的scanf/printf系列格式化输入输出函数,iostream指C++语言的cin/cout输入输出对象等。但是,在真实的项目中很少用到iostream(muduo网络库也不例外),本篇就对二者的优、缺点进行一个小结(主要考虑x86Linux平台,不考虑跨平台的可移植性,但是要考虑32-bit和
- linux系统服务器下jsp传参数乱码
3213213333332132
javajsplinuxwindowsxml
在一次解决乱码问题中, 发现jsp在windows下用js原生的方法进行编码没有问题,但是到了linux下就有问题, escape,encodeURI,encodeURIComponent等都解决不了问题
但是我想了下既然原生的方法不行,我用el标签的方式对中文参数进行加密解密总该可以吧。于是用了java的java.net.URLDecoder,结果还是乱码,最后在绝望之际,用了下面的方法解决了
- Spring 注解区别以及应用
BlueSkator
spring
1. @Autowired
@Autowired是根据类型进行自动装配的。如果当Spring上下文中存在不止一个UserDao类型的bean,或者不存在UserDao类型的bean,会抛出 BeanCreationException异常,这时可以通过在该属性上再加一个@Qualifier注解来声明唯一的id解决问题。
2. @Qualifier
当spring中存在至少一个匹
- printf和sprintf的应用
dcj3sjt126com
PHPsprintfprintf
<?php
printf('b: %b <br>c: %c <br>d: %d <bf>f: %f', 80,80, 80, 80);
echo '<br />';
printf('%0.2f <br>%+d <br>%0.2f <br>', 8, 8, 1235.456);
printf('th
- config.getInitParameter
171815164
parameter
web.xml
<servlet>
<servlet-name>servlet1</servlet-name>
<jsp-file>/index.jsp</jsp-file>
<init-param>
<param-name>str</param-name>
- Ant标签详解--基础操作
g21121
ant
Ant的一些核心概念:
build.xml:构建文件是以XML 文件来描述的,默认构建文件名为build.xml。 project:每个构建文
- [简单]代码片段_数据合并
53873039oycg
代码
合并规则:删除家长phone为空的记录,若一个家长对应多个孩子,保留一条家长记录,家长id修改为phone,对应关系也要修改。
代码如下:
- java 通信技术
云端月影
Java 远程通信技术
在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢,了解这些是实现分布式服务框架的基础知识,而如果在性能上有高的要求的话,那深入了解这些技术背后的机制就是必须的了,在这篇blog中我们将来
- string与StringBuilder 性能差距到底有多大
aijuans
之前也看过一些对string与StringBuilder的性能分析,总感觉这个应该对整体性能不会产生多大的影响,所以就一直没有关注这块!
由于学程序初期最先接触的string拼接,所以就一直没改变过自己的习惯!
- 今天碰到 java.util.ConcurrentModificationException 异常
antonyup_2006
java多线程工作IBM
今天改bug,其中有个实现是要对map进行循环,然后有删除操作,代码如下:
Iterator<ListItem> iter = ItemMap.keySet.iterator();
while(iter.hasNext()){
ListItem it = iter.next();
//...一些逻辑操作
ItemMap.remove(it);
}
结果运行报Con
- PL/SQL的类型和JDBC操作数据库
百合不是茶
PL/SQL表标量类型游标PL/SQL记录
PL/SQL的标量类型:
字符,数字,时间,布尔,%type五中类型的
--标量:数据库中预定义类型的变量
--定义一个变长字符串
v_ename varchar2(10);
--定义一个小数,范围 -9999.99~9999.99
v_sal number(6,2);
--定义一个小数并给一个初始值为5.4 :=是pl/sql的赋值号
- Mockito:一个强大的用于 Java 开发的模拟测试框架实例
bijian1013
mockito单元测试
Mockito框架:
Mockito是一个基于MIT协议的开源java测试框架。 Mockito区别于其他模拟框架的地方主要是允许开发者在没有建立“预期”时验证被测系统的行为。对于mock对象的一个评价是测试系统的测
- 精通Oracle10编程SQL(10)处理例外
bijian1013
oracle数据库plsql
/*
*处理例外
*/
--例外简介
--处理例外-传递例外
declare
v_ename emp.ename%TYPE;
begin
SELECT ename INTO v_ename FROM emp
where empno=&no;
dbms_output.put_line('雇员名:'||v_ename);
exceptio
- 【Java】Java执行远程机器上Linux命令
bit1129
linux命令
Java使用ethz通过ssh2执行远程机器Linux上命令,
封装定义Linux机器的环境信息
package com.tom;
import java.io.File;
public class Env {
private String hostaddr; //Linux机器的IP地址
private Integer po
- java通信之Socket通信基础
白糖_
javasocket网络协议
正处于网络环境下的两个程序,它们之间通过一个交互的连接来实现数据通信。每一个连接的通信端叫做一个Socket。一个完整的Socket通信程序应该包含以下几个步骤:
①创建Socket;
②打开连接到Socket的输入输出流;
④按照一定的协议对Socket进行读写操作;
④关闭Socket。
Socket通信分两部分:服务器端和客户端。服务器端必须优先启动,然后等待soc
- angular.bind
boyitech
AngularJSangular.bindAngularJS APIbind
angular.bind 描述: 上下文,函数以及参数动态绑定,返回值为绑定之后的函数. 其中args是可选的动态参数,self在fn中使用this调用。 使用方法: angular.bind(se
- java-13个坏人和13个好人站成一圈,数到7就从圈里面踢出一个来,要求把所有坏人都给踢出来,所有好人都留在圈里。请找出初始时坏人站的位置。
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
public class KickOutBadGuys {
/**
* 题目:13个坏人和13个好人站成一圈,数到7就从圈里面踢出一个来,要求把所有坏人都给踢出来,所有好人都留在圈里。请找出初始时坏人站的位置。
* Maybe you can find out
- Redis.conf配置文件及相关项说明(自查备用)
Kai_Ge
redis
Redis.conf配置文件及相关项说明
# Redis configuration file example
# Note on units: when memory size is needed, it is possible to specifiy
# it in the usual form of 1k 5GB 4M and so forth:
#
- [强人工智能]实现大规模拓扑分析是实现强人工智能的前奏
comsci
人工智能
真不好意思,各位朋友...博客再次更新...
节点数量太少,网络的分析和处理能力肯定不足,在面对机器人控制的需求方面,显得力不从心....
但是,节点数太多,对拓扑数据处理的要求又很高,设计目标也很高,实现起来难度颇大...
- 记录一些常用的函数
dai_lm
java
public static String convertInputStreamToString(InputStream is) {
StringBuilder result = new StringBuilder();
if (is != null)
try {
InputStreamReader inputReader = new InputStreamRead
- Hadoop中小规模集群的并行计算缺陷
datamachine
mapreducehadoop并行计算
注:写这篇文章的初衷是因为Hadoop炒得有点太热,很多用户现有数据规模并不适用于Hadoop,但迫于扩容压力和去IOE(Hadoop的廉价扩展的确非常有吸引力)而尝试。尝试永远是件正确的事儿,但有时候不用太突进,可以调优或调需求,发挥现有系统的最大效用为上策。
-----------------------------------------------------------------
- 小学4年级英语单词背诵第二课
dcj3sjt126com
englishword
egg 蛋
twenty 二十
any 任何
well 健康的,好
twelve 十二
farm 农场
every 每一个
back 向后,回
fast 快速的
whose 谁的
much 许多
flower 花
watch 手表
very 非常,很
sport 运动
Chinese 中国的
- 自己实践了github的webhooks, linux上面的权限需要注意
dcj3sjt126com
githubwebhook
环境, 阿里云服务器
1. 本地创建项目, push到github服务器上面
2. 生成www用户的密钥
sudo -u www ssh-keygen -t rsa -C "
[email protected]"
3. 将密钥添加到github帐号的SSH_KEYS里面
3. 用www用户执行克隆, 源使
- Java冒泡排序
蕃薯耀
冒泡排序Java冒泡排序Java排序
冒泡排序
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年6月23日 10:40:14 星期二
http://fanshuyao.iteye.com/
- Excle读取数据转换为实体List【基于apache-poi】
hanqunfeng
apache
1.依赖apache-poi
2.支持xls和xlsx
3.支持按属性名称绑定数据值
4.支持从指定行、列开始读取
5.支持同时读取多个sheet
6.具体使用方式参见org.cpframework.utils.excelreader.CP_ExcelReaderUtilTest.java
比如:
Str
- 3个处于草稿阶段的Javascript API介绍
jackyrong
JavaScript
原文:
http://www.sitepoint.com/3-new-javascript-apis-may-want-follow/?utm_source=html5weekly&utm_medium=email
本文中,介绍3个仍然处于草稿阶段,但应该值得关注的Javascript API.
1) Web Alarm API
&
- 6个创建Web应用程序的高效PHP框架
lampcy
Web框架PHP
以下是创建Web应用程序的PHP框架,有coder bay网站整理推荐:
1. CakePHP
CakePHP是一个PHP快速开发框架,它提供了一个用于开发、维护和部署应用程序的可扩展体系。CakePHP使用了众所周知的设计模式,如MVC和ORM,降低了开发成本,并减少了开发人员写代码的工作量。
2. CodeIgniter
CodeIgniter是一个非常小且功能强大的PHP框架,适合需
- 评"救市后中国股市新乱象泛起"谣言
nannan408
首先来看百度百家一位易姓作者的新闻:
三个多星期来股市持续暴跌,跌得投资者及上市公司都处于极度的恐慌和焦虑中,都要寻找自保及规避风险的方式。面对股市之危机,政府突然进入市场救市,希望以此来重建市场信心,以此来扭转股市持续暴跌的预期。而政府进入市场后,由于市场运作方式发生了巨大变化,投资者及上市公司为了自保及为了应对这种变化,中国股市新的乱象也自然产生。
首先,中国股市这两天
- 页面全屏遮罩的实现 方式
Rainbow702
htmlcss遮罩mask
之前做了一个页面,在点击了某个按钮之后,要求页面出现一个全屏遮罩,一开始使用了position:absolute来实现的。当时因为画面大小是固定的,不可以resize的,所以,没有发现问题。
最近用了同样的做法做了一个遮罩,但是画面是可以进行resize的,所以就发现了一个问题,当画面被reisze到浏览器出现了滚动条的时候,就发现,用absolute 的做法是有问题的。后来改成fixed定位就
- 关于angularjs的点滴
tntxia
AngularJS
angular是一个新兴的JS框架,和以往的框架不同的事,Angularjs更注重于js的建模,管理,同时也提供大量的组件帮助用户组建商业化程序,是一种值得研究的JS框架。
Angularjs使我们可以使用MVC的模式来写JS。Angularjs现在由谷歌来维护。
这里我们来简单的探讨一下它的应用。
首先使用Angularjs我
- Nutz--->>反复新建ioc容器的后果
xiaoxiao1992428
DAOmvcIOCnutz
问题:
public class DaoZ {
public static Dao dao() { // 每当需要使用dao的时候就取一次
Ioc ioc = new NutIoc(new JsonLoader("dao.js"));
return ioc.get(