加载中…
个人资料
mryqu
mryqu
  • 博客等级:
  • 博客积分:0
  • 博客访问:1,407
  • 关注人气:70
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
博文
标签:

golang

gopath

package

import

分类: Tech

才开始玩GoLang,碰到一些与包导入相关的问题:

  • go build没有找到vendor目录下的包
  • local import './XXX' in non-local package

GoLang自定义包的特点


  1. Go的package不局限于一个文件,可以由多个文件组成。组成一个package的多个文件,编译后实际上和一个文件类似,组成包的不同文件相互之间可以直接引用变量和函数,不论是否导出;因此,组成包的多个文件中不能有相同的全局变量和函数(这里有一个例外就是包的初始化函数:init函数)
  2. Go不要求package的名称和所在目录名相同,但是你最好保持相同,否则容易引起歧义。因为引入包的时候,go会使用子目录名作为包的路径,而你在代码中真正使用时,却要使用你package的名称。
  3. 每个子目录中只能存在一个package,否则编译时会报错。
  4. Go的package是以绝对路径GOPATH来寻址的,不要用相对路径来导入

包的初始化函数init


包中可以有多个初始化函数init,每个初始化函数都会被调用,且顺序固定。

  1. 对同一个Go文件的init()调用顺序是从上到下的
  2. 对同一个package中不同
(2017-05-11 06:00)
标签:

quandl

api

databuilder

分类: DataBuilder

Quandl是为投资专业人士提供财务、经济和替代数据的平台。 Quandl来源于500多家出版商的数据。所有Quandl的数据都可通过API访问,也可以通过包含R、Python、Ruby等多种编程语言及Excel、SAS等软件进行原生访问。Quandl的来源包括联合国,世行和中央银行等提供商的公开数据、来自CLS集团,Zacks和ICE等供应商的核心财务数据、Dun&Bradstreet的其他数据、以及许多机密来源。

什么是替代数据?替代数据的范围非常广泛,起初主要包含了未加工的、原始的公司文件、历史市场价格、投资者表现等数据,而现在替代数据已经涵盖任何从移动手机数据到职位信息再到天气预报、交通、卫星图像等能够被采集到的数据。替代数据世界由一系列模糊的数据集组成,而这些数据集可以被转换为交易信息。Quandl提供的替代数据包括企业财务压力数据、外汇数据、电子邮件收据数据、全球石油储量数据、定量股票选择数据等。

Quandl上的数据分为免费数据和高级(Premium)数据,其中高级数据只能通过订阅访问。


申请Quandl账号


除了在Quandl上注册帐号外,Quandl还支持使用GitHub、Google和LinkedIn账号进行OAuth2认证登录。登录后查看账户设置

标签:

c

jsoncpp

jsonvalue

string

convert

分类: Tech

