Linux中国
1.73K subscribers
777 photos
6.34K links
Linux 中国官方 Telegram 频道
Download Telegram
在 Linux 中如何以人性化的方式显示数据

许多 Linux 命令现在都有使其输出更易于理解的选项。让我们了解一些可以让我们心爱的操作系统更友好的东西。Media

via https://linux.cn/article-9941-1.html
使用 Ptrace 去拦截和仿真 Linux 系统调用

ptrace(2)(“进程跟踪”)系统调用通常都与调试有关。它是类 Unix 系统上通过原生调试器监测被调试进程的主要机制。它也是实现 strace(系统调用跟踪)的常见方法。Media

via https://linux.cn/article-9942-1.html
如何在 Linux 中切换相同程序的不同版本

alt 是一个命令行工具,可以让你在类 Unix 系统中切换相同程序的不同版本。Media

via https://linux.cn/article-9944-1.html
使用 Docker 的用户名字空间功能

该功能允许主机系统将自身的 uid 和 gid 映射为容器进程中的另一个 uid 和 gid。这对 Docker 的安全性来说是一项巨大的改进。Media

via https://linux.cn/article-9945-1.html
首个世界杯区块链门票测试报告发布:接受意愿超出预期

最终有超过一半用户选择与使用了区块链门票,显示出了非常高的意愿,对新技术的接受度也呈非常乐观的态度。Media

via https://linux.cn/article-9946-1.html
首个世界杯区块链门票测试报告发布:接受意愿超出预期

当地时间 8 月 22 日,来自新加坡的区块链技术团队 AlphaWallet 正式发布全球首个世界杯区块链门票测试报告。在本次 2018 年俄罗斯世界杯,AlphaWallet 联合 FIFA 大中华区唯一官方合作伙伴盛开体育旅游推出了世界杯区块链门票,是全世界首次正式发行区块链门票。从技术部署到门票发布以及线下兑换,入场看球,经过 2 个多月的完整测试周期,随着世界杯在法国队和克罗地亚对的终极对决结束而闭幕,该团队也首次完整披露测试内容、测试细节以及测试结果。Media本次报告经由测试团队直接撰写,并在报告中提供了大量第一手信息和资料。现阶段区块链技术还处在⾮常早期的阶段,在这个阶段,除实验性质的项⽬外,真正适合落地商业化的应⽤场景⾮常少,世界杯区块链门票是非常难能可贵的一次大胆尝试,对区块链技术落地也提供了宝贵的真实数据和探索。本次测试公有链技术基于以太坊,智能合约标准则考量能简单地实现原⼦化交易和批量交易的优势选择 ERC875 NFT(Non-fungible Token)标准。据介绍,当前票务市场的问题在⼆级市场及票务造假,而⼆级市场⼀直以来都存在着各方利益的博弈和监管难题。在⼤部分热⻔项⽬上,⼆级市场⽆论参与⼈数还是资⾦规模都⽐⼀级市场⼤很多,但同时⼆级市场完全不受主办⽅的监管, 所以主办⽅无法进⼀步从⼆级市场得到利益,也没办法掌握⼆级市场的规模和发展。一般来说,⼀级市场经常被⼤型渠道商垄断,主办⽅拿不到数据同时需要⽀付⾼额⼿续费。而⼆级市场的负⾯信息,如假票、天价票等等影响主办⽅品牌和声誉。 对于消费者而言, ⼆级市场的存在满⾜了部分消费者的需求,但是因为⼆级市场并不受主办方监管,消费者的利益没有办法得到保障,高价票和假票都会直接伤害消费者利益,区块链门票就是解决这些问题而诞生。就世界杯区块链门票产品而言,可以同时满足自由流通和可控监管两个看似矛盾的需求,极大地保障一级市场、二级市场各方的利益。主办方可以获得应得的权益,同时保证整个票务市场有序可控,消费者可以确保买到真票,并且价格合理,分销商也从更大更有序的一二级市场获得更大的收益,可以说是多方共赢。本次世界杯区块链门票抽取了 50 个开幕式 VIP ⽤户进⾏测试。这些⽤户在盛开体育官⽅售票⽹站,使⽤⼈⺠币购票之后, 收到了盛开体育发给他们的确认邮件,在邮件内提示⽤户可以选择数字⻔票解决⽅案或者传统⽅式,数字⻔票部分含有⼀个MagicLink 以及相应的使⽤说明,⽤户可以⾃由选择是否把他们的⻔票兑换卷转化为区块链⻔票并导⼊ AlphaWallet 客户端。如果转化成区块链⻔票,原有⻔票兑换卷⾃动作废,⽤户可以在开赛前到盛开体育在俄罗斯各处设⽴的⻔票兑换柜台,兑换最终的纸质⻔票。最终有超过一半用户选择与使用了区块链门票,显示出了非常高的意愿,对新技术的接受度也呈非常乐观的态度。测试详情,请点击链接获取完整测试报告。完整报告链接:https://awallet.io/blockchain-tickets-reportMedia世界杯区块链门票团队介绍:AlphaWallet 是⼀家区块链创业公司,主要专注在 Layer 2,Offchain 的区块链协议开发,还有消费者终端应⽤平台的开发,从应⽤的⻆度⼊⼿提升区块链的可⽤性,性能和隐私。 AlphaWallet ⼿机应⽤是⾯向普通消费者的以太坊智 能合约调⽤⼯具以及协议运⾏平台。ERC 875 是服务于真实商⽤案例的不可替代性通证(nonfungible token)标准,开发⼈员和企业可以⾮常容易的⽤ ERC 875 Token 来指代物理或数字世界内的⼈/事/物/权,并实现⾼效的原⼦化交易。盛开体育旅游是⼀家快速发展的年轻体育营销公司,为国内外的投资者提供体 育商业运营⽅案。我们对于本⼟市场有着深⼊的了 解掌握,并有着特殊的国内、外国际⼈脉⽹络关系。 我们拥有丰富的从事⼤型国际体育赛事的经验,充 分了解国际体育赛事参与者的需求。充分利⽤体育 作为交流平台帮助中国品牌不断成⻓,我们将世界 顶级赛事引进中国并通过数字媒体技术让中国的体 育爱好者可以近距离接触到更多的精彩体育项⽬。Media

