最近在学习Beego框架,还没进门就发现了一个坑的地方,在此记录下。

Beego官网开始学习的,按照官网的示例跑了一个项目,正常运行没有问题,但按照给定的接口调用,始终提示nomatch。

原因是Beego还未完全支持go mod,必须让示例项目在GOPATH下运行,才可以生成commentsRouter文件,否则无法生成,这就是问题所在的地方,将示例代码移到GOPATH下以后,问题解决。

这是创业第一篇笔记,如果以后有时间的话,我会在这个分类下记录我创业过程中遇到的琐碎。

公司登记

2020年9月15日是公司正式注册的日子,因为新冠肺炎疫情的原因,今年政府工作基本上都能支持网办了,我这次公司注册资料填写全程直接网办即办理完,历时约1.5小时,办理完以后下午我就去服务大厅自助机器上打印了我的营业执照正本和副本,整个过程非常便捷,而且有一点需要点赞的是,现在公司注册已经不需要自行刻制公章了,政府免费提供公章、财务章、法人章(需要注册通过后隔天去取),可以说是非常良心了。

域名注册

随着公司注册完毕以后,紧接着就是注册了一个给公司使用的域名,这里说一个小插曲,因为我公司名称叫“神经网络”科技,所以之前物色了一个NeuralNet的cn国家域名,想着把个人账号和公司账号分开,于是先在阿里云注册了企业账号并认证通过,原本以为是手到擒来的事情,结果就在我点购买的前一秒被阿里云抢先一步注册了,随后阿里云万网的客服就打电话过来,问我是否需要,当时我心中一万只草泥马奔腾而过,这简直就是强盗行径啊,随后去CNNIC打电话投诉了一波,被告知我心水的那个域名是被个人注册的,不能判定是阿里云所为,而且是先到先得,所以基本上是不可能要回来了,我猜测是阿里云内部人员有猫腻,估计就是为了杀新注册的企业用户。

由于比较气愤,所以就直接吧注册的企业账号注销了,这可能是我注册过最短命的账号,当天注册当天注销,随后阿里云的售后客服还假惺惺的打电话过来问我为什么注销账号,我理都没理就给他挂了。

但域名注册还得继续啊,怎么办呢,想着还是继续用我的个人账号先注册一个吧,但又担心出现前面那种抢注的情况,于是这次我留了个心眼,不停的搜索各种域名,然后点击购买看看会不会还出现之前的情况,蹊跷的是这次竟然一次没出现被抢注,所以我推测是我之前的操作暴露了我是要给企业注册域名,所以才被抢注。然后我重新搜索神经网络相关的单词,基本上主流的都已经被注册完了,万幸还有一个Neure的.com.cn的域名没有被注册,于是我就顺利的注册下来了。

取公章

前面也说了,公章需要隔天取,所以9月16日早上我就才过去高新区政务服务中心那边取公章,这边要给高新区管委会点赞的是,现在高新区这边所有的行政窗口全部都整合到一起了,我注册公司涉及到的全流程基本上就在政务服务中心4楼的方形柜台都能解决,包括下面要说的税务报到都可以办理。

税务登记问题

根据和我司财务总监大人咨询的结论,按照以前的逻辑,新公司注册以后就应该立马进行税务报到,于是我取完公章以后就直接去旁边的窗口咨询了税务报到的事情,负责的工作人员问了我的情况,解释说如果是新公司成立且暂时没有业务,可以有6个月的筹备期,这样就减少了每个月报税的麻烦,我想着我至少要到12月才需要开票,那么9月、10月这两个月实际上可以不用办理,所以也就暂时没有做税务登记,到时候如果需要进行财务做账和税务相关的问题,再请我司财务总监大人出马。

银行基本户问题

银行对公帐户是一个公司对外正式收款必须需要的,由于暂时没有对公收款的需求,所以就没有开立,但开立基本户是早晚的问题,去公司附近的几家银行都问了下,大概的结论如下:四大行的费用应该是最高的,以我咨询的建行为例,每年的年费约在1200元左右,而且基本上没有减免;然后其次是招行,年费在600元左右,但首年基本上是可以减免的;再其次是城市商业银行或者华夏、兴业这一类的,基本上就等于免年费了。所以下周一准备去商业银行开户吧,反正收款都能收,没啥大的影响。

开始营业

拿到章以后就可以盖章了,由于前期和某公司的小杨总已经谈好了一个外包开发业务,所以拿到章的当天就把合同给盖章寄回去了,神经网络科技算是正式营业了。 ✿✿ヽ(°▽°)ノ✿

最近更新Mac系统以后,打开终端发现每次顶部都会提示Mac系统的默认shell已经切换为zsh,通过网上查询发现,在macOS Catalina之后,苹果已经更新了默认的shell。

The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.
chengyong-Mac:~ chengyong$

按照提示输入“chsh -s /bin/zsh”之后发现之前bash下配置的所有的环境变量都失效了,需要迁移过来。

解决办法是再Home目录下新建 .zshrc 文件并在开头添加:

export PATH=$HOME/bin:/usr/local/bin:$PATH
source $HOME/.bash_profile

如果你有 .bashrc 文件,还需要继续添加:

source $HOME/.bashrc 

然后退出当前用户重新登录,再即可完成之前的环境变量的引入。

P.S. 由于 .bash_profile 是隐藏文件,如果想要查看目录下的隐藏文件,可以同时按下 Shift + Command + >. 三个按键,即可显示隐藏文件夹。