需要将如下JSON字符串作为GoogleSheets API POST请求的消息体。打算使用JsonCpp实现。


  {'majorDimension':'ROWS','values':[['Name','Sex','Age','Height','Weight'],['阿尔弗雷德','男','14','69','112.5'],['爱丽丝','女','13','56.5','84'],['芭芭拉','女','13','65.3','98'],['凯露','女','14','62.8','102.5'],['亨利','男','14','63.5','102.5'],['詹姆斯','男','12','57.3','83'],['简','女','12','59.8','84.5'],['雅妮特','女','15','62.5','112.5'],['杰弗瑞','男','13','62.5','84'],['约翰','男','12','59','99.5'],
标签:

rabbitmq

autorecoveringconnec

shutdownlistener

recoverylistener

hook

分类: Web.JavaEE

想玩一玩RabbitMQ中的ShutdownListener和RecoveryListener,又不想写自己的重连接逻辑,所以使用了ConnectionFactory类的setAutomaticRecoveryEnabled方法让其自动恢复连接。代码如下:


  package com.yqu.rabbitmq;  import com.rabbitmq.client.*;  import java.io.IOException;  public class AutoRecoveryRecv {    private final static String QUEUE_NAME = 'hello';    public static void main(String[] argv) throws Exception {     try {       ConnectionFactory factory = new ConnectionFactory();       factory.setHost(ConnectionFactoryConfiguration.HOST);       factory.se
http://www.ted.com/talks/julian_treasure_how_to_speak_so_that_people_want_to_listen

0:12The human voice: It's the instrument we all play. It's the most powerful sound in the world, probably. It's the only one that can start a war or say 'I love you.' And yet many people have the experience 

(2016-01-07 06:08)
标签:

curl

error

handling

c

分类: DataBuilder

cURL执行错误分为两种:

  • 通过curl_easy_perform函数执行请求结果,返回值不是CURLE_OK。错误信息除了可以对照CURLcode定义查看,也可以通过设置CURLOPT_ERRORBUFFER设置错误缓存区获得人类易读的错误文字信息。
    范例见https://curl.haxx.se/libcurl/c/CURLOPT_ERRORBUFFER.html
    
      curl = curl_easy_init(); if(curl) {   CURLcode res;   char errbuf[CURL_ERROR_SIZE];     curl_easy_setopt(curl, CURLOPT_URL, 'http://example.com');   curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errbuf)
    
标签:

visual

studio

2010

unicode

replaced

分类: Devops.Container.Tool

遭遇下列VS2010错误: Some bytes have been replaced with the Unicode substitution character while loading file base64.cpp with Chinese Simplified (GB2312) encoding. Saving the file will not preserve the original file contents.

http://s14/mw690/0026uWfMgy6Y9r5a4DH8d&690

我的Visual Studio已经勾选了Auto-detect UTF-8 encoding without signature:
http://s4/mw690/0026uWfMgy6Y9t5TUht53&690

Ultraedit不能正常显示base64.cpp,但Sublime Text能正常显示。

标签:

nm

cpp

gcc

分类: Devops.Container.Tool

练习使用nm查看目标文件的符号列表。此外发现G++竟然创建了两套构造函数和析构函数。


nm命令


  • -a或--debug-syms:显示调试符号。
  • -B:等同于--format=bsd,用来兼容MIPS的nm。
  • -C或--demangle:将低级符号名解码(demangle)成用户级名字。这样可以使得C++函数名具有可读性。
  • -D或--dynamic:显示动态符号。该任选项仅对于动态目标(例如特定类型的共享库)有意义。
  • -f format:使用format格式输出。format可以选取bsd、sysv或posix,该选项在GNU的nm中有用。默认为bsd。
  • -g或--extern-only:仅显示外部符号。
  • -n、-v或--numeric-sort:按符号对应地址的顺序排序,而非按符号名的字符顺序。
  • -p或--no-sort:按目标文件中遇到的符号顺序显示,不排序。
  • -P或--portability:使用POSIX.2标准输出格式代替默认的输出格式。等同于使用任选项-f posix。
  • -s或--print-armap:当列出库中成员的符号时,包含索引。索引的内容包含:哪些模块包含哪些名字的映射。
  • -r或--reverse-sort:反转排序的顺序(例如
标签:

gradle

git

plugin

ajoberstar

devops

分类: Devops.Container.Tool

Git是一个很流行的分布式版本管理工具。能在构建过程中与Git进行交互,可以提供更强大和更一致的结果。

JGit提供了与Git仓库交互的强大Java API。然而,在Groovy上下本使用它会笨重,需要在所要执行的表达式包一堆换七八糟的东东。Grgit是Andrew Oberstar实现的JGit封装器,为基于Groovy的工具与Git仓库交互提供了更简洁流畅的API。

gradle-git同样是由Andrew Oberstar实现的一系列Gradle插件:
  • org.ajoberstar.grgit - 提供一个Grgit实例,允许与Gradle项目所在的Git仓库交互
  • org.ajoberstar.github-pages - 向Github仓库的gh-pages分支发布文件
  • org.ajoberstar.release-base - 提供用于从项目状态和所在Git仓库推断当前项目版本和创建新版本的通用结构
  • org.ajoberstar.release-opinion - 用于org.ajoberstar.release-base的默认选项,遵从语义版本控制(Semantic Versioning)
标签:

docker

image

存储位置

存储方式

devops

分类: Devops.Container.Tool

接触docker后,我就有个疑问:我们用docker pull镜像后,该镜像是存储在哪里的? 是以一个特俗的二进制类型存储的么?
后来阅读了Docker的镜像存储在哪里这篇博文,得以解惑,并进行了验证。

Docker的镜像存储在/var/lib/docker目录下,存储方式有点像Git那样有reference和实际的objects,并且是实际内容是diff那样的增量存放。
http://s1/mw690/0026uWfMgy6UCAWCsX630&690


Docker的镜像存储在哪里

有个疑问就是我们用docker pull镜像后,该镜像是存储在哪里的?

当你仅仅是使用docker启动一个实例的时候,是超级简单的,但是当你制作自己的Dockerfile时,可能会有一些迷惑,那就是我的docker镜像存储在哪里了。这个听起来让我感觉有点一筹莫展,对于docker image的

  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有