要在 YouTrack 删除项目,首先你需要有项目的删除权限才可以。 如果你删除权限的话,可以进入项目界面,然后选择右上侧的通用信息。 然后选择上侧的删除项目。 在弹出的界面中输入项目的名称后才能删除项目。 然后单击删除即可。 需要注意的是,删除的项目是没有办法恢复的。 https://www.isharkfly.com/t/youtrack/15404
要在 YouTrack 删除项目,首先你需要有项目的删除权限才可以。 如果你删除权限的话,可以进入项目界面,然后选择右上侧的通用信息。 然后选择上侧的删除项目。 在弹出的界面中输入项目的名称后才能删除项目。 然后单击删除即可。 需要注意的是,删除的项目是没有办法恢复的。 https://www.isharkfly.com/t/youtrack/15404
YouTrack 项目在删除的时候可能没有办法马上就删除掉。 我们还会看到类似下面的这种情况。 根据官方的解释说明是,如果项目有很多内容或者有很多的信息,那么在删除的时候会消耗很多的时间,所以 YouTrack 给出了一个 Pending 删除的状态。 哪怕就是在 Pending 删除的这个状态的时候,我们是没有办法撤销 YouTrack 对项目的删除的。 只需要耐心等待就可以,我们不需要做任何事情。 官方有关 Pending 项目删除的解释。 https://www.isharkfly.com/t/youtrack-pending/15405
YouTrack 是有一个 KB 的,我们可以吧 Confluence 的文章全部导入到 YouTrack 的 KB 中。 首先,你需要具有管理员权限,然后选择导入。 然后可以在打开的界面中新增一个导入。 在新增导入中输入 Confluence 在随后的界面中输入你 Confluence 的用户名和密码就可以了。 然后就是空间映射,如果你对空间的映射不选择的话,YouTrack 会针对每一个 Confluence 的空间创建一个项目。 为了方便我们在项目中调整,我们是可以使用这个默认选项的。 然后就可以开始导入了。 可以看到我们需要导入的内容还是蛮多的,时间也会比较长。 当前我们已经导入成功的内容。 可以看到整个导入的时间会比较长,这也是因为 Confluence 停止更新了,我们也没有太多的选择。 Confluence 已经不再签发开源许可证了,并且要求所有的本地安装实例全部迁移到云平台上。 https://www.isharkfly.com/t/confluence-youtrack-kb/15406
如果你踩过 MySQL 的大坑的话就知道:MySQL 在 Windows 下不区分大小写,但在 Linux 下默认是区分大小写。 如果你稍加不注意就会出现在本机开发的程序运行一切正常,发布到服务器行就出现表名找不到的问题。 这是我们前一个项目遇到的巨大问题,开发是在 Windows 下进行,但是部署是在 Linux 下进行。 例如一个表:tableName 和 tablename,这 2 个表在 Windows 下是一样的,但在 Linux 下就不一样了。 所以我们的程序在 Windows 下查询表 tableName 没有问题,但是如果 Linux 下数据库的表名为 tableName 的话,那么查询就找不到表了。 有过上面经历的话,我们来看看 PostgreSQL PostgreSQL 是大小写敏感的 在默认情况,PostgreSQL 在存储和比较数据值的时候字符串的值如果是大小写的处理方式是不一样的。 例如: “isharkfly” 和 “iSharkFly” 是不同的值,这个在 PostgreSQL 会影响存储的。 创建表的 SQL 如果我们有一个创建表的 SQL: create table test.Table_name ( id integer, user_name varchar ); 和 create table test.table_name ( id integer, user_name varchar ); 注意到,上面的 T 是大写的,如果运行上面的 SQL,在数据库上,我们会看到表的名字被转换成小写了。 如果我们想在数据库中创建一个 Table_name 可以吗? 答案是可以的。 需要把 Table_name 放在双引号里面。 运行的 SQL 就成这样了。 create table test."Table_name" ( id integer, user_name varchar ); 结论 为了避免我们在 MySQL 上遇到的大小写问题和平台问题。 在设计数据库表的时候,不要使用大小写混合模式,要么就全部约定为小写,要不就全部约定为大写。 因为 PostgreSQL 会默认全部使用小写,所以在 PostgreSQL 的表面和字段名要全部为小写为好。 Oracle 数据库在这里是另类,在 Oracle 中全部按照大写存储的。 https://www.isharkfly.com/t/postgresql/15350
周五的时候 Wayfair 的 CEO 公开信中表示,将削减 1650 个工作岗位。 通篇读下来的意思就是公司目前还是非常健康的状态,新冠导致的在线购物激增让 Wayfair 在短时间内的销售从 90 亿美元增加到 180 亿美元。 几乎是翻倍了,而且这个让 Wayfair 感觉就是在一夜之间完成的事情。 余下的解释就是因为业务需求的激增,导致了 Wayfair 在招聘市场上的大量进行招聘,随着后疫情时代的到来,这些冗余的招聘开始给公司带来不小的支出。 公司为了削减开支,那么就开始着手削减人员,这个会对 Wayfair 带来更加积极的现金流。 Wayfair Wayfair 是美国近年崛起的家具在线销售商,总部在 Boston 区域。 多年前去 Wayfair 面试过一次,当时他们使用的主要技术栈为 PHP 和 MySQL,换句话说,Wayfair 可以理解为一个电商平台。 但,他们的算法面试题目是有一定难度,并且属于比较麻烦的那种。 Wayfair 股票 虽然如 Wayfair CEO 所说的,公司的经营没有问题,就是招聘了太多人导致的裁员。 那么看看 Wayfair 这公司 5 年的的股票就好像没有那么好看。 虽然公司的盈利情况和能力不能用股票价格来完全表达,但还是可以作为一些参考的。 结语 2024 年才开始,各个公司的裁员是一波接一波,这还远没有到结束的时候。 相信随着时间的往后,可能会有更多的公司宣布自己的裁员计划。 至于所有公司发布的裁员信,大致模式和格式都是这样的,基本上都这么说,但到底是怎么情况,也许只有公司高层的人自己知道了。 https://www.isharkfly.com/t/wayfair-2024/15349
所有的数据库离开数据量来谈性能都是耍流氓。 就你那几万条的数据库,用啥都行,典型的就是怎么方便怎么来。 不过 PostgreSQL 上手确实比 MySQL 概念更多。 PostgreSQL 比 MySQL 多了一层。 PostgreSQL 是从PostgreSQL 是从 Database,到 Schema 再到 Table MySQL 就直接从 Database 到表了。 Schema 这个单词的翻译有点乱七八糟,有些人会翻译成模式。 其实数据库中,这个单词被翻译成命名空间多一些。 因为 PostgreSQL 比 MySQL 多了一个命名空间(Schema)那么去找对应的话,就有点困惑不知道 Schema 对应的是 MySQL 的是什么了。 其实 Schema 对应的就是 MySQL 的数据库。 PostgreSQL 的一个数据库就 MySQL 在机器上安装的整个实例了。 数据互访 比如说 PostgreSQL 有 2 个数据库 DB0 和 DB1,那么对应 MySQL 就是需要有 2 个实例,这 2 个实例对应的 MySQL 需要运行在不同的端口中。 PostgreSQL 互通性 PostgreSQL 的数据库定义的对饮 MySQL 的 2 个实例的话,那么在实例之间进行数据通信是比较困难的。 同样的,PostgreSQL 也是这样的,PostgreSQL 的数据库是互相独立的,是不能互相访问的。 PostgreSQL 的 Schema 在不同的命名空间中的数据是可以互相访问的。 不同命名空间中的表名字可以完全一致。 比如说我们有2个命名空间分别为 S1和 S2,但这 2 个命名空间中都有一个相同名称的表叫做 T1和T1,这个是可以存在的。 总结 因为 PostgreSQL 对比 MySQL 多了一层逻辑结构,所以 PostgreSQL 比 MySQL 的理解上面更加复杂,同时用户的授权也更加麻烦。 这也就是为什么很多人拿到 PostgreSQL 开始的时候都不知道表在哪里。 https://www.isharkfly.com/t/postgresql/15347
早上刷新闻,Google 在 2024 开年还没几天就宣布了今年的裁员计划。 前几天还在说我们当地的大学为了削减预算而进行裁员。 大厂谷歌却是首当其冲,裁员1000多人,涉及了核心工程、谷歌助理、Pixel手机等硬件团队的人员。 截至2023年9月30日,谷歌拥有18.2万名员工。此次裁员是继2023年开年裁掉12000人之后,最大规模的一次裁员。 今年的裁员感觉有点像温水煮青蛙的方式慢慢裁员,其实据说各大厂也已经提高了 PIP 的比率。 Google 这次裁员据说是因为 AI 和人工智能的影响,对一些不部门的员工进行裁撤。 皮查伊也说,公司制定了远大目标,今年会在重点领域进行投资。 一名谷歌代表向路透社证实管理层向所有员工发出电邮,但拒绝透露电邮内容。 谷歌上星期表示,将裁退语音助手部门、负责Pixel、Nest和Fitbit硬件的团队、广告销售团队以及扩增实境部门的员工。 Google 全球拥有差不多 2 万名员工,基本上按照公司的尿性,这种规模的裁员大部分会按照规模进行裁员,如果这 2 年裁员规模在 10% 的话,那基本上要裁撤接近 2 万名员工。 对于规模的裁员,如何进行裁员通常是首先考虑的问题,问题是大家现在都不太清楚 Google 高层内部定下来的裁员计划是到多少的百分比。 当前数据 更加 https://layoffs.fyi/ 网站提供的数据,在 1 月份才进行到一半的时候已经有差不多 58 家公司决定了今年的裁员计划。 受影响的员工接近上万人。 虽然不少公司的的规模并不大,但如果对照裁员人数来说也应该是一个不少的比率了。 根据网站上的比率来看,通常裁员比率都在 10% 以上,感觉 Google 今年的裁员才刚刚开始,还远没有到结束的时候。 无奈的码农 在 N 年前,国内股市非常繁荣的阶段。 已经忘记是谁说的了,当连修鞋的小贩都在和你讨论股票的时候,你就知道这个时候你应该开始抛售你的股票了。 果然没多久就开始了股市的直线下降。 换到 IT 行业,当学文科的朋友都在和你讨论如何转成码农的时候,你应该知道离裁员不远了。 也感谢 Google 把 IT 和信息技术相关的工作变成了大学入学考试,只要你会做题目,你就是高手,只能说是如果是这样的方式管理人力资源,那么裁员应该在不远的未来能看到的事情了。 真正 IT 的技术有多少革新,如果你是超过 20 多年的 IT 从业人员,我相信你心中自然会有一个答案。 https://www.isharkfly.com/t/google/15344
Raspberry Pi OS(原为Raspbian)是为树莓派基于Debian开发的操作系统。 从2015年起,树莓派基金会正式将其作为树莓派的官方操作系统。 Raspbian是由Mike Thompson和Peter Green创建的一个独立项目。第一个版本于2012年6月发布,至今仍在更新中。 Raspi 对树莓派系列的低性能ARM架构CPU进行了高度优化。 使用的安装命令 Rasbian 操作系统和 Ubuntu 的操作系统是非常类似的。 可以使用下面的命令来在操作系统中安装 MariaDb 数据库。 sudo apt update sudo apt install mariadb-server sudo mysql_secure_installation 上图显示了操作系统中正在安装 mariadb 数据库。 配置 Mariadb 的安全策略 当完成安装后,直接运行 sudo mysql_secure_installation 命令来配置安全策略。 创建远程访问权限 当 Mariadb 完成安装后,所有的用户都只能通过内部计算机访问。 可以使用 SQL 查看系统中当前的用户。 SELECT `user`, `host`, IF(LENGTH(password)>0, password, authentication_string) AS `password` FROM `mysql`.`user`; 从上面的 SQL 输出,我们可以看到 root 用户的权限已经被设置,并且只能使用 localhost 进行访问。 要使用 Mariadb 的客户端进行远程访问的话,最好的办法就是开放 root 用户的远程访问权限。 直接运行命令: RENAME USER 'root'@'localhost' TO 'root'@'%'; 就可以改变某个用户的访问权限,localhost 就是只运行本地访问的意思,% 就是接受所有访问,包括远程的 IP 地址。 然后再查看权限。 我们可以看到权限被修改为 % 了。 最后再通过客户端进行连接校验。 显示查看到数据库中的所有表信息。 https://www.isharkfly.com/t/ubuntu-raspbian-mariadb/15339
由于 Raspbian 和 Ubuntu 的同源关系,在这 2 个操作系统上安装 PostgreSQL 的方法是可以通用的。 安装包 直接运行下面的安装命令来进行安装。 sudo apt install postgresql postgresql-contrib PostgreSQL contrib 软件包,它可以提供 PostgreSQL 数据库系统的一些额外特性。 当安装完成后,数据库会自动启动。 安装的包不是很大,通常很快就能完成安装和启动服务了。 查看安装的版本 当安装完成后,我们通常会查看安装的版本。 直接在控制台上运行下面的命令:sudo -u postgres psql -c "SELECT version();" 来查看当前我们安装的 PostgreSQL 版本。 需要注意的是,上面的命令其实做了 2 件事情。 sudo -u postgres psql 这个命令就是在本地计算机上连上 PostgreSQL 数据库。 SELECT version(); 这个就是在连上数据库后执行的 SQL 或者命令。 从上面的输出,我们可以看到我们当前运行的 PostgreSQL 数据库版本为 15.5。 远程连接 默认情况下 PostgreSQL 是不接受远程连接的。 服务器仅仅监听本地网络接口:127.0.0.1。 为了允许远程访问你的 PostgreSQL 服务器,打开配置文件postgresql.conf并且在CONNECTIONS AND AUTHENTICATION一节添加listen_addresses = '*'。 文件路径在: sudo nano /etc/postgresql/15/main/postgresql.conf 上面的文件路径显示的是 15,现在你就知道为什么我们在安装完成后需要看下当前安装的数据库的版本了吗? 文件修改前的情况是这样的。 我们可以看到的是监听的端口是被注释掉的,所以默认就是为 localhost。 我们需要修改为: listen_addresses = '*' 保存退出后重启数据库服务器。 重启数据库服务器的命令为: root@raspberrypi:~# systemctl restart postgresql root@raspberrypi:~# 修改 HBA 文件接受远程连接 虽然经过上面的配置,我们的数据库已经可以接受远程连接了,但是数据还没有办法让你的用户进行登录。 使用客户端工具,会看到下面的错误信息: 这是因为我们的 hba 文件还没有配置。 HBA 文件在哪里 使用命令行登录 pgsql 后,运行命令:show hba_file; 服务器上将会显示下面的输出: root@raspberrypi:/etc/postgresql/15# sudo -u postgres psql psql (15.5 (Debian 15.5-0+deb12u1)) Type "help" for help. postgres=# show hba_file; hba_file ------------------------------------- /etc/postgresql/15/main/pg_hba.conf (1 row) postgres=# 上面就已经告诉你了 HBA 所在的路径在哪里。 然后运行下面的命令对 HBA 文件进行编辑。 sudo nano /etc/postgresql/15/main/pg_hba.conf 添加下面 2 行到这个文件的末尾。 host all all 0.0.0.0/0 scram-sha-256 host all all ::/0 scram-sha-256 保存退出后重启服务器。 提示用户名密码错误 在服务器上登录 PostgreSQL 的时候是不会对用户名和密码进行校验的。 但是在远程的时候,我们可能会得到下面的用户名和密码校验错误信息。 这是因为我们在安装完成 PostgreSQL 数据库的时候没有为我们的账号 postgres 设置密码。 可以做的是,从新登录服务器,并且进入数据库。 然后运行 `ALTER USER postgres PASSWORD ‘******’; 上面的星号是你为 postgres 账号设置的密码。 当密码设置完成后,再尝试通过客户端工具进行连接,你的客户端工具应该是不会拒绝你的连接请求。 成功后可以看到下面的信息。 如能看到上面的界面,就说明配置已经完成。 https://www.isharkfly.com/t/ubuntu-raspbian-postgresql/15341
RaspberryPi(树莓派)是可以通过 VNC 来连接到机器上进行图形化操作的。 什么 VNC VNC(Virtual Network Computing),为一种使用RFB协议的屏幕画面分享及远程操作软件。此软件借由网络,可发送键盘与鼠标的动作及即时的屏幕画面。 VNC与操作系统无关,因此可跨平台使用,例如可用Windows连线到某Linux的电脑,反之亦同。甚至在没有安装客户端程序的电脑中,只要有支持JAVA的浏览器,也可使用。 安装 VNC 客户端 根据官方的建议,可以使用 TigerVNC 来访问安装好的树莓派。 官方的网址为:https://tigervnc.org/ TigerVNC 是一款老牌高性能、多平台的 VNC 客户端和服务器,支持 Windows、macOS 与 Linux,可以方便的创建 VNC 服务器,或通过 VNC 连接至远程电脑。 在访问官方网站后可以进行下载安装。 我们下载并且安装使用的是 64 位的 Windows 版本。 这个安装没有什么困难,直接下一步下一步运行即可。 配置 RaspberryPi 如果用 RaspberryPi 连接上显示器的话,可以通过显示器直接配置。 如果 RaspberryPi 没有连接到显示器,那么就只能通过图形化界面进行配置。 SSH 到 RaspberryPi 后输入命令: sudo raspi-config 在弹出的界面中选择接口选项。 然后在后续界面中,选项 VNC 选项。 随后,选择 Yes ,然后让 RaspberryPi 启动 VNC 服务。 整个启动的过程可能需要几分钟的时间,这个时候你不需要做什么,耐心等下就好。 重启 RaspberryPi ,这步骤很重要,因为如果你不重启 RaspberryPi 的话,配配置是没有办法生效的。 TigerVNC 连接到 RaspberryPi 配置连接的服务器。 如果你已经知道服务器的地址话,可以在这里直接输入 IP 地址,如果不知道,可以用安装的 树莓派 的主机名。 设置鼠标跟随 单击连接窗口中的属性,然后在弹出的界面中选择 Input 输入。 可以勾选上为鼠标显示为 dot(点)。 确认连接 当完成上面的所有配置后,单击连接来让 TigerVNC 连接到树莓派。 输入你的连接用户名和密码后就可以完成连接。 如果能够看到下面的界面的话,就表示 VNC 已经完成了树莓派的连接了。 这时候你可以按照正常操作来对树莓派进行图形化的操作。 需要注意的是,基于树莓派的性能,很多一些你可能认为是比较平常的操作,在这里会比较消耗时间和资源。 所以树莓派其实并不是非常适合做图形化的操作,比如说我们打开一个浏览器可能要比在自己的计算机上耗费更多的时间。 https://www.isharkfly.com/t/raspberrypi-vnc/15337