编程小知识合集
正文
编程小知识合集
Hello word(多语言实现)
C#
// 创建一个文件hello.cs,内容如下
using System;
namespace CH01
{
class Program
{
static void Main()
{
Console.WriteLine("Hello Word");
}
}
}
// 编译成exe文件,在c#自己的编译环境下编译(VS工具)
$ csc + hello.cs
$ hello
Java
// 创建一个文件hello.java,内容如下
public class Hello {
public static void main(String args[]) {
System.out.println("Hello Word");
}
}
// 编译成class文件
$ javac hello.java
$ java hello
Hello World
Python
# 创建一个文件hello.py,内容如下
print("Hello Word!!!")
# 在python环境下解释执行
$ python3 hello.py
解决程序端口占用
程序运行时可能会产生端口占用的问题,下面是解决方案:
1)打开dos窗口,执行netstat -ano命令,可以查看所有进程,找到冲突端口的PID,然后去到任务管理器(ctrl+shift+esc)找到该PID程序并结束进程
2)打开dos窗口,执行netstat -aon|findstr "8080"命令,可以查看指定端口的PID
使用curl命令发送GET/POST请求
命令详细资料网站:https://man.linuxde.net/curl
1)发送GET
curl http://127.0.0.1:8080/login?admin&password=12345678
2)发送POST
curl -d "user=admin&password=12345678" http://127.0.0.1:8080/login
3)发送指定格式并且输出到日志
curl -H "Content-Type:application/json" -X POST -d "user=admin&password=12345678" http://127.0.0.1:8080/login >> ./alert.log
学习Spring5源码时所遇到的坑
1)本人下载的源码版本是spring-framework-5.0.2.RELEASE
配置好gradle环境变量之后,cmd进入到spring项目,执行gradlew.bat编译项目。
2)如何导入到IDEA中
file>>>open>>>找到spring项目的build.gradle文件,导入时设置gradle安装包路径和jdk版本以及是否自动导包。
3)在导包时出现问题,提示连接超时
这是由于国外网络请求超时,我们可以设置从阿里下载jar包, 这样所有的gradle项目都将从阿里仓库下载jar包。在gradle的本地仓库里创建一个init.gradle文件,内容如下:
allprojects{
repositories {
def REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public/'
all { ArtifactRepository repo ->
if(repo instanceof MavenArtifactRepository){
def url = repo.url.toString()
if (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/')) {
remove repo
}
}
}
maven {
url REPOSITORY_URL
}
}
}
4)Could not find org.jetbrains.dokka:integration:0.9.15.
导包继续时无法找到该包,所以我们要修改该包版本号,解决办法如下:
1)修改build.gradle文件,将id "org.jetbrains.dokka" version "0.9.15" 修改为id "org.jetbrains.dokka" version "0.9.17"
2)repositories中添加maven { url "https://plugins.gradle.org/m2/" },问题解决了,可以下载新版本的jar包
雪花算法生成的Long类型id返回前端时后几位为0
原因:JS支持的最大整数是2的53次方减1,所以损失了精度。
解决办法:
1、存储到数据库时为varchar类型
2、取出后返回前端前转为String类型
3、通过json序列化做全局处理,传到前端的转为字符串,保存到后台时是Long
在Mybatis的xml文件调用Java类的方法
使用的是OGNL表达式,表达式格式为:${@prefix@methodName(传递参数名称)}
1)赋值时判断
SELECT * FROM USER WHERE name='${@org.apache.commons.lang3@StringUtils(name)}'
2)IF条件判断
<if test="@org.apache.commons.lang.StringUtils@isNotBlank(name)">name=#{name}</if>
3)自定义生成ID
<insert id="importData">
insert into myproperty (id,asset_id,asset_name,dept_name,brand,specifications,units,produce_time,indate,purchase_time,price,
total_money,address,classification,is_fixed) values
<foreach collection="list" item="property" separator=",">
(
${@cn.hutool.core.util.IdUtil@getSnowflake(1, 3).nextIdStr()},
${@cn.hutool.core.util.IdUtil@getSnowflake(1, 3).nextId()},
#{property.assetName},
#{property.deptName},
#{property.brand},
#{property.specifications},
#{property.units},
#{property.produceTime},
#{property.indate},
#{property.purchaseTime},
#{property.price},
#{property.price},
#{property.address},
#{property.classification},
<choose>
<when test="property.price > 1000">
'0'
</when>
<otherwise>
''
</otherwise>
</choose>
)
</foreach>
</insert>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)