手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表全部文章

记一次苹果手机修理过程

 之所以要记录它,是因为为了这个手机,我跑了4次南京路。。。

4次啊,把我一年的份额都跑掉了
本来是乘着这次端午想出去玩的,结果手机的电源突然坏了,于是在假期的第二天去南京路看了下,谁知道苹果店说要预约,不能当场确认修理。
问了下怎么预约,说是要在网上进行预约,然后登录apple store,发现所有的预约都满了,再次问工作人员,怎么办?他说要不你每天早上8点来,到店门口登记,如果登记了预约,就可以约定时间进行维修了。
于是在端午节早上,我7点多从家里出发,到了7点55分左右到南京路,结果发现门口居然有20多号人在排队了。。赶紧冲上去排好
8点左右,有工作人员出来登记,到我的时候,已经8点1刻,预约时间约为10点50分,我一想,还要等3小时左右,我还不如回家呢,于是我花了半小时,又回了家。
然后10点40左右回到了苹果店,在咨询了一些问题后,告诉我说,这要换机器,下午5点拿。由于昨天已经逛 过南京路了,所以,乘这个机会去把车载导航又修了下(在闵行区,七宝老街附近)。前后折腾了2个小时,然后回家逛了下,又去移动厅换了个小卡(当年的卡是自己剪的)。
然后再出发去南京路,到的时候差不多5点,换了个机器。看上去像新的。但其实我知道是返修机,嗯,总比坏的好吧。
 
回到家,网上查了一下:
已过期
2013-07-07
未过期
中国
2013-05-19 到 2013-05-25
 
我晶,不是说换机后保修3个月的嘛 。怎么还不如原来的机器?我原来的好歹还到7月17日 呢。
等会咨询一下他们。
不过总算是换了机器了。
记录下,如果有朋友在保修期内,是可以换的,记得去之前,在网上预约,否则就是排队了。
 
 

在WWDC前夜,About the OS X Mountain Lion v10.8.4 Update

 就在wwdc 2013的前夜。osx升级了。。10.8.4就这样提示我安装了。

The OS X Mountain Lion v10.8.4 Update is recommended for all OS X Mountain Lion users and includes new features and fixes.

Updating your system

  1. You should back up your system before installation. To do this you can use Time Machine.
  2. Do not interrupt the installation process once you have started to update your system.
  3. You may experience unexpected results if you have third-party system software modifications installed, or if you've modified the operating system through other means.
  4. Click the Apple () menu and choose Software Update to check for the latest Apple software via the Mac App Store, including this update.
  5. Other software updates available for your computer may appear, which you should install. Note that an update's size may vary from computer to computer when installed using Software Update. Also, some updates must be installed prior to others.

You can also download the manual update installer. This is a useful option when you need to update multiple computers but only want to download the update once. These versions of the standalone installers are available from Apple Support Downloads

About the update

The OS X Mountain Lion v10.8.4 Update is recommended for all OS X Mountain Lion users and includes features and fixes that improve the stability, compatibility, and security of your Mac, including the following:

  • Compatibility improvements when connecting to certain enterprise Wi-Fi networks
  • Microsoft Exchange compatibility improvements in Calendar
  • A fix for an issue that prevented FaceTime calls to non-U.S. phone numbers
  • A fix for an issue that may prevent scheduled sleep after using Boot Camp
  • Improves VoiceOver compatibility with text in PDF documents
  • Includes Safari 6.0.5, which improves stability for some websites with chat features and games
  • A fix for an issue that may cause iMessages to display out of order in Messages
  • Resolves an issue in which Calendars Birthdays may appear incorrectly in certain time zones
  • A fix for an issue that may prevent the desktop background picture from being preserved after restart
  • A fix for an issue that may prevent documents from being saved to a server using SMB
  • Addresses an issue that may prevent certain files from opening after copied to a volume named “Home"
  • A fix for an issue that may prevent changes to files made over NFS from displaying
  • Resolves an issue saving files to an Xsan volume from certain applications
  • Improves Active Directory log-in performance, especially for cached accounts or when using a .local domain
  • Improves OpenDirectory data replication
  • Improves 802.1X compatibility with ActiveDirectory networks
  • Improves compatibility when using mobile accounts

Additional Information

For detailed information about the security content of this update, see Apple security updates.

