我希望有一个用户页面和多个项目页面由GitHub页面托管,但在一个自定义域下可用(当然,每个GitHub页面存储库都有子域名).所以我的目标如下:
根据我目前的理解,GitHub Pages仅允许在Git存储库的根目录中的文件中定义的页面(用户页面和项目页面)的一个 CNAME资源记录CNAME.我已经尝试了很多东西(在我的域名提供商EUserv中使用DNS记录和标题重定向,但我只能在一个URL下访问我的GitHub用户页面(http://blog.florianwolters.de).我知道DNS更改可能需要两天时间.
有人可以向我解释,我如何才能实现上述目标?我无法相信这是不可能的,但我也不是DNS专家等.
如果以上情况不可能:您建议的解决方法是什么?我想要访问一个域(以及该域的子域)下的所有GitHub页面.
我真的想将SharpRepository与Ninject一起使用,但我不明白如何配置Ninject以在存储库之间共享Entity Framework DbContext.
我正在使用Entity Framework版本5和Ninject版本3.
目前我Ef5Repository在我的源代码中使用,但我想用它替换它ConfigurationBasedRepository.但我无法弄清楚如何将EF传递(或注入)DbContext到存储库.
示例(当前状态):
using SharpRepository.Repository;
public interface IProductRepository : IRepository<Product>
{
}
using SharpRepository.Ef5Repository;
using System.Data.Entity;
// TODO Tightly coupled to Ef5Repository.
public class ProductRepository : Ef5Repository<Product>, IProductRepository
{
// TODO The DbContext has to be injected manually.
public ProductRepository(DbContext context) : base(context)
{
}
// [...]
}
Run Code Online (Sandbox Code Playgroud)
目标:
using SharpRepository.Repository;
public interface IProductRepository : IRepository<Product>
{
}
public class ProductRepository : ConfigurationBasedRepository<Product, int>, IProductRepository
{ …Run Code Online (Sandbox Code Playgroud) 我目前正在尝试在 Windows v10.0.18363.720 操作系统上使用 Microsoft Visual C++ 编译器 (MSVC) v19.25.28610.4将Clang Static Analyzer v9.0.1集成到我的CMake v3.16.5 构建系统中。
一切都是为架构 x86_64 构建的。LLVM 和 Clang 是从源代码构建的。
在万维网 (WWW) 上阅读一些内容后,似乎有多种方法可以使用 Clang 静态分析器。遗憾的是,文档很糟糕,而且在 Windows 操作系统上似乎有一些特殊的怪癖(主要与 相关clang-cl),因此集成起来并不简单。IMO,专业程序员将其集成到 C++ 事实标准构建系统中的时间不应超过一小时。
调用 Clang 静态分析器似乎至少有五种可能性:
scan-build 脚本。
scan-build: No bugs found.到 STDOUT。clang-check 可执行。
compile_commands.json。--extra-arg论证。clang/clang++可执行文件。
c++-analyzer.bat …我目前正在玩CMake并希望检测编译器和编译器版本.我目前的情况CMakeLists.txt如下:
cmake_minimum_required (VERSION 2.6)
set (PROJECT "a_tour_of_c++")
set (GNUCXX_MINIMUM_VERSION "4.8")
set (CXX_STANDARD "c++11")
message ("${CMAKE_CXX_COMPILER}") # C:/dev/MinGW/bin/g++.exe
message ("${CMAKE_CXX_COMPILER_ID}") # EMPTY
message ("${CMAKE_COMPILER_IS_GNUCXX}") # EMPTY
if (CMAKE_COMPILER_IS_GNUCXX)
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS GNUCXX_MINIMUM_VERSION)
message (FATAL_ERROR "GCC version must be at least ${GNUCXX_MINIMUM_VERSION}!")
endif()
else()
message (FATAL_ERROR "Invalid compiler!")
endif()
set (BUILD_DIR build)
set (HEADER_DIR include)
set (SOURCE_DIR src)
set (MAIN_FILE ${SOURCE_DIR}/main.cc)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=${CXX_STANDARD}")
project ($(PROJECT))
include_directories (${HEADER_DIR})
add_executable (${BUILD_DIR}/${PROJECT} ${MAIN_FILE})
Run Code Online (Sandbox Code Playgroud)
该文件很好,我可以用这个文件成功地清理,构建和运行我的cli应用程序(如果我注释掉else编译器检查的-branch).
问题是,这两个CMAKE_CXX_COMPILER_ID和 …
我试图在测试库Catch中添加biicode支持,并且在与Objective-C和Microsoft Foundation Classes(MFC)相关的外部依赖项方面遇到了一些问题.
如果运行,则打印以下内容bii deps:
florianwolters/catch depends on:
system:
algorithm
assert.h
cmath
cstddef
cstdio
cstring
fstream
iomanip
iostream
iterator
limits
map
memory
ostream
set
sstream
stdbool.h
stdexcept
stdint.h
stdlib.h
streambuf
string
sys/time.h
sys/types.h
unistd.h
vector
windows.h
unresolved:
AfxWin.h
Foundation/Foundation.h
objc/runtime.h
sys/sysctl.h
Run Code Online (Sandbox Code Playgroud)
这三个文件sys/sysctl.h,objc/runtime.h与Foundation/Foundation.hObjective-C中的iOS开发有关.该文件AfxWin.h是Microsoft的C++库Microsoft Foundation Classes(MFC)的一部分.我创建的biicode块是florianwolters/catch(有关详细信息).
所以问题是:如何处理这种依赖?虽然我尚未检查许可证,但将Apple或Microsoft拥有的源代码(甚至可能是非法的)上传到bicode是没有意义的.
简单地忽略这些未解决的问题是"适当的"或推荐的方式吗?
编辑2015-01-11:
我已经写了一篇博客文章的过程在这里.如果我有任何错误或者您有任何改进工作流程的建议,请告诉我.
我目前正在使用 Google Protocol Buffers重新审视一个项目。
在项目中,我想利用协议缓冲区的描述符和反射功能。
官方文档说明.proto文件的注释可以读取:
DebugStringWithOptions(),在消息或描述符上调用。GetSourceLocation(),在描述符上调用。我无法检索评论,因此我认为我做错了什么,或者该功能尚未在 Protocol Buffers 中完全实现。
下面是一些代码片段:
google::protobuf::DebugStringOptions options;
options.include_comments = true;
std::cout << "google::protobuf::Descriptor::DebugStringWithOptions(): "
<< message.descriptor()->DebugStringWithOptions(options) << std::endl
<< std::endl;
const google::protobuf::FieldDescriptor* field_descriptor{
message.descriptor()->field(1)};
// TODO(wolters): Why doesn't this work?
google::protobuf::SourceLocation* source_location{
new google::protobuf::SourceLocation};
field_descriptor->GetSourceLocation(source_location);
// if (field_descriptor->GetSourceLocation(source_location)) {
std::cout << "start_line: " << source_location->leading_comments
<< std::endl;
std::cout << "end_line: " << source_location->leading_comments << std::endl;
std::cout << "start_column: " << source_location->start_column …Run Code Online (Sandbox Code Playgroud) 我无法弄清楚如何使用Android发送元键(例如CTRL)和键码(例如用于RETURN)的组合(我使用API级别11 =版本3.0).
KeyEvent类的文档提到了诸如META_CTRL_ON之类的常量,并且还支持元键的键码常量(例如KEYCODE_CTRL_LEFT).
我正在使用Javascript Key Event Tester测试输入法编辑器(IME)生成的输出.顺便说一句,我的目标是开发一个软件键盘.
如果我理解正确的文件,这将足以执行以下代码发送CTRL键唯一:
this.sendDownUpKeyEvents(KeyEvent.KEYCODE_CTRL_RIGHT);
Run Code Online (Sandbox Code Playgroud)
但是当针对Javascript Key Event Tester(见上文)执行此操作时,没有任何反应.
因此,我需要了解如何仅发送元密钥以及将元密钥与另一个密钥组合发送.我也尝试了以下发送SHIFT + ENTER(一个具体的例子):
private void _sendShiftEnter() {
this.sendDownKeyEvent(KeyEvent.KEYCODE_SHIFT_LEFT);
final long eventTime = SystemClock.uptimeMillis();
this.getCurrentInputConnection().sendKeyEvent(
new KeyEvent(
eventTime, // The time (in uptimeMillis()) at which this key code originally went down.
eventTime, // The time (in uptimeMillis()) at which this event happened.
KeyEvent.ACTION_DOWN, // Action code: either ACTION_DOWN, ACTION_UP, or ACTION_MULTIPLE.
KeyEvent.KEYCODE_ENTER, // The key code.
0, …Run Code Online (Sandbox Code Playgroud) 我想为依赖管理器Biicode创建一个块.我不想触及现有的源代码,因此我必须将现有Bii块的包含路径映射到源代码中使用的路径.
我在现有代码中使用以下内容:
#include "gtest/gtest.h"
#include "fw/core/uncopyable_mixin.h"
Run Code Online (Sandbox Code Playgroud)
使用默认设置,Bii需要以下路径:
#include "google/gtest/include/gtest/gtest.h"
#include "florianwolters/include/fw/core/uncopyable_mixin.h"
Run Code Online (Sandbox Code Playgroud)
如果我更换包含,一切都按预期工作.但正如我已经说过的那样,我不想要这样丑陋的包含路径,而是使用常识(如Boost和其他库所做的那样).
因此我需要映射路径.我已经阅读biicode.conf并偶然发现了这一[includes]部分.
我尝试过以下方法:
[requirements]
google/gtest: 9
florianwolters/uncopyable-mixin: 0
[parent]
florianwolters/singleton: -1
[paths]
include
[dependencies]
[mains]
[hooks]
[includes]
gtest/gtest.h: google/gtest/include/gtest
fw/core/uncopyable_mixin.h: florianwolters/uncopyable-mixin/include/fw/core
[data]
Run Code Online (Sandbox Code Playgroud)
但这不起作用:
INFO: Processing changes...
WARN: Removing unused reference to "florianwolters/uncopyable-mixin: 0" from florianwolters/singleton "requirements"
WARN: Removing unused reference to "google/gtest: 9" from florianwolters/singleton "requirements"
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:我如何配置映射以使其与现有的#include语句一起使用?这必须工作,否则它是一个杀手标准......
我目前正在使用Google Protocol Buffers的 v3.0.0-alpha-2 .
据我所知,v3删除了required关键字,extensions
字段的关键字和默认值,以简化原型语言.
我不明白的是optionalproto3中关键字的含义.
例:
syntax = "proto3";
package fw.example;
message ExampleMessage {
optional string optional_string = 1;
string normal_string = 2;
}
Run Code Online (Sandbox Code Playgroud)
问:是什么区别optional_string和normal_string
除了名称和标记?
我已经阅读了以下资源(它们似乎是protobuf v3的唯一公开版本):
但他们甚至没有提到optional关键字.
optional在proto3过时,因为现场始终是可选的?required?似乎在proto3中,人们不能再将未设置的字段和客户端设置的字段区分为(隐式)默认值.
最好的做法是将每个proto3消息包装在特定于语言的类中吗?我正在使用C++,我需要确保设置特定的字段.与proto2相比,现在似乎必须在语言特定的源代码中手动完成验证.
有人可以启发我,对proto3消息应用约束但允许方案演变的最佳方法是什么?目前我认为必须围绕proto3消息编写新的API,以便客户端不直接处理proto3生成的代码,而是使用自定义API代码.那是对的吗?
也许有人可以给我一个具体的例子来讨论.
我很困惑,因为v3的发行说明中说明了以下内容:
我们建议新的Protocol Buffers用户使用proto3.但是,由于API不兼容,我们通常不建议现有用户从proto3迁移proto2,并且我们将继续支持proto2很长一段时间.
如果proto3是要走的路,为什么事情变得复杂?在我看来,我现在需要编写比proto2更多的代码.
如何传递clang旗帜,例如-fms-compatibility-version使用<LANG>_CLANG_TIDYCMake属性?在CLI上这很容易:
clang-tidy main.cpp -- -fms-compatibility-version=19.10
Run Code Online (Sandbox Code Playgroud)
但是使用CMake,这不能按预期工作:
-DCMAKE_CXX_CLANG_TIDY="clang-tidy;-checks=-*,readability-*;--;-fms-compatibility-version=19.10"
Run Code Online (Sandbox Code Playgroud)
该标志是clang使用现代版本的MSVC 所必需的.
如果这是不可能的; 有没有其他方法来集成CMake + MSVC + clang-tidy(除了创建自定义构建目标)?
c++ ×5
biicode ×2
clang ×2
cmake ×2
dependencies ×2
include ×2
visual-c++ ×2
android ×1
c# ×1
c++11 ×1
clang-tidy ×1
cname ×1
descriptor ×1
dns ×1
g++ ×1
gcc ×1
github ×1
github-pages ×1
header ×1
key-events ×1
keyevent ×1
mingw ×1
ninject ×1
proto3 ×1
repository ×1
subdomain ×1