如何从Angularjs 升级到 Angular

1. 前言

原文: Upgrading from AngularJS to Angular

Author: AngularJS 官方

译者:philoenglish.com 团队

关键字: Angularjs Angular Angular1.x Angular2.x migration 迁移, 升级

这里的 Angular 是指 Angular 2.x, 而 AngularJS 是指 AngularJS 1.x 版本。 Angular (通常是指 “Angular 2+” 或 “Angular v2 及更高版本”) 是一个基于 TypeScript 的 开源 Web 应用框架 由 Google 的 Angular 团队以及社区共同领导。Angular 是由 AngularJS 的同一个开发团队完全重写的。

阅读更多

webpack中使用环境变量

1. 背景介绍

由于前端项目在不同的阶段需要连接不同的后端服务器, 在没有引入环境变量前, 需要手动修改服务器地址. 经常容易出错, 而且不利于便于自动化打包. 所以这里引入 DefinePlugin 便于引入环境变量进行环境区分.

阅读更多

linux上的rsync命令详解

1. rsync 简介

rsync 就是远程同步的意思remote sync.
rsync 被用在UNIX / Linux执行备份操作操作.
rsync 工具包被用来从一个位置到另一个位置高效地同步文件和文件夹. rsync可以实现在同一台机器的不同文件直接备份,也可以跨服务器备份.

2. rsync的重要特性

  • 速度快: 初次同步时, rsync会全量拷贝从源文件或目录到目标位置. 第二次往后同步时, rsync 仅仅会拷贝变化的数据块或字节到目标位置这将使得文件传输非常迅速.
  • 安全: rsync 可以使用ssh协议加密传输.
  • 占用带宽少: rsync 在发送时会压缩数据块, 接收后再解压缩数据块. 所以和其他文件传输协议比起来, rsync在跨主机传输文件时会占用较小的带宽.
  • 不需要特殊权限: 安装和运行rsync 不需要特殊权限.
阅读更多

如何使用Maven结合IDEA进行Debug

1. 介绍

由于 Idea 和 Maven class loading 的规则不同, 同样的测试使用 Maven 运行和使用 Idea 运行可能会得到不同的结果。 而我们的 CI(持续集成)往往是使用 maven 命令去运行的。
在此情况下, 将测试使用 maven 运行起来, 然后结合 IDEA 强大的 debug 能力就显得非常必要。如果熟练掌握此种 debug 方式, 也可以减少我们依赖 idea 进行编译,更新 index 这些极其耗时的工作。

阅读更多

唤醒心中猛兽

为什么停下?

what’s stopping you?
是什么在阻碍你?
Are you too tired?
是太累了吗?
Didn’t get enough sleep?
睡眠不足?
Don’t have enough energy?
精力不济?
Don’t have enough time?
时间不够?
Is that what’s stopping you right now?
是这些东西阻碍你吗?
Don’t have enough money?
还是因为缺钱?
Is that the thing?
是这样吗?
Or is the thing that’s stopping you
还是说真正阻碍你的
you?
是你自己?

阅读更多

Centos7上源码安装git2.x

1. 背景介绍

由于运行gitlab pipeline job遇到如下错误

1
2
fatal: git fetch-pack: expected shallow list
ERROR: Job failed: exit status 1

网上搜索原因, 是因为git的版本过低, 经查询确认, 确实很低还是1.x的git版本. 想通过yum源升级, 发现yum源上的最新版也才1.8.3.1
到目前2021-12-14为止要在centos7上安装2.x的 git还是要通过源码安装, 以下是源码安装git的全过程.

阅读更多

Centos7上搭建git服务器

1. 说明

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
虽然git不必依赖一个中心化的仓库来工作, 但是中心化的仓库也能带来很多好处, 比如方便团队写作, 本文主要讲述, 如何配置git服务器, 让多人通过ssh协议的方式访问服务器端的代码仓库.

阅读更多

Linux文件目录结构详解

1. FHS是什么?