Important: Mention of third-party websites and products is for informational purposes only and constitutes neither an endorsement nor a recommendation. Apple assumes no responsibility with regard to the selection, performance or use of information or products found at third-party websites. Apple provides this only as a convenience to our users. Apple has not tested the information found on these sites and makes no representations regarding its accuracy or reliability. There are risks inherent in the use of any information or products found on the Internet, and Apple assumes no responsibility in this regard. Please understand that a third-party site is independent from Apple and that Apple has no control over the content on that website. Please contact the vendor for additional information.

 

好吧,反正闲着也是闲着,而且说不定也没资格升级到10.9,我还是就这么随便先升到10.8.4吧。

 

新版jQuery去掉了一些组件

 在用一个jQuery插件的时候,突然报错:b.browser undefined。。。

最初的时候想想不太可能啊?browser的判断不是从1.2.1的时候就一直就有了吗?于是搜索了一下jquery.mini.js,搜索browser,居然找不到。。。。

然后去官网看了一下,看到官方居然有这么一段:

<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>

居然建议我们加载migrate,打开这个文件搜索browser。。果然找到了。

于是在项目里加入这一行,不报错的。做个记录。(不就7K嘛。干嘛不放进去,真是的。。)

Tags: jquery

转:选择标签至文本域效果,可多选/可过滤重复/可限制个数(已封装)

 说实话,我还是挺喜欢这个标签选择器的,但是评论里说了,除了chrome外,其他浏览器几乎都不支持。因此,我就很纠结了。。

不多说,先看例子点此查看DEMO,怎么样,是不是很有意思?
代码也不多,不过我不懂CSS,所以。。。不知道怎么改,明天找个人纠结纠结:
JavaScript代码
  1. ;(function(){  
  2.     $.fn.extend({  
  3.         iSelectTags:function(options){  
  4.             var iset={  
  5.                 name:'.tagsbox',//表单或class或id名  
  6.                 drop:$('#dropbox'),//弹出框定位  
  7.                 pseudoClass:$('#dropbox>p>a'),//可选择的标签定位  
  8.                 close:$('em.close'),//关闭按钮定位  
  9.                 separator:',',//标签间分隔符,建议使用英文逗号  
  10.                 maxCount:10 //默认限制个数,也可以设置表单的data-count值覆盖默认值  
  11.             }  
  12.             options=$.extend(iset, options || {});  
  13.             var _input=$(iset.name);  
  14.             var _inputVal=_input.val();  
  15.             var _arr=new Array(); //存放标签的数组  
  16.             var _left=_input.offset().left; //左绝对距离  
  17.             var _top=_input.offset().top+_input.outerHeight(); //上绝对距离,此处要加上表单的高度  
  18.             var _dropW=_input.outerWidth()-parseInt(_input.css('border-left-width'))-parseInt(_input.css('border-right-width'))-parseInt(iset.drop.css('paddingLeft'))-parseInt(iset.drop.css('paddingRight'));  
  19.             iset.drop.css({'position':'absolute','left':_left+'px','top':_top+'px','width':_dropW+'px'});  
  20.             //弹出框的宽度,此处计算的是与表单实际宽度相等的.也可以直接在样式中定义.  
  21.             var _txt=null;  
  22.             var _maxCount=parseInt(_input.attr('data-count'));//限制选择个数  
  23.             if(isNaN(_maxCount)){  
  24.                 _maxCount=iset.maxCount  
  25.             }  
  26.   
  27.             _input.click(function(){  
  28.                 iset.drop.show();  
  29.                 iset.drop.bgiframe();//调用bgiframe插件,解决ie6下select的z-index无限大问题  
  30.             }).bind('keyup change',function(){  
  31.                 //可以在此处扩展手动输入标签情况下的相关判断  
  32.                 //if语句可避免清空重新选择时第一个字符为逗号  
  33.                 if ($(this).val() == '') {  
  34.                     _arr = new Array();  
  35.                 }else {  
  36.                     _arr = $(this).val().split(iset.separator);//当用户手动删除或修改标签值后更新标签值  
  37.                 }  
  38.             });  
  39.   
  40.             $(document).click(function(e){  
  41.                 //点击非弹出框区域时关闭弹出框  
  42.                 //下面的 if语句是用来判断传入的是class还是id  
  43.                 if(iset.name.charAt(0)=='#'){  
  44.                     if(e.target.id!=iset.name.substring(1)){  
  45.                         iset.drop.hide();  
  46.                         }  
  47.                 }else if(iset.name.charAt(0)=='.'){  
  48.                     if(e.target.className!=iset.name.substring(1)){  
  49.                         iset.drop.hide();  
  50.                         }  
  51.                 }  
  52.             });  
  53.   
  54.             iset.drop.click(function(e){  
  55.                 //阻止弹出框区域默认事件  
  56.                 e.stopPropagation();  
  57.             });  
  58.   
  59.             iset.pseudoClass.click(function(){  
  60.                 //标签选择  
  61.                 _txt=$(this).text();  
  62.                 //下面的$.inArray是用来判断是否重复  
  63.                 //若想反馈重复提示或走出限制个数提示,可改进下面的if语句  
  64.                 if(($.inArray(_txt,_arr)==-1) && (_arr.length<_maxCount )){  
  65.                     _arr.push(_txt);  
  66.                     _inputVal=_arr.join(iset.separator);  
  67.                     _input.val(_inputVal);  
  68.                 }  
  69.   
  70.             });  
  71.             //关闭按钮  
  72.             iset.close.click(function(){  
  73.                 iset.drop.hide();  
  74.             });  
  75.         }  
  76.     });  
  77. })(jQuery);  
