一、是否可以使用 count(*) 在 SQL 中,COUNT() 函数返回匹配指定条件的函数。...不要使用 COUNT(常量) 和 COUNT(column_name) 来替代 COUNT(*) COUNT(*) 是 SQL92 定义的标准统计行的语法,和数据库无关,跟 NULL 和非 NULL也无关...综上所述,可以使用 count(*)。
很多公司都禁止程序员在 SQL 中使用 JOIN,至于原因则出奇的一致:用 JOIN 慢。...FROM posts JOIN users on posts.user_id = users.id ORDER BY posts.created_at DESC LIMIT 10 如果不使用 JOIN...至于 SQL 里是否可以使用 JOIN,如果相关的表以后有独立部署的可能性,那么就要考虑避免使用 JOIN,否则用 JOIN 也无妨。...当然,有人会找出一些使用 JOIN 后效率奇差的例子,不过这样的问题一来可能是索引不佳,二来可能是特殊情况,用不用 JOIN 都会有类似的问题,只要使用的时候留意即可。...下次如果大家再听到别人以性能为由反对 JOIN 的使用,那么不妨把本文的链接发给他,因为他多半没有搞清楚真正的原因是什么。
为保证不支持的浏览器不报错,可以加入是否支持HTML5 history API的判断: ?...现在可以在不刷新的状况下操作浏览器地址栏和历史记录了,那同一站点的普通链接跳转是否都可以转变为Ajax来提升使用体验?是的,而且已经有了pjax[]这些专门完成这个功能的作品。.../html5/appcache/:13 noupdate /html5/appcache/:37 当manifest文件进行修改后,console如下: checking /html5.../appcache/:13 dowload /html5/appcache/:27 5 progress /html5/appcache/:49 updateready /html5...拖放操作 学习目标 学会使用ondragenter 学会使用ondragover 学会使用ondragleave 学会使用ondrop 设备信息访问 HTML5提供了让我们可以访问设备的硬件信息API
首先在阿里的规范里是这样说的: 【强制】二方库里可以定义枚举类型,参数可以使用枚举类型,但是接口返回值不允许使用枚举类型或者包含枚举类型的 POJO 对象。 那到底为啥不能用呢?...枚举 首先我们得先思考一下枚举是否可以进行序列化,我们在把对象进行传输的时候需要将这个对象序列化为字节序列进行传输(在linux中一切皆文件,JVM虚拟机将对象变为字节给到内核通过传输协议进行打包传)枚举在进行编译后会生成一个相关的类...上面的内容整明了枚举是可以进行序列化的,是可以被传输的,他的实现也是通过类来实现的,除了fastJSON那一步,使用都没有问题的。...其他角度考虑 借鉴知乎 使用枚举的确会带来扩展兼容性的问题,这点很多答主都说的很好了,我就说一下为什么参数上可以使用枚举的原因吧。咱们先假定对枚举的扩展只是新增值,而不是减少值。...(我觉得这个假设是参数可以使用枚举型的前提)在这个假定下如果我们在接口中使用枚举型,如孤尽兄在java开发手册中所述,分为参数和返回值两种情况。
原理和环境 如上面提到的HTML5的离线存储是基于一个新建的.appcache文件的,通过这个文件上的解析清单离线存储资源,这些资源就会像cookie一样被存储了下来。...NETWORK 白名单,使用通配符"*". 则会进入白名单的open状态. 这种状态下.所有不在相关Cache区域出现的url都默认使用HTTP相关缓存头策略....下面的 NETWORK 小节规定文件 "login.asp" 永远不会被缓存,且离线时是不可用的: NETWORK: login.asp 可以使用星号来指示所有其他资源/文件都需要因特网连接: NETWORK...可以看见图片1成功被离线展示出来了,图片2像正常情况一样显示不出来。 现在我想把图片2和图片1的位置换一下呢....updateready", function() { //缓存更新并已下载,要在下次进入页面生效 // applicationCache.update(); //检查缓存manifest文件是否更新
Html5一大新特性、同时也是非常吸引人的特性,就是其离线功能。它让Web从online延伸到了offline领域。...通过浏览器兼容性检查我们可以看到,除了IE9,几乎是全平台兼容此特性,让我们放开手脚去实现。 三部曲 1、准备manifest文件,格式如下。..."> 3、添加MIME类型,让服务器支持.appcache的文件类型 # /etc/nginx/mime.types text/cache-manifest appcache...; 网上Apache的修改方式一大堆,我给来个nginx的,环境是Ubuntu 12.04 一些注意事项 上述三步之后,你就可以给你的应用添加离线功能,但是你会觉得用起来很别扭(起码一开始我是这样觉得的...2、使用Location.reload()来手动刷新页面 旧方案(不推荐): function init(){ seInterval(function(){ //每5秒检查一次缓存是否有更新
认知科技技术团队阿里Java 面试:@Transactional 和 @Async 标注同一个 service 方法会导致事务失效吗 现介绍下@Transactional 和 @Async 标注的不同方法是否可以一起使用...@Transactional 和 @Async 标注的方法可以相互被调用,但需要注意一些关键事项以确保它们按预期工作。...因此,如果一个使用 @Transactional 注解的方法调用了一个使用 @Async 注解的方法,Spring 不会传播相同的事务线程上下文。...如果需要保持事务的上下文,可能需要采取额外的措施,如使用特定的传播行为或捕获并处理异步方法中可能发生的异常。...总之,@Transactional 和 @Async 标注的方法可以被相互调用,但需要确保你了解并正确处理了相关的复杂性和潜在问题。
在html5中使用application cache可以把一些静态资源保存在客户端的浏览器上面。这样可以提高访问的速度,甚至是离线应用。.../beginner/) manifest 使用appcache我们需要维护一份列表。...如果你以为安装上面的步骤就能happy的使用appcache的话,那就错了。 MIME 使用appcache需要在服务器上配置MIME。不然客户端无法读取.appcache的列表文件。...如果你使用VS来调试,那么需要更改IIS Express的配置文件。...Remove AppCache 当你不想要Appcache的时候,你以为只要把html tag的manifest移除就可以,那你就错了。你要把.appcache列表文件从服务器删除。
为什么要使用Application Cache技术? 在HTML5之前,我们需要接入网络才能访问,这毫无疑问是网站多次请求服务器,造成速度变慢,对于PC用户,网络相对比较稳定,载入速度也不会差太多。...离线存储技术 实际开发中,主要是使用Application Cache和LocalStorage技术,它们来自HTML5技术。...我用一段话来赘述下为什么要使用Application Cache技术: 当页面有些元素它们是不变的,你可以使用Application Cache技术离线缓存掉,每次访问这些缓存掉的元素就不需要再请求服务器了...,检查manifest清单中是否有无法访问的文件,并及时更新,以免造成损失。...NETWORK: * 也可以使用星号“ * ”来指示所有其他资源/文件都需要因特网连接。 注意:千万不要把首页index放入NETWORK中禁止缓存,否则插件等无法使用。
合法网站使用Linux CentOS7的apache服务器搭建,IP为192.168.1.113,HOSTS文件中加入192.168.1.113 www.cache-test.com来模拟域名。...攻击者可以访问本目录的demo_html.appcache获得缓存文件,在同名文件加入自己的恶意代码(这里是弹出hacked对话框),利用DNS欺骗、中间人等方式,这里将HOSTS文件更改为192.168.1.154...通过Wireshark抓包可以看到,浏览器仅仅请求了demo_html.appcache,离线缓存攻击成功。注意在实验时需要排除浏览器本身缓存的影响,仅仅刷新页面会收到服务器返回的304响应。...由于时间有限,并没有用爬虫去找使用了HTML5离线缓存的网站,仅仅做了这种攻击的验证实验,若有大家可以推荐几个来测试。 主页htm: appcache"> <script src="demo.js
UIWebView用于在App中嵌入网页内容,通常情况下是html格式的网页,也支持pdf, word等文档。 控件优点 可跨平台 开发一次可以部署iOS、Android等平台。...排版布局能力强 强大的HTML+CSS让人膜拜 控件缺点 性能 Native先生与HTML5先生争论时最喜欢说的一句话就是:“你性能不行”。...Web App运行在浏览器里,浏览器的开放能力难以支持HTML5与Native对抗。...使用场景 排版复杂的内容 需后台灵活控制的界面 原网页 1.加载网页 UIWebView *webView = [[UIWebView alloc] initWithFrame:self.view.bounds...www.baidu.com"]]; // 加载请求 [webView loadRequest:request]; [self.view addSubview:webView]; 2.js调oc 网页中的点击方法可以调起原生页面
正好前段时间翻译了一本书《HTML5 Mobile Development Cookbook》,中文译本在此。...其中我觉得非常有用但是又让人头痛的一个功能就是AppCache:它可以让用户在访问一次网页以后,下次再来时不能访问网络的情况下,也可以使用这个Web App;但是当页面资源被缓存以后,非常难去更新它们⋯...如何使用AppCache 要引入AppCache一般有三个步骤: 1....我们一般使用.appcache作为manifest文件的后缀,这个是WHATWG的建议,同时也获得了更多浏览器的支持。 2....Nothing new to server. } }, false); }, false); AppCache的Debug 当我们在本地调试的时候,我们如何知道AppCache是否起效果,
7,UIWebView对html5的各种规范支持较少,而WKWebView由于是基于WebKit所以对h5的各种规则基本都支持。...其他的区别如下: 1,UIWebView是UIKit框架的一部分,可以在应用程序内使用,无需导入任何内容;而WKWebView使用的是WebKit.framework,使用的时候需要导入到应用程序中。...可以使用stopLoading方法来停止页面的加载,使用loading属性来查看是否正在加载。 要允许用户在Web历史页面中前进或者后退,要为按钮设置goBack或者goForward的动作。...布尔值,指示HTML5视频是否内嵌播放,或使用native全屏控制器。 allowsAirPlayForMediaPlayback。是否允许AirPlay。...HTML5视图是否可以播放画中画 mediaTypesRequiringUserActionForPlayback。确定哪些类型需要用户手势才能播放。 WKAudiovisualMediaTypes。
HTML5 web存储支持情况: IE8以上,现代浏览器。...HTML5运用程序缓存(Application Cache): 通过创建cache manifest文件,web运用可被缓存,并且无网络状态可以进行访问!...使用: 1 appcache);如果未指定manifest属性,页面不会缓存(除非在manifest文件中直接指定了该页面!)...HTML5 server-sent events(服务器发送事件): server-sent事件是单向信息传递;网页可以自动获取来自服务器的更新!
HTML5,通过创建 cache manifest 文件,可以轻松地创建 web 应用的离线版本。...HTML5引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问。...应用程序缓存为应用带来三个优势: 离线浏览 – 用户可在应用离线时使用它们 速度 – 已缓存资源加载得更快 减少服务器负载 – 浏览器将只从服务器下载更新过或更改过的资源。...---- 新建一个 .appcache 文件,html文件的html标签中引入这个文件 在apache的httpd.conf文件下添加 AddType text/cache-manifest .appcache...在.appcache文件下进行设置: manifest 文件是简单的文本文件,它告知浏览器被缓存的内容(以及不缓存的内容)。
typeindex> #include #include #include #endif 在CSP-J/S考试是可以使用万能头文件的...使用了万能头文件之后,就不再需要包含其他头文件了。 使用万能头文件,会把大量的不需要用到的头文件也包含进去,这样会增加编译时间。...也就是说,考试时既可以逐个包含需要用到的头文件,也可以一次性包含万能头文件。 但是,就平时练习来说,建议不要使用万能头文件。理由有三: 第一,万能头文件,也叫“懒人专用头文件”。...使用万能头文件,可能会导致你不了解哪个函数具体是在哪个头文件里声明的,从而影响到你对C++基础框架的理解。咱们学C/C++,不仅仅是为了考CSP-J/S认证,更是为了扎扎实实学习信息学知识。...有些考试会明确规定不允许使用万能头文件。
WebView和Safai、Chrome一样都是基于Webkit网页渲染引擎,可以通过加载HTML数据的方式便捷地展现软件的界面。...2、UIWebView组件在iOS中有自己的浏览器组件,他就是UIWebView,WebKit是渲染引擎,UIWebView是渲染引擎和JS引擎的组合。UIWebView是基于移动版的Safari的。...WebView就是一个内嵌浏览器控件,在iOS 8中用WKWebView替代了旧的引擎UIWebView,更多的支持HTML5的特性。...UIWebView不仅可以加载HTML页面,还支持pdf、word、txt、各种图片等等的显示。
前言 使用HTML5,通过创建cache manifest文件,可轻松创建web应用的离线版本;HTML5引入了应用程序缓存,这意味着web应用可进行缓存,并可在没有网络时进行访问。...应用程序缓存为应用带来三个优势 离线浏览—用户可在离线时使用 速度—已经缓存的资源加载的更快 减少服务器负载—浏览器将只从服务器下载更改过的资源 原理和环境 如上面提到的HTML5的离线存储是基于一个新建的....appcache文件的,通过这个文件上的解析清单离线存储资源,这些资源就会像cookie一样被存储了下来。...就像cookie一样,html5的离线存储也需要服务器环境。 解析清单 在开始之前要先了解下 manifest(即.appcache文件),上面的解析清单要怎么写。...: login.asp 可以使用*来指示所有其他资源/文件都需要因特网连接: NETWORK: * FALLBACK 下面的 FALLBACK 小节规定如果无法建立因特网连接,则用 “offline.html
例如,我们在进行身份验证的时候,就可以使用这个。 Secure:与安全相关,如果设置了,那么请求只能是来自HTTP加密请求。...,每个数据库可以创建对个对象存储空间(表/table),一个对象存储空间可以存储多个对象数据; 如图: 使用IndexedDB实现离线数据库 这里我们主要从IndexedDB 的四大功能入手: 增删改...,通过一个叫manifest的文件指明需要缓存的资源;你可以通过navigator.online检测是否在线; 原理 如图: 解释: (1)用户通过浏览器(browser)去访问应用,首先检测浏览器是否有一个叫做...(appcache是后缀名,你可以选择其他的) 我们来看一个例子: appcache"> HTML5缓存我们就介绍到这里。 参考 HTML5之IndexedDB使用详解