via https://linux.cn/article-9946-1.html?utm_source=rss&utm_medium=rss
JavaScript 框架对比及案例(React、Vue 及 Hyperapp)

在这篇文章中,我将尽可能客观的通过提供一些最小化的例子来比较这三个框架,以展示它们的能力。Media

via https://linux.cn/article-9947-1.html
如何用 Python 读取 Outlook 中的电子邮件

我使用一些代码来将 outlook 配置中的所有邮件写入一个临时文件中,现在让我来尝试解释一下这些代码。Media

via https://linux.cn/article-9948-1.html
如何用 Python 读取 Outlook 中的电子邮件

Media从事电子邮件营销,准入opt-in邮箱列表是必不可少的。你可能已经有了准入列表,同时还使用电子邮件客户端软件。如果你能从电子邮件客户端中导出准入列表,那这份列表想必是极好的。我使用一些代码来将 outlook 配置中的所有邮件写入一个临时文件中,现在让我来尝试解释一下这些代码。首先你需要导入 win32com.client,为此你需要安装 pywin32:
pip install pywin32
我们需要通过 MAPI 协议连接 Outlok:
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
然后从 outlook 配置中获取所有的账户:
accounts= win32com.client.Dispatch("Outlook.Application").Session.Accounts;
在然后需要从名为 emaileri_al 的收件箱中获取邮件:
def emailleri_al(folder): messages = folder.Items a=len(messages) if a>0: for message2 in messages: try: sender = message2.SenderEmailAddress if sender != "": print(sender, file=f) except: print("Ben hatayım") print(account.DeliveryStore.DisplayName) pass try: message2.Save message2.Close(0) except: pass
你需要进入所有账户的所有收件箱中获取电子邮件:
for account in accounts: global inbox inbox = outlook.Folders(account.DeliveryStore.DisplayName) print("****Account Name**********************************",file=f) print(account.DisplayName,file=f) print(account.DisplayName) print("***************************************************",file=f) folders = inbox.Folders for folder in folders: print("****Folder Name**********************************", file=f) print(folder, file=f) print("*************************************************", file=f) emailleri_al(folder) a = len(folder.folders) if a>0 : global z z = outlook.Folders(account.DeliveryStore.DisplayName).Folders(folder.name) x = z.Folders for y in x: emailleri_al(y) print("****Folder Name**********************************", file=f) print("..."+y.name,file=f) print("*************************************************", file=
下面是完整的代码:
import win32com.clientimport win32comimport osimport sysf = open("testfile.txt","w+")outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")accounts= win32com.client.Dispatch("Outlook.Application").Session.Accounts;def emailleri_al(folder): messages = folder.Items a=len(messages) if a>0: for message2 in messages: try: sender = message2.SenderEmailAddress if sender != "": print(sender, file=f) except: print("Error") print(account.DeliveryStore.DisplayName) pass try: message2.Save message2.Close(0) except: passfor account in accounts: global inbox inbox = outlook.Folders(account.DeliveryStore.DisplayName) print("****Account Name**********************************",file=f) print(account.DisplayName,file=f) print(account.DisplayName) print("***************************************************",file=f) folders = inbox.Folders for folder in folders: print("****Folder Name**********************************", file=f) print(folder, file=f) print("*************************************************", file=f) emailleri_al(folder) a = len(folder.folders) if a>0 : global z z = outlook.Folders(account.DeliveryStore.DisplayName).Folders(folder.name) x = z.Folders for y in x: emailleri_al(y) print("****Folder Name**********************************", file=f) print("..."+y.name,file=f) print("*************************************************", file=f)print("Finished Succesfully")
via: https://www.codementor.io/aliacetrefli/how-to-read-outlook-emails-by-python-jkp2ksk95作者:A.A. Cetrefli 选题:lujun9972 译者:lujun9972 校对:wxy本文由 LCTT 原创编译,Linux中国 荣誉推出Media

via https://linux.cn/article-9948-1.html?utm_source=rss&utm_medium=rss
Linux DNS 查询剖析(第二部分)

在第二部分中,我将介绍 resolv.conf 的更新机制、systemctl restart networking 命令的运行机制 ,以及 dhclient 是如何参与其中。Media

via https://linux.cn/article-9949-1.html
6 个简单的方式来查看 Linux 中的用户名和其它信息

你可能会问,为什么要讨论这个基础话题呢?即使我也这么认为,因为除了这两个之外没有更好的方法了,但是我们也有一些不错的选择。Media

via https://linux.cn/article-9950-1.html
如何在 Ubuntu 中切换多个 PHP 版本

在这个简短的教程中,我将向你展示如何在 Ubuntu 18.04 LTS 中切换多个 PHP 版本。它没你想的那么难。请继续阅读。Media

via https://linux.cn/article-9951-1.html
将 Linux 终端会话录制成 SVG 动画

它是一款简单的命令行工具,使用 Python 语言编写,可以生成轻量级、外观整洁的动画,可以嵌入到网页项目中。Media

via https://linux.cn/article-9953-1.html
如何在 Linux Shell 编程中定义和使用函数

函数是一段可复用的代码。我们通常把重复的代码放进函数中并且在不同的地方去调用它。库是函数的集合。我们可以在库中定义经常使用的函数,这样其它脚本便可以不再重复代码而使用这些函数。Media

via https://linux.cn/article-9954-1.html
L1 终端错误漏洞(L1TF)如何影响 Linux 系统

L1 终端错误(L1TF)影响英特尔处理器和 Linux 操作系统。让我们了解一下这个漏洞是什么,以及 Linux 用户需要为它做点什么。Media

via https://linux.cn/article-9956-1.html
开源网络方面的职位:创新与机遇的温床

诸如容器、边缘计算这样的技术焦点领域大红大紫,对在这一领域能够整合、协作、创新的开发者和系统管理员们的需求在日益增进。Media

via https://linux.cn/article-9958-1.html
逐层拼接云原生栈

看着我们在纽约的办公大楼,我们发现了一种观察不断变化的云原生领域的完美方式。Media

via https://linux.cn/article-9959-1.html
如何确定你的Linux发行版中有没有某个软件包

有时,你可能会想知道如何在你的 Linux 发行版上寻找一个特定的软件包。或者,你仅仅只是想知道安装在你的 Linux 上的软件包有什么版本。Media

via https://linux.cn/article-9960-1.html
逃离 Google,重获自由(与君共勉)

寻求挣脱科技巨头的一次开创性尝试Media

via https://linux.cn/article-9961-1.html
一套有用的 Unix 实用程序

还有更多有用的实用程序没有预装在类 Unix 操作系统中,它们汇集起来构成了 moreutilis 这个日益增长的集合。Media

via https://linux.cn/article-9962-1.html
用 Ansible 实现网络自动化

了解 Ansible 的功能,这是一个无代理的、可扩展的配置管理系统。Media

via https://linux.cn/article-9964-1.html