大师网-带你快速走向大师之路 解决你在学习过程中的疑惑,带你快速进入大师之门。节省时间,提升效率

实现(汉语词语)

实现,指事件或状态的发生,是实现哲学的基础概念。实现,指使成为现实。语出老舍《骆驼祥子》十六:“假若这个主意能实现,他算是又拉上了自己的车。”

菜鸟笔记(三) - Java Excel报表导入导出

菜鸟笔记(三) - Java Excel报表导入导出 本文将介绍Java Poi包的使用,并实现Excel报表的导入导出。 前提摘要:在系统的管理后台当中中,Excel报表的导入导出已经是不不可避免的场景。值得一提的是支付宝和微信支付的批量转账也需要相应格式的Excel文档 //类别 private String comment = "现金提现"; public interface IExcelExport { /** * 获取Excel的Header * * @return */ String[] getHeader(); } if (recordPois !

Typescript基础入门

let c: Color = Color.Green any为任意类型,如let notSure: any = 4; 函数 一个函数有输入和输出,要在 TypeScript 中对其进行约束,需要把输入和输出都考虑到,其中函数声明的类型定义较简单,以下是几种函数接口的定义方式: // 普通函数 function add(a: number, b: number): number { return a + b; } // 通过 interface 语句来定义类型 interface CallbackFunction { (err: Error | null, data: Buffer): void; } } export = express;

操作系统:图文详解 内存映射

/** * 具体使用(用户进程调用mmap()) * 下述代码即常见了一片大小 = MAP_SIZE的接收缓存区 关联到共享对象中(即建立映射) */ mmap(NULL, MAP_SIZE, PROT_READ, MAP_PRIVATE, fd, 0); Android四大组件:Service服务史上最全面解析 Android四大组件:BroadcastReceiver史上最全面解析 欢迎关注Carson_Ho的简书! 不定期分享关于安卓开发的干货,追求短、平、快,但却不缺深度。

composer安装组件报错解决办法

4以下的版本可能就不适合。 image.png 既然不适合,那么我们就切换版本,直接点击branch,选择 2.0即可查看composer.json文件 bran 2.0 的版本,依赖就小了点 2.0 composer.json文件 我们需要切换版本的还,安装有两种方式 //第一种 "require": { . //注意,最后一个值,是不能加逗号的,不然会报错 }, 然后 composer update 第二种方式 composer require "laravel/socialite:~2.0"

TP5实战之TP5中使用layui创建搜索+分页

TP5实战之TP5中使用layui创建搜索+分页 目的 在项目中,数据库中有多条数据,我们使用搜索搜出来的数据会有很多,一个页面根本无法完全显示出来,所以需要分页,但是,这个分页会跟当前的分页产生冲突,所以要把分页和搜索结合起来,这样不仅方便,而且简化了流程. 提示:阅读本文需要15分钟 方法 当我点击分页按钮时,我让这个跳转动作执行searchs(),在searchs()中执行跳

闲言琐语      我    来    啦

闲言琐语      我    来    啦 我叫风留下来,用力吹光雾霾,环境得到净化和改善。还人间一个温欣、空气清新的世界。叫空气不在浑浊,气候不再变暖。 我叫雨留下来,冲刷埋葬一切贪欲、邪恶和腐败。老虎,苍蝇一起打,还给世间一个公正、善意和请廉,让人民享受公平与安全。 我叫大山留下来,种下希望,收获硕果,万众尽开颜。让三山五岳,层林尽染。桃红柳绿

拼多多上线“品牌馆”, 难道真的会天猫化?

拼多多上线“品牌馆”, 难道真的会天猫化? 七月末拼多多上市,后因假货等问题股价甚至一度跌破发行价。这一风波之后,近日,拼多多又开始在业界掀起一股热潮。 9月13日,美股收盘拼多多股价暴涨30%,市值332亿美元,与京东的市值差距也缩小至70亿美元。盘前,高盛给予拼多多股票“买入”评级,并给出了31.9美元的目标价,这对于拼多多的股价升值起到了助推作用。

自定义放大 TabBar

self.viewControllers = @[navOne,navTwo,navThree,navFour,navFive]; } item手势响应处理 接下来创建UIBarItem、UITabBarItem和UITabBar的分类 UIBarItem+LGJBarItem.h #import @interface UIBarItem (LGJBarItem) @property(nonatomic,nullable,weak,readonly)UIView *lgj_view; CFShow(CFBridgingRetain(infoDictionary)); if (view == nil){ //转换坐标 CGPoint tempPoint = [itemImageView convertPoint:point fromView:self]; } @end 以上工作完成,一个突出的TabBar就出现了,,,,

iOS中的weak指针

// weak 引用全局 hash 表 } struct weak_table_t { weak_entry_t *weak_entries; return side- tryRetain(); } 同时,添加weak对象会使对象的引用计数管理会从InlineRefCounts替换为SideTableRefCounts,这也会带来一定的开销,对于有性能要求的场景swift提供了unowned,unowned的行为跟strong是一样的,但不会使计数增加,代价是对象被释放了的话,访问unowned指针就是未定义的行为(相当于ObjC中的访问野指针)

Hyperledger入门(一) :超级账本模型

