为什么程序员需要学习Linux

前言

在编程界的大神中无一不会 Linux,面对一个黑窗口,只依靠键盘完成那些很秀的操作,旁边如果有编程小白,那估计要目瞪口呆了。作为一个开发者,或者说一个合格的后端开发人员,熟练使用 linux 和编写基本的 shell 是必须的,后端经常在开发后需要部署和调试 web 服务,静态的如 Nginx、Apache, 动态的如 Tomcat、PHP 等,以及 web 服务的依赖数据库、缓存服务等等,这些都需要在 linux 上操作,可以说如果不会 linux 操作的后端开发进一步发展是很难的。

Lixun|Linux 三剑客教程

无论是日常操作还是写 shell, 三剑客用的不比 if、for 用的少。也许你只用过 find 仅查找文件、目录, 其实它还可以对查找的结果进行拷贝和删除等操作; 当我们看着黑窗口中满屏找我们想要信息时 grep 是最好的助手, 除了高亮显示我们需要的信息,grep 还可使用正则匹配,包括统计个数;sed awk功能也很强大,sed擅长以行为单位修改文件(这些通常是配置文件),awk 通常用来统计,对以某个分割符分割的文件可以按列操作。

Linux|基础命令教程

这里总结了常用的近 30 个 linux 命令及小技巧,把这些命令学了就可以对 linux 进行基本的操作了。

钉钉小程序使用说明书

在钉钉小程序中页面由 js、json、acss 文件组成,其中 js 用来存放小程序的逻辑代码,json 用来存放小程序的公共设置,acss 用来存放页面的样式。

在页面中可以放置 page、component、template 等组件。

JS数组常用方法笔记

Array 对象用于在单个的变量中存储多个值。数组是一种特殊类型的对象。在 JavaScript 中对数组使用 typeof 运算符会返回 “object”。

JS 数组实现了多种数据结构,它还具有栈和队列的功能。使用 pop、push 方式对数组尾部操作实现栈操作,使用 shift 和 push 实现队列操作。

轻松搞懂Log4j2配置

入门

百度百科

Log4j 是 Apache 的一个开源项目,通过使用 Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI 组件,甚至是套接口服务器、NT 的事件记录器、UNIX Syslog 守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。

log4j 工作流程

log4j 的三个重要组成: Logger(日志产生), Layout(格式化), Appender(日志输出) 在这个过程中,logger 是日志的产生源,appender 负责把产生的日志输入到各个目的地(console/file/database…),layout 负责格式化日志。

Docker 常用命令总结

docker run 命令

docker run :用 image 创建一个新的容器并运行一个命令

docker run [option] image [command] [arg…]

注意: 如果不使用-d, 创建一个容器退出后容器关闭

常用选项:

  • -d: 后台运行容器, 并返回容器 id
  • -i: 已交互模式运行容器, 通常与-t 同时使用
  • -P: 主机端口映射为容器随机端口.
  • -p: 指定主机端口与容器映射的端口, 格式为: 主机端口: 容器端口
  • –name: 为容器命名
  • –dns 8.8.8.8 指定容器使用的 DNS 服务器, 默认和宿主及一样
  • -h: 指定容器主机
  • -m: 分配最大内存
  • –net=“bridge”: 指定容器的连接类型, 支持 bridge/host/none/container 四种
  • –expose=[]: 开放一组端口

前端|学Vue应该注意的几点

在刚学 Vue 时我有点手足无措, 从一中编程方式中切换到另一种编程方法对大部分人来说是比较难的. 今天我作为一个学过 Vue 基础的人给刚学 Vue 的人梳理一下 Vue 重点, 注意这些在学 Vue 思路会更清晰一些.

头脑风暴一番,回顾了之前写的 Vue 项目,总结了以下几点注意事项。

Java|静态代理动态代理

一个简单的"代理"模型图

代理的功能也就如这个模型一样, 对销售这个流程多了些处理, 原先供应商直接出售给客户的商品, 由代理商宣传销售.

代理在 java 中, 一般是对方法做出一些修改, 具体要看应用场景, 如:

  • 抽离多个方法中重复代码(Spring AOP 就是这样)
  • 过滤器, 拦截器
  • 对其他包中对象的方法进行修改/增强

怎样进行知识分享

怎么进行知识分享?我该怎么准备?我该怎么做?在此之前无数问题也飘荡在我的脑海里,经过这么多次接触、多次和团队里的人分享,我逐渐掌握了一些小技巧、发现了一些应该注意的问题。每当我要进行知识分享我总会注意这些问题,并适当运用一些技巧,最后发现知识分享不再那么使人感觉枯燥,听众反馈也不错。

这篇文章算我实践的一个总结,也是我给不擅长知识分享的小伙伴的一点建议,我相信掌握这些会比之前做的更好。这里我将从头到尾总结想知识分享的流程以及其中需注意的问题和技巧。