V2EX - 技术 |
- 大佬们,有没有类似 PHP 框架的数据库链式查询的 Python 模块
- 求助!有哪位大佬知道 flutter 的 dart-sdk 源码修改后如何能生效?
- 照猫画虎,仿照 VuePress 2 的默认主题自己写了一个
- 安卓开发 如何优雅的做 code review ?
- 腾讯云要笑死我,抽奖送的颈枕是他们用过的
- 最近需要用到阿里的全套服务,有些问题请教下大佬们
- 怎么正确禁用 ROOT 用户
- JS 如何获取多层嵌套的 Class 元素?
- 群晖上有推荐可以把视频分享到外网在线播放的方法吗?
- Python 连接 mysql 失败 TypeError: __init__() takes 1 positional argument but 4 were given
- .net 的 entity framework 里实体新加字段如何让数据库自动同步
- 求杭漂租房建议
- 一加 9pro+氧 os 有什么能用 nfc 门禁卡的方案?
- 粤语编程语言还能机器学习和撸 App?
- 钉钉微应用开发(SpringBoot + VUE + Docker)~
- 从 AOT 编译的二进制文件中提取 Java 类信息
- gRPC-Go 源码阅读 - gRPC 拦截器
- 2 + 2
- xray 中 vmess 中使用的 kdf 秘钥导出函数用的是什么算法
- leetcode 240 二维二分查找的解法速度好像还不如直接左下或者右上线性查找的解法 kotlin 时间 43% 内存 22%
- 基于 Ant Design Pro 页面标签化展示的研究与实现
- 小弟刚学后端和 MySql, 请教一下事物的知识点. NodeJs+MySql
- 关于抓包的问题
- 求教,为什么脚本运行是总会提示 grep 命令没有参数
大佬们,有没有类似 PHP 框架的数据库链式查询的 Python 模块 Posted: 16 May 2021 03:42 AM PDT 如题,用了 php 框架的数据库链式查询感觉很好用,想问问有没有类似的 python 模块,不想写 sql 语句啊。 |
求助!有哪位大佬知道 flutter 的 dart-sdk 源码修改后如何能生效? Posted: 16 May 2021 03:41 AM PDT 例如 flutter/bin/cache/dart-sdk/lib/_http/websocket_impl.dart |
照猫画虎,仿照 VuePress 2 的默认主题自己写了一个 Posted: 16 May 2021 03:37 AM PDT VuePress 2 正式版发布在即,就参照它的默认主题自己写了一个 :vuepress-theme-mix 预览地址: https://vuepress-theme-mix.vercel.app/ 代码地址: https://github.com/gavinliu6/vuepress-theme-mix 说明:欢迎 Star,非专业前端开发,开发此主题纯属个人兴趣,顺便练手。如遇槽点,希望轻喷😬 有关技术和 UI 的批评建议虚心接受。 |
Posted: 16 May 2021 03:26 AM PDT 你们公司是 code review 怎么做的的? |
Posted: 16 May 2021 03:21 AM PDT 前段时间他们有个活动,我抽中唯一的颈枕。腾讯定制鸡头颈枕,一看就知道是生肖年定制,我想应该是库存。 收到货我惊了,确实是 2017 鸡年定制的,但不是库存,看起来是用过的,鸡头轻微掉色染到了其他部分,扣子有明显的磨损,扣不太紧了。 我倒不在意有没有用过,这些东西我拿到手都会洗一遍再用,但确实给我整笑了。 我现在就想知道腾讯云是怎么定礼品的,该不会是团队里每人出一份吧。😂 |
Posted: 16 May 2021 03:19 AM PDT
想请教下,这种方式和传统的该买云服务器在上面部署 application 有什么明显的优势吗?比如费用和可用性方面。 之前没怎么接触过这方面,一直都是个标准的 CURD 业务 boy,懂得大佬麻烦不吝赐教, 谢谢。 |
Posted: 16 May 2021 03:10 AM PDT ubuntu/suse 都默认禁用 root 账户 然后可以给 root 设置密码来启用。 不启用 root 账户时,sudo 的密码是当前用户的密码。 启用后密码就必须是 root 账户的密码。 想再禁用 root 该怎么操作?设置 /etc/shadow,替换 root 的密码为!不好使。passwd -dl root 也不好使 不好使指的是: |
Posted: 16 May 2021 02:59 AM PDT 求帮助,Wordpress 添加文章目录到侧边栏遇到的问题: 文章是用构建器构建的,文章容器被多层嵌套..? <div class="entry-inner"> <div class="sektion-wrapper nb-loc " data-sek-level="location" data-sek-id="before_content" data-sek-is-global-location="false"> <div data-sek-level="section" data-sek-id="__nimble__fdfe8afc5daa" class="sek-section sek-has-modules "> <div class="sek-container-fluid"><div class="sek-row sek-sektion-inner"> <div data-sek-level="column" data-sek-id="__nimble__a24b01e49d25" class="sek-column sek-col-base sek-col-100 "> <div class="sek-column-inner "><div data-sek-level="module" data-sek-id="__nimble__376e3143b538" data-sek-module-type="czr_tiny_mce_editor_module" class="sek-module "> <div class="sek-module-inner"> <p>111</p> <p>2222</p> <h2><2333</h2> <h2>2344</h2> .... 我换成了自己的目录容器(custom_html-7)和文章容器(sek-module-inner),但获取不到构建器构建的内容。 原代码如下 来源:https://www.rainng.com/js-wordpress-catalog/#h2-2 <(忽略)script> /* Author: Azure99 WebSite: https://www.rainng.com/ GitHub: https://github.com/Azure99 */ let catalogData = getArticleCatalog(); // 自适应文章目录 if (catalogData != null) { // dynamic-wrapper 换成你的目录容器 let wrapper = document.getElementById('dynamic-wrapper'); wrapper.innerHTML = generateCatalog(catalogData); } // 获取本页面的文章目录信息 function getArticleCatalog() { // entry-inner 换成你使用主题的文章容器 let articleContent = document.getElementsByClassName('entry-inner'); if (articleContent.length !== 1) { return null; } let catalog = []; let header = {}; let elements = articleContent[0].childNodes; // 遍历所有元素 for (let i = 0; i < elements.length; i++) { if (elements[i].nodeName === 'H2') { // 为二级标题分配 ID 以供锚点跳转,下同 elements[i].id = 'h2-' + catalog.length; // 记录此二级标题和其所有的三级子标题 header = { name: elements[i].innerText, childHeaders: [] }; catalog.push(header); } else if (elements[i].nodeName === 'H3') { elements[i].id = 'h2-' + (catalog.length - 1) + '-h3-' + header.childHeaders.length; // 记录此三级标题到二级标题下 header.childHeaders.push(elements[i].innerText); } } return catalog; } // 根据目录信息生成文章目录代码 function generateCatalog(catalogData) { let catalog = '<div style="text-align: center; margin-top: 10px;">文章目录</div>'; for (let i = 0; i < catalogData.length; i++) { let target = '#h2-' + i; // 跳转目标 let index = (i + 1) + '. '; // 标题索引 let name = catalogData[i].name; // 标题 catalog += '<a href="' + target + '">' + index + name + '</a><br/>'; for (let i2 = 0; i2 < catalogData[i].childHeaders.length; i2++) { target = '#h2-' + i + '-h3-' + i2; index = (i + 1) + '.' + (i2 + 1) + '. '; name = catalogData[i].childHeaders[i2]; catalog += ' <a href="' + target + '">' + index + name + '</a><br/>' } } return catalog; } <(忽略)/script> |
Posted: 16 May 2021 02:45 AM PDT 想到一个应用场景,把一个剧集分享给你朋友看,不用登陆,不用注册,浏览器端点开即看,若是能生成剧集播放列表更好。 目前觉得群晖自带的 Video Station 分享功能还不错,可是视频播放上有些太羸弱了,比如有些视频格式要么播放不了,要么要硬解之类的。不过对 Video Station 了解不深,没怎么折腾。 一直使用 Plex,Plex 可以分享。优点是 Plex 视频界面比较漂亮,网页端也不错,各方面功能也很 OK 。但是接收分享内容的朋友需要注册 Plex 账户,通过在 Plex 账户之间分享内容,想要在手机端观看还要收费,略显麻烦了一些。、 Plex 还有个分享功能,访客模式,挺好,点进去即可观看,可惜只能内网。 各位在座的彦祖还有更好的实现方式推荐吗? |
Python 连接 mysql 失败 TypeError: __init__() takes 1 positional argument but 4 were given Posted: 16 May 2021 02:30 AM PDT 首先我非常确定各个参数是没错的 然后我试过给各个参数加上名称 例如 host=self.host 也是不行 CODE: def __init__(self, host=None, username=None, password=None, database=None, config_file=None, dbms="mysql"): """ Class constractor :param host: :param username: :param password: :param database: """ self._host = host self._username = username self._password = password self._database = database self._run_transaction = None if config_file: self.get_mysql_credentials(config_file, dbms) def get_mysql_credentials(self, configfile, dbms): """ Retrieve credentials from configuration file :param configfile: path to :param dbms: default is mysql :return: VOID """ try: if configfile: config = configparser.ConfigParser() config.read(configfile) self._host = config[dbms]['host'] self._username = config[dbms]['username'] self._password = config[dbms]['password'] self._database = config[dbms]['database'] self._run_transaction = config[dbms]['transactions'] except: print("Error: couldn't read config file") def connect(self, database=None): """ Connect to a existing database :param database: name :return: the connection handler """ try: if database: # if is not Null self._database = database connection = pymysql.connect(self._host, self._username, self._password, self._database) return connection except pymysql.InternalError as error: print(error.args[1]) config_file::: [mysql] host = localhost username = root password = passwordForCSC675 database = PharmacyManagementSystemDB transactions = 1 |
.net 的 entity framework 里实体新加字段如何让数据库自动同步 Posted: 16 May 2021 02:07 AM PDT 表里新加字段,实体代码改动后,如何让数据库保持一致。搜到资料是用命令在文件夹里生成迁移脚本,这样脚本岂不是越来越多。这个数据库只是在用户客户端用的,这办法太繁琐也容易出错。 在表结构只做增量更新的需求下,有解决办法吗,EnsureCreated 方法只能创建新的数据库和实体一致 如果是 nosql 数据库就不用关心这个问题了,不过调研之后没有发现稳定成熟的嵌入式数据库,仍然用的 sqlite |
Posted: 16 May 2021 01:55 AM PDT RT, 下个月大概率去蚂蚁实习了。新人没有租房经验,还请网友支支招。有没有靠谱点的平台,或者周边还算不错的公寓房。个人有点接受不了合租,优先考虑整租。 |
一加 9pro+氧 os 有什么能用 nfc 门禁卡的方案? Posted: 16 May 2021 01:37 AM PDT 昨天刚到的手机就刷了氧 os,整体观感不错,但是不能用 nfc 有点难受。 看官方论坛也没有一个靠谱的方案。 google play 上的 nfc 软件也不太敢用。 特意来这里咨询一下老哥们 |
Posted: 16 May 2021 01:13 AM PDT 还记得几个月前一位 16 岁高中生发布的粤语编程语言吗? https://www.v2ex.com/t/752132#reply20 作为广东方言编程语言,没几个强大的功能怎能行? 使用粤语开发的第一个 App: ``` 使下 kivy 咩系 HelloApp? 佢个老豆叫 App 佢识得 |HelloWorld| -> { |同我 show| 下 -> "Hello World" @ |做嘢| 返转头 |做嘢| } 明白未啊? |App 运行| 下 -> |HelloApp, HelloApp().HelloWorld| ``` 实现 KNN 算法: ``` 使下 math |[5, 1], [4, 0], [1, 3], [0, 4]| 拍住上 -> |数据| |'动作片', '动作片', '科幻片', '科幻片'| 拍住上 -> |标签| 讲嘢: |K| 系 3 嗌 KNN 过嚟估下 -> |[3, 0]| ``` 还支持 web,游戏等开发,更多例子见 github. 空闲时偶尔玩一下粤语编程,装装逼,难道不快乐吗? 项目地址 https://github.com/StepfenShawn/Cantonese.git 求 star |
钉钉微应用开发(SpringBoot + VUE + Docker)~ Posted: 16 May 2021 12:36 AM PDT 求各位大佬 start 呀目标与期望基于钉钉微应用开发的实验室绩效管理系统,将实验室的绩效、学分、论文评审管理与钉钉对接。 注意事项
系统部署本项目使用 GitHub Actions 实现 CI,受外网网速限制,没有采用在 GitHub 机器上构件镜像,再拉取到服务器上运行的方式。而是在每次 CI 触发后,GitHub 机器 ssh 登陆服务器,执行脚本来拉取最新代码,构建镜像,并运行容器,具体如下:
GitHub Actions 的 CI 脚本如下
docker-compose 编排配置如下: 系统运维前端预览· |
Posted: 15 May 2021 11:46 PM PDT 从 AOT 编译的二进制文件中提取 Java 类信息,详细查看下面文章 |
Posted: 15 May 2021 09:17 PM PDT 在 gRPC 中有拦截器,拦截器可以对 RPC 的请求和响应做拦截处理,并且在客户端、服务端都可以进行拦截处理, 使用拦截器可以在 handler 执行前后做一些处理,更灵活的处理 gRPC 流程中的业务逻辑 在 gRPC-Go 的源码的 其中 gRPC 的拦截器实现特别简单 unary interceptor 拦截器只要实现 stream interceptor 拦截器只要实现 下面我看可以通过一个简单的例子看看如何添加一个拦截器 服务端拦截器 上面我实现了一个 unary interceptor 然后使用 此时使用当客户端发起请求后,可以看到如下输出 这里的例子比较简单,在实战中,如果你有用户权限认证这种需求,使用拦截器实现是一个不错的主意 上面例子中我们定义的是单个拦截器, 下面是一个定义多个拦截器的例子 和单拦截器不同点是在传给 NewServer 之前,调用的是 grpc.ChainUnaryInterceptor 和 grpc.ChainStreamInterceptor 做了一次转化 此时 handler 执行时候,输出如下 此时的执行顺序是值得注意的,先执行 before,后执行 after, before 按照拦截器的顺序执行,after 则是逆序执行的。 在我们上面的例子中,定义有 unary 、stream 两种拦截器, 从运行结果可以看到只有 unary interceptor 执行了,stream interceptor 没有执行,我相信大家已经知道原因了,因为我们定义的 handler 只有 unary 的 客户端的拦截器的定义和使用和服务端类似,大家去尝试一下即可;另外 Github 上也有很多开源拦截器,如 做身份认证的拦截器 可以拿来就用,如果你有好的想法,也可以实现拦截器开源后供大家使用。 例子完整代码 https://gitee.com/wewin11235/grpcinterceptor 运行代码: |
Posted: 15 May 2021 09:16 PM PDT Console > 2 + 2 > 4 > "2" + "2" > "22" > 2 + 2 - 2 > 2 > "2" + "2" - "2" > 20 |
xray 中 vmess 中使用的 kdf 秘钥导出函数用的是什么算法 Posted: 15 May 2021 04:31 PM PDT 看半天也不知道是怎么实现原理. |
leetcode 240 二维二分查找的解法速度好像还不如直接左下或者右上线性查找的解法 kotlin 时间 43% 内存 22% Posted: 15 May 2021 04:01 PM PDT 而且代码量多了好多倍,二维矩阵的对角线上二分查找那边界条件 debug 了半天才写对 实际就是官方解法 3 的拓展提到的解法,翻了下题解区好像都没找到实现了这种解法的 |
基于 Ant Design Pro 页面标签化展示的研究与实现 Posted: 15 May 2021 11:31 AM PDT 摘要Ant Design 作为一个昔日世界第一的 UI 库,影响力自是足够深远。而由官方推出的「开箱即用的中台前端 /设计解决方案」—— Ant Design Pro 也日趋成熟。较为遗憾的是 Ant Design Pro 官方并没有提供页面标签化展示的功能,因为当时环境的需要,我走上了这条页面标签化的不归路…… 关键词:Ant Design Pro;Umi;标签页;页面标签化 绪论从 19 年偶然发现了 Ant Design Pro (以下简称 Pro )以来,对我的技术发展有着不容忽视的影响,当然本文着重讨论我在页面标签化展示的研究与实现。刚接触 Pro 的时候自己还是一个工作中用 Java,业余学习 React 而转型前端的毕业一年的菜鸟。突然面对 Pro 这样一个庞杂的脚手架(当时的版本 Pro v2 ),而且还要做一个自己本来毫无头绪的功能时,我是拒绝的,奈何没人顶上只能自己硬着头皮搞了。 道路是崎岖的一切的起点都要从一个不得不提的官方仓库关于此讨论甚多的 issue ——能否提供 tab 切换模式说起。感谢其中相关的仓库提供的思路。当时研究了好几个仓库的源码,主要有两个思路:
第一个思路是通过点击事件来更新标签页的渲染,对其他组件还存在一定的侵入性,实现不够优雅,更为尴尬的是不支持页面的嵌套路由渲染(后来知道了路由配置中的组件其实是 第二个思路就没有了对于其他组件的侵入性,只需要监听 前途是光明的近两年的时间里随着各方面的不断成熟,当前实现 Ant Design Pro Plus 已经支持了足够丰富的功能:
得益于 hooks 功能的加持,封装了 核心逻辑作为一个不那么简单的功能,需要注意的细节自然不少,这里重点介绍两个核心函数。 |
小弟刚学后端和 MySql, 请教一下事物的知识点. NodeJs+MySql Posted: 15 May 2021 10:57 AM PDT 看了很多帖子,开启事务,又是锁的,有点懵逼. 能不能直观的给我解释一个例子, 比如现在这个商品就一件,怎么防止两个人同时下单. 可以理解为在执行一个方法的时候,让另外一个方法等待. 具体该如何 弄这个事物. 真的没完明白,求求大佬帮忙解释一下. 或者直接告诉我该怎么写,我一看就明白了. 感谢感谢🙏 |
Posted: 15 May 2021 09:54 AM PDT 使用 Charles 抓 app 接口 手机已经设置了证书,但是在 https 请求下,依然 unknown 手机是红米、miui12 、对应安卓版本是 10 网上说是因为安卓 10 支持的凭证必须是系统凭证,但是我安装的凭证是用户凭证 所以想问下有什么解决办法吗 |
Posted: 14 May 2021 11:51 PM PDT 学着写了一下 shell 脚本,用来备份数据库, 运行正常 但是每次运行都会先提示 Usage: grep [OPTION]... PATTERN [FILE],之后才是"MySQL backup Starting!" 脚本贴上 #!/bin/bash # 数据库登录参数 user="root" password="*******!" host="127.0.0.1" port="3306" db_name="www" # 备份文件存放地址 backup_path="/root/backups/mysql" # 当天年月日 date=$(date +"%Y-%m-%d") # 是否删除过期数据 expire_backup_delete="OFF" expire_days=7 backup_time=$date backup_dir=$backup_location welcome_msg="MySQL backup Starting!" # 判断 mysql 实例是否正常运行 mysql_ps=`ps -ef |grep mysql |wc -l` mysql_listen=`netstat -an |grep LISTEN |grep $mysql_port|wc -l` if [ [$mysql_ps == 0] -o [$mysql_listen == 0] ]; then echo "ERROR:MySQL is not running! backup stop!" exit else echo $welcome_msg fi # 数据库到 SQL 文件 mysqldump -u$user -p$password -h$host -P$port $db_name > $backup_path/$db_name-$date.sql flag=`echo $?` if [ $flag == "0" ];then echo "database mysql_backup_$db_name success backup to $backup_dir/$db_name-$date.sql.gz" else echo "database mysql_backup_$db_name backup fail!" fi # 备份写入日志 echo "$backup_path/$db_name-$date" >> $backup_path/log.txt # 删除过期数据 if [ "$expire_backup_delete" == "ON" -a "$backup_location" != "" ];then `find $backup_location/ -type f -mtime +$expire_days | xargs rm -rf` echo "Expired backup data delete complete!" fi |
You are subscribed to email updates from V2EX - 技术. To stop receiving these emails, you may unsubscribe now. | Email delivery powered by Google |
Google, 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States |
No comments:
Post a Comment