问题式学习Mock开发 · Web前端爱好者

作者:JerryXia | 发表于 , 阅读 (46)
问题一:我跟后端约定好了接口的数据格式,接下来我应该怎么进行开发呢?这是前后端分离的第一步也是很重要的一步,跟后端约定好了数据格式之后两边可以并行开发而不需要等待另外一方提供真正的接口出来,假设数据格式如下(一般数据都会是JSON格式):
{    "success": true,    "data": [        {            "id": 1,            "name": "天哥"        },        {            "id": 2,            "name": "sky"        }    ]}前端只要约定好了数据格式那就可以愉快进行开发了,假设用现成的jQuery库来开发,核心代码就可以如下:
;(function($) {    const mockData = {        "success": true,        "data": [            {                "id": 1,                "name": "天哥"            },   ...阅读全文

 CSS Grid Layout 不完整指南 · Web前端爱好者

作者:JerryXia | 发表于 , 阅读 (40)
介绍CSS Grid Layout,即网格布局系统,旨在用最简单的方式改变用户界面。
CSS发展至今,最基础也最核心的部分是布局,从一开始的用黑科技float进行多列布局,到后来的flex布局的出现,再到现在想讲的Grid布局系统,可以说大大加快网页布局的书写之外语义化也更加明确了。
兼容性从下图看出,目前主流浏览器尚且不支持该属性(截至现在最新Chrome版本为55),所以想要体验Grid属性请先打开chrome://flags/将experimental Web Platform features开启。
示例一览我们先从一个最经典的三列布局(左右固定宽度中间自适应)来看看如何用grid实现:
<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Document</title>    <style>        .container {            display: grid;            grid-template-columns: 100px auto 1...阅读全文

 前端工程师全栈之路之部署环境搭建篇 · Web前端爱好者

作者:JerryXia | 发表于 , 阅读 (36)
ABOUTRSS本文总阅读量前端工程师全栈之路之部署环境搭建篇2017年4月4日又是一年清明雨上,去年写前端工程师学习Nginx实践配置HTTP2.0篇的时候心想着有钱能买个服务器,一年过去了,我终于有了一个腾讯云的服务器!!!(虽然只有一个月免费试用期… )。
这篇文章想要偏向实践兼顾理论地系统性介绍如何在一个全新的Linux服务器上部署一个Node应用,我们知道Node依然很火,同时也越来越多全栈情怀的工程师诞生,这篇文章以Nginx + Node + Mongodb的技术架构来介绍如何从0开始一步步部署一个应用。
首先,想要实践的童鞋得先有一台Linux服务器,土豪直接去腾讯云或者阿里云等云平台购买,像我优雅的舍不得花钱的申请一个月的免费试用玩玩。
一点点知识储备有了云服务器之后,第一步是登录到这台服务器,最简单的命令就是打开一个终端,然后输入:
$ ssh 账号@服务器IP## 输入密码之后直接回车登录上去之后只有一个命令行界面,那么需要懂一些基本的Linux命令了,这里列举一下我们将要用到的命令(诸如:ls/cat/cd/vi这些命令就不介绍了),具体使用过程也可以回...阅读全文

 如何优雅的处理依赖 | little boy 

作者:JerryXia | 发表于 , 阅读 (42)
rpm 的自动依赖是非常有用的特性,但在打包某些软件时,常常会扫描出错误的依赖(如,保存在非标准目录的私有库)。如果你希望精确控制依赖,可以使用 rpm 4.9 加入的 filter 特性。
此功能仅在以下情况使用:
rpm 为 noarch 包;rpm 为指定架构的包,但二进制文件不在 $PATH 或 libexecdir,共享库不在 libdir 目录。Old ways旧方法使用外部宏提供 filter :
%filter_requires_in [-P]:防止扫描文件/目录的 Requires (pre-scan filtering)%filter_provides_in [-P]:防止扫描文件/目录的 Provides (pre-scan filtering)%filter_from_requires:从 Requires 流中删除匹配项 (post-scan filtering)%filter_from_provides:从 Provides 流中删除匹配项 (post-scan filtering)注意:
宏建议定义在 %description 之前,任何其他定义之...阅读全文

 RPM specfile 中 $1 值的研究 | little boy 

作者:JerryXia | 发表于 , 阅读 (43)
本博客的开篇,标题借用 Marguerite.su 女王的 《RPM specfile 中 $1 值的研究》日志以表敬仰。
RPM 工作流程这几天翻译 How to create an RPM package,发现 RPM Spec 不像表面上看着那么简单。下面简述 RPM 工作流程。
安装流程:%pre -> 安装文件 -> %post卸载流程:%preun -> 卸载文件 -> %postun升级流程:new-%pre -> 安装文件 -> new-%post -> old-%preun -> 卸载文件 -> old-%postun在以上流程中,%XXX 阶段执行的脚本被称为 脚本片段 (Scriptlet)。它用于在 RPM 包安装/升级/卸载时,对系统执行必要操作。在升级过程中,先安装新包,再卸载旧包。卸载旧包时,不会删除新包已安装的文件,以此完成升级。
假设在 %post 中编写创建文件的脚本,在 %postun 中删除此文件。安装/卸载都很顺利,但升级时问题来了。执行 old-%postun 时,会将 new-%post 中创建的文件删除。为了解决此问题,RPM 向脚...阅读全文