Simest's Blog

Life and code


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

caculator

发表于 2019-09-03 | 更新于 2021-01-12 | 分类于 编译原理

10% + 10% 他为什么等于0.11

好久没有更新了,最近比较忙。昨天微博上突然「曝光」(现在这个词都只有读bào光了,高考的时候还是pù光,歪题了)出好多安卓手机的简单计算器在计算10%+10%时居然给出了结果是0.11,不是人们预想的0.2=20%。

阅读全文 »

未命名

发表于 2019-08-23

mysql parser

1
2
3
4
5
6
7
8
9
10
%type <lexer.charset>
opt_collate
charset_name
old_or_new_charset_name
old_or_new_charset_name_or_default
collation_name
opt_load_data_charset
UNDERSCORE_CHARSET
ascii unicode
default_charset default_collation
1
2
3
4
5
6
7
8
9
create:
CREATE DATABASE opt_if_not_exists ident
{
Lex->create_info= YYTHD->alloc_typed<HA_CREATE_INFO>();
if (Lex->create_info == NULL)
MYSQL_YYABORT; // OOM
Lex->create_info->default_table_charset= NULL;
Lex->create_info->used_fields= 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
create_database_option:
default_collation
{
if (set_default_collation(Lex->create_info, $Extra close brace or missing open brace1))
MYSQL_YYABORT;
}
| default_charset
{
if (set_default_charset(Lex->create_info, $1))
MYSQL_YYABORT;
}
| default_encryption
{
// Validate if we have either 'y|Y' or 'n|N'
if (my_strcasecmp(system_charset_info, $Misplaced &1.str, "Y") != 0 &&
my_strcasecmp(system_charset_info, $1.str, "N") != 0) {
my_error(ER_WRONG_VALUE, MYF(0), "argument (should be Y or N)", $1.str);
MYSQL_YYABORT;
}

​ Lex->create_info->encrypt_type= $1;
​ Lex->create_info->used_fields |= HA_CREATE_USED_DEFAULT_ENCRYPTION;
​ }
​ ;

​

​

1
2
3
4
5
6
7
8
9
create_table_option:
| default_charset
{
$$= NEW_PTN PT_create_table_default_charset($1);
}
| default_collation
{
$$= NEW_PTN PT_create_table_default_collation($1);
}
1
2
3
4
5
6
7
8
9
10
11
default_charset:
opt_default character_set opt_equal charset_name { $$ = $4; }
;

default_collation:
opt_default COLLATE_SYM opt_equal collation_name { $$ = $4;}
;

default_encryption:
opt_default ENCRYPTION_SYM opt_equal TEXT_STRING_sys { $$ = $4;}
;

openssh

发表于 2019-06-20 | 分类于 协议 , ssh

openssh

最近由于到期末,一致在忙着交结课作业,还要临时抱佛脚准备期末考试,日常熬夜到2,3点。没什么时间更新,继续旧文新更。还是一篇去年的关于ssh的文章,有关openssh的使用说明。ssh篇至此完结。

阅读全文 »

libssh

发表于 2019-06-19 | 分类于 协议 , ssh

libssh库简介

今天依旧是一篇旧文,还是ssh相关。ssh相关的开发大多是基于libssh库。本文关于libssh库的介绍,基本上也是对文档的翻译,时隔较旧,如有纰漏欢迎指正。

阅读全文 »

ssh-protocol

发表于 2019-06-18 | 分类于 协议 , ssh

SSH协议

这是一篇去年学习ssh协议时写的文,基本上是SSH标准协议的翻译,放上来仅供参考,里边的一些细节我也有些忘记了。

概述

SSH是Secure SHell的缩写,即安全外壳协议,是一种在不安全网络提供安全远程登陆以及其他安全网络服务的协议。SSH是建立在应用层基础上的安全协议,可以有效防止远程管理过程中的信息泄露问题。

阅读全文 »

tls

发表于 2019-06-18 | 更新于 2019-07-27 | 分类于 协议 , 网络

SSL/TLS协议

一、 概述

关于SSL/TLS的历史和作用此处按下不表,可以检索相关文章进行了解。在建目录的时候,我还认证考虑了一下应该将SSL/TLS归类到几层协议中,经过思考和查找资料,我决定放弃,SSL/TLS协议基本上可以分为握手协议,和传输协议两部分,介于TCP和HTTP协议之间,可能并不太适用于与OSI模型进行匹配。

阅读全文 »

mysql-charset

发表于 2019-06-17 | 更新于 2020-03-31 | 分类于 database , MySQL

数据库系列 1

—MySQL数据库协议之字符集与排序

开篇碎碎念

​ 因为日常工作与数据库打交道,先准备写点简单的自己关于数据库的认识。今天刚好在看有关字符集协商的问题,简单的开篇讲一下MySQL中的字符集设定。

​ MySQL数据库的设置与其协议都是简洁且自由度高的,这两种特性综合起来就导致了在使用MySQL数据库中会遇到一些由于灵活的配置导致的坑。

​ 可能很多人都遇到过一个问题,就是在使用MySQL数据库时,会发先一些中文字符或者表情产生了乱码。或者使用了较新的客户端去连接服务器的时候,产生了类似于「ERROR 1115 (42000): Unknown character set: ‘utf8mb4’」这样连接失败的错误。

阅读全文 »

开篇

发表于 2019-06-13 | 更新于 2019-06-14

经过使用Jekyll搭建,再转向hexo,用next主题建起了博客;期间也入了OS X的坑。填了一些坑,走了一些歪路,总算是建起来了,也算是步入正轨。

博客中主要写一些技术分享的文章,看心情可能也会有日常记录。主要关注数据库技术,网络相关技术,各种协议以及关于服务器部署的相关技术。环境主要基于Linux/OS X,语言主要是C/go(未来希望能够熟悉C++,其他语言视需求扩展)。

123
Simest

Simest

Focus on database/Linux/C/go/docker
28 日志
20 分类
19 标签
Creative Commons
© 2019 – 2021 Simest