MAKESOFT开发者社区
最新推荐文章
  • 发动态
  • 发帖子
  • 发文章
登录
首页
分类
  • 发动态
  • 发帖子
  • 发文章
最新
推荐
文章
消息
登录
最新
推荐
  • 最新
  • 推荐
  • 前端
  • 后端
  • 开源
  • 架构
  • DevOps
  • 数据库
  • 移动
  • webRtc
  • 资源
  • 分享
  • 无聊
  • 反馈
  • 提问
  • 热图
  • 交流
使用Docker快速搭建
使用Docker快速搭建论坛系统
    • 测
      测 测试
      发布于10天前

      .NET Framework 通过命令csc将c#语言编译打包成exe运行程序

      csc.exe /t:exe /out:d:\tmp\a.exe d:\tmp\HelloWorld.cs
      赞
      评论
      浏览 41
      后端
    • 测
      测 测试
      发布于18天前

      docker run mysql 5.7

      v /home/mydata/mysql/data:/var/lib/mysql -v /home/mydata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=Biemo123 -d mysql:5.7 --lower_case_table_names=1
      赞
      评论
      浏览 68
      webRtc
    • YYDS
      YYDS YYDS
      发布于25天前

      Ubuntu20.04 Zh_CN_UTF8 设置

      ocales设置,将linux从英文版更改为中文版,下面我们来看看如何更改语言设置。 二.原因 简单的说是因为服务器没有安装zh_CN.UTF-8 字符集,导致不支持中文! locale 执行这个命令,查看和语言编码有关的环境变量 显示如下: LANG= LANGUAGE=en_US:en LC_CTYPE="POSIX" LC_NUMERIC="POSIX" LC_TIME="POSIX" LC_COLLATE="POSIX" LC_MONETARY="POSIX" LC_MESSAGES="POSIX" LC_PAPER="POSIX" LC_NAME="POSIX" LC_ADDRESS="POSIX" LC_TELEPHONE="POSIX" LC_MEASUREMENT="POSIX" LC_IDENTIFICATION="POSIX" LC_ALL= 可以看到大多数都默认为POSIX 类型的,这时可以改服务器的默认字符集为zh_CN.UTF-8(我测试过改了没问题哦,可以解决汉字乱码问题。如果能通过设置SecureCrt等终端可以解决的话,就没必要改了) 三.解决办法 1.安装基本的软件包(第2步安装 zh_CN 中文字符集时要用到) sudo apt-get update //ubuntu系统更新软件包列表 sudo apt-get install -y language-pack-zh-hans sudo apt-get install -y language-pack-zh-hant 2.安装字符集 cd /usr/share/locales sudo ./install-language-pack zh_CN //开始安装zh_CN中文字符集 3.编辑 sudo vim /etc/environment 环境变量配置文件 sudo vim /etc/environment 添加下面zh_CN.UTF-8有关的环境变量,添加完就变成默认的了哦: LANG=zh_CN.UTF-8 LANGUAGE=en_US:en LC_CTYPE="zh_CN.UTF-8" LC_NUMERIC="zh_CN.UTF-8" LC_TIME="zh_CN.UTF-8" LC_COLLATE="zh_CN.UTF-8" LC_MONETARY="zh_CN.UTF-8" LC_MESSAGES="zh_CN.UTF-8" LC_PAPER="zh_CN.UTF-8" LC_NAME="zh_CN.UTF-8" LC_ADDRESS="zh_CN.UTF-8" LC_TELEPHONE="zh_CN.UTF-8" LC_MEASUREMENT="zh_CN.UTF-8" LC_IDENTIFICATION="zh_CN.UTF-8" LC_ALL=zh_CN.UTF-8 4.重新登录一次shell source /etc/environment //使刚才添加的环境变量生效。如果不重新登录shell的话,执行此命令可能会报错哦,我试过了! 四.简单看下成果 locale命令看下输出结果吧! 也可以进入 cd /var/lib/locales/supported.d cat local 显示: en_US.UTF-8 UTF-8 zh_CN.UTF-8 UTF-8 而没有安装中文之前只显示: en_US.UTF-8 UTF-8 注:locale -a 可以查看操作系统支持的字符集。
      赞
      评论
      浏览 134
      DevOps
    • 测
      测 测试
      发布于2022-05-30 16:20:10

      收藏一个java加密解密工具,修复了已知问题版本

      = "MD5"; public static final String SHA1 = "SHA1"; public static final String HmacMD5 = "HmacMD5"; public static final String HmacSHA1 = "HmacSHA1"; public static final String DES = "DES"; public static final String AES = "AES"; /**编码格式;默认使用uft-8*/ public String charset = "utf-8"; /**DES*/ public int keysizeDES = 0; /**AES*/ public int keysizeAES = 128; public static EncryptUtil me; private EncryptUtil(){ //单例 } //双重锁 public static EncryptUtil getInstance(){ if (me==null) { synchronized (EncryptUtil.class) { if(me == null){ me = new EncryptUtil(); } } } return me; } /** * 使用MessageDigest进行单向加密(无密码) * @param res 被加密的文本 * @param algorithm 加密算法名称 * @return */ private String messageDigest(String res,String algorithm){ try { MessageDigest md = MessageDigest.getInstance(algorithm); byte[] resBytes = charset==null?res.getBytes():res.getBytes(charset); return base64(md.digest(resBytes)); } catch (Exception e) { e.printStackTrace(); } return null; } /** * 使用KeyGenerator进行单向/双向加密(可设密码) * @param res 被加密的原文 * @param algorithm 加密使用的算法名称 * @param key 加密使用的秘钥 * @return */ private String keyGeneratorMac(String res,String algorithm,String key){ try { SecretKey sk = null; if (key==null) { KeyGenerator kg = KeyGenerator.getInstance(algorithm); sk = kg.generateKey(); }else { byte[] keyBytes = charset==null?key.getBytes():key.getBytes(charset); sk = new SecretKeySpec(keyBytes, algorithm); } Mac mac = Mac.getInstance(algorithm); mac.init(sk); byte[] result = mac.doFinal(res.getBytes()); return base64(result); } catch (Exception e) { e.printStackTrace(); } return null; } /** * 使用KeyGenerator双向加密,DES/AES,注意这里转化为字符串的时候是将2进制转为16进制格式的字符串,不是直接转,因为会出错 * @param res 加密的原文 * @param algorithm 加密使用的算法名称 * @param key 加密的秘钥 * @param keysize * @param isEncode * @return */ private String keyGeneratorES(String res,String algorithm,String key,int keysize,boolean isEncode){ try { KeyGenerator kg = KeyGenerator.getInstance(algorithm); SecureRandom random = SecureRandom.getInstance("SHA1PRNG"); if (keysize == 0) { byte[] keyBytes = charset==null?key.getBytes():key.getBytes(charset); random.setSeed(keyBytes); kg.init(random); }else if (key==null) { kg.init(keysize); }else { byte[] keyBytes = charset==null?key.getBytes():key.getBytes(charset); random.setSeed(keyBytes); kg.init(keysize, random); } SecretKey sk = kg.generateKey(); SecretKeySpec sks = new SecretKeySpec(sk.getEncoded(), algorithm); Cipher cipher = Cipher.getInstance(algorithm); if (isEncode) { cipher.init(Cipher.ENCRYPT_MODE, sks); byte[] resBytes = charset==null?res.getBytes():res.getBytes(charset); return parseByte2HexStr(cipher.doFinal(resBytes)); }else { cipher.init(Cipher.DECRYPT_MODE, sks); return new String(cipher.doFinal(parseHexStr2Byte(res))); } } catch (Exception e) { e.printStackTrace(); } return null; } private String base64(byte[] res){ return Base64.encode(res); } /**将二进制转换成16进制 */ public static String parseByte2HexStr(byte buf[]) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < buf.length; i++) { String hex = Integer.toHexString(buf[i] & 0xFF); if (hex.length() == 1) { hex = '0' + hex; } sb.append(hex.toUpperCase()); } return sb.toString(); } /**将16进制转换为二进制*/ public static byte[] parseHexStr2Byte(String hexStr) { if (hexStr.length() < 1) return null; byte[] result = new byte[hexStr.length()/2]; for (int i = 0;i< hexStr.length()/2; i++) { int high = Integer.parseInt(hexStr.substring(i*2, i*2+1), 16); int low = Integer.parseInt(hexStr.substring(i*2+1, i*2+2), 16); result[i] = (byte) (high * 16 + low); } return result; } /** * md5加密算法进行加密(不可逆) * @param res 需要加密的原文 * @return */ public String MD5(String res) { return messageDigest(res, MD5); } /** * md5加密算法进行加密(不可逆) * @param res 需要加密的原文 * @param key 秘钥 * @return */ public String MD5(String res, String key) { return keyGeneratorMac(res, HmacMD5, key); } /** * 使用SHA1加密算法进行加密(不可逆) * @param res 需要加密的原文 * @return */ public String SHA1(String res) { return messageDigest(res, SHA1); } /** * 使用SHA1加密算法进行加密(不可逆) * @param res 需要加密的原文 * @param key 秘钥 * @return */ public String SHA1(String res, String key) { return keyGeneratorMac(res, HmacSHA1, key); } /** * 使用DES加密算法进行加密(可逆) * @param res 需要加密的原文 * @param key 秘钥 * @return */ public String DESencode(String res, String key) { return keyGeneratorES(res, DES, key, keysizeDES, true); } /** * 对使用DES加密算法的密文进行解密(可逆) * @param res 需要解密的密文 * @param key 秘钥 * @return */ public String DESdecode(String res, String key) { return keyGeneratorES(res, DES, key, keysizeDES, false); } /** * 使用AES加密算法经行加密(可逆) * @param res 需要加密的密文 * @param key 秘钥 * @return */ public String AESencode(String res, String key) { return keyGeneratorES(res, AES, key, keysizeAES, true); } /** * 对使用AES加密算法的密文进行解密 * @param res 需要解密的密文 * @param key 秘钥 * @return */ public String AESdecode(String res, String key) { return keyGeneratorES(res, AES, key, keysizeAES, false); } /** * 使用异或进行加密 * @param res 需要加密的密文 * @param key 秘钥 * @return */ public String XORencode(String res, String key) { byte[] bs = res.getBytes(); for (int i = 0; i < bs.length; i++) { bs[i] = (byte) ((bs[i]) ^ key.hashCode()); } return parseByte2HexStr(bs); } /** * 使用异或进行解密 * @param res 需要解密的密文 * @param key 秘钥 * @return */ public String XORdecode(String res, String key) { byte[] bs = parseHexStr2Byte(res); for (int i = 0; i < bs.length; i++) { bs[i] = (byte) ((bs[i]) ^ key.hashCode()); } return new String(bs); } /** * 直接使用异或(第一调用加密,第二次调用解密) * @param res 密文 * @param key 秘钥 * @return */ public int XOR(int res, String key) { return res ^ key.hashCode(); } /** * 使用Base64进行加密 * @param res 密文 * @return */ public String Base64Encode(String res) { return Base64.encode(res.getBytes()); } /** * 使用Base64进行解密 * @param res * @return */ public String Base64Decode(String res) { return new String(Base64.decode(res)); } }
      赞
      评论
      浏览 161
      后端
    • YYDS
      YYDS YYDS
      发布于2022-05-24 12:29:34

      nginx超时配置收藏

      proxy_connect_timeout 300s; proxy_send_timeout 300s; proxy_read_timeout 300s;
      赞
      评论
      浏览 194
      DevOps
    • YYDS
      YYDS YYDS
      发布于2022-05-24 11:08:49

      MongoDB 清理数据

      move({}) 3.删除集合 >db.user.drop() 4.删除整个数据库 >show dbs; >db.user.getDB() >db.dropDatabase() 删除文档是永久性的,不能撤销,也不能恢复的。因此,在执行remove()函数前先用find()命令来查看下是否正确。 二、回收remove的磁盘空间 mongodb删除集合后磁盘空间不释放,用db.repairDatabase()去修复才能释放。但是在修复的过程中如果出现了非正常的mongodb的挂掉,再次启动时启动不了的,需要先修复才可以,可以利用./mongod --repair --dbpath=/data/mongo/,如果你是把数据库单独的放在一个文件夹中指定dbpath时就指向要修复的数据库就可以,修复可能要花费很长的时间,在使用db.repairDatabase()去修复时一定要停掉读写,并且mongodb要有备机才可以,不然千万不要随便使用db.repairDatabase()来修复数据库,切记。 回收磁盘空间可以参考:http://blog.csdn.net/mchdba/article/details/8894344 三、mongodb占用空间过大的原因,在官方的FAQ中,提到有如下几个方面: 1、空间的预分配:为避免形成过多的硬盘碎片,mongodb每次空间不足时都会申请生成一大块的硬盘空间,而且申请的量从64M、128M、256M那样的指数递增,直到2G为单个文件的最大体积。随着数据量的增加,你可以在其数据目录里看到这些整块生成容量不断递增的文件。 2、字段名所占用的空间:为了保持每个记录内的结构信息用于查询,mongodb需要把每个字段的key-value都以BSON的形式存储,如果value域相对于key域并不大,比如存放数值型的数据,则数据的overhead是最大的。一种减少空间占用的方法是把字段名尽量取短一些,这样占用空间就小了,但这就要求在易读性与空间占用上作为权衡了。我曾建议作者把字段名作个index,每个字段名用一个字节表示,这样就不用担心字段名取多长了。但作者的担忧也不无道理,这种索引方式需要每次查询得到结果后把索引值跟原值作一个替换,再发送到客户端,这个替换也是挺耗费时间的。现在的实现算是拿空间来换取时间吧。 3、删除记录不释放空间:这很容易理解,为避免记录删除后的数据的大规模挪动,原记录空间不删除,只标记“已删除”即可,以后还可以重复利用。 4、可以定期运行db.repairDatabase()来整理记录,但这个过程会比较缓慢。 修复master过程: 1、在master做db.repairDatabase(),不起作用; 2、停止slave的同步; 3、对slave作mongodump,备份数据; 4、对master作mongostore,把备份数据恢复,使用–drop参数可以先把原表删除。 5、恢复slave的同步。 注:对于需要定期清理的数据库如:保留定期的业务系统日志数据等,可以采用国定大小集合capped collection,限制数据的大小或条数,永远保留最新的数据。 参考: http://docs.mongodb.org/manual/tutorial/remove-documents/ http://docs.mongodb.org/manual/tutorial/expire-data/ http://docs.mongodb.org/manual/tutorial/remove-indexes/ http://docs.mongodb.org/manual/core/capped-collections/ ———————————————— 版权声明:本文为CSDN博主「slimina」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/zhu_tianwei/article/details/44514851
      赞
      评论
      浏览 195
      数据库
    • YYDS
      YYDS YYDS
      发布于2022-05-23 15:21:54

      常用命令

      gistry.npm.taobao.org ps -ef|grep java|grep -v grep|cut -c 9-15|xargs kill -9 nohup ./product -u 0.0.0.0:1220 >logging.log 2>&1 & 【mysql】 alter user user() identified by "123456"; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; FLUSH PRIVILEGES; 【安装软件包命令】 dpkg -i xxx.deb(ubuntu) rpm -ivh(centos) json转对象 收藏下 List<ConfigItem> list = gson.fromJson(config, new TypeToken<List<ConfigItem>>() { }.getType()); curl -XPOST http://localhost:9501/b2b2c_site_goods/goods/_mapping -d '{"properties": {"goodsName": {"type": "text", "analyzer": "ik_smart", "search_analyzer": "ik_smart"}}}' curl -H "Content-Type: application/json" -XPUT 'localhost:9501/b2b2c_site_goods/goods/_mapping' -d '{"goods":{"properties":{"goodsName":{"type":"text","analyzer":"ik_max_word"}}}}' db.getCollection("test_url").update({},{$set:{'time': NumberInt(ISODate().getTime())}},{'multi':true}) db.createUser( {user: "admin",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]}) groupadd es useradd es -g es -p es 1、数据备份到文件 neo4j-admin dump --database=graph.db --to=D:/Neo4j/neo4j-community-3.5.6/data/dump/graph.dump 2、备份的数据文件导入 bin/neo4j-admin load --from=D:/Neo4j/neo4j-community-3.4.9/data/dump/graph.dump --database=graph.db --force ./neo4j-admin load --from=/opt/graph.dump --database=graph.db --force doucha.com yiyi Yi@2345six nohup ./product -u 0.0.0.0:1220 >logging.log 2>&1 & 启动elasticsearch-head nohup grunt server & apt install grunt 【docker 】 启动镜像并映射端口 docker run --privileged -d --name myiso -it -e "container=docker" -p 80:80 -p 8081:8081 -p 8088:8088 -p 3306:3306 testimg:latest /bin/bash 进入镜像 docker exec -it myiso /bin/bash 打包linux镜像 tar --numeric-owner --exclude=/proc --exclude=/sys -cvf centos7-base.tar / 导入镜像到docker cat centos7-base.tar | docker import - centos7-mini2 导入镜像 docker load < /root/image.tar 或者 docker load -i /root/image.tar 导出镜像 docker save image > /root/image.tar 【mysql】 docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 【elasticsearch】 http.cors.enabled: true http.cors.allow-origin: "*" 在 /etc/sysctl.conf文件最后添加一行 vm.max_map_count=262144 vi /etc/security/limits.conf # elasticsearch config start * soft nofile 65536 * hard nofile 131072 * soft nproc 2048 * hard nproc 4096 # elasticsearch config end docker run -d --restart=always --name es -p 9200:9200 \ -p 9300:9300 elasticsearch:6.7.2 docker run -p 9200:9200 -p 9300:9300 --name elasticsearch \ -e "discovery.type=single-node" \ -e "cluster.name=elasticsearch" \ -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \ -d elasticsearch:7.5.0 http.cors.enabled: true http.cors.allow-origin: "*" 【elasticsearch-head】 docker run -d --name elasticsearch-head -it -p 9100:9100 mobz/elasticsearch-head-vim:latest [neo4j] docker run -it -d --name neo4j -p 7474:7474 -p 7687:7687 neo4j:latest 【mongodb】 docker run -d -it --name mongodb -p 27017:27017 mongo:4.0.19 --bind_ip_all 【redis】 docker run -d --name redis -it -p 6379:6379 redis:4.0.11 --requirepass "123456" //es改大查询数量 curl -H "Content-Type: application/json" -X PUT 'http://127.0.0.1:9501/index_test/_settings?preserve_existing=true' -d '{"max_result_window" : "100000"}' searchSourceBuilder.trackTotalHits(true); //删除查出的数据 _delete_by_query会删除所有query语句匹配上的文档,用法如下: curl -X POST "localhost:9200/twitter/_delete_by_query" -H 'Content-Type: application/json' -d' { "query": { "match": { "name": "测试删除" } } } //创建映射 http://192.168.3.188:9501/index_test/_mapping/ POST 请求 {"properties":{"alias":{"type":"keyword"},"country":{"type":"keyword"},"id":{"type":"keyword"},"label":{"type":"keyword"},"name":{"type":"keyword"}}} 导入elasticsearch备份数据: java -jar job.jar import index_test f:/elasticsearch.json -Dspring.elasticsearch.jest.uris=http://192.168.3.188:9501 java -jar job.jar import index_test D:/dataParse_202009131504/node_baozhangfuzhujianting.json {"properties": { "alias":{"type":"keyword"}, "country":{"type":"keyword"}, "label":{"type":"keyword"}, "name":{"type":"keyword"}, "node_color":{"type":"keyword"} }} 【nginx】 docker run -d --name nginx -it -v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/nginx/conf/fastcgi.conf:/etc/nginx/fastcgi.conf -v /usr/local/nginx/conf/conf.d:/usr/local/nginx/conf/conf.d/ -v /usr/local/nginx/html:/usr/local/nginx/html -v /mnt/cryptdisk/server/tiles:/mnt/cryptdisk/server/tiles -p 80:80 -p 8081:8081 -p 8082:8082 nginx:1.14.2 开启ipv4转发 虚拟机挂起的问题 vi /etc/sysctl.conf net.ipv4.ip_forward=1 root Mxsjw123 【coturn】 sudo docker run -p 3478:3478 -p 3478:3478/udp coturn 打包系统镜像docker tar -cvpf /allsystem.tar --directory=/ --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/run --exclude=/allsystem.tar / 查找端口的pid lsof -i:8080|grep "LISTEN"|awk '{print $2}' 查找jar的pid ps -ef | grep -w xxx.jar | grep -v "grep" | awk '{print $2}' 杀死端口的id kill -9 $(netstat -nlp | grep :81 | awk '{print $7}' | awk -F"/" '{ print $1 }') docker-machine create --virtualbox-disk-size "100000" --virtualbox-memory "14000" -d virtualbox default MACHINE_STORAGE_PATH F:\Docker\.docker
      赞
      评论
      浏览 220
      DevOps
    • YYDS
      YYDS YYDS
      发布于2022-05-23 15:20:50

      mvn package xjar打包命令

      x-swagger-ui/**
      赞
      评论
      浏览 185
      DevOps
    • YYDS
      YYDS YYDS
      发布于2022-05-23 15:20:31

      cmd 批量删除某个lastUpdated 结尾的文件

      del C:\Users\Administrator.m2\repository*.lastUpdated /f /s /q /a
      赞
      评论
      浏览 189
      DevOps
    • YYDS
      YYDS YYDS
      发布于2022-05-12 16:12:18

      gitlab用命令提交部分文件或单个指定文件

      忽略的文件
      赞 1
      评论
      浏览 225
      DevOps
    签到
    0
    立即签到
    公告

    MAKESOFT开发者社区 www.makesoft.cn,一个交流分享互助平台,帮助大家打造个人品牌,积累资源,知识分享变现,助力职业发展。 由 Springboot+mybatis-plus 微服务框架,希望大家喜欢。开源地址http://gitee.com

    积分排行
    • YYDS
      YYDS

      0 帖子 • 0 评论

      17
    • 怡
      怡然

      1 帖子 • 1 评论

      12
    • 测
      测试

      1 帖子 • 1 评论

      8
    • 一言难尽
      一言难尽

      0 帖子 • 0 评论

      5
    • S
      sosoalone

      0 帖子 • 0 评论

      5
    • 编程笔记
      编程笔记

      0 帖子 • 0 评论

      2
    • 吓
      吓死蚊子

      0 帖子 • 0 评论

      1
    • kidd
      kidd

      0 帖子 • 0 评论

      1
    • 滔滔
      滔滔

      0 帖子 • 0 评论

      1
    • 薄情
      薄情

      0 帖子 • 0 评论

      1
    友情链接 查看更多>>
    • 别摸网

      别摸网是一个年轻人的交流社区,我们交流分享想法、发现生活乐趣、探索有趣好玩的事情!

    关于 标签 友链
    © 2021 Powered by biemo-cloud

    发表言论时,遵守当地法律法规。本站部分图片、文章来源于网络,版权归原作者所有,如有侵权,请与我联系删除。

    湘ICP备14016160号-1