smartgit “破解”

2023-11-28更新:

https://blog.syntevo.com/smartgit/2023/04/05/smartgit-hobby-license.html

重新申请爱好者许可证,以前的不能用了。

我在这里对23.1版本做了个备份:

2022-02-08更新:

目前可以直接使用自己的邮箱向官方申请非商用密钥,所以不需要这么麻烦了。

Screenshot 3

上个月开始,smartgit 就调整了它的免费版策略,每隔一段时间就出现无法跳过的30秒钟“非商业许可证”。这种情况不需要“破解”。

但如果你不小心按了商业版,实际上还是会给你弹出等待,超过时间还会强制购买,否则无法使用。本文介绍在这种情况下,如何解决这个问题。

本文记录通过重置软件,继续试用的方式,跳过这个强制许可证,每隔1个月需要重新操作一次。略显麻烦,不过操作起来简单,值得一试。

  1. Win+R

  2. 输入以下命令

    %APPDATA%\syntevo\SmartGit\
    

    55040412404

  3. 删除 settings.xml 文件。

    55040420182

最后注意不要主动升级版本。


Nginx Log日志统计分析常用命令 - 简书

原文:https://www.jianshu.com/p/3170399b50e6

统计IP访问量(独立ip访问数量)

awk '{print $1}' access.log | sort -n | uniq | wc -l

查看某一时间段的IP访问量(4-5点)

grep "07/Apr/2017:0[4-5]" access.log | awk '{print $1}' | sort | uniq -c| sort -nr | wc -l  

查看访问最频繁的前100个IP

awk '{print $1}' access.log | sort -n |uniq -c | sort -rn | head -n 100

查看访问100次以上的IP

awk '{print $1}' access.log | sort -n |uniq -c |awk '{if($1 >100) print $0}'|sort -rn

查询某个IP的详细访问情况,按访问频率排序

grep '127.0.01' access.log |awk '{print $7}'|sort |uniq -c |sort -rn |head -n 100

页面访问统计 查看访问最频的页面(TOP100)

awk '{print $7}' access.log | sort |uniq -c | sort -rn | head -n 100