Hyperledger入门(一) :超级账本模型 Channel (通道) 一个通道是一个私有的块链覆盖,允许数据隔离和保密。通道对应的ledger在参与者之间可以共享,另外,每个channel对应的参与者必须充分认证才能参与到channel的交易中,channel的定义在configuration-block中 Assets(资产) 资产范围从有形(房地产和贵金属)到无形(合同和知识产权)。 Hyperledger Fabric提供使用链码交易来处理资产的能

Android OpenGL ES 3.基础图形、多边形的绘制

Android OpenGL ES 3.基础图形、多边形的绘制 基础图形绘制 之前讲解过,OpenGL ES中,只提供了3种基本图形:点、线、三角形。而其他我们熟知的图形,都是基于这3种基本图形处理拼接合成的。那么本章节我们先从OpenGL中给我们提供的3种基础图形讲起,再介绍下其他图形的绘制。 基础图形绘制API /** * 使用顶点数据绘制图形 */ GLES20.glDrawArrays(int mode, int first, int count);mPolygonVertexCount;

KVC的查询顺序

KVC的查询顺序 一、自定义一个TestObject类,测试KVC取值的查询顺序 以下是TestObject的源码,你没看错,就是这样一个没有实现任何方法,没有任何属性的类。我们用TestObject类来探究KVC取值的查询顺序。 . } 控制台打印: image.png 4.若前三个方法都没有实现,KVC会查找第四个方法_name。 #import "TestObject.h" @interface TestObject() @end @implementation TestObject //- (NSString *)getName { // // return @"getName";

iOS 屏幕旋转shouldAutorotate

} 实现完成这三个方法即可保证。navigationController的横竖屏表现会依照他的rootViewController的设置来表现。 3.对于在TabbarController里面嵌套的Controller。即创建方式如下: - (void)setInitTabBar{ NSArray *baseArray = @[@"ViewController",@"SecondViewController",@"NaviViewController"]; } 2.如果是从页面A present方式跳转的页面、那么就将页面A的方法 //- (BOOL)shouldAutorotate{ // return NO;

ios开发 - oc代码质量提高(一)

v.backgroundColor = [UIColor blackColor]; } 写法好处: 成块分离出来,容易阅读。 同时不需要再定义一个headView变量,同时因为addSubview的强引用,view会存放在堆空间,不会被释放掉。 2.成员变量和属性变量 @interface ViewController () { UIView *memberView; //成员变量 } @property (nonatomic,strong) UIView *attributeView; 然后你还没有实现setter和getter方法 当程序运行student.age = 10; @synthesize attributeView;

MJRefresh源码解析

} 这里也许会存在疑问,在set方法中用到了属性设置的问题,如果是正常情况下,必须使用_header=header;的形式,否则会造成无限调用set方法导致循环的问题,而这里不会出现类似问题,self.mj_header会调用一次setMj_header的方法,setHeader将header的值实际赋给了mj_header,所以不会存在问题。 + (void)load { [self exchangeInstanceMethod1:@selector(reloadData) method2:@selector(mj_reloadData)];

GCD的使用和原理

看看输出结果 {number = 3, name = (null)}---0 {number = 3, name = (null)}---1 {number = 3, name = (null)}---2 {number = 3, name = (null)}---3 很明显,这里是同一个线程,而且也确实是按照顺序执行的,那么接下来使用并发队列来操作。 dispatch_queue_t queue = dispatch_queue_create("com.example.gcdDemo", DISPATCH_QUEUE_CONCURRENT); dispatch_time_t time = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC));

NSURLProtocol处理特定URL用法与理解

} 7.运行你会发现一个更大的问题 死循环了 因为你用的是NSURLSessionDataTask发的请求 还会被拦截到 拦截到再发 再拦,所以我们要对我们在startLoading里的请求做一下标识不让它被拦截 原理就是我们在request对象里人为的添加键值进行标识是否被处理了 如果被处理了就在canInitWithRequest方法里返回No不拦截 //定义一个字符串做key static NSString *xiaDianDealDone = @"xiaDianDealDone";

iOS实现网易云音乐右上角view跳动效果

iOS实现网易云音乐右上角view跳动效果 效果走起! 跳动view.gif 链接:https://github.com/xiaojin1123/AnimationDemo.git 第一步还是先添加layer到红色的View上面,然后初始化设置第二和第四的Layer动画,目的是为了让它们的高度减少到原来的0.35。 - (void)viewWillLayoutSubviews { self.jumpingView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 70

iOS objc_msgSend尾调用优化机制详解

// 尾调用- 函数funcC } 正例解释:funcA的最后一步仅仅调用了另一个函数。不论是调用funcA、funcB还是funcC都属于尾调用。(不论调用函数的位置在哪,只要最后一步仅仅调用一个函数就行) 反例:不是尾调用的例子 // 不是尾调用1: - (NSInteger)funcA:(NSInteger)num { NSInteger num = [self funcB:(num)];

iOS 组件通信方案

@end 需求第3期,弹窗太多了,给加个优先级,根据优先级弹窗。 需求第4期,加个活动弹窗,定个优先级。 需求第5期,加个XX弹窗,定个优先级。 估计此刻的你应该是这样的: 现在使用面向接口编程思想对业务进行改造,我们抽象出一个接口如下: @protocol PopUpsProtocol //活动类型(标识符) @property(nonatomic, copy) NSString *type;: //show [popUps execute];