单例模式在iOS开发中可能算是最常用的模式之一了,但是由于oc本身的语言特性,想要写一个正确的单例模式相对来说比较麻烦,这里我就抛砖引玉来聊一聊iOS中单例模式的设计思路.关于单例模式更多的介绍请参考这篇文章. 单例顾名思义就是说一个类的实例只能有一个,在java.C++这类语言中,可以通过将构造函数私有化来避免对象的重复创建,但是objective-c却不能够这样做,我们需要通过其他机制来达到这个目的.一般情况下,可能我们写的单例模式是这样的: #import @interface Singl…
obj.style.z-index的正确写法 今天发现obj.style.z-index在js里面报错,后来才知道在js里应该把含"-"的字符写成驼峰式,例如obj.style.z-index的正确写法应该是obj.style.zIndex…
AutoMapper:Queryable Extensions 示例代码: using (var context = new orderEntities()) { return context.OrderLines.Where(ol => ol.OrderId == orderId) .Project().To<OrderLineDTO>().ToList(); } 这是 Jimmy Bogard 提供的一段使用.Project().To的示例代码,但如果加上.OrderBy(ol =&…
最近工作中某个软件功能出现了退化,追查下来发现是一个类的成员变量没有被正确的初始化.这个问题与C++存在虚继承的情况下派生类构造函数的写法有关.在此说明一下错误发生的原因,希望对更多的人有帮助. 我们代码中存在虚继承的类的继承结构与下图类似,并不是教科书中经典的菱形结构.从 Intermediate1 和 Intermediate3 到Base2 的继承是虚继承.Base1 和 Base2 包含一些成员变量,并提供了相应的构造函数接受指定的初始化值.Base2 还有一个缺省构造函数,把其成员变量…
使用runloop阻塞线程的正确写法 runloop可以阻塞线程,等待其他线程执行后再执行. 比如: @implementation ViewController{    BOOL end;}…– (void)viewDidLoad{    [super viewDidLoad];     NSLog(@”start new thread …”);    [NSThread detachNewThreadSelector:@selector(runOnNewThread) toTarget:se…
PHP $_FILES函数详解 在PHP中上传一个文件建一个表单要比ASP中灵活得多.具体的看代码. 如:  复制代码代码如下: <form enctype="multipart/form-data" action="upload.php" method="post"> <input type="hidden" name="MAX_FILE_SIZE" value="1000&q…
错误写法: //只在IE下有作用,其他浏览器均获取的为第一个单选框的值 $('input[type=radio]').val(); 正确写法为: //兼容所有浏览器写法 $('input[type=radio]:checked').val();…
由于想批量入库提升效率,最近实现了ibatis的批量插入,结果一直报错 :StringIndexOutOfBoundsException ,原来是value中的格式不正确. 本人邮箱:techqu@163.com,欢迎讨论 正确写法示例: RecieveDataRecordsDao public long iterate_insert(List<RecieveDataRecordsDB> db) { Object obj = getSqlMapClientTemplate().insert(&…
单例模式,分为饿汉式单例 和 懒汉式单例. 先把本类对象所需内存在main函数执行前就new出来,这是饿汉式单例. 个人思考: 为什么饿汉式不独霸天下,还有什么必要去研究使用cpp11上支持的双检查锁机制(这是懒汉式,用到类实例时才去申请内存)?就因为饿汉式单例事先就占用了一些类内存?反正迟早都要占用内存啊. 或者说,饿汉式单例有什么缺陷. 饿汉式单例: 个人理解: 优点: 编程上使用很简单 缺点: 整个程序运行期间会一直占用内存,不可以在程序运行期间将其delete. 饿汉式单例模式的重要特点…
Android系统--输入系统(十二)Dispatch线程_总体框架 1. Dispatch线程框架 我们知道Dispatch线程是分发之意,那么便可以引入两个问题:1. 发什么;2. 发给谁.这两个问题便是构成Dispatch线程的主要两个部分,也是今天博文主要讨论的问题,本次只是简单介绍框架,具体介绍会在后续博文具体说明. 2. Dispatch线程分发过程 2.1 针对发什么? 首先需获得事件: (1)简单处理 进行输入事件分类(Global按键.system按键.用户按键) 处理紧急事件…
正确的关闭一个线程可不是简单的事情,由于线程调度的复杂性以及不可控性(毕竟运行都由操作系统做主),先来了解一下interrupt() 1.interrupt() 根据jdk文档的介绍,如下: interrupt()的作用是中断本线程. 本线程中断自己是被允许的:其它线程调用本线程的interrupt()方法时,会通过checkAccess()检查权限.这有可能抛出SecurityException异常. 如果本线程是处于阻塞状态:调用线程的wait(), wait(long)或wait(long…
C++ 的一个常见面试题是让你实现一个 String 类,限于时间,不可能要求具备 std::string 的功能,但至少要求能正确管理资源.具体来说: 能像 int 类型那样定义变量,并且支持赋值.复制. 能用作函数的参数类型及返回类型. 能用作标准库容器的元素类型,即 vector/list/deque 的 value_type.(用作 std::map 的 key_type 是更进一步的要求,本文从略). 换言之,你的 String 能让以下代码编译运行通过,并且没有内存方面的错误. vo…
if(一个返回bool值的条件表达式) { 程序块 } else{} 它的执行过程我们可以通过一个程序来了解 static void Main(string[] args) { ) // 条件1 { Console.WriteLine("A"); } =< score && score < ) //条件2 这里的score<90根本不执行,没有理解if else if的本质 { Console.WriteLine("B"); 上面的…
在开发nodejs中,我们往往需要读取文件或者写入文件,最常用的模块就是fs核心模块.一个最简单的写入文件的代码如下(暂时不考虑回调函数): fs.readFile("./test.txt", function (error, result) {} 该代码的意思就是从当前目录下的test.txt文件中读取数据,然后在result中打印输出.当在我们本地运行该代码应该没什么问题,可以成功执行.但是如果这样的代码在项目中运行,同时把该项目部署到云服务器上时,很有可能会出现bug. bug的…
http重定向到https使用了nginx的重定向命令.那么应该如何写重定向?之前老版本的nginx可能使用了以下类似的格式. rewrite ^/(.*)$ http://domain.com/$1 permanent; 或者 rewrite ^ http://domain.com$request_uri? permanent; 现在nginx新版本已经换了种写法,上面这些已经不再推荐. 下面是nginx http页面重定向到https页面最新支持的写法: server { listen ;…
它的主要特点不是根据客户程序调用生成一个新的实例,而是控制某个类型的实例数量-唯一一个.(<设计模式-基于C#的工程化实现及扩展>,王翔).也就是说,单例模式就是保证在整个应用程序的生命周期中,在任何时刻,被指定的类只有一个实例,并为客户程序提供一个获取该实例的全局访问点. 第一种最简单,但没有考虑线程安全,在多线程时可能会出问题. public class Singleton { private static Singleton instance; private Singleton() {…
网上搜的,但有问题,已经改好...现在这个是正确的 public static string ToJson(DataTable dt, string jsonName)        {            StringBuilder Json = new StringBuilder();            if (string.IsNullOrEmpty(jsonName))                jsonName = dt.TableName;            Json.…
此文章针对webwork+spring+hibernate的工程,对于其他框架应该一样适用,首先在wsdd文件中找到所需webservice的名称,例如以下写法: <service name="ProvSysServices" provider="java:RPC"> <parameter name="className" value="com.sjtu.webservice.provSys"/> &l…
之前在工作中写过一些Socket客户端与服务端的代码,但是当时没有时间仔细研究,只能不报错先过的态度,对其细节了解不深,写的代码有各种问题也浑然不知,只是业务量级以及对接方对接代码没有出现出格的情况所以问题不得暴露. 首先通过单线程Socket做服务端是一种BIO的做法,这种做法会导致服务端只能同时接收一笔请求,性能非常差 下面我把BIO的代码帖一下,有需要的同学可以参考 服务端 public class SocketIO { //客户端编码,客户端发送编码与服务端一致,则服务端无需进行解码特殊…
(1)问题描述 使用vue脚手架vue-cli搭建好项目架构后,在packages.json文件里,加入注释(如下所示).接下来,运行npm run dev命令后出现报错 (2)问题解析 ①记得json的注释和js一样,所以要么package.json不是完全的json格式,要么就是npm无法识别中文编码,你把注释换成英文试一下. ②package.json就是一个json文件,json本身只是一种数据格式,而不是程序语言,一般程序语言都会支持注释,但作为数据格式,它本身并不支持注释,所以只能通…
判断语句:if 条件 then   if  条件  then ************;   elsif  条件  then  ************;   elsif 条件  then ************;   end if;  end if; 主要注意elsif 写法,少一个e 时间查询:to_char(t.uptime,'yyyy-mm-dd')='2015-10-27',用to_char函数转成字符型 和分页查询有关的存储过程: create or replace procedu…
我的Java Web Application的context是myweb,即http://localhost:8080/myweb/index.jsp是欢迎页. 现在我的一个Controller的映射为@RequestMapping("/fileUp"). 如果页面的form中的action=“/fileUp”,转向的URL为http://localhost:8080/fileUp,是无效的. 以下是有效的写法,会转向“http://localhost:8080/myweb/fileU…
近日调试了STM8S的ADC采集多通道数据的程序,按照之前的立即,将ADC1设置为:扫描模式,连续采集,数据缓存模式,中断使能后应该可以在中断后读取到数值了,可是无论怎样都只能读取到第一个缓冲器的数据,其它的都是0 经过认真研究文档,看到如下:在连续扫描模式中正确清除EOC标志位的方法是从一个RAM变量中载入一个字节到ADC_CSR寄存器,这样来清除EOC标志位的同时还重新载入扫描系列新的最后通道编号. IC是STM8S003,很低端的芯片. 不多说了,看代码. ADC1的配置部分: void…
报错“The result of the xpath expression is: [object Attr]. It should be an element” yutube爬虫动态加载,需要用到selenium-webdriver,使用过程中,首先使用 find_elements_by_xpath进行批量标签的定位选取,之后 使用find_element_by_xpath精细筛选选标签的时候出现上面错误提示, 原因是这个webdriver的定位方法和浏览器xpath不一样,不能直接定位到标签…
网站logo既要考虑seo又需要用图片代替网站名字,所有H1标签带来的权重还是需要使用 有些人喜欢直接把<H1></H1>标签直接hidden掉,个人喜欢使用css Text-indent还是放到屏幕外 .logo h1 { overflow: hidden; position: absolute; text-indent: -9999px; } <a class="logo" target="_self" href="htt…
AutoLoading\loading <?php namespace AutoLoading; class Loadind { public static function autoload($className){ //根据PSR-O的第4点 把 \ 转换层(目录风格符) DIRECTORY_SEPARATOR , //便于兼容Linux文件找.Windows 下(/ 和 \)是通用的 //由于namspace 很规格,所以直接很快就能找到 $fileName = str_replace('…
判断选中CHECKBOX事件  网上各种扯淡 搞死我了..加上总觉得smarty引擎和JSJQ有很多冲突.. $("#id").is(":checked");…
<choose> <when test="scoreRange!=null and scoreRange eq 1"> AND sc.score <![CDATA[ < ]]> 60 </when> <when test="scoreRange!=null and scoreRange eq 2"> AND (sc.score <![CDATA[ >= ]]> 60 AND sc.s…
原始版本 public static Object getInstance() { if (instance != null) { return instance; } instance = new Object(); return instance; } 不足:没有考虑多线程 版本1: public static synchronized Object getInstance() { if (instance != null) { return instance; } instance = n…
学习整理 饱汉模式(懒汉模式) // 饱汉 // UnThreadSafe public class Singleton1 { private static Singleton1 singleton = null; private Singleton1() { } public static Singleton1 getInstance() { if (singleton == null) { singleton = new Singleton1(); } return singleton; }…