Filesystem Hierarchy Standard(文件系统层次化标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理。

通俗的讲就是解决哪些鸡蛋应该放在哪些篮子的问题.

阅读更多

Tmux使用说明

1. Tmux的作者

Tmux的作者是Nicholas Marriott, 网上关于Nicholas Marriott的介绍很少, 但是本人对创建如此复杂而功能强大的Tmux的开源开发者十分感兴趣, 希望知道的能补充一些关于Tmux的信息.

2. Tmux 是什么?

Tmux 是一个终端复用器(terminal multiplexer),非常有用,属于常用的开发工具。
打开一个终端窗口(terminal window,以下简称”窗口”),在里面输入命令。用户与称为一次”会话”(session) 。
口与其中启动的进程是连在一起的。打开窗口,会话开始;关闭窗口,会话结束,会话不管有没有运行完。
登录远程计算机,打开一个远程窗口执行命令。这时,网络突然断线,再次登录的时命令的。因为上一次 SSH 会话已经终止了,里面的进程也随之消失了。
窗口可以”解绑”:窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候.

阅读更多

cygwin install and configuration

1. cygwin 介绍

Cygwin 是一个在 windows 平台上运行的类 UNIX 模拟环境,是 cygnus solutions 公司开发的自由软件(该公司开发的著名工具还有 eCos,不过现已被 Redhat 收购)。它对于学习 UNIX/Linux 操作环境,或者从 UNIX 到 Windows 的应用程序移植,或者进行某些特殊的开发工作,尤其是使用 GNU 工具集在 Windows 上进行嵌入式系统开发,非常有用。随着嵌入式系统开发在国内日渐流行,越来越多的开发者对 Cygwin 产生了兴趣
Cygwin 提供一个 UNIX 模拟 DLL 以及在其上层构建的多种可以在 Linux 系统中找到的软件包,在 Windows XP SP3 以上的版本提供良好的支持。Cygwin 主要由 Red Hat 及其下属社区负责维护。

阅读更多

Linux expect 详解

1. Expect简介

  • Expect是Unix系统中用来进行自动化控制和测试的软件工具,由Don Libes制作,作为Tcl(Tool Command Language)脚本语言的一个扩展,应用在交互式软件中如telnet,ftp,passwd,fsck,rlogin,tip,ssh等等。该工具利用Unix伪终端包装其子进程,允许任意程序通过终端接入进行自动化控制;也可利用Tk工具,将交互程序包装在X11的图形用户界面中。
  • Expect含有利用正则表达式进行模式匹配以及通用的编程功能,允许简单的脚本智能地管理如下工具:telnet,ftp和ssh(这些工具都缺少编程的功能),宏以及其它程序。Expect脚本的出现使得这些老的软件工具有了新的功能和更多的灵活性。
阅读更多

gitlab安装升级及迁移

1. gitlab简介

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。
GitLab是由GitLabInc.开发,使用MIT许可证的基于网络的Git仓库管理工具,且具有wiki和issue跟踪功能。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
GitLab由乌克兰程序员DmitriyZaporozhets和ValerySizov开发,它使用Ruby语言写成。后来,一些部分用Go语言重写。截止2018年5月,该公司约有290名团队成员,以及2000多名开源贡献者。GitLab被IBM,Sony,JülichResearchCenter,NASA,Alibaba,Invincea,O’ReillyMedia,Leibniz-Rechenzentrum(LRZ),CERN,SpaceX等组织使用。

阅读更多

gitlab-runner安装与配置

1. 安装前准备工作

1.1. 配置yum源

网上大部分教程是介绍如何安装gitlab-ci-multi-runner如何安装,我也按这些教程中的一种安装了,最终发现,不能和最新的gitlab兼容,网上也很少有文章介绍gitlab-ci-multi-runner和gitlab-runner的区别, 实际上gitlab-ci-multi-runner是一个被废弃了的项目, 最新版本只到9.5.1, 而gitlab-runner已经到14.4.0了,在其gitliab仓库上已经说明 Project ‘gitlab-org/gitlab-ci-multi-runner’ was moved to ‘gitlab-org/gitlab-runner’. Please update any links and bookmarks that may still have the old path.
关于gitlab-runner与gitlab的兼容性原则,gitlab和gitlab-runner在主版本和小版本(major.minor)保持同步,具有相同主版本和小版本号的gitlab和gitlab-runner兼容性最好, 较老的runner可能可以兼容比較新的gitlab,反之亦然,但是不能完全保证.详情请参考官网关于兼容性原文

阅读更多

javascript 内置对象

1. BOM对象概述

BOM:浏览器对象模型(Browser Object Model)
BOM提供了独立于内容的、可以与浏览器窗口进行互动的对象结构.

阅读更多