查看访问最频的页面([排除php页面】(TOP100)

grep -v ".php"  access.log | awk '{print $7}' | sort |uniq -c | sort -rn | head -n 100 

查看页面访问次数超过100次的页面

cat access.log | cut -d ' ' -f 7 | sort |uniq -c | awk '{if ($1 > 100) print $0}' | less

查看最近1000条记录,访问量最高的页面

tail -1000 access.log |awk '{print $7}'|sort|uniq -c|sort -nr|less

每秒请求量统计 统计每秒的请求数,top100的时间点(精确到秒)

awk '{print $4}' access.log |cut -c 14-21|sort|uniq -c|sort -nr|head -n 100

每分钟请求量统计 统计每分钟的请求数,top100的时间点(精确到分钟)

awk '{print $4}' access.log |cut -c 14-18|sort|uniq -c|sort -nr|head -n 100

每小时请求量统计 统计每小时的请求数,top100的时间点(精确到小时)

awk '{print $4}' access.log |cut -c 14-15|sort|uniq -c|sort -nr|head -n 100

性能分析 在nginx log中最后一个字段加入$request_time

列出传输时间超过 3 秒的页面,显示前20条

cat access.log|awk '($NF > 3){print $7}'|sort -n|uniq -c|sort -nr|head -20

列出php页面请求时间超过3秒的页面,并统计其出现的次数,显示前100条

cat access.log|awk '($NF > 1 &&  $7~/\.php/){print $7}'|sort -n|uniq -c|sort -nr|head -100

蜘蛛抓取统计 统计蜘蛛抓取次数

grep 'Baiduspider' access.log |wc -l

统计蜘蛛抓取404的次数

grep 'Baiduspider' access.log |grep '404' | wc -l

TCP连接统计 查看当前TCP连接数

netstat -tan | grep "ESTABLISHED" | grep ":80" | wc -l

用tcpdump嗅探80端口的访问看看谁最高

tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr

在 Debian 中安装 node.js

背景

以前博客有两篇涉及到nodejs,当时只是轻度使用,不甚熟悉。估计今后使 nodejs 的地方会越来越多,本文整理了node 的一些笔记。

介绍

简单来说,nodejs 就是运行在服务端的JavaScript。

为什么要使用 nodejs ?它跟 java PHP 有什么区别呢?

node.js 有非阻塞,事件驱动I/O等特性,非常适合高并发的应用。

以上说明对于一些人来说可能显得晦涩不少,又要去查什么叫非阻塞、事件驱动等。下面是更简单的解释。

在 Java™ 和 PHP 这类语言中,每个连接都会生成一个新线程,每个新线程可能需要 2 MB 的配套内存。在一个拥有 8 GB RAM 的系统上,理论上最大的并发连接数量是 4,000 个用户。随着您的客户群的增长,如果希望您的 Web 应用程序支持更多用户,那么,您必须添加更多服务器。当然,这会增加服务器成本、流量成本和人工成本等成本。

除这些成本上升外,还有一个潜在技术问题,即用户可能针对每个请求使用不同的服务器,因此,任何共享资源都必须在所有服务器之间共享。

鉴于上述所有原因,整个 Web 应用程序架构(包括流量、处理器速度和内存速度)中的瓶颈是:服务器能够处理的并发连接的最大数量。

Node 解决这个问题的方法是:更改连接的方式。每个连接发生一个在 Node 引擎进程中的事件,而不是为每个连接生成一个新的线程(并为其分配一些配套内存)。Node 不会死锁,因为它根本不允许使用锁,它不会直接阻塞 I/O 调用。

转自:https://www.ibm.com/developerworks/cn/opensource/os-nodejs/index.html

安装

我是用的系统为 Debian 8.8,root用户。

安装可用三种方式:

  1. 源安装
  2. PPA安装
  3. mvm安装

1. 源安装

apt-get update
apt-get install nodejs npm

查看版本:

nodejs -v
npm -v

如果你是用普通用户安装,要确保该用户拥有 sudo 权限。

如果使用root用户安装,另外增加如下命令:

npm config set user 0
npm config set unsafe-perm true

2. PPA安装

curl -sL https://deb.nodesource.com/setup_10.x -o nodesource_setup.sh
bash nodesource_setup.sh

apt-get install nodejs npm

查看版本:

nodejs -v
npm -v

如果你是用普通用户安装,要确保该用户拥有 sudo 权限。

如果使用root用户安装,另外增加如下命令:

npm config set user 0
npm config set unsafe-perm true

为了使某些npm包能够工作(例如,需要从源代码编译代码),需要安装build-essential包:

apt-get install build-essential

3. NVM安装

curl -sL https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh -o install_nvm.sh

运行脚本bash

bash install_nvm.sh

软件会安装到~/.nvm。它还在~/.profile文件添加三行以使用nvm,你可以参考。如果使用zsh的话依样画葫芦把它拷贝到 ~/.zshrc中。

查看可用的Node.js版本的信息:

nvm ls-remote

我选择了最新的长期支持版本:

nvm install 8.11.1
nvm use 8.11.1

查看版本:

node -v
npm -v

安装模块时需要注意如下事项,以express模块为例:

npm install express

如果您想要全局安装模块,使用相同版本的Node.js将其提供给其他项目,您可以添加-g标志:

npm install -g express

这将安装包:

~/.nvm/versions/node/node_version/lib/node_modules/express

全局安装模块将允许您从命令行运行命令,但是您必须将程序包链接到本地范围以从程序中请求它:

npm link express

卸载

以前两种方式安装的,运行如下命令卸载:

sudo apt remove nodejs

使用nvm方式的,运行如下命令卸载:

  1. 确定要删除的版本是否为当前活动版本:
  nvm current
  1. 如果您要定位的版本不是当前的活动版本,则可以运行:
  nvm uninstall node_version

此命令将卸载所选的Node.js版本。

  1. 如果要删除的版本当前活动版本,则必须先停用nvm以启用更改:
  nvm deactivate

参考资料


AI Challenger 2018:细粒度用户评论情感分类冠军 - 程惠阁

关注了一些 ai 相关的。原文查看机器之心:https://www.jiqizhixin.com/articles/2019-01-28-16

2018年8月-12月,由美团点评、创新工场、搜狗、美图联合主办的“AI Challenger 2018全球AI挑战赛”历经三个多月的激烈角逐,冠军团队从来自全球81个国家、1000多所大学和公司的过万支参赛团队中脱颖而出。其中“后厂村静静”团队-由毕业于北京大学的程惠阁(现已入职美团点评)单人组队,勇夺“细粒度用户评论情感分类”赛道的冠军。本文系程惠阁对于本次参赛的思路总结和经验分享,希望对大家能够有所帮助和启发。

img

背景

在2018全球AI挑战赛中,美团点评主要负责了其中两个颇具挑战的主赛道赛题:细粒度用户评论情感分析和无人驾驶视觉感知。其中NLP中心负责的细粒度用户评论情感分析赛道,最受欢迎,参赛队伍报名数量最多,约占整个报名团队的五分之一。

细粒度用户评论情感分析赛道提供了6大类、20个细分类的中文情感评论数据,标注规模难度之大,在NLP语料特别是文本分类相关语料中都属于相当罕见,这份数据有着极其重要的科研学术以及工业应用价值(目前在大众点评App已经可以看到20个类别的情感标签了)。

1. 工具介绍

在本次比赛中,采用了自己开发的一个训练框架,来统一处理TensorFlow和PyTorch的模型。在模型代码应用方面,主要基于香港科技大学开源的RNetMnemonicReader做了相应修改。在比赛后期,还加入了一个基于BERT的模型,从而提升了一些集成的效果。

2. 整体思路

整体将该问题看作20个Aspect的情感多分类问题,采用了传统的文本分类方法,基于LSTM建模文本,End2End多Aspect统一训练。

文本分类是业界一个较为成熟的问题,在2018年2月份,我参加了Kaggle的“作弊文本分类”比赛,当时的冠军团队主要依靠基于翻译的数据增强方法获得了成功。2018年反作弊工作中的一些实践经验,让我意识到,数据是提升文本分类效果的第一关键。因此,我第一时间在网络上寻找到了较大规模的大众点评评论语料,在Kaggle比赛的时候,NLP的语言模型预训练还没有出现,而随着ELMo之类模型的成功,也很期待尝试一下预训练语言模型在这个数据集合上的整体效果。


kubernetes 的编译、打包和发布(v1.10)

这是一篇 kubernetes 编译的简单备忘,以1.10.11为例。

编译主要参考文档为官方文档:https://github.com/kubernetes/kubernetes/blob/master/build/README.md

下载源码

下载v1.10.11源码

git clone -b v1.10.11 https://github.com/kubernetes/kubernetes.git
cd kubernetes

# 或者自由切换到其它分支
git branch
git tag | grep v1.10
git checkout v1.10.11

源码有100多万文件、将近700M,下载比较慢,需要一些耐心。

1571366044132

修改源码

这一块就各显神通了。

运行编译环境

使用容器运行一个编译环境,将代码文件映射到目的文件夹

docker run -it --rm -v $(pwd):/usr/lib/go/src/k8s.io/kubernetes kelvinblood/go-kube-build:v1.11 sh

单模块编译

以kubeadm为例,进入cmd文件夹进行编译即可。

cd /usr/lib/go/src/k8s.io/kubernetes/cmd/kubeadm
go build 

参考资料