这是我第一次尝试在C++中编写任何稍微复杂的东西,我正在尝试构建一个可以从Objective-C和.NET应用程序接口的共享库(好的,那部分后来......)
我的代码是 -
#ifdef TARGET_OS_MAC
// Mac Includes Here
#endif
#ifdef __linux__
// Linux Includes Here
#error Can't be compiled on Linux yet
#endif
#ifdef _WIN32 || _WIN64
// Windows Includes Here
#error Can't be compiled on Windows yet
#endif
#include <iostream>
using namespace std;
bool probe(){
#ifdef TARGET_OS_MAC
return probe_macosx();
#endif
#ifdef __linux__
return probe_linux();
#endif
#ifdef _WIN32 || _WIN64
return probe_win();
#endif
}
bool probe_win(){
// Windows Probe Code Here
return true;
}
int main(){
return 1;
} …Run Code Online (Sandbox Code Playgroud) 我有一段代码,只是试图在远程服务器上执行一个脚本,如果它失败了,我想打个电话跟进,想象一下:
require 'rubygems'
require 'net/ssh'
require 'etc'
server = 'localhost'
Net::SSH.start(server, Etc.getlogin) do |ssh|
puts (ssh.exec("true") ? 'Exit Success' : "Exit Failure")
puts (ssh.exec("false") ? 'Exit Success' : "Exit Failure")
end
Run Code Online (Sandbox Code Playgroud)
我希望(忽略stdout和stderr打印在我的设计示例中) - 但是第一行应该退出0,我希望Ruby会与之交互false并显示"退出失败"(当然,逻辑是错误的,三元需要被翻转) - 但第二行应以相反的状态退出,但事实并非如此.
我甚至无法在文档中找到有关如何执行此操作的任何内容,我有点担心我可能做错了吗?!
我使用的是PostgreSQL v9.0.1与Rails(和它的DEPS)@ v2.3.8,由于使用的Postgres的全文能力,我有被定义为表:
CREATE TABLE affiliate_products (
id integer NOT NULL,
name character varying(255),
model character varying(255),
description text,
price numeric(9,2),
created_at timestamp without time zone,
updated_at timestamp without time zone,
textsearch_vector tsvector,
);
注意最后一行,这确保了活动记录是无法与标准架构自卸车处理它,所以我必须设置config.active_record.schema_format = :sql在./config/environment.rb; 并使用rake db:test:clone_structure而不是rake db:test:clone.
这些都不是太了不起,只是不方便 - 但是rake db:test:clone_structure错误却失败了:
ERROR: must be owner of language plpgsql
因为#16我的结果./db/development_schema.sql:
CREATE OR REPLACE PROCEDURAL LANGUAGE plpgsql;
在超级用户安装PostgreSQL v9.0+ …
我正在使用以下路由条件的Rails 3.2应用程序:
scope "(:locale)", locale: /de|en/ do
resources :categories, only: [:index, :show]
get "newest/index", as: :newest
end
Run Code Online (Sandbox Code Playgroud)
我有一个控制器,具有以下内容:
class LocaleController < ApplicationController
def set
session[:locale_override] = params[:locale]
redirect_to params[:return_to]
end
end
Run Code Online (Sandbox Code Playgroud)
我在模板中使用这样的东西:
= link_to set_locale_path(locale: :de, return_to: current_path(locale: :de)) do
= image_tag 'de.png', style: 'vertical-align: middle'
= t('.languages.german')
Run Code Online (Sandbox Code Playgroud)
我想知道为什么在Rails中不存在帮助器,例如current_path,能够推断出我们当前使用的路由,并且重新路由到它包括新选项.
我遇到的问题是使用类似的东西redirect_to :back,一个将用户推回/en/........(或/de/...),这会带来糟糕的体验.
到目前为止,我在会话中存储了区域设置,但这不适用于Google和其他索引服务.
我敢肯定,如果我投入足够的时间,我可以用一些足够聪明的东西来检测匹配的路线,并交换出语言环境部分,但我觉得这将是一个黑客.
我对所有想法持开放态度,但这个问题建议只使用sub(); 不幸的是,有这么短且频繁出现的字符串作为语言环境短代码,可能不太明智.
背景,我们的应用程序中的类/模块的当前实现是common.js和CoffeeScript类.我正在拼命寻找使用ES6或TypeScript的解决方案,但问题仍然存在.
如何使用Angular-1.x进行类继承的DI?
鉴于代码:
// SuperService.js
class SuperService {
constructor($http, $q, $etc) {
// Implementation is not important ...
}
}
export { SubService }
// SubService.js
import { SuperService } from './SuperService';
class SubService extends SuperService {
constructor($more, $di, $things, $here) {
// Implementation is not important ...
// // // // // // // // // //
// Problem exists here ... //
// // // // // // // // // //
super($we, $need, $all, $the, $super, \ …Run Code Online (Sandbox Code Playgroud) 鉴于以下代码:( 转载于此处play.golang.org)
package main
import (
"encoding/json"
"fmt"
)
type User struct {
Id int `json:"id"`
Name string `json:"name"`
}
type Session struct {
Id int `json:"id"`
UserId int `json:"userId"`
}
type Anything interface{}
type Hateoas struct {
Anything
Links map[string]string `json:"_links"`
}
func MarshalHateoas(subject interface{}) ([]byte, error) {
h := &Hateoas{subject, make(map[string]string)}
switch s := subject.(type) {
case *User:
h.Links["self"] = fmt.Sprintf("http://user/%d", s.Id)
case *Session:
h.Links["self"] = fmt.Sprintf("http://session/%d", s.Id)
}
return json.MarshalIndent(h, "", " ")
}
func …Run Code Online (Sandbox Code Playgroud) 我正在寻求改进mDNS的Go库:https://github.com/davecheney/mdns/
我和作者谈过,他简单地说"我把它弄到了适合我的地步",这很好,完全符合开源的精神.
他提到Avahi,Bonjour和dns-sd发现工具的一些互操作性问题没有找到他导出的服务.
我想了解Avahi在使用端口进行简单服务时发布的记录,以及简单的名称.
我曾预料到适当的版本:
dig @localhost .local -t AXFR
Run Code Online (Sandbox Code Playgroud)
可能让Avahi导出它的区域,但它对我不起作用(提示"你做错了"!) - 我想了解典型Avahi服务导出的最小记录,并自动检查Lee-Hambleys-Macbook.local从笔记本上的Apple实现中导出,我可以改进对mDNS的Go lang支持.
当其他人正在使用Avahi/Bonjour/mDNS时,他们使用什么工具来挖掘并检查事情是否按预期工作?
#avahi的善良人士非常友好地给我以下提示:
killall -USR1 avahi-daemon
Run Code Online (Sandbox Code Playgroud)
这导致avahi-daemon将其区域文件转储到syslog.
但理想情况下,我想知道如何最好地查询服务器,tcpdump看起来也很有希望,但它仍然只显示得到查找的记录,而不是完全转储区域中的所有内容:
sudo tcpdump dst port 53
Password:
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on en0, link-type EN10MB (Ethernet), capture size 65535 bytes
09:43:28.883763 IP 192.168.178.41.50916 > resolver2.opendns.com.domain: 50479+ A? e3191.c.akamaiedge.net. (40)
09:43:29.046201 IP 192.168.178.41.61989 > resolver2.opendns.com.domain: 55378+ PTR? 251.0.0.224.in-addr.arpa. (42)
09:43:29.123784 IP …Run Code Online (Sandbox Code Playgroud) 除了标题之外,当从ActiveRecord加载数据时,尽管我尽最大努力强制编码,但编码始终设置为ASCII-8Bit.我已经在这里输入了尽可能详细的信息,试图建立一个可以用来帮助我的好错误报告!
该项目使用以下技术:
(完整名单)
$ bundle show | ack '(record|padrino)'
* activerecord (2.3.8)
* padrino (0.9.14)
* padrino-admin (0.9.14)
* padrino-core (0.9.14)
* padrino-gen (0.9.14)
* padrino-helpers (0.9.14)
* padrino-mailer (0.9.14)
Run Code Online (Sandbox Code Playgroud)
剧集表:
mysql> DESCRIBE `episodes`;
+----------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| show_id | int(11) | YES | | NULL | |
| season_id …Run Code Online (Sandbox Code Playgroud) 这里有一个开放式问题,所以我先概述一下这个问题.我们有一个Resque工作者应该从队列中弹出数据同步作业,原因是双重的,使用Cron(并且支持Rails环境引导时间一遍又一遍)很糟糕,以及替代队列,Github做的很好当他们宣布Resque时,他们是一个非常好的案例.此外,Redis时间序列功能已经成为我们基础设施的重要组成部分,我们还将TS数据混合到RRDTool等中......
这是问题,工作之间通常有三个小时(但工作人员可以随时安排工作......因此队列),PostgreSQL服务器消失了.足够容易治愈,我预计,设置reconnect: true相应的环境下,将确保这一预期一样.我在读一些 地方是reconnect: true不会为使用应用程序的工作fork().当然,Resque确实会启动它的工作人员...我不明白的部分是为什么ActiveRecord的重新连接在这些情况下无法工作?
我注意到的实现reconnect!了MySQL的适配器和PostgreSQL的适配器中的ActiveRecord是不同的......但无论哪种方式,我希望ActiveRecord的reconnect: true配置工作.
这个问题似乎很清楚,当子进程存在时,它会关闭父进程创建的文件句柄(从而挂断与数据库的连接) - 是否有可能以ActiveRecord不这样的方式关闭文件句柄认识到连接已经终止?
还有,值得一提的是,我能够在Github上找到一个ActiveRecord感知的fork()作为一个牧师 - 它没有经过测试,但我认为它有效(没有用当前的Rails试过......)
我的问题是,为什么不能自动重新连接AR工作如果你fork()?(而且,后来 - 我不能成为唯一一个遇到这个问题的人;我正在将它用于使用带有Resque的PGSQL!)
我有一个小但不平凡的项目,由于架构原因,它被构建为三个独立的项目,它们是相互依赖的,所以除非我特别专注,或者提高发现漏洞的测试覆盖率,否则这是有意义的我从项目根开始工作。
布局是这样的:
/CMakeLists.txt
/build/
/src/command-line-application/
/src/command-line-application/CMakeLists.txt
/src/command-line-application/build/
/src/command-line-application/src/
/src/command-line-application/tests/
/src/command-line-application/include/
/src/vlc-plugin/
/src/vlc-plugin/src/
/src/libmyproject/
/src/libmyproject/CMakeLists.txt
/src/libmyproject/build/
/src/libmyproject/src/
/src/libmyproject/tests/
/src/libmyproject/include/
/src/libmyotherproject/
/src/libmyotherproject/CMakeLists.txt
/src/libmyotherproject/build/
/src/libmyotherproject/src/
/src/libmyotherproject/tests/
/src/libmyotherproject/include/
Run Code Online (Sandbox Code Playgroud)
关于架构的一句话,libmyproject是我的应用程序的真正核心,它是这样构建的,因为 CLI 是将代码发送给最终用户的可怕方式,作为一个库,它也可以在 C# 和 Objective-C 应用程序中使用。(一切都按预期工作)
这libmyotherproject是一些特定于平台的支持代码,不直接连接到libmyproject,它有一些单元测试。
除了表明并非所有内容都有单元测试之外,这vlc-plugin在这里并不重要。/src/*/
我的工作流程通常是破解 CLI 应用程序,直到出现有用的东西,然后将其重构到库中,并确保它是可移植的。
当我工作时/src/*/build/,通常是跑步时cmake ../ && make && ctest --output-on-failure,一切正常。
/build当我在和 run中工作时cmake,各个组件是add_subdirectories()从 CMake 正确构建的(使用),但CTest没有递归地找到测试。
该文档对CTest您应该做的事情有点无帮助:
USAGE
ctest [options]
DESCRIPTION
The "ctest" executable is the CMake …Run Code Online (Sandbox Code Playgroud) ruby ×5
activerecord ×3
go ×2
mysql ×2
postgresql ×2
angularjs ×1
avahi ×1
c++ ×1
cmake ×1
ctest ×1
dns ×1
ecmascript-6 ×1
encoding ×1
javascript ×1
json ×1
marshalling ×1
mdns ×1
multicast ×1
net-ssh ×1
padrino ×1
plpgsql ×1
resque ×1
ssh ×1
unit-testing ×1