• Swift 的懒加载和计算型属性

    本文首次发布于 BY Blog, 作者 @柏荧(BY) ,转载请保留原文链接. 懒加载常规(简化)写法 懒加载的属性用 var 声明 123lazy var name: String = { return "BY"&...
  • gulp 详解与使用

    什么是 gulp

    gulp 是一个前端构建工具,它能通过自动执行常见任务,比如编译预处理 CSS ,压缩 JavaScript 和刷新浏览器,来改进网站开发的过程,从而使开发更加快速高效。

    为什么要用 gulp

    与 grunt 相比,gulp 无需写一大堆繁杂的配置参数,API中文 API) 也非常简单,学习起来很容易,而且 gulp 使用的是 nodejs 中 stream 来读取和操作数据,其速度更快。
    gulp 有庞大的生态圈,且每天都在发展。依靠成千上万可供选择的插件,你可以利用 gulp 自动完成几乎任何事。

    如何使用 gulp

    Installing Gulp

    新版的 gulp 命令行工具已经改名为 gulp-cli 。
    如果你之前安装了全局的 gulp 。在使用新的 gulp-cli 之前,执行命令
    npm rm --global gulp ,将之前的全局 gulp 卸掉。

  • springboot的jar包,没有主清单属性

    springboot的jar包,没有主清单属性最近开发项目时,springboot项目开发完成打成jar包,在使用java -jar test.jar 运行时报错:k2alpha-sample.jar中没有主清单属性 解决:在maven文件中,加入如...
  • RVM 使用指南

    RVM 常用的命令整理 RVM 是一个命令行工具,可以提供一个便捷的多版本 Ruby 环境的管理和切换。https://rvm.io/ 我相信做为iOS开发者,对ruby的使用都是从安装 CocoaPods 开始的吧~ Note:这里所有的命令...
  • 【Vue】使用 Vue2 开发一个项目列表展示应用

    前言

    一直没有找到一个合适的展示个人项目的模板,所以自己动手使用 Vue 写了一个。该模板基于 Markdown 文件进行配置,只需要按一定规则编写 Markdown 文件,然后使用一个 在线工具 转为 JSON 文件即可。下面是该项目的在线地址和源码。本文主要记录一下项目中用到的相关知识。

    在线演示    源码

  • 【Java 并发】详解 ThreadPoolExecutor

    前言

    线程池是并发中一项常用的优化方法,通过对线程复用,减少线程的创建,降低资源消耗,提高程序响应速度。在 Java 中我们一般通过 Exectuors 提供的工厂方法来创建线程池,但是线程池的最终实现类是 ThreadPoolExecutor,下面我们详细分析一下 ThreadPoolExecutor 的实现。

  • iOS自动打包

    利用xcode的命令行工具 xcdeobulid 进行项目的编译打包,生成ipa包,并上传到fir 前言现在网上的自动打包教程几乎都还是xcodebuild + xcrun的方式先生成.app包 再生成.ipa包,结果弄了一整天硬是没成功~ 后来...
  • Wallpaper Engine 自制canvas频谱

    玩Wallpaper Engine的时候发现一个dalao用canvas做了一个很炫酷的频谱,,,然后看了一下源码,发现很6666,然后自己就写了一个! 已买Wallpaper Engine的求一波订阅!hhhh 神秘链接: 创意工坊 视频预览:wa...
  • 【Java并发】详解 AbstractQueuedSynchronizer

    前言

    队列同步器 AbstractQueuedSynchronizer(以下简称 AQS),是用来构建锁或者其他同步组件的基础框架。它使用一个 int 成员变量来表示同步状态,通过 CAS 操作对同步状态进行修改,确保状态的改变是安全的。通过内置的 FIFO (First In First Out)队列来完成资源获取线程的排队工作。更多关于 Java 多线程的文章可以转到 这里

  • CocoaPods 安装和使用

    前言最近换了新机器,重新搭建了开发环境,其中当然包括 CocoaPods。 装完顺便更新下 CocoaPods 安装文档。 正文安装CocoaPods 是用 ruby 实现的,要想使用它首先需要有 ruby 的环境。 升级ruby查看ruby版本 ...