IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    love 0
    血衫非弧の一存
    发表于
    2024-06-15 00:00:00

    Anki 简单实用的记忆神器

    最近接触的Anki。稍微记录一些它的情况。Anki 是一款备受欢迎的记忆软件,帮助用户有效地记忆各种信息。官方网站AnkiWeb。Anki 的基本功能间隔重复:Anki 的核心功能是基于艾宾浩斯遗忘曲线理论,通过在适当的时间间隔内重复呈现卡片,帮助用户将信息从短期记忆转化为长期记忆。这种方法被证明可以显著提高记忆效果,减少遗忘。卡片库:Anki 提供了一个庞大的卡片库,用户可以根据自己的需求下载现成的卡片库,也可以自行创建卡片。AnkiWeb 上有丰富的共享卡片库,涵盖了从语言学习到医学考试的各个领域。下面这两个卡片库是我目前暂时使用的:JLPT (N1~N5) 日语 中文 带语音 Japanese 日本語:下载链接新标准日本语全六册+振假名+高质量语音+动词原形+变形+汉字补全:下载链接多平台支持:Anki 支持多种平台,包括 Windows、Mac、Linux、iOS 和 Android,这意味着你可以在任何设备上进行学习,并且数据可以通过 AnkiWeb 实现同步。Anki 下载页面高度自定义:用户可以根据个人需求自定义卡片格式,添加图片、音频、视频等多种媒体,使学习过程更加生动有趣。你还可以使用 Anki 的插件系统来扩展其功能,根据自己的需求调整软件的表现。d使用 Anki 的实用技巧每日坚持:记忆的关键在于每天坚持使用 Anki 进行复习,即使每次只有几分钟,也能带来显 ...继续阅读 (141)


    love 0
    10k
    发表于
    2024-06-15 00:00:00

    317. Shortest Distance from All Buildings

    QuestionYou are given anm x ngridgridof values0,1, or2, where:each0marksan empty landthat you can pass by freely,each1marksa buildingthat you cannot pass through, andeach2marksan obstaclethat you cannot pass through.You want to build a house on an empty land that reaches all buildings in theshortest total traveldistance. You can only move up, down, left, and right.Returntheshortest travel distancefor such a house. If it is not possible to build such a house according to the above rules, return-1.Thetotal travel distanceis the sum of the distances between the houses of the friends and the meeti ...继续阅读 (74)


    love 0
    10k
    发表于
    2024-06-15 00:00:00

    716. Max Stack

    QuestionDesign a max stack data structure that supports the stack operations and supports finding the stack's maximum element.Implement theMaxStackclass:MaxStack()Initializes the stack object.void push(int x)Pushes elementxonto the stack.int pop()Removes the element on top of the stack and returns it.int top()Gets the element on the top of the stack without removing it.int peekMax()Retrieves the maximum element in the stack without removing it.int popMax()Retrieves the maximum element in the stack and removes it. If there is more than one maximum element, only remove thetop-mostone.You must co ...继续阅读 (92)


    love 0
    百战百胜
    发表于
    2024-06-14 23:19:13

    【开源分享】 Star 25.4k,一款开源的项目管理和问题跟踪平台

    项目介绍 项目是开源的项目管理系统,旨在简化团队的项目管理流程。它易于使用、可自托管,支持问题跟踪、周期管理、项目分解和分析统计等功能,可作为 JIRA 的替代品。 项目截图 ...继续阅读 (140)


    love 0
    est
    发表于
    2024-06-14 22:50:00

    如何删除 C:\\Windows\\WinSxS 文件

    天气热得心慌,看Win10不爽,决定删几个文件玩玩首先你需要以SYSTEM用户启动cmd.exeWin+R 敲入:"\\live.sysinternals.com@SSL\DavWWWRoot\tools\PsExec.exe" -i -s cmd.exe回车。确认当前身份敲入whoami夺权:takeown /F "C:\Windows\WinSxS\Backup" /A /R /D Y授权:cacls "C:\Windows\WinSxS\Backup" /T /G SYSTEM:F /C开删:rd /s /q "C:\Windows\WinSxS\Backup"爽!当然,你也可以让系统代替你清理:Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase很老的磁盘清理工具cleanmgr.exe也可以试试,删不要的程序appwiz.cpl老黄家的 DXCache 也十分让人不解。这破玩意还存2个地方:%LOCALAPPDATA%\NVIDIA\%APPDATA%\NVIDIA老夫当年给C:装了个最慢的SSD,失策。去年(2023)那一波M.2降价潮一直等等结果错过了,拍断大腿追悔莫及。 ...继续阅读 (193)


    love 0
    流动
    发表于
    2024-06-14 20:41:20

    解决 \"undeclared name: any (requires version go1.18 or later)\" 编译错误

    $ go install google.golang.org/protobuf/cmd/protoc-gen-go@latest $ $ protoc-gen-go --version protoc-gen-go v1.34.2 $ $ sh make.sh user.pb.go:123:45: undeclared name: any (requires version go1.18 or later) $ 流水线编译报错,其中make.sh文件代码: ... protoc -I=./ --proto_path=./ --go_out=./ --go_opt=paths=source_relative user.proto ... go build 同样的代码在本机编译就没问题 ...继续阅读 (154)


    love 0
    泠泫凝
    发表于
    2024-06-14 16:02:15

    开源笔记自建测评

    对开源的笔记类(知识库类)从部署、使用、升级等方面进行测评。介绍目前(截至本篇文章初次更新时)我在用的BS架构笔记软件是Memos,但是在前两天更新了新版本,然后在一番折腾,常规非常规的方法都试了,升级失败后有了更换的想法。相对来说,我的需求比较简单:B/S架构,即以浏览器作为主要入口;能够自己部署,数据必须全部保存在本地;支持 Markdown;有自己的媒体库,不能像传统md一样使用诸如![图片提示](图片地址)这样的方式去引用(不够方便),图片要能够以Ctrl+V的方式直接粘贴过来;支持Todo list,最好还带提醒功能;占用资源越少越好,界面最好也轻量化一点。那么乍一看其实memos还挺符合上述要求的,但是无法升级的问题使我最后还是放弃了它。随后在V2EX上发布了求推荐帖,收到了很多好的推荐,准备接下来试试。测评主要有以下几个维度:部署难度、界面美观度、支持功能、迁移与升级、维护积极程度等。本次测评为了方便,全部使用Docker部署,不支持Docker的会被直接Pass掉。测试机环境测试机是基于ESXi的虚拟机,配置为8C+16GB,系统为Ubuntu 20.04,内核版本:5.4.0-186-generic,Docker版本:26.1.4。数据库也将全部基于Docker部署,预计分别部署5、7和8三个版本以适应不同的数据库要求。 ...继续阅读 (182)


    love 0
    Kaciras 的博客
    发表于
    2024-06-14 14:23:10

    写一个 JS Benchmark 框架 ESBench

    你做项目写基准测试吗?就是测一个函数调用花多少时间。据我在 GitHub 上的的观察大部分人是不写的,毕竟做功能和单测就够费时间了。对于 JavaScript 的来说更是如此,毕竟它不像些编译型语言对性能这么敏感。也就我这几年家里蹲,才会闲得无聊去比较各种写法的性能吧。就这样我写了不少 Benchmark 零零散散在各个项目里,在这个过程中我越来越感觉 JS 生态里没有一个像样的 Benchmark 框架,于是就自己动手丰衣足食!本项目开源:https://github.com/ESBenchmark/ESBench现有方案的问题比较结果精确度多工具链IDE 集成火焰图?架构设计主体流程执行和通信构建过程工具链配置套件的 API数据结构保存使用其它关于内存的测量在手机里运行Logo未来的想法扩展性分布式运行开发时长测个用时为什么要用框架?看我三行就给你测出来:javascriptCopyconststart = performance.now();fn();console.log(performance.now() - start);这段代码有什么问题呢?首先它有 4 个坑:为了支持浏览器这里用了performance.now(),它的精度是这样的:NodeJS 里它跟process.hrtime一样底层调用uv_hrtime(1)(2),精度很高,跟系统相关。浏览器里最高 5us ...继续阅读 (144)


    love 0
    Kaciras 的博客
    发表于
    2024-06-14 13:48:54

    使用 Loader Hooks 让 Node 运行 TypeScript

    随着 JavaScript 的项目越来越复杂,类型约束的优势就逐渐的体现了出来。放眼望去,现在的新工具 Deno、Bun、Vitest 等等,都把直接运行 TypeScript 文件作为卖点,唯有老态龙钟的 NodeJS 还在冥顽不灵。于是咱来扶它一把,让 Node 也能直接运行 TS 文件。本项目地址https://github.com/Kaciras/ts-directly需求场景方案分析ESM Loader Hooks核心流程决定编译选项解析模块转换代码其它事项编译参数优化性能测试还在实验中总结需求场景#最近写了一个 Benchmark 框架ESBench,Benchmark 跟单元测试差不多,为了让用户省一步构建,我决定让它直接运行 TS 源文件,就像各个单测框架一样。更进一步,我希望它能保持轻量和兼容,最好别捆绑编译器,用户的装了哪个就用哪个,跟已有的技术栈整合。要知道 Vitest 开发的初衷就是为了和 Vite 搭配。另外它还得快,所以新一代的编译器SWC和esbuild必须得支持,同时为了兼容性也要能使用 TypeScript 的 API 来转换代码,在运行时优先选择最快的。方案分析#提到在 Node 里直接运行 TypeScript,首先就能找到两个库:ts-node和tsx,可惜的是它们不能完美的满足我的需求。tsx 钦定了 esbuild 作为编译器,这直接就 ...继续阅读 (108)


    love 0
    crossoverJie
    发表于
    2024-06-14 09:32:52

    OpenTelemetry agent 对 Spring Boot 应用的影响:一次 SPI 失效的问题排查

    背景前段时间公司领导让我排查一个关于在 JDK21 环境中使用 Spring Boot 配合一个 JDK18 新增的一个 SPI(java.net.spi.InetAddressResolverProvider) 不生效的问题。但这个不生效的前置条件有点多:JDK 的版本得在 18+SpringBoot3.x还在额外再配合使用-javaagent:opentelemetry-javaagent.jar使用,也就是 OpenTelemetry 提供的 agent。才会导致自定义的InetAddressResolverProvider无法正常工作。在复现这个问题之前先简单介绍下java.net.spi.InetAddressResolverProvider这个 SPI;它是在 JDK18 之后才提供的,在这之前我们使用InetAddress的内置解析器来解析主机名和 IP 地址,但这个解析器之前是不可以自定义的。在某些场景下会不太方便,比如我们需要请求order.service这个域名时希望可以请求到某一个具体 IP 地址上,我们可以自己配置 host ,或者使用服务发现机制来实现。但现在通过InetAddressResolverProvider就可以定义在请求这个域名的时候返回一个我们预期的 IP 地址。同时由于它是一个 SPI,所以我们只需要编写一个第三方包,任何项目依赖它之后在发 ...继续阅读 (215)


    love 0
    Allen Hua
    发表于
    2024-06-14 09:26:00

    不借助 mirror 仓库,为docker engine daemon添加 proxy 访问 docker hub,解决国内公开的docker mirror 仓库不再可用了的问题

    我们都知道最近的新闻了ustc 也早早的就出了一份公告。原始链接https://mirrors.ustc.edu.cn/help/dockerhub.html本文不讨论利用 cloudflare workers 加速 docker 镜像站,这种个人用用还是非常不错的,算是感谢 cf 大善人,个人用用非常滴不错,如果你没有一个稳定的 local proxy 的话。本文将要讨论的是利用 http/https proxy 连接 docker hub,既然我们都用代理访问 google/youtube 了,那么再通过代理访问 docker hub 也是顺理成章的事,只不过这次的事件加速了这样一个【历史进程】。但是需要知道的是,使用代理连接 docker hub,不是在 linux 终端 export HTTP_PROXY='' 这样就行了的,而是需要给 docker engine 的 daemon 程序显式设置 http 代理。官方文档可参考https://docs.docker.com/config/daemon/systemd/#httphttps-proxy可以看到,docker client version 23.0 或更新版本都可以直接编辑/etc/docker/daemon.json添加 proxies 对象即可。{ "proxies": { "http-proxy ...继续阅读 (174)


    love 0
    Amy Peng
    发表于
    2024-06-14 08:44:56

    C#12新功能合集三:使用任意类型别名重构C#代码

    本文翻译于David Pine的这篇文章:Refactor your code using alias any type。这篇文章是四篇系列文章中的第三篇,主要探讨C# 12的各种功能。在这篇文章中,我们将深入探讨“别名任何类型”功能,该功能允许您使用using指令为任何类型创建别名。这个系列已经初具规模:使用主构造函数重构C#代码使用集合表达式重构C#代码使用任意类型别名重构C#代码(本篇文章)重构C#代码以使用默认lambda参数所有这些功能都将继续我们的旅程,使我们的代码更具可读性和可维护性,这些被认为是开发人员应该知道的“日常C#”功能。让我们深入了解吧!别名任意类型*⃣C# 12引入了使用using指令为任意类型添加别名的功能。此功能允许您指定映射到其他类型的别名。这包括元组类型、指针类型、数组类型,甚至非开放泛型类型,所有这些类型都可以在您的代码中使用。此功能在以下场景特别有用:当使用长或复杂的类型名称时。当消除类型歧义并解决潜在的命名冲突时。当定义要在程序集中共享的值元组类型时。当希望通过使用更具描述性的名称来增加代码的清晰度时。官方C#文档提供了很多有关如何使用此功能的示例,但我并不想在此重复这些示例,而是决定编写一个演示应用程序来示范该功能的各个方面。可空引用类型此功能支持大多数类型,但可空引用类型除外。也就是说,您无法为可空引用类型设置别名,C#编 ...继续阅读 (144)


    love 0
    oscar999
    发表于
    2024-06-14 07:07:59

    Java如何根据对象属性值从对象列表中获取满足条件的对象

    举例来说, User 的类有三个属性, id,name和age, 现在要从一个User的List集合中获取age=20的所有 User。触类旁通, Java Stream还可以实现除了过滤之外的其他功能。利用 Java 8 引入的 Streams 来简化代码。 ...继续阅读 (138)


    love 0
    Phodal Huang
    发表于
    2024-06-14 06:48:34

    Shire - AI 辅助编程与 AI 编程智能体语言:颠覆传统编程的利器

    Shire 是一种专门为 AI 设计的语言,用于促进大型语言模型(LLM)与集成开发环境(IDE)之间的通信,从而实现自动化编程。其核心理念是通过简洁的语法和强大的功能,使编程任务自动化,并提供无缝的 IDE 集成和实时反馈。 ...继续阅读 (195)


    love 0
    oscar999
    发表于
    2024-06-14 06:26:07

    Linux 如何查看磁盘空间占用

    功能dfdu用途显示文件系统级别的磁盘使用情况估算文件或目录所占用的磁盘空间输出信息文件系统、总大小、已用空间、可用空间、挂载点目录或文件的大小主要选项-h(人类可读格式)、-T(显示文件系统类型)、-i(显示 inode 使用情况)-h(人类可读格式)、-a(显示所有文件和目录)、-s(仅显示合计大小)例子df -h在 Linux 系统中,可以使用du(Disk Usage)命令查看指定目录的空间占用情况。以下是一些常用的du查看特定目录的空间占用以人类易读的格式查看目录的空间占用。 ...继续阅读 (142)


    love 0
    admin
    发表于
    2024-06-14 05:47:44

    云数据库技术动态@2024-06-14

    标题:达梦公开上市,首日收盘市值达182亿;Oracle云上将支持Oracle Database@Google Cloud重要更新Oracle Cloud宣布与Google Cloud深度合作:OCI上(Oracle云)支持Oracle Database@Google Cloud,便捷的管理谷歌云上的Oracle数据库、License、并打通Oracle数据库与Google AI服务的通道[1]。达梦上市,首日公开交易,发行价为86.96元/股,当日收盘价为240元(对应市值182亿),盘中最高报313元[2]。更新详情阿里云RDS MySQL Serverless 通用云盘实例支持按量付费和Serverless互转[4]RDS MySQL Serverless 支持云盘加密[5]GCP(谷歌云)托管PostgreSQL支持扩展temporal_tables 1.2.2[10] 托管PostgreSQL正式支持16版本[17] 托管SQL Server 现在支持在 Cloud Storage 中存储时间点恢复 (PITR)事务日志[25] Oracle云基础数据库:AMD E5 柔性形状(Base Database: AMD E5 flex shape)[26]火山云(字节)RDS PostgreSQL支持了单独重启只读节点[30]数据库工作台支持了PostgreSQL[31];支 ...继续阅读 (164)


    love 0
    whrss (whrss9527@gmail.com)
    发表于
    2024-06-14 04:17:32

    为什么你应该在代码中消除 \"context deadline exceeded\" 错误

    在 Go 语言中,context包提供了一种跨 API 和进程边界传递请求作用域值、取消信号以及超时信号的方式。使用context可以帮助我们更好地控制 goroutine,避免 goroutine 泄漏等问题。出现 “context deadline exceeded” 错误通常是因为在请求上下文中设置了超时时间,但请求在超时时间内未完成。我们应该尽量避免这种错误,原因如下:错误处理:context deadline exceeded是一个错误,如果忽视它可能导致程序运行异常或产生其他错误。错误分析:当我们对数据埋点和日志进行分析时,如果出现 “context deadline exceeded” 错误,我们很难直接定位到具体的错误来源。假设我们在一个分布式系统中处理多个请求,如果日志中充斥着 “context deadline exceeded” 错误,我们根本无法判断是哪里出现了问题。资源泄漏:未及时取消 goroutine 可能会导致资源(如内存、文件描述符等)无法及时释放,引起资源泄漏问题。比如数据库慢查询,数据库连接可能会被占用,导致连接池耗尽。性能问题:长时间运行的请求未能取消,会消耗大量的系统资源,影响整体系统性能。用户体验:对于需要等待长时间的请求,用户可能会感到迷惑和不耐烦,影响用户体验。为了消除 “context deadline exceeded” 错误,我 ...继续阅读 (47)


    love 0
    阮一峰
    发表于
    2024-06-14 00:13:41

    科技爱好者周刊(第 304 期):最受欢迎的颜色

    这里记录每周值得分享的科技内容,周五发布。本杂志开源,欢迎投稿。另有《谁在招人》服务,发布程序员招聘信息。合作请邮件联系(yifeng.ruan@gmail.com)。封面图烟台港码头,正在等待装船出口的数万辆汽车。(via)最受欢迎的颜色人类作为一个群体,有没有最受欢迎的颜色?虽然这个问题取决于"最受欢迎"的定义,但是有一个方法可以参考,而且很客观。那就是看看,什么颜色的车卖得最好。市场上,哪种颜色的车最多、最好卖,就说明公众强烈偏好这种颜色。上周,美国的一个汽车网站,公布了2023年美国出售的所有新车的颜色排名。结果是灰色系最受欢迎,即不同比例的黑白混合,主要包含四种颜色:白、黑、灰、银。这四种颜色占了美国去年新车的80%:白27.6%,黑22%,灰21.3%,银9.1%。这真是出人意料:灰色系最没特色,却是最受欢迎的颜色。我们常说,生活多姿多彩,但事实上大众却偏好保守的颜色,而且这种偏好越来越强烈。2004年,灰色系只占新车的60%,现在上升到了80%。这并非美国独有的现象,全世界皆是如此。灰色系在中国的占比,甚至更高。2021年,中国最受欢迎的汽车颜色,前三名分别是白色(50%)、黑色(22%)、灰色(14%)。单单这三种颜色,就占了86%,比美国还要集中。相比之下,其他颜色都属于非常小众。人们偏好灰色系的车辆,原因可能有下面三点。(1)成本低。因为购买的人多,这几种颜色的 ...继续阅读 (200)


    love 0
    chancel
    发表于
    2024-06-14 00:00:00

    Go语言的递归算法

    1. 说明递归(Recursion)算法,指一种通过重复将问题分解为相同子问题而解决问题的方法,递归可以实现与循环类似的效果需要使用递归的场景通常具备以下特征原始问题可分解成子问题且子问题与原始问题一致有明确的终止条件递归的常见应用如下递归数据求解(Fibonacci函数)二叉树、广义表等明显具有递归特性的数据结构形式适用于递归解法的典型问题(如Hanoi问题)递归算法并不常用,在大多数编程语言中其运行效率较低,占用栈空间更大在递归调用的每一层中都使用了栈存储,递归次数过多易造成栈溢出例如对于Python语言而言,每进入一个函数调用,都会增加一层栈帧,栈大小不是无限的从而造成栈溢出2. 例子2.1. 求数N的阶乘数据N的阶乘公式:$n!=n\times(n-1)\times(n-2)...\times1$代码如下Gocontent_copypackagemainimport("fmt""time")funcFactorial(nint64)int64{ifn<2{returnint64(n)}returnn*Factorial(n-1)}funcmain(){varnint64varnumberint64=1fmt.Printf("Input n value: ")fmt.Scan(&n)varstart=time.Now()result=Factorial(n)varelapse ...继续阅读 (171)


    love 0
    chancel
    发表于
    2024-06-14 00:00:00

    Linux下使用Bash遍历文件夹语法解析

    1. 概述经常需要使用bash批量处理文件格式,每次都要查询一些基础语法很麻烦所以以遍历文件夹目录处理图片为例总结一些使用Bash遍历处理文件夹时常见的语法2. 遍历Bash遍历的方法比较简单,与大部分编程语言的for循环没有明显区别Bashcontent_copy#/bin/sh#author: chancel.yangforfilein./*doiftest-f"$file"thenecho-e"$file"fidone脚本输出如下Bashcontent_copy➜ bash demo.sh ./a.png ./b.png ./c.jpg ./demo.sh这种遍历在大部分情况下都很实用3. 路径处理上面的输出中会发现执行的脚本demo.sh也在其中,而且只能针对当前路径进行处理那么试试添加自定义路径,然后将demo脚本放到其他位置Bashcontent_copy#/bin/sh#author: chancel.yangpath="/mnt/SDA/TMP/test"forfilein$path/*doiftest-f"$file"thenecho-e"$file"fidone输出如下Bashcontent_copy➜ bash /mnt/SDA/TMP/demo.sh /mnt/SDA/TMP/test/a.png /mnt/SDA/TMP/test/ ...继续阅读 (186)


    love 0
    chancel
    发表于
    2024-06-14 00:00:00

    Linux下远程Windows桌面的4种方案实践

    1. 背景使用Linux发行版最不方便的地方就是缺少一些软件,借助远程桌面工具我们可以很方便的远程Windows来解决常用软件缺失的问题对于远程桌面,个人需求是方便快捷的连接方式高清晰度的远程画面(内网)支持音频传输(QQ音乐VIP会员的血泪)支持文字/图片复制粘贴这些都是原生RDP协议就可以做到的,我自己使用的Linux发行版是Manjaro系统,桌面环境选择的是Gnome3在Linux下远程Windows可以使用基于RDP协议的软件如最常见的Remmina以及Gnome桌面下的Vinagre软件、Rdesktop软件等2. 方案2.1. RemminaUse other desktops remotely, from a tiny screen or large monitors.官网链接:https://remmina.org/contributing-to-remmina/remmina是我最喜欢的远程桌面软件之一,功能非常全面,支持的协议包括但不限于RDP、VNC、SPICE、NX、XDMCP、SSH等等,同时也兼顾非常优秀的界面支持非常复杂的远程协议配置选项各个操作系统的安装方式可以参考官方Wiki文档 -How to install remminaManjaro下安装Remmina非常简单,只需要使用Bashcontent_copysudo pacman -S rem ...继续阅读 (231)


    love 0
    chancel
    发表于
    2024-06-14 00:00:00

    Cent7安装Nginx配置双向验证

    最近要做一个客户端认证的方案,查找了网上不少证书方案,发现在Linux下做证书的例子很少,更多的是实践参考,关于证书的知识点又比较少,这里简单归纳一下本次实验基于Cent7OS1. SSL双向认证1.1. 什么是双向认证双向认证的意思是既要客户端认可服务端(即HTTPS,避免伪造的服务端站点),也要服务端认可客户端,类似于网银等支付场景时可以避免某些恶意的客户端进行访问https全称为(Hypertext Transfer Protocol Secure),与HTTP不同的地方在于TCP与HTTP之间存在一个加密/身份验证层,提供了身份验证于加密通讯的方法采用HTTPS的服务端必须从CA(Certificate Authority)处申请一个证明服务器用途的证书(包含了私钥),客户/浏览器内置了CA厂商的证书(包含公钥)2. 单双认证流程单向认证与双向认证的区别如下单向认证(https)浏览器发送SSL版本信息服务端接收到随机数以及SSL版本信息,返回自己的SSL版本信息以及证书、随机数等信息浏览器读取证书中的证书所有者、有效期等信息进行一一校验,再在已知的CA机构颁发的证书(内置于浏览器)中寻找相对应的证书信息进行检验,检验证书正确后将自己支持的对称加密方案发送给服务端服务端选择浏览器支持对称加密算法,将选择的加密算法使用公钥进行加密并发送给浏览器浏览器接收到加密方式之后使用私钥 ...继续阅读 (165)


    love 0
    chancel
    发表于
    2024-06-14 00:00:00

    Docker入门使用指南

    Docker是一个容器化平台,通过将应用程序及其依赖项打包为容器,实现了快速部署、可移植和环境一致性的优势。它简化了应用程序的构建、管理和部署过程,提高了开发和部署的效率。与虚拟机类似,但Docker是一种轻量化虚拟的丝路,与传统服务器部署相比部署方便,减少环境搭建步骤提高安全,高度统一的环境隔离性强,多个应用环境相互隔壁快速回滚,提供版本管理当然,也有不足之处隔离性的稳定问题存储的复杂性提高学习成本高1. 基础1.1. 基础概念Docker的核心概念仓库: 类似于github一样,docker也有提供大量的基础镜像,如ubuntu2204/Cent7等基础镜像,像dockerhub、docker-cn镜像: 相当于一个虚拟机模板,引入一个基础镜像后,再加上部分工具链安装,就可以构成一个应用容器: 基于镜像创建一个实例运行Docker非常适合于持续交付的服务,常规的web服务、多服务协同、微服务架构等使用场景1.2. 基础操作对于docker而言,以下操作是比较常见的,以hello-world为例镜像拉取:docker pull hello-world运行镜像:docker run hello-world查看容器:docker ps进入容器:docker exec -it hello-world bash启动停止重启容器:docker start/stop/restart hell ...继续阅读 (246)


    love 0
    chancel
    发表于
    2024-06-14 00:00:00

    Linux下用KVM虚拟Windows7

    在Linux下,KVM的体验十分优秀刚好Nas需要安装一个Windows7虚拟系统来使用迅雷、百度网盘等下载工具,于是打算在Bash下纯手动敲命令行来创建虚拟机本文是在Debian系的openmediavault上测试通过,大部分Debian发行版操作步骤是差不多的其他Linux发行版可能有些许细微不同,请根据真实情况参考本文进行安装1. 准备工作1.1. 程序安装首先检查虚拟化支持,有flags输出支持虚拟化Bashcontent_copyegrep'(vmx|svm)'--color=always /proc/cpuinfo安装环境Bashcontent_copysudo apt-get install kvm qemu-kvm bridge-utils virtinst libvirt-clients libvirt-daemon-system网上大部分资料提到的 libvirt-bin 在许多包管理器上都已经被拆分为libvirt-daemon-system和libvirt-clients了,根据情况安装这两个,libvirt-clients可以支持windows安装阶段的vnc访问上述程序说明kvm:KVM核心qemu-kvm:KVM的设备模拟,由开源虚拟化软件QEMU中的管理工具演变而来bridge-utils:桥接网卡的集成管理工具libvirt-clients/li ...继续阅读 (144)


    love 0
    chancel
    发表于
    2024-06-14 00:00:00

    Linux查看硬件信息与系统资源

    Linux下经常需要查看系统资源或硬件资源,与之对应的命令行也是非常多本文将根据使用经验,将常见的查询方法总结罗列一遍以供参考以下指令以Ubuntu1804、Cent7OS作为测试平台1. 系统资源1.1. Linux发行版与内核uname -r命令输出发行版与内核信息,大部分发行版基本均带有此命令,但输出中未必包含发行版全称信息Cent7OSBashcontent_copy[chancel@localhost ~]$ uname -a Linux localhost.localdomain3.10.0-1160.62.1.el7.x86_64#1 SMP Tue Apr 5 16:57:59 UTC 2022 x86_64 x86_64 x86_64 GNU/LinuxUbuntu1804Bashcontent_copy➜ ~ uname -a Linux ubuntu18044.15.0-189-generic#200-Ubuntu SMP Wed Jun 22 19:53:37 UTC 2022 x86_64 x86_64 x86_64 GNU/Linuxcat /proc/version命令输出内核版本与编译的gcc版本Cent7OSBashcontent_copy[chancel@localhost ~]$ cat /proc/version Linux versio ...继续阅读 (228)


    love 0
    chancel
    发表于
    2024-06-14 00:00:00

    MySQL5.6版本主从同步配置实践

    1. 准备准备软件以及系统系统:两个虚拟机Cent7OS主数据库IP:192.168.1.1副数据库IP:192.168.1.2数据库版本:MySQL5.6为了方便称呼接下来我们将需要备份(数据来源)的服务器称为Master服务器,简称M服务器对进行备份存储的服务器称为Slave服务器,简称S服务器2. MySQL安装与配置2.1. Master服务器配置首先安装MySQL5.6数据库,Cent7OS默认安装的MySQL版本已经是10.1了所以我们需要从官网手动安装repo包,MySQL官网Repo包链接Bashcontent_copywget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm sudo rpm -ivh mysql80-community-release-el7-1.noarch.rpm安装之后我们需要手动指定安装的版本,使用sudo vim /etc/yum.repos.d/mysql-community.repo,其中enabled=0是禁用版本,enabled=1是启用指定版本保存文件后使用yum repolist enabled | grep mysql查询已经启用的MySQL版本安装初始化数据库并设置开机自启动Bashcontent_copysudo yum instal ...继续阅读 (116)


    love 0
    chancel
    发表于
    2024-06-14 00:00:00

    如何健康科学减脂?

    肥胖问题是困扰大部分中年人的重大问题减脂(减肥)并不是力大砖飞,而是一个综合性的问题,对于普通人而言,在缺乏极大决心与强悍意志力的情况下,贸贸然与体重开战通常是惨败随后是屡败屡战再战再败直到彻底摆烂本文搜集了一些资料,力争合理科学地减肥,减少减肥认知上的误区来提高减肥的效率在这先明确一下减脂与减肥的区别,减脂是指减少体重中的脂肪比例,减肥是指体重上的降低大体重一般优先考虑减肥,小体重优先考虑减脂,减脂相比减肥更注重身体的健康和体型的塑造1. 饮食1.1. 健康的饮食组成参考《中国居民膳食指南》现代营养学认为人体食物营养构成包含蛋白质、碳水化合物、脂肪、维生素、矿物质、水和膳食纤维,一个科学的饮食结构如下主食 碳水化合物(50%-65%)配餐 脂肪(20%-30%)和蛋白质(15%-20%)减脂需要降低碳水化合物的摄入,减肥则可以降低整体食物的摄入量减脂不能依靠节食来完成,而即便是减肥,不科学盲目地节食会让身体调低基础代谢率,从而引发各种不适感过低的碳水化合物摄入也可能导致体力下降、情绪低落等问题如晚餐只吃一点水果,长此以往会造成营养不良,营养不良的结果是专注力以及记忆力的下降、脱发、焦虑、月经减少等一系列严重问题所以减肥减脂的重要手段并非节食,是改善饮食结构1.2. 构建饮食结构在构建合理的饮食结构前,还需要了解一下碳水化合物的分类:高GI:指容易吸收导致快速提高血糖(蛋糕、甜品、 ...继续阅读 (136)


    love 0
    chancel
    发表于
    2024-06-14 00:00:00

    Windows下借助WSL搭建PHP开发环境

    在Windows下调试PHP一直使用WAMP和WNMP套件,本文记录一次实践手动在Windows下安装PHP开发环境的过程这次开发的项目是基于Nginx+Yii的PHP项目,Nginx是需要安装Nchan插件的,在Windows下Nginx编译与插件安装少嫌麻烦,好在微软推出了WSL/WSL2这次在Windows下借助WSL+Xdebug来完成开发环境的安装,实现的效果是Visual Studio Code借助Xdebug和WSL开发Yii项目Visual Studio Code 以下简称VSCode,方便描述1. WSL1.1. 说明Nchan是一个基于Nginx的插件,用于实现高性能、可扩展的实时消息传递和流媒体功能。它提供了多种功能,包括发布-订阅消息传递、长轮询、HTTP流、WebSocket等,使得构建实时应用程序和实时通信变得更加简单和高效。WSL(Windows Subsystem for Linux)是Windows操作系统中的一个功能,它允许用户在Windows系统上运行Linux环境和应用程序。WSL提供了一个兼容层,使得Linux二进制文件能够在Windows上运行,而无需虚拟机或双启动系统。系统环境Windows 10:VSCode + Xdebug远程调试 + PHP源码WSL(Ubuntu子系统):Nginx + MySQL + PHP-FPM7.2 + ...继续阅读 (127)


    love 0
    chancel
    发表于
    2024-06-14 00:00:00

    Python3多种方案连接Informix数据库

    1. 背景最近需要使用Python连接IBM的Informix数据库系统环境Cent7 OSPython3.7.2Informix数据库使用DBeaver作为客户端尝试连接Informix,确认了本地连接到数据库是没有问题的,这里假定连接信息如下Host: 127.0.0.1Port: 50000Username: chancelPassword: chancelDatabase: my-test在Python端采用多个方式进行连接,遇到了各种各样奇怪的问题,包括超时错误、数据库不存在、驱动错误等等考虑到DBeaver是采用JDBC进行连接的,连接并没有出现问题,最后用Python+JDBC的方式来连接数据库方才成功如果DBeaver连接没有问题,而其他库都跟我一样或多或少有问题,那么可优先考虑JayDeBeApi的连接方式2. 方案2.1. JayDeBeApi(推荐)安装jaydebeapiTEXTcontent_copypip install JayDeBeApijdbc驱动需要手动下载informix-complete-jdbc下载后解压到指定目录,我这里存放于/home/chancel/codes/python/informix/informix-jdbc-complete-4.50.4.1.jarPython连接代码如下Pythoncontent_copyimportj ...继续阅读 (210)


    love 0
    chancel
    发表于
    2024-06-14 00:00:00

    使用Rsync结合Inotify实现双机文件热备

    1. 背景现代Web应用很常见会将用户相关缓存例如头像/附件等文件存储到到本地磁盘,用于程序读取,数据库记录文件的位置即可这种常规的做法在同步数据库应用的时候就必须保证文件缓存也要一起同步Linux下最常见的同步工具便是Rsync工具rsync是类unix系统下的数据镜像备份工具——remote sync。一款快速增量备份工具 Remote Sync,远程同步 支持本地复制,或者与其他SSH、rsync主机同步搭配Inotify则可以做到实时备份文件Inotify 是一个 Linux特性,它监控文件系统操作,比如读取、写入和创建。Inotify 反应灵敏,用法非常简单,并且比 cron 任务的繁忙轮询高效得多。2. 配置为了方便称呼,将需要备份(数据来源)的服务器称为Master服务器,简称M服务器,对进行备份存储的服务器称为Slave服务器,简称S服务器2.1. Slave服务器初始化操作系统选用与需要备份的服务器一致,选用国内最常见的Cent7.6 OS安装操作系统之后禁止ROOT登录与密码登录,更新国内源并更新操作系统Bashcontent_copycd/etc/yum.repos.d/ sudo mkdir repo_bak sudo mv * repo_bak/ sudo wget http://mirrors.aliyun.com/repo/Centos-7.repo ...继续阅读 (189)

上一页 319/4404 下一页
沪ICP备19023445号-2号
友情链接