最近转岗项目经理后,已经很久没摸过家里面笔记本了,所以今天下班后,特地给Macbook开机了下,然后看到Flutter最近开始势头往上走,所以顺着Flutter官方手册把Flutter环境全部搭建了一遍。

前面都没有什么问题,在最后执行flutter doctor进行检查的时候问题出现了,先是告诉我没安装CocoaPods。

chengyong-Mac:~ chengyong$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, v1.12.13+hotfix.8, on Mac OS X 10.14.6 18G95, locale zh-Hans-US)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
[✗] Xcode - develop for iOS and macOS
    ✗ Xcode installation is incomplete; a full installation is necessary for iOS development.
      Download at: https://developer.apple.com/xcode/download/
      Or install Xcode via the App Store.
      Once installed, run:
        sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
        sudo xcodebuild -runFirstLaunch
    ✗ CocoaPods not installed.
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage
        on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To install:
        sudo gem install cocoapods
[✓] Android Studio (version 3.6)
[✓] Connected device (1 available)

! Doctor found issues in 1 category.

然后我就按照他的指导,使用sudo gem install cocoapods命令以为可以顺利安装时,此时问题出现了,我心里面开始有点小慌张了,报错信息如下。

chengyong-Mac:~ chengyong$ sudo gem install cocoapods
Building native extensions.  This could take a while...
ERROR:  Error installing cocoapods:
    ERROR: Failed to build gem native extension.

    current directory: /Library/Ruby/Gems/2.3.0/gems/ffi-1.12.2/ext/ffi_c
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby -r ./siteconf20200311-1195-1fkgxdl.rb extconf.rb
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /Library/Ruby/Gems/2.3.0/gems/ffi-1.12.2 for inspection.
Results logged to /Library/Ruby/Gems/2.3.0/extensions/universal-darwin-18/2.3.0/ffi-1.12.2/gem_make.out

此时,我把这里面一些关键信息扔给了Google,Google很快给了我一个stackoverflow的链接,看问题的日期还是很新的问题,这个问题里面并没有正面的回答原提问者的问题,但还是给了一个link指引告诉解决方案,两个链接贴在下面。

https://stackoverflow.com/questions/60481623
https://stackoverflow.com/questions/46377667

然后我们找到第二个链接里面的最高赞回答,按照他的思路来,问题顺利解决。

复盘下问题的原因:回答者的意思是,这是苹果官方的一个bug,对于在macOS 10.14安装完Xcode 11后,Xcode 11附带了macOS 10.15 SDK,并且其中包含了ruby2.6的头文件,但却不包含macOS 10.14的ruby2.3的头文件。既然Xcode 11都已经有了这两个SDK,那么我们不必再安装旧的头文件来污染系统目录,而是在使用ruby的时候直接通过选择该SDK,就可以找到适当的ruby2.3头文件。

切换使用10.14 SDK

sudo xcode-select --switch /Library/Developer/CommandLineTools
ruby -rrbconfig -e 'puts RbConfig::CONFIG["rubyhdrdir"]'

切换回Xcode 11 默认SDK

sudo xcode-select --switch /Applications/Xcode.app

解决完问题后,从github上拉了个开源项目运行了下,顺利跑起来了,而且最新的Android Studio能直接在Android和iPhone设备上同时调试,优秀。

上个月发现QQ域名邮箱正式停止接入新增域名和邮箱,这意味着QQ邮箱的域名邮箱产品很快会被抛弃了,用了域名邮箱有快7~8年了吧,中间换过好多次域名,每次换域名都第一时间绑定了域名邮箱,作为网站或者马甲邮箱,以后再也不能愉快的绑定域名邮箱,既然QQ域名邮箱不能再使用,那有没有和域名邮箱类似的好用的服务呢?答案当然是肯定的,经过寻找我发现ImprovMX比较符合我的需求,因为我只想简单的把邮件转发到我的Gmail邮箱,然后Gmail邮箱再绑定个别名邮箱,可以使用域名邮箱发送邮件就可以了。

配置ImprovMX

ImprovMX的使用非常简单,进入官网主页,输入你的域名和邮件,然后会告诉你如何进一步操作。

配置Gmail

Gmail和谷歌账号是配套使用的,如果谷歌账号启用了两步验证,就需要给Gmail验证再生成一个密码单独使用,如果没有启用两步验证,就需要开启“允许安全性较低的应用的访问权限”。

生成专用密码

点击 https://security.google.com/settings/security/apppasswords 链接,进入生成专用密码页面

开启“允许安全性较低的应用的访问权限”

点击 https://myaccount.google.com/security 链接,进入安全性页面,找到“开启访问权限(不建议)”按钮,点击开启

添加帐号

以上操作完成后,就可以进入Gmail的配置页面,点击Gmail页面右上角的小齿轮然后进入设置页面,找到“帐号和导入”-“用这个地址发送邮件:”-“添加其他电子邮件地址”

输入名称和域名邮箱地址,取消“视为别名”勾选框,点击下一步

在“SMTP服务器”填入 smtp.gmail.com , “用户名”填入你的Gmail邮箱地址, 在“密码”填入前面生成的专用密码,如果未启用两步验证,填入Google账号密码,然后点击“添加帐号”,完成添加工作,此时邮箱里面会收到验证码和链接,点击链接完成验证。