反正先转一下喽,先备着,再找其他新的。
这个插件的网址是:http://mrthink.net/jquery-plugin-iselecttags/,可以欣赏一下

Tags: 标签

MYSQL 存储过程

 说实话,关于存储过程的博客还真的不多,有几个是值得看一下的

1、官方;http://dev.mysql.com/doc/refman/5.1/zh/stored-procedures.html

2、http://www.netingcn.com/tag/%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B

3、http://blog.why100000.com/?p=711

也发现,如果不做复杂查询,存储过程对我来说几乎没有,本来是想解决查找GEO相关的信息的,但发现这样的SQL:

SQL代码
  1.  SELECT userid,lat,lng,gender,  
  2.   ( 6371 * acos( cos( radians(31.000700) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(120.000099) ) + sin( radians(31.000700) ) * sin( radians( lat ) ) ) ) AS distance  
  3. FROM `user_geo` WHERE last_activity_time > '2013-03-11 00:00:00'    
  4. ORDER BY distance ASC limit 100  

这其中的复杂度就在于distance每次都要计算,所以我尝试换成了存储过程:

SQL代码
  1. DROP PROCEDURE IF EXISTS search_around_user;  
  2. DELIMITER //  
  3. CREATE PROCEDURE search_around_user  
  4. (  
  5.     s_lat float(10,6),  
  6.     s_lng float(10,6),  
  7.     s_last_act datetime,  
  8.     s_gender tinyint,  
  9.     s_number tinyint,  
  10.     s_page tinyint  
  11. )  
  12. LABEL_PROC:  
  13. BEGIN  
  14.     if s_number <= 1 then  
  15.         set s_number = 20;  
  16.     end if;  
  17.     if s_page <= 0 then  
  18.         set s_page = 0;  
  19.     end if;  
  20.     if s_gender <= 0 then  
  21.         set @genderQuery = "";  
  22.     else  
  23.         set @genderQuery = concat(" and gender = " , s_gender , " ");  
  24.     end if;  
  25.     set @limitQuery = concat("LIMIT " , s_page * s_number , " , " , s_number , " ");  
  26.   
  27.     set @strsql =  CONCAT("select userid, ",  
  28.         "( 6371 * acos( cos( radians(",s_lat,") ) * cos( radians( lat ) ) * cos( radians( lng ) - radians( ",s_lng," ) ) ",  
  29.         "+ sin( radians( ",s_lat," ) ) * sin( radians( lat ) ) ) ) AS distance ",  
  30.         " FROM user_geo where last_activity_time >= '", s_last_act , "' " , @genderQuery ,  " ORDER BY distance " , @limitQuery) ;  
  31.   
  32.     prepare stmtsql from @strsql;  
  33.     execute stmtsql;  
  34.       
  35.   
  36. END LABEL_PROC;  
  37. //  
  38. DELIMITER ;  

然后再次调用:

SQL代码
  1. call search_around_user(31.000700,120.000099,'2013-03-11 00:00:00',0,20,0)  

所耗费的时间和上述直接写SQL的时间是几乎一样的。想来,这也是因为distance的计算不能被优化而导致的。。。于是乎,放弃用存储过程

 

 

Tags: mysql, 存储过程