Mac OS X

Python从菜鸟到高手(1):初识Python

烂漫一生 提交于 2020-12-04 07:41:11
1 Python简介 1.1 什么是Python   Python是一种面向对象的解释型计算机程序设计语言,由荷兰人吉多·范罗苏姆(Guido van Rossum)于1989年发明,第一个公开发行版发行于1991年。目前Python的最新发行版是Python3.6。   Python是纯粹的自由软件,源代码和解释器都遵循 GPL(GNU General Public License)协议。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。   Python具有丰富和强大的库。它常被称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地集成在一起。常见的一种应用场景是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的编程语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,然后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些库可能不提供跨平台的实现。   尽管Python源代码文件(.py)可以直接使用python命令执行,但实际上Python并不是直接解释Python源代码,而是先将Python源代码编译生成Python Byte Code(Python字节码,字节码文件的扩展名一般是.pyc)

python连接oracle数据库

[亡魂溺海] 提交于 2020-12-04 07:14:27
python连接oracle数据库 需要oracle客户端的版本,cx_Oracle的版本,要与Python版本和位数对应,都是32位或者64位。 操作系统:64位 Python版本:Python3.5.0 64位; cx_Oracle的版本:cx_Oracle-5.2.1-11c.win-amd64-py3.5 oracle客户端的版本:instantclient-basic-win-x86-64-11.2.0.1.0; 需注意的点: 版本位数对应,都是64位; cx_Oracle和python版本对应,都是3.5; cx_Oracle和instantclient版本对应,都是11; cx_oracle和instantclient的版本不必和Oracle数据库版本一致 Windows: 1.pip install cx-Oracle==5.2.1 2.下载并安装oracle-instantclient11.2.x 后解压到指定文件夹,如:D:\oracle\instantclient_11_2 3.将instantclient的oci.dll文件放到$Python_Home\Lib\site-packages 目录下,不知道哪几个文件,就把整个解压的文件都复制过去即可 Mac: 1.pip install cx_Oracle 2.下载并安装instantclient-basic

协程分析之context上下文切换

|▌冷眼眸甩不掉的悲伤 提交于 2020-12-03 22:45:07
协程现在已经不是个新东西了,很多语言都提供了原生支持,也有很多开源的库也提供了协程支持。 最近为了要给tbox增加协程,特地研究了下各大开源协程库的实现,例如:libtask, libmill, boost, libco, libgo等等。 那么现有协程库,是怎么去实现context切换的呢,目前主要有以下几种方式: 使用ucontext系列接口,例如:libtask 使用setjmp/longjmp接口,例如:libmill 使用boost.context,纯汇编实现,内部实现机制跟ucontext完全不同,效率非常高,后面会细讲,tbox最后也是基于此实现 使用windows的GetThreadContext/SetThreadContext接口 使用windows的CreateFiber/ConvertThreadToFiber/SwitchToFiber接口 各个协程协程库的切换效率的基准测试,可以参考:切换效率基准测试报告 ucontext接口 要研究ucontext,其实只要看下libtask的实现就行了,非常经典,这套接口其实效率并不是很高,而且很多平台已经标记为废弃接口了(像macosx),目前主要是在linux下使用 libtask里面对不提供此接口的平台,进行了汇编实现,已达到跨平台的目的, ucontext相关接口,主要有如下四个: getcontext

3 款强大的开源密码管理器

♀尐吖头ヾ 提交于 2020-12-03 18:58:24
我们现在每个人都离不开互联网,所以在很多网站上都有很多帐户和密码。如果每个账号都实用同一个密码,是非常不安全的,但如果使用不同的密码,又会记不住,所以今天给大家介绍3款强大的开源密码管理器,希望对你们有帮助。 1、1Password 这是很多人都爱用的密码管理器,被推荐过很多次了!1Password能帮助管理和保存我们所有的密码,加密后保存在本地,不同设备间可通过 Dropbox、iCloud 同步数据,在电脑浏览器或手机浏览器上安装插件后可以一键自动填写用户名密码,实现一键登录,非常方便,它支持Windows、 Mac、iOS、Android几乎所有的操作系统。 2、bitwarden bitwarden是开源、免费的,不仅支持全平台同步,还支持二步验证和浏览器自动填写,通过插件和客户端,能方便地一键填入密码。它除了有网页版、iOS、Android 移动版客户端外,还有Chrome、FireFox、Opera、Edge 浏览器插件,基本能在所有电脑手机上同步和使用你的个人密码数据。 3、KeeWeb KeeWeb是开源、跨平台的密码管理工具,具有云同步,键盘快捷键和插件等功能。KeePass 有一个官方客户端,功能简单易用,并且与 KeePass 存储加密密码的文件格式兼容。它可以在 Windows、Linux 和 Mac OS 上运行。 你收藏了吗?如果还有什么想要了解的

