辣评投稿管理系统的实现(四)
投稿系统概述
投稿管理系统是辣评平台的核心功能,用于管理用户提交的小说作品。系统需要支持投稿的创建、编辑、删除、查询等多种操作。
系统目标
支持灵活的投稿创建和管理
提供高效的投稿查询和展示
实现文件上传和存储管理
支持投稿的版本管理
投稿数据结构设计
核心数据模型
// Submission 投稿模型
type Submission struct {
ID uint `gorm:"primaryKey"`
UserID uint `gorm:"index"`
CompetitionID uint `gorm:"index"`
Title ...
MyBatis中if test传入0值时不识别
前言
本文会写一些探究以及解决问题的过程。如果只想看解决方案请使用导航栏跳转到相应位置。
问题描述&分析
使用了MyBatis做多条件查询,其中有一个参数是astatus,当前端给的值为1时,查询结果正常。而给0时,这个查询语句就不会被拼接使用,具体请接着看。
OperatingAccountDao.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0 /EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com...
kettle 写入效率提升优化!
数据处理逻辑
ktt从多表获取数据进行过滤分析,然后汇总处理,同步写入mycat分片表和对应的mysq数据库。
MYSQ配置以及调优,如果没有,建议参考此文档调整,数据库调优文档
初始写入效率
可以看到,数据处理效率很快,瓶颈在写入效率很低
优化写入
增加数据库链接参数
useServerPrepStmts=false
rewriteBatchedStatements=true
useCompression=true
调整kettle 表出入为仅插入,减少查询
旧节点:
新节点:
开启批量插入,批次为1000,可以根据自行调节找到合适的数值
优化ktr 执行之前截断写入的物理表和分片表
优化结果
写...
905-按奇偶排序数组
题目描述
给定一个整数数组 nums,将数组中的所有偶数元素移动到数组的前面,后跟所有奇数元素。
解决思路
使用双指针技巧,一个指针从数组开头向后移动,另一个指针从数组末尾向前移动。当左指针指向奇数、右指针指向偶数时,交换两个元素的位置,直到两个指针相遇为止。
算法代码
func sortArrayByParity(nums []int) []int {
left, right := 0, len(nums)-1
for left < right {
if nums[left]%2 != 0 && nums[right]%2 == 0 {
nums[left], nums[right] = nums[...
mysql lost connection to server during query
复现
Navicat Premium 16进行数据导出的时候,导出一半频繁报错 ” mysql lost connection to server during query“。单表数据在100w左右,连续关联了6张表,虽然需求很不合理,但能导出来就好。
单表字段也很多,平均30个左右。根据错误提示,mysql查询过程中丢失链接导致错误。
方法一 修改max_allowed_packet
经实践,修改该参数为512M之后,重启之后还是不能解决此问题。
方法二 调整net超时参数
innodb_read_io_threads = 16
innodb_write_io_threads = 16
net_read_timeout = 28800
net_write_timeout =...
1013-将数组分成和相等的三个部分
题目概述
给定一个整数数组 arr,判断是否可以将其划分为三个和相等的非空部分。
示例
示例 1:
输入:arr = [0,2,1,-6,6,-7,9,1,2,0,1]
输出:true
解释:0 + 2 + 1 = -6 + 6 - 7 + 9 + 1 = 2 + 0 + 1
示例 2:
输入:arr = [0,2,1,-6,6,7,9,-1,2,0,1]
输出:false
解题思路
要将数组划分为三个和相等的非空部分,首先需要计算数组的总和。如果总和不能被3整除,那么无法分成三等分,直接返回 false。然后,使用双指针技巧,找到数组的两个分界点,使得每个分区的和都等于总和的1/3。
算法步骤
它接受一个整数数组 arr 作为输入,并返回一个布尔值,表示该数...
CentOS防火墙操作:开启端口、开启、关闭、配置
基本使用
启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld
开机禁用 : systemctl disable firewalld
开机启用 : systemctl enable firewalld
systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld....
共计 130 篇文章,17 页。