配置 Vim 使其和 PowerShell 一起工作

从 Linux 转到 Windows 上开发已经过去半个月,在工具上的习惯还没改过来,总会觉得开个大而全的 IDE 显得特别麻烦和低效。(我还特地为了能尽早用上 Bash on Windows 把我的 Windows 10 一口气拉到 Insider Preview Fast Ring。)但是在跑着 Windows 7
的工作机器上,没有了这个选项。所以现在在一些能通过 PowerShell + Script 完成的事情上都会选择用这种方式来完成,例如 PowerShell 默认支持 ls/cd/mkdir/cat 等等我们熟悉的命令,可以完成一些简单的文件操作。

但是有一个很别扭的地方是,PowerShell 缺少可用的文本编辑器入口,因为 Windows 默认的文本编辑器 notepad 是不支持 command-line 模式的。每次要修改一个文件还需要用 notepad 打开修改,保存关闭后再回到 PowerShell 总觉得有点人格分离。幸好,Vim 是有 Win32 版本的,所以我要做的第一件事就是让 Vim 和 PowerShell 能协同工作。

1.安装 Vim for MS-Windows

Vim 的官方地址是 http://www.vim.org/,可以下载到各个平台各个版本的 binary。同时也支持从 git repo 上把 source code 拉下来自己编译。
我下载的是最新的7.4版本,默认安装到 C:\Program Files (x86)\Vim 。

2.创建 PowerShell profile

当你在当前的 PowerShell session 添加别名、函数和变量时,它们仅仅作用在当前的 session,一旦你关闭了这次 session 这些都会丢失。如果你想保留这些更改,最好的方式是添加到 PowerShell 的 profile 里。PowerShell 在启动是会去读取相应的 profile 获得用户配置。
关于 PowerShell profile 的细节这里不展开,详情可以查看:Windows PowerShell Profiles
PowerShell 会在多个用户目录以及系统目录有多个 profile,分别保存相应的用户的配置,避免了不同用户配置的冲突。

这个 profile 仅作用于当前用户和PowerShell,不会对其他用户或者其他 shell 造成影响。
显示 PowerShell profile 文件路径:

确定系统中是否存在 PowerShell profile,存在返回 True,不存在返回 False:

创建 PowerShell profile:

3.修改 PowerShell profile

将 Vim 的路径添加到 profile 中,并且设置别名 vi/vim:

这样,你就能通过在 PowerShell 中输入 vi/vim 来使用 vim 了。

4.修改 vimrc

vimrc 是 vim 的配置文件,保存在 vim 的安装目录下:

这样,你就能通过在 vim 中输入 :shell 指令来让 PowerShell 执行相应的指令。

使用 SxsTrace 工具跟踪诊断 side-by-side 问题

SxsTrace 的使用场景

SxsTrace 是 Windows 上的一个 WinSxs Tracing Utility,用来跟踪诊断由激活上下文失败/不正确的 side-by-side 配置产生的错误。
例如常见的:

我们用 SxsTrace 来跟踪诊断具体产生的原因。

SxsTrace 的用法

1.首先打开 cmd/powershell,然后执行以下命令开始跟踪:

2.运行有问题的程序->问题出现->按ENTER键停止跟踪。
3.SxsTrace的跟踪信息会保存在给定的文件中。
Continue Reading…

SAP HANA 获取已登陆用户的详细信息

我们在浏览器上访问我们在 SAP HANA 上面部署的应用的时候,总会先跳转到一个 SAP ID Service 的页面并要求我们注册和登陆。在成功登陆 ID Service 后,这个用户身份就会作为我们在 Application 上的用户。

这是由于 SAP HANA Cloud Platform 采用了 single sign-on (SSO) 和身份绑定的方式,使开发者能无缝的将身份管理设施集成到 HANA Cloud Application 上。
这样做的好处是开发者无需开发单独的用户管理系统,用户信息由 identity providers (IdP) 提供并统一进行管理。
同时对于用户来说,使用统一的身份进行登陆,可以省去很多个人信息注册和更新的麻烦,并保证整个 HANA 平台上的应用间的身份信息一致。
这种做法应用开发者不需要再本地存储用户验证数据,能很好的避免信息丢失或泄露,对用户更有保障。

SAP-Cloud-IdP

当我们需要获取用户的信息来做相关的应用开发时(大部分时候是需要的),这种方式就给我们带来了极大的便利。我们只需要从 IdP 提供的接口就能很方便的获取到用户的信息。

SAP HANA 默认的 IdP 就是前面提到的 SAP ID Service,这是每个 HANA Application 的默认 IdP,维护了一整套的 SAP 体系内的用户信息。无论你是内部员工,还是外部客户,或者是 SCN 注册用户,都会由这个 Service 来进行维护。

SAP-ID-Service
Continue Reading…