获得徽章 0
#青训营 x 字节后端训练营#
今天学了 pymysql ,通过 pymysql.conect() 获取 database ,需要配置 host、port、username、password、数据库名等连接信息。通过 database.cursor() 获取游标、使用游标执行sql和执行获取结果
展开
评论
#青训营 x 字节后端训练营#
一种很少见的 sql 删除操作 delete from table1 from table2 where table1.xxid = table2.xxid,可以将 table2 中 table1.xxid = table2.xxid 条件下的列删除(不一定是这种条件,条件自定)
展开
评论
#青训营 x 字节后端训练营#
今天学习单例模式,一个类只能实例化一个对象
可以通过使用类的静态变量(final 修饰,即不可修改),让类在加载时实例化一个唯一的对象,饿汉模式
可以通过使用判断是否为空来实例化第一个变量(需要加锁,保证并发安全),懒汉模式
可以通过使用内部类,实现懒汉模式
可以通过使用 enum 枚举类型,实现完美单例(除了类型为枚举感觉怪怪的之外),并且枚举类型无法通过反射进行实例化
用什么方式并不重要,只要在安全的前提下,结合使用场景选择最佳的即可
展开
评论
#青训营 x 字节后端训练营#
今天学 MySQL 事务 ACID
Atomicity 原子性、Consistency 一致性、Isolation 隔离性、Durability 持久性
一致性是事务的最根本追求,通过原子性与持久性可以保证单线程中的一致性,在并发事务中就需要隔离性来确保数据的一致性了
展开
评论
#青训营 x 字节后端训练营#
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持
评论
#青训营 x 字节后端训练营#
最近暂时放下 go 语言学习,开始深入学习 mysql 索引与事务。mysql 的事务在实际的生产环境中是十分重要的,它可以保证多条 sql 语句的统一执行,防止出现 "你扣了钱,对方没加钱" 或者 "你没被扣钱,对方却加了钱" 之类的情况出现
评论
#青训营 x 字节后端训练营#
循环分支,在 go 中,分支语句为 if else if else,条件的写法与 java 中的不一样,不需要写括号,比如 java 是 if (true) ,go 是 if true;循环语句为 for,与一般语言不一样的是,go 只有 for 一种循环,while 循环需要使用 for 的简化语法,既省略初始化循环变量语句和更新循环变量语句,只保留循环条件判断。
展开
评论
#青训营 x 字节后端训练营#
今天学习golang的数据类型和变量声明,和一般编程语言不一样
它像 js 一样需要使用变量声明关键字 var 来申明变量
但是 go 是强类型语言,类型需要写在变量名后
var flag bool // 布尔类型
var num int // 整型类型
var f float // 浮点型
var str string // 字符串类型
go 也提供了简化写法 num := 0,可以有初值声明时让编译器自己去推断类型
展开
评论
#青训营 x 字节后端训练营#
尝试了原生web开发,
import (
"HelloWorld/handler"
"fmt"
"log"
"net/http"
)

func main() {
fmt.Println("Starting the server ...")
helloHandler := handler.NewHelloHandler()
http.Handle("/hello", helloHandler)
log.Fatal(http.ListenAndServe("127.0.0.1:8080", nil))
}
=====================================
import (
"bytes"
"fmt"
"net/http"
)

type HelloHandler struct {
m map[string]string
}

func NewHelloHandler() *HelloHandler {
return &HelloHandler{m: make(map[string]string)}
}

func (h HelloHandler) ServeHTTP(writer http.ResponseWriter, requset *http.Request) {
b := requset.Body
buf := bytes.Buffer{}
buf.ReadFrom(b)
b.Close()
s := buf.String()
fmt.Printf("get request: \nMethod:%s\n%s\n%s\n", requset.Method, requset.RequestURI, s)
writer.Write(buf.Bytes())
}
展开
评论
#青训营 x 字节后端训练营#
配置了 GoLang 的环境,我需要重启才能正常使用。下载好了 JetBrains GoLang,接下来准备进行代码开发尝试,项目开发目录还在构件中,试着打出 Hello World
评论
#青训营 x 字节后端训练营#
文章指出了 Go 语言语法简单、并发的天然支持、且为编译语言(和 C 同类)、编译快速、部署便捷、工具链与垃圾回收、并且和 open jdk 一样为开源项目。接下来准备跟着配置环境
10