菜菜 published on 2022-11-06 included in Git 问题描述 在将本地的远程仓库push到github上时,出现报错:
ssh: Could not resolve hostname github.com: Temporary failure in name resolution fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
情况1 ssh错误 解决方案:重新设置ssh
1 重新在git设置身份的名字和邮箱 进入到需要提交的文件夹底下,执行命令:
1 2 git config --global user.name "yourname" git config --global user.email "your@email.com" 注:yourname是你要设置的名字,your@email是你要设置的邮箱。
2 删除known_hosts文件 进入 .ssh 文件夹,手动删除 known_hosts 文件
3 重新设置ssh git输入命令:
1 ssh-keygen -t rsa -C "your@email.
菜菜 published on 2022-11-06 included in Android 1 安装软件 打开命令行,进入apk文件所在目录 输入命令:adb install xxx.apk 2 踩雷记录 报错1 android adb devices offline
解决办法:重启adb服务
1 2 adb kill-server adb start-server 报错2 Failed to install app-debug.apk: Failure [INSTALL_FAILED_TEST_ONLY: installPackageLI]
解决办法:允许安装test用的apk
1 adb install -t app-debug.apk
菜菜 published on 2022-10-28 included in Mysql 9 数据库应用开发(JAVA篇) 9.1 JDBC体系结构和简单的查询 JDBC的体系结构 JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。 Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java应用程序与各种不同数据库之间进行对话的方法。 JDBC可以在各种平台上使用Java,如Windows,Mac OS和各种版本的UNIX。 JDBC API支持用于数据库访问的两层和三层处理模型,但通常,JDBC体系结构由两层组成:
JDBC API:这提供了应用程序到JDBC管理器连接。 JDBC驱动程序API:这支持JDBC管理器到驱动程序连接。 JDBC的核心组件 JDBC的核心组件包括:
DriverManager: 此类管理数据库驱动程序列表。使用通信子协议将来自java应用程序的连接请求与适当的数据库驱动程序匹配。 Driver:此接口处理与数据库服务器的通信,我们很少会直接与Driver对象进行交互。而是使用DriverManager对象来管理这种类型的对象。 Connection:该界面具有用于联系数据库的所有方法。连接对象表示通信上下文,即,与数据库的所有通信仅通过连接对象。 Statement:使用从此接口创建的对象将SQL语句提交到数据库。除了执行存储过程之外,一些派生接口还接受参数。 ResultSet:在使用Statement对象执行SQL查询后,这些对象保存从数据库检索的数据。它作为一个迭代器,允许我们遍历其数据。 SQLException:此类处理数据库应用程序中发生的任何错误 使用步骤 构建JDBC应用程序涉及以下六个步骤:
导入包:需要包含包含数据库编程所需的JDBC类的包。大多数情况下,使用import java.sql.*就足够了。 注册JDBC驱动程序:要求您初始化驱动程序,以便您可以打开与数据库的通信通道。 打开连接:需要使用DriverManager.getConnection()方法创建一个Connection对象,该对象表示与数据库的物理连接。 执行查询:需要使用类型为Statement的对象来构建和提交SQL语句到数据库。 从结果集中提取数据:需要使用相应的ResultSet.getXXX()方法从结果集中检索数据。 释放资源:需要明确地关闭所有数据库资源,而不依赖于JVM的垃圾收集。 建立JDBC连接所涉及的编程可简单概括为以下四个步骤
导入JDBC包:将Java语言的import语句添加到Java代码中导入所需的类。 注册JDBC驱动程序:此步骤将使JVM将所需的驱动程序实现加载到内存中,以便它可以满足您的JDBC请求。 数据库URL配置:这是为了创建一个格式正确的地址,指向要连接到的数据库。 创建连接对象:最后,调用DriverManager对象的getConnection()方法来建立实际的数据库连接。 Class.forName(); 注册驱动程序最常见的方法是使用Java的Class.forName()方法,将驱动程序的类文件动态加载到内存中,并将其自动注册。
1 2 3 4 5 6 try { Class.forName("com.mysql.cj.jdbc.Driver"); }catch(ClassNotFoundException ex) { System.out.println("Error: unable to load driver class!
菜菜 published on 2022-10-21 included in Git 基本流程 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 # 初始化仓库 git init # 将本地库关联至远程仓库 git remote add origin git@github.com:....github.io.git # 查看当前修改状态 git status # 添加修改过得文件, . 表示所有,也可以指定文件 git add . # ""里面的内容就是提交内容的说明信息 git commit -m "first commit" # 第一次提交方法1 git push -u -f origin main #第一次提交方法2 git pull origin main --allow-unrelated-histories git push -u origin main # 以后提交 git push 其他用法 1 修改分支名 1 git branch -m oldBranchName newBranchName 2 取消与远程仓库的关联 1 git remote remove origin 3 实现本地库同时关联GitHub和Gitee 1 2 3 4 5 6 7 8 9 10 11 12 13 # 初始化仓库 git init # 将本地库同时和GitHub、Gitee的远程仓库关联 git remote add github git@github.
菜菜 published on 2022-10-20 included in Go 1 路由与控制器 1 路由规则 一条路由规则由:http请求方法 , url路径 , 控制器函数 组成 1.http请求方法
GET POST PUT DELETE 2.url路径
静态url路径 带路径参数的url路径 带星号(*)模糊匹配参数的url路径 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 // 例子1, 静态Url路径, 即不带任何参数的url路径 /users/center /user/101 /food/100 // 例子2,带路径参数的url路径,url路径上面带有参数,参数由冒号(:)跟着一个字符串定义。 // 路径参数值可以是数值,也可以是字符串 //定义参数:id, 可以匹配/user/1, /user/899 /user/xiaoli 这类Url路径 /user/:id //定义参数:id, 可以匹配/food/2, /food/100 /food/apple 这类Url路径 /food/:id //定义参数:type和:page, 可以匹配/foods/2/1, /food/100/25 /food/apple/30 这类Url路径 /foods/:type/:page // 例子3.
菜菜 published on 2022-10-20 included in Go 在go语言标准库中,net包提供了可移植的网络I/O接口,包括TCP/IP、UDP、域名解析和Unix域socket。
1 服务端 1. 解析地址 在TCP服务端我们需要监听一个TCP地址,因此建立服务端前我们需要生成一个正确的TCP地址,这就需要用到 Resolve 函数。
1 2 3 4 5 6 7 8 // ResolveTCPAddr函数会输出一个TCP连接地址和一个错误信息 func ResolveTCPAddr(network, address string) (*TCPAddr, error) // 解析IP地址 func ResolveIPAddr(net, addr string) (*IPAddr, error) // 解析UDP地址 func ResolveUDPAddr(net, addr string) (*UDPAddr, error) // 解析Unix地址 func ResolveUnixAddr(net, addr string) (*UnixAddr, error) 2. 监听请求 我们可以通过 Listen 方法监听我们解析后的网络地址。
1 2 3 4 5 6 7 8 9 10 11 12 // 监听net类型,地址为laddr的地址 func Listen(net, laddr string) (Listener, error) // 监听TCP地址 func ListenTCP(network string, laddr *TCPAddr) (*TCPListener, error) // 监听IP地址 func ListenIP(netProto string, laddr *IPAddr) (*IPConn, error) // 监听UDP地址 func ListenMulticastUDP(net string, ifi *Interface, gaddr *UDPAddr) (*UDPConn, error) func ListenUDP(net string, laddr *UDPAddr) (*UDPConn, error) // 监听Unix地址 func ListenUnixgram(net string, laddr *UnixAddr) (*UnixConn, error) func ListenUnix(net string, laddr *UnixAddr) (*UnixListener, error) 3.
菜菜 published on 2022-10-17 included in 论文阅读笔记 本文为论文 Vision GNN: An Image is Worth Graph of Nodes 的阅读笔记。
论文下载:https://arxiv.org/abs/2206.00272
引言 网络架构在基于深度学习的计算机视觉中起着关键作用。广泛使用的CNN和 transformer(变换器)将图像视为 grid(网格)或 sequence(序列)结构,这对于捕捉不规则、复杂的物体来说是不灵活的。本文建议将图像表示为一个 graph 结构,并引入一个新的 Vision GNN(ViG)架构来提取视觉任务的图层特征。
文章主要工作:
介绍了计算机视觉方面的现有模型方法和成果 介绍ViG模型的构建过程及工作原理,为未来的研究提供有用的灵感和经验 通过图像分类和物体检测实验证明了ViG模型在视觉任务中的有效性 1 相关研究 CNN 曾经是计算机视觉中标准的网络结构,但近来 transformer with attention mechanism 、MLP-based 等模型也在不断发展,这些正在将视觉模型推向一个前所未有的高度。
1.1 3种图像结构 不同的网络结构以不同的方式处理输入的图像,通常有grid, sequence ,graph 3种,如下图所示。在 grid 和 sequence 结构中,节点只按空间位置排序;在 graph 结构中,节点是通过其内容连接的,不受局部位置的限制。
CNN 在图像上应用滑动窗口,并引入移位变异性和位置性;最近的 vision transformer 或 MLP 将图像视为 a sequence of patches(补丁序列)。
由于物体形状通常不是规则的四边形,常用的 grid 或 sequence 结构处理起图像来不够灵活,所以在本文中采用 graph 结构。
1.2 3种模型 CNN:曾经是计算机视觉中的主流网络结构,已经成功地应用于各种视觉任务,如图像分类、物体检测和语义分割。CNN模型在过去的十年里发展迅速,代表性的模型包括ResNet、MobileNet和NAS。 Vision transformer:从2020年开始,被引入到视觉任务中,ViT的一些变体开始被提出来以提高视觉任务的性能。主要的改进包括金字塔结,局部注意和位置编码。 MLP:通过专门设计的模块,MLP可以达到有竞争力的性能,并且在一般的视觉任务(如物体检测和分割)上工作。 1.
菜菜 published on 2022-10-16 included in Go 1 结构 go run helloworld.go:执行Go代码 go build helloworld.go:编译生成二进制文件 ./helloworld:运行 import 声明必须跟在文件的 package 声明之后 Go 语言不需要在语句或者声明的末尾添加分号,除非一行上有多条语句 函数的左括号 { 必须和 func 函数声明在同一行上,且位于末尾,不能独占一行 在表达式 x+y 中,可在 + 后换行,不能在 + 前换行 2 基础语法 1 2 3 4 5 6 //格式化字符串 var stockcode = 123 var enddate = "2020-12-31" var url = "Code=%d&endDate=%s" var target_url = fmt.Sprintf(url, stockcode, enddate) fmt.Println(target_url) 3 语言类型 布尔型
数字型