没有产品设计、没有需求文档、没有测试、甚至连美工、发布也得我一个人兼着,时时安慰自己,反正写代码最拿手,功能实现再说,以后有的时间慢慢改呗。...分析 懒,自己挖坑自己填 就是复制粘贴,所谓复用,90%的时候就是打破重粘贴。...所谓架构,就是知道去抄啥;所谓开发,就是老大说抄我就抄;所谓初级开发工程师,就是东看看西看看,瞧瞧别人怎么抄,自己跟着抄;所谓高级开发工程师,就是同一个模块抄过一遍的人,第二遍更熟点。...Github搬运工 有现成的用现成的,没现成的找现成的,找不到就不做了,对外宣称无法实现。...我们不是在抄,我们做的叫 “系统集成” 但是如果需求变了,就瞪眼了,我X,这个模块如果改我就需要写10个地方,因为当初没有抽出来做个公共的,这就是自己挖坑自己填。
没有产品设计、没有需求文档、没有测试、甚至连美工、发布也得我一个人兼着,时时安慰自己,反正写代码最拿手,功能实现再说,以后有的时间慢慢改呗。...分析 懒,自己挖坑自己填 就是复制粘贴,所谓复用,90%的时候就是打破重粘贴。...所谓架构,就是知道去抄啥;所谓开发,就是老大说抄我就抄;所谓初级开发工程师,就是东看看西看看,瞧瞧别人怎么抄,自己跟着抄;所谓高级开发工程师,就是同一个模块抄过一遍的人,第二遍更熟点。...Github搬运工;有现成的用现成的,没现成的找现成的,找不到就不做了,对外宣称无法实现;我们不是在抄,我们做的叫 “系统集成”。...但是如果需求变了,就瞪眼了,我X,这个模块如果改我就需要写10个地方,因为当初没有抽出来做个公共的,这就是自己挖坑自己填。
https://blog.csdn.net/lyhhj/article/details/73554768 绪论 之前分享了一篇 Base封装(一)–我的最简MVP架构简单的封装了自己的MVP架构...接下来继续分享我的封装之路,今天要分享的是常用的UI,同样大家看到不合适的地方多多指正啊.....,开发人员当然也可以按照自己的意愿设置成任意的大小。...对于loading加载框这个网上已经有很多了,各式各样的,如果UI需要你定制的话那就自己自定义一个,如果不需要我一直用的都是之前找到的一个感觉挺好的,仿简书的样子 4.统一的Dialog Dialog...、上拉加载 说到这个真的是有很多很多了,以前的PullToRefresh到现在的SwipeRefresgLayout,网上的资源很多,看个人喜好,分享一个下拉刷新集合,需要的拿去吧 众多优秀的下拉刷新(
如何封装属于自己的ajax?小编带你探探路。。...1 发送请求完成 2 获取原始数据 3 解析原始数据 4 完成 200 完成 304 重定向 403 访问遭拒绝 404 路径不存在 414 路径过长 500 后台服务器有问题...502 后台程序有问题 4 开头错误是前端 5 开头错误是后台 oAjax.onreadystatechange=function(){ if(oAjax.readyState==4){ if(...oAjax.status success && success(oAjax.responseText); }else{ fnFail && fnFail(oAjax.status); } } } } 大家如果有感兴趣的方向文章...,可以直接给我留言,我会去写你们感兴趣的文章。
引言 自己在个人电脑上开发项目或脚本时,经常会遇到数据存储的问题,咱们工作项目中 Mysql 是常用的业务数据库,如果要存储数据,难道除了在我们个人电脑安装 Mysql 服务就别无他选了吗?...No,No,你还有一种选择可以不用在你自己电脑上安装 Mysql 服务也能解决数据存储问题。...Images: 表示本地已存在的镜像,如下图所示的列表展示了我本地已拉取的镜像 3.Docker拉取Mysql镜像 拉取 Mysql 最新版本镜像命令: docker pull mysql #不加...:latest默认拉取的是最新版本的镜像 docker pull mysql:latest 拉取 Mysql 指定版本镜像命令: docker pull mysql:8.0.18 搜索 Mysql...工具连接刚才使用 Docker 容器启动的 Mysql 服务 按照启动容器设置的参数,在 Navicat 中新建 Mysql 连接 (2).查看 Mysql 下的数据库 小结 1.程序代码可以轻松地连接这个
Android网络框架OKGo封装 本文讲述了Android网络框架OKGo封装,封装的框架适用于项目当中,适合新手操作,OKGO框架本身就以简单易上手而深受喜欢,而此文就是基于框架之上再次封装,废话不多说...layout_constraintTop_toBottomOf="@+id/gif_icon_matching"/> 下来就是对OKGO框架进行网络请求的封装...void onError(String des); void onResponse(T responseObj); } 下来我们封装OKGo的网络请求操作,包括get,post,以及文件上传...()方法就是获取当前界面的Context,可以参考我之前的封装MVP代码。...LoginResponse public class LoginResponse extends BaseModel { } 只是简单的这一行代码,LoginInfo根据自己项目需求更改
当时一些js基础知识也欠缺(虽然现在也不咋的),想要自己封装,难度也很大。 今天也终于自己封装一个简易 的ajax。
/* * 生成指定范围的随机整数 * @param lower 下限 * @param upper 上限 * @return 返回指定范围的随机整数,上/下限值均可取 */ function...{ return Math.floor(Math.random() * (upper - lower)) + lower; } /* * 生成rgb随机颜色值 * @return 返回生成的rgb...串联字符串,并返回 return "rgb(" + r + "," + g + "," + b + ")"; } /* * 将 URL 中查询字符串转换为对象 * @param ul 待转换的URL...与 # 的索引 var start = url.indexOf("?"), end = url.indexOf("#"); // 判断是否有 ?...后一位置开始 start += 1; // 判断是否有 # if (end === -1) // 不存在,则截取到字符串末尾 end = url.length;
一、scroll家族 offset 自己的偏移 scroll滚动的 scrollTop和scrollLeft scrollTop 被卷去的头部 当滑动滚轮浏览网页的时候,网页隐藏在屏幕上方的距离 二、页面滚动效果事件...json.name 李白 五、判断是否声明DTD document.compatMode==="BackCompat" BackCompat 未声明 CSS1Compat 已经声明 注意大小写 六、封装...DOCTYPE html> 2 3 4 5 封装自己的scrollTop...} 25 }else if(document.compatMode=="CSS1Compat"){//判断是否声明DTD 26 return{//声明的...top:document.documentElement.scrollTop 29 } 30 } 31 return{//未声明的
/usr/bin/env python #-*- coding:utf-8-*- from mysql import connector def connect(): config={
转载请注明:转载自 祥的博客 原文链接:http://blog.csdn.net/humanking7/article/details/50726625 ---- 不管别人的UDP类如何方便,都不如调用...WinSock的API好用,但是每次都写,很不方便,所以将其封装成自己的类,方便以后调用,而且可以根据自己的需求进行扩展。...自己动手,丰衣足食。...======"<<endl; } ReleaseMutex(g_Mutex); } return 0; } 下一篇文章 “用WinSock封装自己的...UDP类2”下面几个内容: 使用共用体union的好处 线程的创建和用法 互斥量的用法 ----
本文链接:https://blog.csdn.net/CJB_King/article/details/88593909 Unity封装定义自己喜欢的Log类型 Unity自己的Debug.Log...本身的打印模式太单一,但是Unity的Log系统支持标签识别 支持的标签:(粗体斜体大小颜色项支持Debug.Log) b 粗体 :text i 斜体 :text...,表示红绿蓝和透明度 ;text 使用颜色名称,总是假定完成不透明 为了查看日志时便于区分,我们这里自己封装一个类,固定的颜色显示对应的日志,也可以自己定义一种日志类型对应一种颜色...,这样查看日志就不会那么单一无趣了,打开VS,新建一个MyDebug类,完成后,我们把它生成dll文件,以便以后快速集成到我们的开发中去,生成导入Unity中的dll文件的目标框架是使用.Net FrameWork...color; } public static MyDebug Create(string module, string color = "black") //用于创建自己喜欢的
创建线程 线程函数 互斥量的用法 ---- 接上文,“用WinSock封装自己的UDP类1”,现在主要是要介绍我写的类的一些想法和总结一些技巧。...但如果你不关,在线程结束后,那个线程对象将滞留于内存中,也就是说你有handle leak....通过调用CloseHandle可以告知系统,已经完成了对某一内核对象的操作,该函数首先检查调用进程的句柄表,来确认进程是否对该句柄所指向的对象有访问权,如果句柄无效则返回FALSE,如果有效,系统将得到该内核对象的数据结构的地址...引用计数是资源自我管理的一种机制,资源本身以引用计数为零来得知别人不再需要自己,从而把自己kill掉。...---- CreateThread 后那个线程的引用计数不是1,调用 CloseHandle 只是说自己对这个线程没有兴趣了,线程还是正常运行的 CreateThread后那个线程的引用计数不是1
前言 昨天开源了业务业余时间自己封装的dapper lambda扩展,同时写了篇博文《编写自己的dapper lambda扩展-使用篇》简单的介绍了下其使用,今天将分享下它的设计思路 链式编程 其实就是将多个方法通过点...表达式树的解析 具体实现的时候会涉及到很多的表达式树的解析,例如where条件、部分字段update,而我实现的时候一共两步:先修树,再翻译。然而无论哪步都得对表达式树进行遍历。...表达式树 百度的定义:也称为“表达式目录树”,以数据形式表示语言级代码,它是一种抽象语法树或者说是一种数据结构。 我对它的理解是,它本质是一个二叉树,节点拥有自己的属性像nodetype。...修树 修树的目的,为了我们更好的翻译,例如DateTime.Now表达式树里的NodeType为MemberAccess,我希望转换成NodeType为Constant类型,以'2018-06-27 16...结束 以上为设计和实现的要点,具体的实现问题可以查看源码,如果有建议和疑问可以在下方留言,如果对您起到作用,希望您点一下推荐作为对我的支持。
封装自己的class类,实现浏览器兼容。 1 2 3 4 5 封装自己的class类</...12 } 13 14 15 window.onload=function(){ 16 //封装自己的...//如果浏览器支持,则直接返回 19 if(document.getElementsByClassName){ 20 //有id...return eleId.getElementsByClassName(classname); 24 }else{//没有id的情况
将自己的程序打包为whl/tar.gz文件 有时候自己写了一个开发基本类,我们把这个类打包为whl或者tar.gz文件,这样的话同事也可以使用自己开发的基本类了 安装setuptools pip...install setuptools 编写setup.py及__init__.py文件(init.py内容可以为空) 注意目录结构 packages/ __init__.py 自己的文件.py setup.py...name : 打包后包的文件名 version : 版本号 author : 作者 author_email : 作者的邮箱 py_modules : 要打包的.py文件 packages: 打包的python...: 是一个包含Extension实例的列表,Extension的定义也有一些参数。...以上就是本文的全部内容,希望对大家的学习有所帮助。
像工作中使用的第三方SDK基本上都是闭源的,因为公司不能把自己的机密泄露出去。所以当需要给别人提供SDK但不让他们知道代码的实现时就需要封装成静态库。...步骤 创建工程,最好是起名为 xxxDemo 例如 AXKitDemo,然后新建一个 target 名为 AXKit,并把原来的工程改名为 AXKit。...在 framework 中创建需要封装的类,写好代码。 在 Build Setting 里更改参数,Math-O Type 为 Static Library。...在 Build Phases -> Headers 里将需要暴露出来的头文件从 Project 移动到 Public。 添加一个 Aggregate 的 target,并添加运行脚本。...目的是把编译出来的真机版和模拟器版的 framework 合并。 模拟器编译一下,真机编译一下,然后 Aggregate 编译一下,然后在项目的 Products 文件夹里就有了最终生成的静态库。
梦晨 发自 凹非寺 量子位 报道 | 公众号 QbitAI 准确测量时间是有代价的。 钟表作为一种机器,像其他所有机器一样都要遵守热力学定律。...气压差的减少导致流过他们大脑的空气速度变慢,在他们的感觉里就是时间变慢了。 只要他们活着就要“呼出空气”,最终使世界达到气压平衡,也就是他们的末日。...可调精度时钟 实验用的时钟由一个悬浮在金属电极上的50纳米厚的氮化硅膜,和一个用于测量薄膜振动的电路组成。 ? 这相当于一个微型太阳能电池,通过给薄膜加热造成的振动就可以产生电流。...同时,薄膜每次振动都会留下电信号,测量电信号之间的间隔就相当于计时,而间隔的稳定性就代表时钟的准确性了。 ? 实验结果表明,提供的热量越多,时钟的运行就越精确,而且成正比。...另外研究人员还不能确定的是,其他种类的时钟,如现在最精准的原子钟和光晶格钟,是否也存在熵与精度的这种关系。
SaaS现在的估值倍数比2011年抬高了很多,但如果我们研究几只推动整体估值上涨的个股就会发现,他们有着惊人的潜力,对产业往往有变革作用。...对每一支股票来说,下行风险都是百分之百的,但这个风险的前提是真的有泡沫存在。 潜在收益在哪?如果你抓住行业的强者,而不只是盯着高估值,那么显而易见地,时间够久,涨幅会达到很高水平。...几年前多少人因为亚马逊和奈飞的估值过高而放弃持有?现在又要多少投资者愿意承认自己的判断有误? 所谓的“基准点”是一种偏见。...来源:App Economy Insights 气泡大小代表截至2019年6月30日的市值 图中的虚线可以理解为一条公允价值线,在虚线上方的是目前被高估的公司,在虚线下方的也就是我们常说的便宜公司。...有些像Okta一样的股票估值与基本面相比虚高,但有些公司现在股价看似偏高,未来可以让投资者“值回票价”。只要你遵循40法则等科学的标准,便可以有较准确地判断。
01 创建菜单 Tk中菜单控件封装在Menu类中。...label='关闭',command=fun) 接着,将menubar增加下拉菜单,并指向子菜单 xmenu: menubar.add_cascade(label='文件',menu=xmenu) 实现的效果如下所示...02 封装自己的控件 Label和Entry组合为一个新的控件 如下,内部创建Label,Entry,通过grid布局控件。
领取专属 10元无门槛券
手把手带您无忧上云