Docker Compose是什么
Docker Compose 是一个工具,这个工具可以通过一个 yml 文件定义多容器的 Docker 应用.
通过一条命令就可以根据 yml 文件的定义去创建或者管理多个容器.
什么是yml文件 YML文件格式是YAML (YAML Aint Markup Language)编写的文件格式,
YAML是一种直观的能够被电脑识别的的数据数据序列化格式,并且容易被人类阅读,容易和脚本语言交互.
如何定义yml文件 新建 docker-compose.yml 文件
version: '3.7'
services:
mongodb:
contain
2020-07-11
3706
Docker
查看更多
webpack打包报错 $ npm run build:prod
> jiajialink-admin@3.2.1 build:prod /Users/zhangzhi/code/jjzn/admin
> vue-cli-service build
⠧ Building for production...
WARNING Compiled with 3 warnings 8:22:16 PM
warning
asset size limit: The follo
2019-11-19
17570
javascript
查看更多
basicShare 推荐一款极简的分享插件
之前用过百度分享,后来博客切换https服务后,
百度分享插件加载报错,
再加上目前主流的社会化分享目的地也就是 微信,微博,
或许是80后的我真的out了,
这个插件基本满足我的需要
极致简洁 UI效果
截图展示效果有点大....
看看实际效果:
分享
站点没有下载icon,所以前面的分享icon变成了方框□
css .basicShareBtn {
cursor: pointer;
background-color: #dff0d8;
border-color: #d6e9c6;
color: green;
font-size: 1
2019-09-05
2607
javascript
查看更多
之前写过一篇 关于css相对定位不跟随滚动条移动点击查看.
正如我的博客内容页右侧目录的效果.
垂直滚动内容时,右侧目录始终定位在右上角不跟随滚动条.
但是,
当我的目录足够长,因为它不跟随滚动条垂直移动,
导致超出屏幕的部分无法看到.
右侧目录相对定位 'position': 'fixed',
'top': 25px,
'width': 400px
top 25px 是因为我的博客顶部菜单高度25px,所以为了不让菜单遮挡右侧目录,所以距离顶部25px
但是页面初始化后,我们并不想直接让目录相对定位到右上角,
因为右上角还有需要展示的模块,
我们更希望是滚动条滚动到目录模块时,这个模块始
2019-02-20
4946
css3
查看更多
语义化标签 HTML 5的革新之一:语义化标签.
在HTML 5出来之前,我们用div来表示页面章节,但是这些div都没有实际意义。(即使我们用css样式的id和class形容这块内容的意义)。这些标签只是我们提供给浏览器的指令,只是定义一个网页的某些部分。但现在,那些之前没“意义”的标签因为因为html5的出现消失了,这就是我们平时说的“语义”
如上图那个页面结构没有一个div,都是采用html5语义标签.
但是也不要因为html5新标签的出现,而随意用之,错误的使用肯定会事与愿违;
所以有些地方还是要用div的,就是因为div没有任何意义的元素,他只是一个标签,仅仅是用来构建外观和结构
2017-10-11
1548
html5
查看更多
gulpfile.js文件
var gulp = require("gulp");
var concat = require("gulp-concat");
var uglify = require('gulp-uglify');
var cssmin = require('gulp-cssmin');
var wrap = require("gulp-wrap");
var expressService = require('gulp-express-service');
var wwwroot = './static/';
var paths = {
scripts: ['stat
2017-01-30
3393
开发工具
查看更多
联系站长免费投稿发布招聘信息
职责
负责公司两大平台智课网(smartstudy.com)和极智批改网(smartpigai.com)功能开发、
BUG修复及日常维护,依据公司产品设计完成产品功能模块的编程开发。
职位
node.js 高级开发工程师
学历
本科及以上
坐标
北京 - 海淀区 - 交通大学 - 上园村3号北交大知行大厦2层
要求
1、计算机相关专业,本科及以上学历;
2、熟悉nodejs相关开发框架,理解异步编程模式;
3、熟悉css, html5;
4、熟悉linux/mac系统;
5、熟练掌握MySQL数据库,配置管理等操作;
6、熟悉常用的数据结构和算法,
2016-09-06
6792
招聘
查看更多
ssh连接超时问题解决方案: 修改server端的 etc/ssh/sshd_config 配置 ClientAliveInterval 7200 #server每隔7200秒发送一次请求给client,然后client响应,从而保持连接
ClientAliveCountMax 30 #server发出请求后,客户端没有响应得次数达到30,就自动断开连接,正常情况下,client不会不响应
重启配置:
service sshd reload
$TMOUT系统环境变量 配置 sudo nano /etc/profile
在最后一行增加
export TMOUT=1800(单位秒)
保存并
2016-03-18
1528
linux
查看更多
什么是m3u
m3u是一个纯文本文件,虽然我们平时看到播放器首先加载了此文件,但是它并不是一个音频文件。
播放器并不是播放它,而是根据它的记录找到网络地址进行在线播放
什么是m3u8
m3u8 是在 m3u 格式下扩展出来的,
可以播流或者点播形式,目的是实现时实性及保密性它会不让你获取它的视频所在地址
浏览器使用的是 m3u8 文件。
m3u8 跟音频列表格式 m3u 很像,可以简单的认为 m3u8 就是包含多个 ts 文件的播放列表。
播放器按顺序逐个播放,全部放完再请求一下 m3u8 文件,获得包含最新 ts 文件的播放列表继续播,周而复始。
整个直播过程就是依靠一个不断更新
2015-11-16
40083
html5
查看更多
#为什么用webpack
如果我们 前端 javascript 能像 node.js 一样 require 去引用一个依赖包,那么前端的世界就不会像现在这么乱
现在为什么乱?
假设:
a.js 依赖 b.js
b.js 依赖 c.js
c.js 依赖 d.js
如果在我们前端去引用这些依赖的时候,往往是这样的:
<script src='a.js'></script>
<script src='b.js'></script>
<script src='c.js'></script>
<scri
2015-11-12
14765
javascript
查看更多
javascript 在浏览器中的加载是如何的?
如何你的 script 上没有任何 异步,阻塞 等标注:
浏览器会异步加载 javascript 文件,但是会按照引用文件中的书写顺序从上到下执行解析 javascript
Defer属性标记
defer是html4.0中定义的,该属性使得浏览器能延迟脚本的执行,等文档完成解析完成后会按照他们在文档出现顺序再去下载解析。
也就是说defer属性的 script 就类似于将 script 放在body中的加载 效果一致.
但是defer属性在各个浏览器中支持程度有点不同,就是说,有的浏览器不完全支持.
Async属性标注
as
2015-11-10
11376
javascript
查看更多
关于 React Native 学习 系列之如何定义css 样式
样式
React Native 不实现 CSS,而是依赖于 JavaScript 来为你的应用程序设置样式。这是一个有争议的决定,你可以阅读那些幻灯片,了解背后的基本原理。
声明样式
在 React Native 中声明样式的方法如下:
var styles = StyleSheet.create({
base: {
width: 38,
height: 38,
},
background: {
backgroundColor: '#222222',
},
active:
2015-11-07
10619
javascript
查看更多
坐标: 深圳 , 南山区
职位: web 开发工程师
岗位职责:
1、负责后台相关业务系统的设计和研发;
2、负责平台开放接口的设计和研发;
3、优化性能、维护现有系统的功能模块、扩展的基础框架;
任职要求:
1、本科学历以上,计算机或相关专业,2年以上工作项目经验;对javascript语言本身有较为深刻的理解。
2、 了解NodeJS及其相关框架 ,要求至少有1年以上的服务器端研发经验;
3、对数据结构和算法设计有一定的理解;
4、熟悉MongoDB或MySQL ,有较强的SQL编程、优化能力;
5、熟悉Linux,熟悉常用的Shell命令;
6、熟练使用Git代码管理工具及
2015-10-28
5513
招聘
查看更多
为什么是 node.js 桌面应用
准确的说,这只是一个浏览器, node-webkit 项目是 chromium 和 node.js 搭建起来的本地运行时环境.
我们知道node.js 是javascript 在服务器端通过强大的 V8 引擎实现的.
chromium 内置了 V8 引擎
所以 node-webkit 就这样结合起来了.
回到刚才的问题,为什么说是桌面应用
Node支持的与操作系统交互的功能,文件系统,网络 , 操作系统资源等,
以及Node之上的第三方库都可以在node-webkit中进行使用
所以他很像是一个桌面级应用,但是又有区别
和传统桌面应用不
2015-10-28
8309
nodejs
查看更多
在 linux 下你可以很方便的使用 tree 命令来查看当前目录下的目录树机构.
但是在 mac 下,至少你需要安装一个工具.
开始,我从网上找到了一个shell 命令打印 tree 结构的方法.
find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'
你可以在你的终端下,直接输入上面的shell 命令来查看当前目录的结构树
如何把它变成一个 命令,直接使用呢
我们想到了 alias 指定别名的方法
alias tree="find . -print | sed -e 's;[^/]*/;|____;g;s;___
2015-10-14
41250
javascript
查看更多
在国庆长假马上结束时,分享一篇关于 css定位的博文,收回你的玩心,开始工作了.
css 中的定位是一个重点,也是难点,之前有一篇专门探讨 css中position定位的问题
达到的效果
如果你够细心的话,你会发现我的博客列表也和博文详情页右侧侧边栏有变化
之前侧边栏是跟随滚动条移动的,当右侧内容不足时,会看到一片空白,体验不好
所以我希望,当滚到到右侧无内容填补时,指点的模块能做一个固定定位,漂浮在顶部右侧,不再跟随滚动条移动
简单说,当右侧侧边栏有内容时,跟随滚动条上下移动
当滚动到右侧无内容时,最小边的模块一直漂浮在右上角,如下图
入群讨论 和 订阅公众号 模块始终
2015-10-07
16751
css3
查看更多
UglifyJS2 这个工具使用很长时间了,但之前都是在 gulp 自动构建 时用到了 UglifyJS 算法进行压缩.
最近玩了一下 UglifyJS2 ,做了一个 在线压缩javascript工具 欢迎点击玩耍.
为什么要压缩 javascript 因为每个人开发者的书写习惯,定义参数习惯,已经使用习惯都不一样.
所以相同的功能出自不同开发者代码各异.这里牵扯到一个代码所占空间.
以前端为例来说明
大家通常都会认为,现在在网络时代,动不动就是10M光纤,拨号上网让人感觉是上个世纪的方式.....
说法是没有问题,但是,我们今天讨论的并不是终端下载速度.
而是前端压缩对服务器有何利
2015-09-30
23149
nodejs
查看更多
css3 响应式布局学习
响应式:就是根据不同设备,或者设备不同分辨率,动态给出对应的样式变化
响应不同的设备
涉及到 css 中的 Media Queries ,这个词组被译为 "媒体查询"
Media Queries 用法如下: <link href="css/main.css" rel="stylesheet" type="text/css" media="screen" />
或者另外一种引入css 文件的方法
<style type="text/css" media="screen">
@import url("css/sty
2015-09-23
7002
css3
查看更多
记录规整一些 关于CSS 处理中文 /英文 折行/不折行 省略 等问题.
这些问题涉及到了几个css 属性,简单记录一下,以备以后碰到
涉及到控制上面提到的问题,必须注意一点,你的容器设定了固定的宽度
英文字母换行,只对英文字母起作用,如果是单词,可能一个单词被拦腰折断 word-break:break-all;
word-break语法: word-break: normal(默认) | break-all | keep-all
Firefox、Opera不能识别
normal: 依照亚洲语言和非亚洲语言的文本规则,允许在字内换行。
break-all: 该行为与亚洲语言的
2015-09-22
11879
css3
查看更多
因为没有新增 css 类别,所以关于css 的东西暂时归类到了 Html5
今天干活遇到的几个问题,下班前和大家分享
透明遮罩层
居中内容不透明
居中div显示内容
因为我的html5页面只在手机端展示,所以不考虑万恶的IE低版本浏览器
并且我把单独的css内容直接定义在html 标签里,这样你们看起来更加直观
透明遮罩层
<div id="nav_img_ios" style="display:none;height:100%; width:100%;
position:fixed; _position:absolute; top:0; z-index:10
2015-09-14
10720
html5
查看更多
现在的二维码相当火,借着移动互联网的风口也快飞起来了.现在各种语言的各种开源包,基本都有对应的生成二维码的源码.但是今天我们分享的不是服务器生成二维码,而是前端页面如果用 javascript 来生成一个二维码.这种动态生成二维码的需求越来越多.如果都要依靠服务器端赖生成,第一:面临资源紧缺的状况,如果在大的并发环境,这种cpu密集型计算必定导致一个问题,就是请求排队,那就不用谈了.用户不会一直在傻傻的等你.第二:就算你顺利生成了二维码,还面临一个网络传输带宽的压力,虽然它很小很小,但是当在一个并发压力大的环境下,依然面临带宽被占的问题.这样说来,如果能在客户端生成二维码,貌似是最好的解决方案
2015-09-11
15282
javascript
查看更多
初学css 的同学很难分清 margin 和 padding 真正所表达的意思.很早之前我们知道 padding 表示内边距, margin 表示外边距.这个定义让人迷惑.按照上面的盒子模型,可能理解起来更好一点.这个图里有一个盒子,就是除去最外层黄色部分.这时你独立看剩下的这个盒子,padding 表示content 距离盒子上下,左右边的距离(不包括border本身距离)所以 padding 是指盒子内容相对盒子本身上下左右各边的距离.当然也可以 单独通过 padding-top,padding-right,padding-bottom,padding-left 来分别制定不同方向的边框.
2015-09-01
6580
html5
查看更多
找准自己的位置很重要.页面也是一样.设计师出手的psd是这样的结果施工后的效果是这样的:这样的结果相信PO喝完酒也不会验收成功吧.页面在设计时的层次,羽化,字体,大小,边距,背景等.这些都不是随便堆砌起来的.所以切页面的时候要完全按照设计师的psd 效果来实施,才不会让最后的产品和设计相差甚远.其中,比较难的是层的定位.所以今天大概说一下 position 属性相关的一点点知识分享.position 属性包含如下几个值:relative 相对的 (这个属性值有参照物)absolute 绝对的 (这个绝对其实也是有一个参照物的)fixed 固定的(就像钉子钉在那里一样)static 静止的 (这
2015-09-01
6583
html5
查看更多
如果你想自动化构建一些东东,请使用 gulp ,还不明白什么是 gulp ,那么请用 google 百度一下 "什么是gulp"如果你不知道如何翻墙使用 google ,那么请离自动化构建远一点(最好披星戴月地赶快逃离IT圈)因为之前专门有一篇介绍了gulp ,是什么,能帮我们做什么,如何去做,请点击此博文查看:angular 系列三 gulp 代码构建工具简介所以上面博文提到的东西这里都不会再重复说明.今天和大家分享的是 如何使用 gulp 传输参数.我今天碰到一个应用场景:老项目A还在线上维护,新项目B已经着手在开发.这2套项目后端调用是一致的,唯独不同的地方是前端UI
2015-08-31
24107
开发工具
查看更多
我就要当一次标题党了。这里的黑科技其实就是一些CSS中不怎么为人所知但在解决某些问题的时候很溜的属性。border-radius很多开发者估计都没有正确认识这个border-radius,因为基本上很多人都是这么用的:.box{border-radius:4px;}稍微高端一点的是这样的:.box{border-radius:4px6px6px4px;}然而,终极黑科技是这样用的:.box{border-radius:5px5px3px2px/5px5px1px3px;}对,它可以赋8个值,没见过?不着急,具体的解释是这样的:斜线前面的影响的是水平方向,斜线后面影响的是垂直方向,各个数字就分别
2015-08-30
3992
html5
查看更多
传统的页面制作中,当你遇到css2 的时候,如何来显示一张背景图呢?拉伸 (无节操的拉伸,容器长宽完全超出背景图的长宽)重复展示(用无数张同样的图片来铺满容器的背景面积)x轴 /y轴 重复展示(纵向拉伸不重复 / 横向拉伸不重复 )background-repeat 这个货看下它的值:repeat 默认。背景图像将在垂直方向和水平方向重复。repeat-x 背景图像将在水平方向重复。repeat-y 背景图像将在垂直方向重复。no-repeat 背景图像将仅显示一次(无节操拉伸)。inherit 规定应该从父元素继承 background-repeat 属性的设置。很明显,上面的 css2 满
2015-08-28
111166
html5
查看更多
在开发移动设备Html5页面时,有没有遇到过,你设置的样式,在ios 设备里面面目全非了.尤其是和安卓设备对比后,会让你有种不相信css 的感觉.其实在 ios设备中使用 Safari 浏览器时.你页面里面的 input ,button ,submit ,reset 等元素都会被载入系统默认的css 来控制.那么问题来了,如果默认禁止浏览器载入这些默认样式呢?在你的css 样式中引入如下:input[type="submit"],
input[type="reset"],
input[type="button"],
button{
-
2015-08-20
4963
html5
查看更多
使用html5 开发一个手机端页面如何能像app一样实现下拉刷新,或者上推刷新.我们试图用html5+css+javascript 来实现一下,没有用到任何第三方插件或者开源js包.先看下效果:这是微信内置浏览器打开后的效果,再看下从顶部按住下拉刷新的效果首先有一个目标div这个 div 用来监听 touchstart ,touchmove ,touchend 三个事件.这3个 事件分别表示 手指触摸屏幕开始, 手指在屏幕移动 , 手指触摸结束那么这个 目标div 一旦被监听后,你的手指放在此div内,就会触发上面的事件. 2. 当触发某个事件时,我们希望看到上面一个下拉的拉伸效果,并且提示
2015-08-11
14842
javascript
查看更多
移动H5前端性能优化指南概述1. PC优化手段在Mobile侧同样适用2. 在Mobile侧我们提出三秒种渲染完成首屏指标3. 基于第二点,首屏加载3秒完成或使用Loading4. 基于联通3G网络平均338KB/s(2.71Mb/s),所以首屏资源不应超过1014KB5. Mobile侧因手机配置原因,除加载外渲染速度也是优化重点6. 基于第五点,要合理处理代码减少渲染损耗7. 基于第二、第五点,所有影响首屏加载和渲染的代码应在处理逻辑中后置8. 加载完成后用户交互使用时也需注意性能优化指南[加载优化]加载过程是最为耗时的过程,可能会占到总耗时的80%时间,因此是优化的重点· 减少HTTP请
2015-08-04
4451
html5
查看更多
node.js 开发的站点,如果你也是用了nginx实现反向代理.那么在服务端可以轻松实现 gzip 压缩,让站点浏览更顺畅.前提条件: node.js + nginx 反向代理node.js 需要做的工作:express 4.0以下版本:app.use(express.compress());//主要是这句
app.use(express.json());
app.use(express.urlencoded());
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.cookie
2015-04-14
7607
javascript
查看更多
目前还处于人口红利期的移动互联网发展的大红大紫,不断侵蚀传统pc份额,所以做一个全终端自动适配的站点已经成了主流.我的博客也是因为之前对于移动浏览器兼容太差,有些朋友提意见说UI体验也不太好,百度m站的UI亮瞎双眼......所以决定换换UI,因为页面结构大变,已经做好了被搜索引擎惩罚的准备.但是移动端考虑到网络环境,抛开wifi不谈,4G普及率不高,3G应该目前移动端网名主流实用的网络制式,2.5G和2G的用户就悲剧了,站点再优化貌似对这部分人来说加载几十K,几百K甚至上几M都是 wait , wait , wait ,loading....所以3G用户在浏览加载过程中,能节省几百K,加载速
2015-04-12
5248
javascript
查看更多
过了一个清明节也没有闲下来,今天新的敏捷开发周期已经迭代开始了,今天晚上想换下博客的UI,明天开始更新博客,赶紧干活去了,祝各位好心情.UI 线下已经搞定,还在细化局部.2015.4.9 中午12点更新!此套UI将自动适应大部分设备,当然我没有全部测试,手机上体验还是不错的.到目前为止,一共换过4套UI每次换UI其实是有一定风险的,对于seo来说,最好一直用一套UI ,所以这段时间我要留意一下所有引擎收录数量及索引量.如果有一天搜索引擎里搜不到我的博客,也许就是被"拔毛了"但是按理说我只是html结构变化,一直都是勤勤恳恳的写内容,应该不会被搜索引擎拔毛.不过影响肯定是有的
2015-04-07
4105
杂谈
查看更多
前几篇博文简单说了下angular的视图,模型,控制器,ui-router等,但是一直没有串起来.查找目录所以今天这篇就是在以前的基础上,把客户端angular.js 负责的部分整体串起来演示一下.我们按照angular执行顺序来做前提准备:(1)Client 根目录下 index.html 首先加载angular.js 和 ui-router.js 文件<scriptsrc="http://cdn.bootcss.com/angular.js/1.3.8/angular.min.js"></script>
<scriptsrc=".
2015-02-06
13097
angularjs
查看更多
上一篇博客我们已经简单的在index.html 实现了一个控制器代码.后面的学习我们会遵循一个控制器管理一个视图,一个路由对应一个视图的单一原则,所以再不会将controller控制器代码直接写到 index.html 中.我们会应用到angular.js中强大的模块来开发,比如路由,服务,过滤器,指令等模块.所以这一篇博客很有必要把各个模块之间的依赖关系,定义,使用等问题陈述一下.那么angular.js 到底是如何加载启动起来的呢.<!DOCTYPEhtml>
<htmlng-app="YIJIEBUYI">
<head>
<s
2015-01-30
10164
angularjs
查看更多
上一篇我们搭建了一个前端 angular.js 后端 node.js服务器的单页面应用,虽然目前服务端只有一个启动文件,但是后面的系列涉及到服务器端交互的时候会逐渐补充.我们整个系列的学习会去写一个简单blog雏形,如果有精力再完善美化.但是这篇还是要从HelloWorld开始学习.angular.js 文件加载我们选用 bootstrap中文网提供的一个cdn服务.http://www.bootcdn.cn/我们找到 1.3.8的angular.js cdn地址,引用到页面 index.html中http://cdn.bootcss.com/angular.js/1.3.8/angular.
2015-01-27
5506
angularjs
查看更多
为什么要把 gulp 的学习文章安装到这里,因为我们上一篇说到了创建一个angular.js项目框架,其中用 gulp 来构建代码.什么是 gulp ,我之前的博客介绍过 yoman项目构建工具 ,gulp 也是类似这样的工具,而且感觉比 yoman和 grunt等工具使用更加简单方便.我们在项目中使用 gulp 做什么?我们会用 gulp 定制几个任务,其中一个就是把controller中的控制器代码抽取出来,然后生成一个新的 app.js .这样的好处是不言而喻的,比如一个团队每个人负责几个控制器,如果我们不用项目管理工具来自动合并引用到文件的话,我们只能手动每个人去修改 index.ht
2015-01-25
14544
angularjs
查看更多
jquery是前端开发者最喜欢的javascript开发框架之一,就像他的宣传语一样,写更少的代码,做更多的事情,现在拥有一大波开发者粉丝,甚至微软将它作为官方库,这一切说明jquery在开发者心中确实有很高的地位.jquery有一个强大的构造函数jQuery() 也就是我们常常简写的 $ ,这个构造函数强大之处在于,它能识别复杂的选择表达式进而找到你想要的元素.所以使用jquery的前提是会使用他的选择表达式,下面几种类似css选择器$(document)//选择整个文档对象 $('#documentID')//选择ID为myId的网页元素 $('a[name=me
2014-12-08
4888
javascript
查看更多
Sublime Text以其轻巧,漂亮和强大的功能被广大程序员所喜爱,完善的插件,代码缩略图,多窗口切换等,真是不可多得的一款跨平台编辑器.Sublime Text 2是一款共享软件,免费和收费的差别仅仅是偶尔会跳出一个购买弹出框.插件安装要使用Package Control组:在线安装方法按Ctrl+`调出console粘贴以下代码到底部命令行并回车:importurllib2,os;pf='PackageControl.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp)ifnotos
2014-11-24
6759
开发工具
查看更多
我们现在开始准备编写AngularJS应用——phonecat。这一步骤(步骤0),您将会熟悉重要的源代码文件,学习启动包含AngularJS种子项目的开发环境,并在浏览器端运行应用。进入angular-phonecat目录,运行如下命令:gitcheckout-fstep-0该命令将重置phonecat项目的工作目录,建议您在每一学习步骤运行此命令,将命令中的数字改成您学习步骤对应的数字,该命令将清除您在工作目录内做的任何更改。运行以下命令:nodescripts/web-server.js来启动服务器,启动后命令行终端将会提示Http Server running at http://lo
2014-11-07
8705
javascript
查看更多