如何在Mac上合并日历

安稳与你 提交于 2020-12-03 18:52:45
Mac上是否有用于不同用途的多个日历?如果要删除某些不需要的日历,但仍保留事件或移动它们,则可以在几秒钟内合并日历。 macOS上的本机日历应用程序使您可以创建多个日历,这些日历通常对于希望将职业和私人生活区分开的人们非常方便。有时人们创建的日历可能比实际所需的要多,这可能会使您的所有日历事件变得混乱,并使事情变得复杂。幸运的是,您不必删除这些不必要的日历,因为您可以选择合并它们。 在macOS上,合并日历并移动所有事件是一个非常简单明了的过程。只需按照以下步骤开始。 1.从Dock在Mac上启动日历应用程序。 2.在新窗口中打开应用程序后,单击窗口左上角的“日历”图标,如下所示。 3.现在,您拥有的所有日历将在左窗格中列出。在这里,选择要删除的日历,然后右键单击它。接下来,从菜单中选择“合并”。 4.现在,您可以选择要合并的其他任何日历。只需单击要合并的日历。 5.现在会通知您,日历中的所有事件都将移至您将要与之合并的事件。要确认您的操作,请单击“合并”。 但是,如果您运行的是macOS Big Sur,则此过程会稍有不同,因为“日历”列表选项现在已被替换为一个图标。 我们展示了如何合并Mac上本地存储的两个日历,但是您也可以按照完全相同的步骤合并iCloud上存储的两个日历。请记住,您对这些日历所做的更改将在所有其他Apple设备上同步。 来源: oschina 链接:

简直不要太硬了!一文带你彻底理解文件系统

谁说我不能喝 提交于 2020-12-03 12:32:04
这是Java建设者第 79 篇原创长文 所有的应用程序都需要存储和检索信息。进程运行时,它能够在自己的存储空间内存储一定量的信息。然而,存储容量受虚拟地址空间大小的限制。对于一些应用程序来说,存储空间的大小是充足的,但是对于其他一些应用程序,比如航空订票系统、银行系统、企业记账系统来说,这些容量又显得太小了。 第二个问题是,当进程终止时信息会丢失。对于一些应用程序(例如数据库),信息会长久保留。在这些进程终止时,相关的信息应该保留下来,是不能丢失的。甚至这些应用程序崩溃后,信息也应该保留下来。 第三个问题是,通常需要很多进程在同一时刻访问这些信息。解决这种问题的方式是把这些信息单独保留在各自的进程中。 因此,对于长久存储的信息我们有三个基本需求: 必须要有可能存储的大量的信息 信息必须能够在进程终止时保留 必须能够使多个进程同时访问有关信息 磁盘(Magnetic disk) 一直是用来长久保存信息的设备。近些年来,固态硬盘逐渐流行起来。 固态硬盘不仅没有易损坏的移动部件,而且能够提供快速的随机访问。相比而言,虽然磁带和光盘也被广泛使用,但是它们的性能相对较差,通常应用于备份。我们会在后面探讨磁盘,现在姑且把磁盘当作一种大小固定块的线性序列好了,并且支持如下操作 读块 k 写块 k 事实上磁盘支持更多的操作,但是只要有了读写操作,原则上就能够解决长期存储的问题。 然而

QUIC Weekly 每周动态 20201118期

核能气质少年 提交于 2020-12-03 03:59:31
关于QUIC协议的论文、IETF进展、博客、视频等等 QUIC 的全称是 Quick UDP Internet Connections protocol, 由 Google 设计提出,目前由 IETF 工作组推动进展。其设计的目标是替代 TCP 成为 HTTP/3 的数据传输层协议。熹乐科技在物联网(IoT)和边缘计算(Edge Computing)场景也一直在打造底层基于 QUIC 通讯协议的低时延边缘计算框架 YoMo ,长时间关注 QUIC 协议的发展,遂整理该文集并配以适当的中文翻译,方便更多关注 QUIC 协议的人学习。 在线社区:🍖 discord/quic 维护者:🦖 YoMo QUIC Weekly - 20201118期 📽 Throwback to 乘坐时光机回到2016年7月QUIC工作组的成立会议 ,这次会议是基于 Google 当时的实践经验,讨论 QUIC 是否应该成为 IETF 的标准 📽 Robin Marx 讲述 QUIC 和 HTTP/3 的基本功能,开放了他研究的问题及他再 qlog 和 qvis 这两个调试工具上的进展 。 lsquic 发布了 v2.24.4 , 修复了拥塞控制和 CID 生命周期的相关问题。 iOS 14 和 macOS Big Sur 包含了 HTTP/3 实验版本的支持 ,并讲述了如何开启 QUIC 的使用,比如在

