【玩转树莓派】使用 sinopia 搭建私有 npm 服务器
简介使用 sinopia 的好处是,node系的工程师,内部协作时,使用自有 npm 包,会非常方便;另外,sinopia,会缓存已经下载过的包,可以在相当程度上,加速 npm install 相关命令的执行。今天我试着直接在树莓派上搭建一个 sinopia 服务。最终实现的效果较为完整,基本满足需要了。包含用户权限管理,外网使用自定义域名访问,sinopia服务开机自启等特性。
【YFMemoryLeakDetector】人人都能理解的 iOS 内存泄露检测工具类
时过境迁,今天在网上搜了下 “iOS 内存泄露检测”,各种讨论技术文章,有点头大。我忍不住看了下自己当时的代码,突然感觉自己的思路好特别,好有创意。我真的就是在“创建”时把数据记录到一个字典里,在“释放”时,从字典里移出对象;所谓的检测,其实就是打印那个字典,仍然在字典中的很有可能就是泄露喽。
当然,还是有一些技术细节的。我把旧代码适度拆分整理为一个开源库了,取名为 [YFMemoryLeakDetector](h
【smart-transform】取自 Atom 的 babeljs/coffeescript/typescript 智能转 es5 库
简介有时间研究下开源库的源码,总是会有些收获的。注意到 Atom 插件编写时,可以直接使用 babel, coffeescript 或者 typescript。刚好最近有一些类似的需求,需要批量以单个文件的方式转换一些其他语法的文件到 es5 兼容的js文件,于是就把 Atom 的转换机制拆分了出来,写成一个 cli。
【趣味连载】攻城狮上传视频与普通人上传视频:序
前言我想写一个简单的系列文章。主题很简单,就是记录下面对上传视频需求时,攻城狮和普通人(泛指所有非技术人员)的一些区别。当然,从需求分析到最终完整实现,每个步骤都是有干货。我会尽量避免一些偏情绪化的表述。更多的时候,我们应该把注意力集中在各个需求点本身的技术实现上。
【趣味连载】攻城狮上传视频与普通人上传视频:(一)生成结构化数据
背景当知道要上传的视频资料从20条变成100条时,我就明白,绝对不能再人工处理了。他们总是想当然的认为,录入一条数据需要1分钟,那录入20条数据就是20分钟,录入100条数据,不就是100分钟吗?我有时候,真的很想问问他们,没有考虑过人是会犯错的吗?数据越多,出错的可能就越大;但是数据本身,又是不允许出现纰漏的。那拿什么去保证数据的正确性?刷脸?
【读书笔记】A Swift Tour
objc 自己较为熟悉,想熟悉下风头正劲的 swift。就先从官方的入门手册开始撸。
每一小节,我都摘录或总结3个对自己三观冲击最大的【知识点】,以方便以后温习。总结不保证绝对正确,仅供交流之用。O(∩_∩)O哈哈~
【读书笔记】The Swift Programming Language (Swift 4.0.3)
素材:Language Guide初次接触 Swift,建议先看下 A Swift Tour
,否则思维转换会很费力,容易卡死或钻牛角尖。同样是每一章只总结3个自己认为最重要的点。这样挺好!强迫你去思考去取舍。以后再看,也方便快速重建记忆。注意: 个人笔记,仅供参考,不保证严格意义上的正确性。
【自问自答】关于 Swift 的几个疑问
感觉自己给自己释疑,也是一个极为有趣的过程。这次,我还新增了“猜想”一栏,来尝试回答一些暂时没有足够资料支撑的问题。Swift 版本是:4.0.3。不同版本的 Swift,可能无法复现问题。个人记录,仅供参考,不保证严格意义上的正确性。
简陋的swift carthage copy-frameworks 辅助脚本
在看 carthage 时,其中需要配置一个 copy-frameworks 脚本,此脚本特殊的地方,需要手动填写 Input Files 和 Output Files.一个一个填写,很糟心~
【Graphql实践】使用 Apollo(iOS) 访问 Github 的 Graphql API
最近在协助调研 Apollo 生成的代码是否有可能跨 Query 共享模型的问题,虽然初步结论是不能,并不是预期的结果,但是在调研过程中积累的一些经验,有必要记录下。如果你也对 Graphql 感兴趣,不妨先从 Github 的 Graphql API 来切手实践。
关于 Graphql 官网
尽管只是做客户端的一些实践,我还是建议你先过一遍 Graphql 官网的学习指南。这样能更快速地...
_001_Linux_虚拟机安装的系统界面很大的解决办法
来自https://blog.csdn.net/qq_31382921/article/details/72413132,感谢作者的无私分享。在虚拟机安装centos系统时,里面的系统界面很大,很不方便操作,问题如下: 只能拖动右边和下面的滚动条进行操作,当然这是因为虚拟机和本机的分辨率不同引起的。 有两种方法可以将虚拟机中的系统和本机界面相适应 1. 在虚拟机的菜单栏中点击查看-自动调整大小-自...
_002_Linux_Linux目前最全的vi命令使用笔记
来自:https://blog.csdn.net/shudaqi2010/article/details/53930580,感谢作者的无私分享。 1. 关于Vim1.1 Vim的几种模式2. 启动Vim3. 文档操作4. 光标的移动4.1 基本移动4.2 翻屏4.3 标记5. 插入文本5.1 基本插入5.2 改写插入6. 剪切复制和寄存器6.1 剪切和复制、粘贴6.2 文本对象6.3 寄存器7. ...
_003_Linux_CentOS 7 系列(三)系统服务配置 目标(Target)
来自https://blog.csdn.net/u010255859/article/details/74434109,感谢作者的无私分享。在systemd中有一个叫做target的单元,也叫作目标单元。这个单元没有专用的配置选项,它只是以.target结尾的文件,它本身没有具体功能,你可以理解为类别,它的作用就是将一些单元汇聚在一起。通过下面的命令可以查看系统的target单元。1systemc...
_004_Unsupported major.minor version 52.0解决办法
1.首先解释一下:stanford parser和jdk版本对应关系J2SE 8 = 52,J2SE 7 = 51,J2SE 6.0 = 50,J2SE 5.0 = 49,JDK 1.4 = 48,JDK 1.3 = 47,JDK 1.2 = 46,JDK 1.1 = 45Unsupported major.minor version 52.0: 看到Unsupported你是不是会想到jdk高版...
tf-idf sklearn
第一步:语料转化为词袋向量 step 1. 声明一个向量化工具vectorizer; 本文使用的是CountVectorizer,默认情况下,CountVectorizer仅统计长度超过两个字符的词,但是在短文本中任何一个字都可能十分重要,比如“去/到”等,所以要想让CountVectorizer也支持单字符的词,需要加上参数token_pattern='\\b\\w+\\b'。 step 2. 根据语料集统计词袋(fit); step 3. 打印语料集的词袋信息; step 4. 将语料集转
排序之冒泡排序、选择排序
一、选择排序(最简单) 1.原理: 4 3 2 1 第一个数与第二个数比较,4 > 3,互换位置,此时第一个数为3,第一个数在于第三个数比较,如此循环,第一轮得到第一个数为最小 2.代码: 1 int arr[4] = {4, 3, 2, 1};
2
3 for (int i = 0; i < 3; i++){
4 for(int j = i + 1; j < 4; j++){
5 if (arr[i] > arr[j]){
6
ParisGabriel:Python全栈工程师(0基础到精通)教程 第二十二课(迭代器、字节串)
ParisGabriel 每天坚持手写 一天一篇 决定坚持几年 为了梦想为了信仰 Python人工智能从入门到精通 迭代器 Iterator: 用<>括号表示的一定是对象 什么是迭代器? 迭代器是访问可迭代对象的工具 迭代器是指用iter(obj) 函数返回的对象(实例) 迭代器可以用next(it) 函数获取可迭代对象的数据 迭代器函数iter和next iter(iterable) 从可迭代对象中返回一个迭代器,ite
如何设置使eclipse修改代码不重启tomcat
tomcat配置 1、server.xml reloadable="true" <Context docBase="ins" path="/ins" reloadable="true" source="org.eclipse.jst.jee.server:ins"/></Host> 2、去除tomcat里面的auto reload enable勾选状态
今日推荐
周排行