- Objective-C学习笔记-回调
土豆吞噬者
1.OC中有四种方法实现回调,分别是目标-动作对,辅助对象,通知,Block对象2.目标-动作对,是指当某个事件发生时,向指定对象发送指定消息,计时器使用的就是目标-动作对机制,如下代码所示,每隔两秒会执行一次updateLastTime方法,其中NSRunLoop用来保持线程允许并处理事件-(void)updateLastTime:(NSTimer*)t{NSLog(@"timeris%@",t
- iOS-无限时后台
linbj
创建一个计时器放到NSRunLoop中修改UIBackgroundTaskIdentifier状态@property(nonatomic,strong)NSTimer*timer;@property(nonatomic,assign)UIBackgroundTaskIdentifierbgTask;//用于申请后台时间-(void)applicationDidEnterBackground:(UI
- iOS内存管理(三)AutoReleasePool & NSRunLoop 底层分析
辉辉岁月
本文主要分析AutoReleasePool以及NSRunLoop的底层实现AutoReleasePool自动释放池自动释放池是OC中的一种内存自动回收机制,它可以将加入AutoreleasePool中的变量release的时机延迟,简单来说,就是当创建一个对象,在正常情况下,变量会在超出其作用域的时立即release。如果将对象加入到了自动释放池中,这个对象并不会立即释放,会等到runloop休眠
- 13 | 如何利用 RunLoop 原理去监控卡顿?
爱运动爱学习
卡顿问题,就是在主线程上无法响应用户交互的问题。现在,我们先来看一下导致卡顿问题的几种原因:1.复杂UI、图文混排的绘制量过大;2.在主线程上做网络同步请求;3.在主线程做大量的IO操作;4.运算量过大,CPU持续高占用;5.死锁和主子线程抢锁。RunLoop原理对于iOS开发来说,监控卡顿就是要去找到主线程上都做了哪些事儿。我们都知道,线程的消息事件是依赖于NSRunLoop的,所以从NSRun
- 内存管理与NSRunLoop 笔记
叶离云
一、内存布局五大区接下来我从内存中的低地址往高地址依次介绍五大区:1.代码段(.text)存放着程序代码,直接加载到内存中2.初始化区域(.data)存放着初始化的全局变量、静态变量内存地址:一般以0x1开头3.未初始化区域(.bss)bss段存放着未初始化的全局变量、静态变量内存地址:一般以0x1开头4.堆区(heap)堆区存放着通过alloc分配的对象、blockcopy后的对象堆区速度比较慢
- iOS-NSRunloop学习
coderGuo666
RunLoop的基本作用保持程序的持续运行,处理App中的各种事件(比如触摸事件、定时器事件等),节省CPU资源,提高程序性能:该做事时做事,该休息时休息。1.讲讲RunLoop,项目中有用到吗?有,线程保活和防止在界面进行滚动的状态下,NSTimer失效的问题。runloop内部实现逻辑?01、通知Observers:进入Loop02、通知Observers:即将处理Timers03、通知Obs
- iOS 小知识点(二)
派大星的博客
1、日常笔记(二)是转载,来源太广找不到出处了!NSRunLoop和NSOperationQueueNSRunLoop是所有要监视的输入源和定时源以及要通知的注册观察者的集合.用来处理诸如鼠标,键盘事件等的输入源。每一个线程拥有自己的RunLoop有系统自动创建。你不应该自己去创建,只能获取。一般不会用NSRunLoop,因为它不是线程安全的。一般都用CFRunLoop,这个是线程安全的,是一种消
- NSPort 和 RunLoop 消息发送
Albert新荣
NSPort与NSRunloop的关系是流与消息调度的关系。NSPort将流插入到消息调度队列;相当于Socket将流插入到应用一样-(void)launchThread{NSPort*myport=[NSMachPortport];if(myport){//让本类持有即将到来的端口消息。[myportsetDelegate:self];//将port添加到当前的runloop[[NSRunLoo
- iOS 利用RunLoop检测卡顿 性能优化 堆栈捕获
ElegantLiar
利用RunLoop检测卡顿导致卡顿的原因GPU压力复杂UI、图层、圆角阴影等离屏渲染主线程上做网络同步请求在主线程做大量的IO操作运算量过大,CPU持续高占用死锁和主子线程抢锁检测卡顿的方案FPS//基于一秒内画面变化数量监测,是否达到60帧,不准确RunLoop//通过监听NSRunLoop的状态,发现调用方法是否执行时间过长,从而判断出是否会出现卡顿RunLoop的基本概念RunLoop由CF
- OC RunLoop理解
xmb
通常所说的RunLoop指的是NSRunloop或者CFRunloopRef,CFRunloopRef是纯C的函数,而NSRunloop仅仅是CFRunloopRef的OC封装,并未提供额外的其他功能。核心的方法__CFRunLoopRun内部其实是一个dowhile循环,这也正是Runloop运行的本质。执行了这个函数以后就一直处于“等待-处理”的循环之中,直到循环结束。只是不同于我们自己写的循
- 2020-07-03 面试总结
Dejauu
时间可能模糊了,是三面四面。。。聊聊项目2.performAfterDelay在子线程的问题nsrunloop没有启动导致没法执行,老问题了。实际项目中遇到的少3.合并大数的算法题之前了解过,难度不大,问题在于数组边界和越界问题上思考的不细致。不得不说有的CTO在代码细节上的把握还是很敏感的。
- Runloop入门篇
向晨宇
基础知识一.RunLoop的概念NSRunLoop事件驱动模型runloop可以想象成一个事件驱动的圆圈,我们在执行事件、手势、时间相应等等操作的时候,需要有监听者,这时候就有了源的概念,NSRunloop只有两种源,1.输入源2.时间源----伪代码如下:while(true){[[NSRunLoopcurrentRunLoop]runMode:NSRunLoopCommonModesbefor
- iOS RunLoop分析
tino又想吃肉了
RunloopRunloop是iOS系统中的事件循环,它保证了我们的程序不会在main函数执行完后就被退出,(线程保活),可以粗糙地理解成一个while(true)的循环,但它的实现并没有那么简单。实际上它是一个NSRunLoop的对象,在对象内部维护了一个事件循环,当没有事件要处理时,Runloop将线程控制器交给系统,即从用户态->内核态,当被唤醒时又从内核态->用户态,实现了在休眠时不占用C
- NSRunLoop
未_漆小七
RunLoop就是跑圈,保证程序一直在执行.App运行起来之后,即使你什么都不做,放在那儿它也不会退出,而是一直在"跑圈",这就是RunLoop干的事.主线程会自动创建一个RunLoop来保证程序一直运行.但子线程默认不创建NSRunLoop,所以子线程的任务一旦返回,线程就over了.RunLoop在某一时刻只能在一种模式下运行,更换模式时需要暂停当前的Loop,然后重启新的Loop.RunLo
- iOS之武功秘籍⑲: 内存管理与NSRunLoop
長茳
iOS之武功秘籍文章汇总写在前面一个优秀的App必然是对内存"精打细算"的,本文就来探索一下内存管理中的一些门道与RunLoop的相关知识.本节可能用到的秘籍Demo一、内存布局①.五大区接下来我从内存中的低地址往高地址依次介绍五大区:代码段(.text)存放着程序代码,直接加载到内存中初始化区域(.data)存放着初始化的全局变量、静态变量内存地址:一般以0x1开头未初始化区域(.bss)bss
- RunLoop学习笔记
蛋哥是只猫
RunLoop_NSRunLoop是CFRunLoop的封装,提供了面向对象的API(2).png1、main()函数为什么能够保持不退出因为在main函数中会调用一个UIApplicationMain函数,UIApplicationMain函数中会启动主线程的RunLoop,而RunLoop是对事件循环的一种维护机制,可以做到有消息进行处理的时候,去处理消息,没有消息处理的时候可以通过从用户态到
- iOS中的RunLoop
半路qzg
面试题1.讲讲RunLoop,项目中有用到吗?应用1:创建常驻线程+(void)networkRequestThreadEntryPoint:(id)__unusedobject{@autoreleasepool{[[NSThreadcurrentThread]setName:@"AFNetworking"];NSRunLoop*runLoop=[NSRunLoopcurrentRunLoop];
- <深入理解RunLoop> 笔记
AprSnow
深入理解RunLoop#0RunLoop是一种机制,让线程能随时处理事件但并不退出。RunLoop实际上就是一个对象,这个对象管理了其需要处理的事件和消息,并提供了一个入口函数来执行EventLoop的逻辑。线程执行了入口函数后,就会一直处于这个函数内部“接受消息->等待->处理”的循环中,直到这个循环结束。#1iOS系统中,提供了两个这样的对象:NSRunLoop和CFRunLoopRef。CF
- 浅谈AutoReleasePool
微笑_d797
非原创(怕以后找不到了码上)目录1.autorelease的本质2.autoreleasepool的源码解析3.autoreleasePoolPage的结构4.autoreleasePool的结构和工作原理5.autoreleasepool的嵌套6.autorelaeasepool、NSRunLoop、子线程三者的关系1.autorelease的本质autorelease本质就是延迟调用relea
- IOS简单的异步转同步操作
唯咚特淘克安尼冒
曾遇到的问题:封装SDK中的某个接口时需要上传地理位置,而获取地理位置与网络请求是个异步操作,也就是说当地理位置拿到的慢一些时,上传的地理位置会为空。解决:在网络请求之前用下面方法让线程等待-(void)waitObject{NSRunLoop*runLoop=[NSRunLoopcurrentRunLoop];isStart=TRUE;while(isStart==TRUE){@autorele
- Objective-C基础-RunLoop
学习天亦
1、什么是RunLoop故名思义就是,运行循环,在程序运行过程中循环做一些事情。iOS中有2套API来访问和使用RunLoop。Foundation:NSRunLoopCFRunLoopRef:CFRunLoopRefNSRunLoop和CFRunLoopRef都代表着RunLoop对象NSRunLoop是基于CFRunLoopRef的一层OC包装CFRunLoopRef是开源的。https://
- 深入理解 [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]
AlwaysBlue
最近在看线程保活,发现了这个函数无法理解,根本原因还是这个函数的苹果文档没有深入理解,然后没有多做尝试。先说结论,再说过程。结论:1)runMode:beforeDate只是执行一次runloop循环,处理完第一次inputsource内容,就会结束该runloop。注:第一次的inputsource内容要有活干,才算第一次。2)timer不能算inputsource,比较特殊,文档里有说明,你会
- iOS基础知识
学呀学呀总得学会了吧
1.autorelease和@autoreleasepool区别release使对象的引用计数,autorelease在适当的时候给对象发送个release消息(当这个对象所在autoreleasepool进行销毁的时候,这个对象才会进行release操作)。每一个线程,包括主线程都会有一个NSRunLoop对象。可以简单的把这个runloop看做是一个死循环,这个runloop不断的接收事件然后
- performSelector最全讲解
Cwwng
1、明确方法所在位置分别在NSObject.h、NSRunloop.h、NSThread.h三个类中,是不是很神奇。(其中在NSRunloop.h、NSThread.h文件中都是NSObject的分类)位置1.jpeg位置2.jpeg位置3.jpeg2、在NSObject.h中的方法1、-(id)performSelector:(SEL)aSelector;2、-(id)performSelect
- Runloop(-)
Baby小猪
一、RunLoop基本作用:1.保持程序的持续运行2.处理App中的各种事件(比如触摸事件、定时器事件、Selector事件)3.节省CPU资源,提高程序性能:该做事时做事,该休息时休息二、iOS中有2套API来访问和使用RunLoop1.Foundation------NSRunLoop2.CoreFoundation------CFRunLoopRefNSRunLoop和CFRunLoopRe
- iOS-底层原理 :内存管理(二)AutoReleasePool 、RunLoop
恍然如梦_b700
本文主要分析AutoReleasePool以及NSRunLoop的底层实现AutoReleasePool自动释放池自动释放池是OC中的一种内存自动回收机制,它可以将加入AutoreleasePool中的变量release的时机延迟,简单来说,就是当创建一个对象,在正常情况下,变量会在超出其作用域的时立即release。如果将对象加入到了自动释放池中,这个对象并不会立即释放,会等到runloop休眠
- iOS app可优化点
百年琉璃
减少storyboard使用多使用懒加载耗时操作放入线程完成大量临时变量产生时考虑使用自动释放池注意NSRunLoop和NSTimer使用时循环引用的问题,以及block的循环引用一次性加载图片使用imageWithContentsOfFile减少使用图片到圆角的计算循环处理时可以酌情使用GCD迭代函数dispatch_apply
- 深入理解RunLoop
huangman
不知道大家有没有跟我一样的困惑?看过很多关于RunLoop的博客,本来觉得已经理解了runloop的运行原理,但是一写代码就发现运行结果和自己预想的不一致。我认为有两个原因:第一是没有去认真看runloop的源码,第二是iOS封装的NSRunLoop的三个接口,run:/runUntilDate:/runMode:beforeDate:隐藏了一些细节,迷惑了大家。关于RunLoop的运行原理,有很
- GCD定时器使用
有梦才可以远航
iOS中的常用定时器分为这几类:NSTimerCADisplayLinkGCD定时器选择GCD定时器原因:时间准确GCD定时器不依赖NSRunLoop相对操作简单,安全使用://获得队列dispatch_get_global_queue获取全局队列dispatch_queue_tqueue=dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFA
- 读Cocoa事件处理机制有感(Event Architecture)
路漫漫其修远兮Wzt
原文链接:读Cocoa事件处理机制有感(EventArchitecture)每个应用程序都有一种接收(WindowServer)窗口服务器事件的机制。对于一个Cocoa应用程序,这种机制叫主事件循环(themaineventloop)。进程用NSRunLoop对象接收来自各种源的输入。默认情况下,在OSX的每个线程都有它自己的运行循环,而一个Cocoa应用程序主线程的运行循环叫做主事件循环。主事件
- mongodb3.03开启认证
21jhf
mongodb
下载了最新mongodb3.03版本,当使用--auth 参数命令行开启mongodb用户认证时遇到很多问题,现总结如下:
(百度上搜到的基本都是老版本的,看到db.addUser的就是,请忽略)
Windows下我做了一个bat文件,用来启动mongodb,命令行如下:
mongod --dbpath db\data --port 27017 --directoryperdb --logp
- 【Spark103】Task not serializable
bit1129
Serializable
Task not serializable是Spark开发过程最令人头疼的问题之一,这里记录下出现这个问题的两个实例,一个是自己遇到的,另一个是stackoverflow上看到。等有时间了再仔细探究出现Task not serialiazable的各种原因以及出现问题后如何快速定位问题的所在,至少目前阶段碰到此类问题,没有什么章法
1.
package spark.exampl
- 你所熟知的 LRU(最近最少使用)
dalan_123
java
关于LRU这个名词在很多地方或听说,或使用,接下来看下lru缓存回收的实现
1、大体的想法
a、查询出最近最晚使用的项
b、给最近的使用的项做标记
通过使用链表就可以完成这两个操作,关于最近最少使用的项只需要返回链表的尾部;标记最近使用的项,只需要将该项移除并放置到头部,那么难点就出现 你如何能够快速在链表定位对应的该项?
这时候多
- Javascript 跨域
周凡杨
JavaScriptjsonp跨域cross-domain
 
- linux下安装apache服务器
g21121
apache
安装apache
下载windows版本apache,下载地址:http://httpd.apache.org/download.cgi
1.windows下安装apache
Windows下安装apache比较简单,注意选择路径和端口即可,这里就不再赘述了。 2.linux下安装apache:
下载之后上传到linux的相关目录,这里指定为/home/apach
- FineReport的JS编辑框和URL地址栏语法简介
老A不折腾
finereportweb报表报表软件语法总结
JS编辑框:
1.FineReport的js。
作为一款BS产品,browser端的JavaScript是必不可少的。
FineReport中的js是已经调用了finereport.js的。
大家知道,预览报表时,报表servlet会将cpt模板转为html,在这个html的head头部中会引入FineReport的js,这个finereport.js中包含了许多内置的fun
- 根据STATUS信息对MySQL进行优化
墙头上一根草
status
mysql 查看当前正在执行的操作,即正在执行的sql语句的方法为:
show processlist 命令
mysql> show global status;可以列出MySQL服务器运行各种状态值,我个人较喜欢的用法是show status like '查询值%';一、慢查询mysql> show variab
- 我的spring学习笔记7-Spring的Bean配置文件给Bean定义别名
aijuans
Spring 3
本文介绍如何给Spring的Bean配置文件的Bean定义别名?
原始的
<bean id="business" class="onlyfun.caterpillar.device.Business">
<property name="writer">
<ref b
- 高性能mysql 之 性能剖析
annan211
性能mysqlmysql 性能剖析剖析
1 定义性能优化
mysql服务器性能,此处定义为 响应时间。
在解释性能优化之前,先来消除一个误解,很多人认为,性能优化就是降低cpu的利用率或者减少对资源的使用。
这是一个陷阱。
资源时用来消耗并用来工作的,所以有时候消耗更多的资源能够加快查询速度,保持cpu忙绿,这是必要的。很多时候发现
编译进了新版本的InnoDB之后,cpu利用率上升的很厉害,这并不
- 主外键和索引唯一性约束
百合不是茶
索引唯一性约束主外键约束联机删除
目标;第一步;创建两张表 用户表和文章表
第二步;发表文章
1,建表;
---用户表 BlogUsers
--userID唯一的
--userName
--pwd
--sex
create
- 线程的调度
bijian1013
java多线程thread线程的调度java多线程
1. Java提供一个线程调度程序来监控程序中启动后进入可运行状态的所有线程。线程调度程序按照线程的优先级决定应调度哪些线程来执行。
2. 多数线程的调度是抢占式的(即我想中断程序运行就中断,不需要和将被中断的程序协商)
a) 
- 查看日志常用命令
bijian1013
linux命令unix
一.日志查找方法,可以用通配符查某台主机上的所有服务器grep "关键字" /wls/applogs/custom-*/error.log
二.查看日志常用命令1.grep '关键字' error.log:在error.log中搜索'关键字'2.grep -C10 '关键字' error.log:显示关键字前后10行记录3.grep '关键字' error.l
- 【持久化框架MyBatis3一】MyBatis版HelloWorld
bit1129
helloworld
MyBatis这个系列的文章,主要参考《Java Persistence with MyBatis 3》。
样例数据
本文以MySQL数据库为例,建立一个STUDENTS表,插入两条数据,然后进行单表的增删改查
CREATE TABLE STUDENTS
(
stud_id int(11) NOT NULL AUTO_INCREMENT,
- 【Hadoop十五】Hadoop Counter
bit1129
hadoop
1. 只有Map任务的Map Reduce Job
File System Counters
FILE: Number of bytes read=3629530
FILE: Number of bytes written=98312
FILE: Number of read operations=0
FILE: Number of lar
- 解决Tomcat数据连接池无法释放
ronin47
tomcat 连接池 优化
近段时间,公司的检测中心报表系统(SMC)的开发人员时不时找到我,说用户老是出现无法登录的情况。前些日子因为手头上 有Jboss集群的测试工作,发现用户不能登录时,都是在Tomcat中将这个项目Reload一下就好了,不过只是治标而已,因为大概几个小时之后又会 再次出现无法登录的情况。
今天上午,开发人员小毛又找到我,要我协助将这个问题根治一下,拖太久用户难保不投诉。
简单分析了一
- java-75-二叉树两结点的最低共同父结点
bylijinnan
java
import java.util.LinkedList;
import java.util.List;
import ljn.help.*;
public class BTreeLowestParentOfTwoNodes {
public static void main(String[] args) {
/*
* node data is stored in
- 行业垂直搜索引擎网页抓取项目
carlwu
LuceneNutchHeritrixSolr
公司有一个搜索引擎项目,希望各路高人有空来帮忙指导,谢谢!
这是详细需求:
(1) 通过提供的网站地址(大概100-200个网站),网页抓取程序能不断抓取网页和其它类型的文件(如Excel、PDF、Word、ppt及zip类型),并且程序能够根据事先提供的规则,过滤掉不相干的下载内容。
(2) 程序能够搜索这些抓取的内容,并能对这些抓取文件按照油田名进行分类,然后放到服务器不同的目录中。
- [通讯与服务]在总带宽资源没有大幅增加之前,不适宜大幅度降低资费
comsci
资源
降低通讯服务资费,就意味着有更多的用户进入,就意味着通讯服务提供商要接待和服务更多的用户,在总体运维成本没有由于技术升级而大幅下降的情况下,这种降低资费的行为将导致每个用户的平均带宽不断下降,而享受到的服务质量也在下降,这对用户和服务商都是不利的。。。。。。。。
&nbs
- Java时区转换及时间格式
Cwind
java
本文介绍Java API 中 Date, Calendar, TimeZone和DateFormat的使用,以及不同时区时间相互转化的方法和原理。
问题描述:
向处于不同时区的服务器发请求时需要考虑时区转换的问题。譬如,服务器位于东八区(北京时间,GMT+8:00),而身处东四区的用户想要查询当天的销售记录。则需把东四区的“今天”这个时间范围转换为服务器所在时区的时间范围。
- readonly,只读,不可用
dashuaifu
jsjspdisablereadOnlyreadOnly
readOnly 和 readonly 不同,在做js开发时一定要注意函数大小写和jsp黄线的警告!!!我就经历过这么一件事:
使用readOnly在某些浏览器或同一浏览器不同版本有的可以实现“只读”功能,有的就不行,而且函数readOnly有黄线警告!!!就这样被折磨了不短时间!!!(期间使用过disable函数,但是发现disable函数之后后台接收不到前台的的数据!!!)
- LABjs、RequireJS、SeaJS 介绍
dcj3sjt126com
jsWeb
LABjs 的核心是 LAB(Loading and Blocking):Loading 指异步并行加载,Blocking 是指同步等待执行。LABjs 通过优雅的语法(script 和 wait)实现了这两大特性,核心价值是性能优化。LABjs 是一个文件加载器。RequireJS 和 SeaJS 则是模块加载器,倡导的是一种模块化开发理念,核心价值是让 JavaScript 的模块化开发变得更
- [应用结构]入口脚本
dcj3sjt126com
PHPyii2
入口脚本
入口脚本是应用启动流程中的第一环,一个应用(不管是网页应用还是控制台应用)只有一个入口脚本。终端用户的请求通过入口脚本实例化应用并将将请求转发到应用。
Web 应用的入口脚本必须放在终端用户能够访问的目录下,通常命名为 index.php,也可以使用 Web 服务器能定位到的其他名称。
控制台应用的入口脚本一般在应用根目录下命名为 yii(后缀为.php),该文
- haoop shell命令
eksliang
hadoophadoop shell
cat
chgrp
chmod
chown
copyFromLocal
copyToLocal
cp
du
dus
expunge
get
getmerge
ls
lsr
mkdir
movefromLocal
mv
put
rm
rmr
setrep
stat
tail
test
text
- MultiStateView不同的状态下显示不同的界面
gundumw100
android
只要将指定的view放在该控件里面,可以该view在不同的状态下显示不同的界面,这对ListView很有用,比如加载界面,空白界面,错误界面。而且这些见面由你指定布局,非常灵活。
PS:ListView虽然可以设置一个EmptyView,但使用起来不方便,不灵活,有点累赘。
<com.kennyc.view.MultiStateView xmlns:android=&qu
- jQuery实现页面内锚点平滑跳转
ini
JavaScripthtmljqueryhtml5css
平时我们做导航滚动到内容都是通过锚点来做,刷的一下就直接跳到内容了,没有一丝的滚动效果,而且 url 链接最后会有“小尾巴”,就像#keleyi,今天我就介绍一款 jquery 做的滚动的特效,既可以设置滚动速度,又可以在 url 链接上没有“小尾巴”。
效果体验:http://keleyi.com/keleyi/phtml/jqtexiao/37.htmHTML文件代码:
&
- kafka offset迁移
kane_xie
kafka
在早前的kafka版本中(0.8.0),offset是被存储在zookeeper中的。
到当前版本(0.8.2)为止,kafka同时支持offset存储在zookeeper和offset manager(broker)中。
从官方的说明来看,未来offset的zookeeper存储将会被弃用。因此现有的基于kafka的项目如果今后计划保持更新的话,可以考虑在合适
- android > 搭建 cordova 环境
mft8899
android
1 , 安装 node.js
http://nodejs.org
node -v 查看版本
2, 安装 npm
可以先从 https://github.com/isaacs/npm/tags 下载 源码 解压到
- java封装的比较器,比较是否全相同,获取不同字段名字
qifeifei
非常实用的java比较器,贴上代码:
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
i
- 记录一些函数用法
.Aky.
位运算PHP数据库函数IP
高手们照旧忽略。
想弄个全天朝IP段数据库,找了个今天最新更新的国内所有运营商IP段,copy到文件,用文件函数,字符串函数把玩下。分割出startIp和endIp这样格式写入.txt文件,直接用phpmyadmin导入.csv文件的形式导入。(生命在于折腾,也许你们觉得我傻X,直接下载人家弄好的导入不就可以,做自己的菜鸟,让别人去说吧)
当然用到了ip2long()函数把字符串转为整型数
- sublime text 3 rust
wudixiaotie
Sublime Text
1.sublime text 3 => install package => Rust
2.cd ~/.config/sublime-text-3/Packages
3.mkdir rust
4.git clone https://github.com/sp0/rust-style
5.cd rust-style
6.cargo build --release
7.ctrl