内网穿透工具——FRP

瘦欲@ 提交于 2020-12-02 07:41:11
使用内网穿透工具——FRP,以及一台云服务器当做服务端,进行简单配置后即可远程访问 配置 FRP 服务端的前提条件是需要一台具有**公网 IP **的设备,得益于 FRP 是 Go 语言开发的,具有良好的跨平台特性。你可以在 Windows、Linux、MacOS、ARM等几乎任何可联网设备上部署。 FRP软件下载地址: https://github.com/fatedier/frp/releases 2 | 1 架构 如图,在这里,客户端即被远程的机器,service我们使用3389远程控制 一台云服务器,比如 CentOS7 一个公网IP,带宽视情况而定,公网IP地址以 117.73.3.210 为例 3 | 0 服务端配置 3 | 1 服务端下载FRP及配置 服务端下载Linux版的FRP工具,比如 frp_0.30.0_linux_amd64.tar.gz ,为了方便管理,这里进行了重命名为frp wget https://github.com/fatedier/frp/releases/download/v0.30.0/frp_0.30.0_linux_amd64.tar.gz tar -zxvf frp_0.30.0_linux_amd64.tar.gz mv frp_0.30.0_linux_amd64 frp 进入frp目录: cd frp ,如图 3 | 2

键盘鼠标共享效率工具----Synergy

為{幸葍}努か 提交于 2020-12-01 04:34:04
在日常工作中,为了提高工作效率以及用户体验,会一个主机接多个显示器,像程序员一般都是使用两块显示器。 然而,有很多人是和我一样,自己有多台电脑,两个笔记本。公司一个台式机,如何在台机器之间来回切换工作。在多台机器之间切换使用,来回的切换键盘鼠标是否让你觉得特别烦恼,是否希望能够在一套键鼠上实现跨机器的操作? Synergy是一款开放源代码软件,能让用户通过网络在视线范围内使用一套键盘鼠标控制多台电脑。因为Synergy不能传输视频,所以每台电脑都需要连接显示器。除了在多台计算机间共享键盘鼠标,Synergy还能共享剪贴板。Synergy是跨平台的软件,可以在Windows,Linux和Mac OS X之间共享键盘和鼠标,将来还可能支持Windows Mobile和iPhone平台,也容易移植到更多平台。但是会存在一些技术上的限制,使得软件只能作为客户端或者服务器使用。 Synergy允许你轻松地在你办公桌上多台计算机之间共享你的鼠标和键盘。你只要将鼠标(指针)从一台计算机的屏幕边缘移出到另 一个屏幕就行了。甚至可以共享你的剪贴板。你所需要的仅仅是一个网络连接。Synergy是跨平台的(可以运行于Windows,Mac OS X和Linux)。 安装 我两个笔记本是ubuntu和Mac,公司的办公台式机也是ubuntu,所以,我只做了ubutnu和mac的跨系统的使用操作

清除mac出现的.DS_Store文件

孤者浪人 提交于 2020-12-01 01:59:50
一、什么是.DS_Store文件   在 Mac OS X 系统下,大部分文件夹中都包含 .DS_Store 隐藏文件,这里保存着针对这个目录的特殊信息和设置配置,例如查看方式、图标大小以及这个目录的一些附属元数据。相当于Windows的desktop.ini。 但是我们在开发中,终端进入文件夹会看到这些文件,导致文件显示很乱,所以想把他删掉 二、会有副作用吗?     会有,删除以后的副作用就是这些信息的失去。(当然,这点副作用其实不是太大) 三、禁止生成   打开 “终端” ,复制黏贴下面的命令,回车执行,重启Mac即可生效。 defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE 四、恢复.DS_store生成:   终端中粘贴回车 defaults delete com.apple.desktopservices DSDontWriteNetworkStores 五、清除现有.DS_Store文件   终端中粘贴回车 find . -name .DS_Store -type f - delete ; find . -type d | xargs dot_clean 来源: oschina 链接: https://my.oschina.net/u/4411093/blog