草庐IT

event-driven-design

全部标签

c - 可以检索 glib 'event?' 上剩余的时间

我正在使用返回事件ID的g_timeout_add或g_timeout_add_seconds创建一个事件;我可以通过调用g_source_remove取消事件。但是,在某些时候我想做的是查看事件触发前剩余的时间。是否有使用glibapi执行此操作的简单方法,或者我是否需要手动存储时间戳并将其与g_source_get_current_time进行比较? 最佳答案 在GLib中没有合理的方法来做到这一点。不合理的方法是获取GSource(g_main_context_find_source_by_id),然后在GSource上调用s

c - 如何在 Linux 内核中进行分析或使用 perf_event*.[hc] 框架?

我注意到arch/arm/kernel下有一些分析源代码:perf_event.cperf_event_cpu.cperf_event_v6.cperf_event_v7.cperf_event_xscale.c我无法理解这些文件的层次结构,我该如何使用它们?我可以假设它们总是存在并在内核模块中使用它们吗?我的内核模块在Cortex-A7或Cortex-A15内核上运行。/arch/arm/kernel/目录下似乎有很多非常有用的东西,但没有关于功能的文档?怎么来的? 最佳答案 Perf_event确实提供了一个可以以编程方式使用的

linux - 如何将 Linux 键码从/dev/input/event* 转换为 ASCII

我正在尝试将从/dev/input/event0中定义的值中读取的键盘事件转换为它们在未运行X或终端的嵌入式应用程序中的ASCII等价物。我认为这应该通过Linux中定义的键映射功能来完成,而不是仅仅创建我自己的std::map但我似乎找不到一个好的起点。到目前为止,我发现的大多数示例都假定我正在使用X窗口或终端运行。 最佳答案 文本输入(除了非常简单的传统美式键盘和7位ASCII标准)是一个极其复杂的领域。我强烈建议您使用X客户端执行此操作,您可以在其中利用所有现有的输入法。但如果您必须这样做,并且您对一种键盘和一种语言感到满意,

database-design - 如何使用 nosql 构建成就和徽章

我目前有一个使用mongodb作为数据库的社交游戏应用程序。我的问题是,如果我想创建积分和徽章系统,有什么建议。成就/徽章的业务逻辑可能会变得非常复杂并且非常临时,因此实时授予徽章似乎效率不高。我正在想象将跟踪的操作添加到某处的队列中,即AmazonSQS,或者仅使用用户的事件提要作为队列,并让另一个离线工作进程通过并仅处理每个操作/事件的影响,以查看阈值是否为任何特定的徽章都会被划掉。我对这种方法的担心是,徽章查询似乎会变得非常密集,而且我还必须跟踪大量的操作。我可以设想的成就包括诸如过去4周每周获得第二名的人的徽章,或者在50个州中的每一个州都有friend的人的徽章……等等……对

database-design - 如何使用 nosql 构建成就和徽章

我目前有一个使用mongodb作为数据库的社交游戏应用程序。我的问题是,如果我想创建积分和徽章系统,有什么建议。成就/徽章的业务逻辑可能会变得非常复杂并且非常临时,因此实时授予徽章似乎效率不高。我正在想象将跟踪的操作添加到某处的队列中,即AmazonSQS,或者仅使用用户的事件提要作为队列,并让另一个离线工作进程通过并仅处理每个操作/事件的影响,以查看阈值是否为任何特定的徽章都会被划掉。我对这种方法的担心是,徽章查询似乎会变得非常密集,而且我还必须跟踪大量的操作。我可以设想的成就包括诸如过去4周每周获得第二名的人的徽章,或者在50个州中的每一个州都有friend的人的徽章……等等……对

linux - 你能推荐一个适用于 Linux 的 PostgreSQL Visual Database Designer 吗?

当我在Windows中时,我使用excellentMicroOLAPDatabaseDesignerforPostgreSQL,但它不是开源的或多平台的。您知道或可以推荐我可以在Linux中使用的该软件的替代品吗?编辑:澄清一下,我不想使用wine来模拟PostgreSQL的MicroOlap,它工作得不太好,我更喜欢原生的或基于Java的东西。 最佳答案 pgDesigner是PostgreSQL的数据库设计应用程序,用于版本7.x和8.x。pgDesigner提供以下功能:完整的数据模型编辑器支持PostgreSQL对象:表、V

linux - perf_event_open 溢出信号

我想计算(或多或少)一段代码的确切指令数量。此外,我希望在通过特定数量的指令后收到信号。为此,我使用了由perf_event_open.我正在使用联机帮助页建议的第二种方式来实现溢出信号:SignaloverflowEventscanbesettodeliverasignalwhenathresholdiscrossed.Thesignalhandlerissetupusingthepoll(2),select(2),epoll(2)andfcntl(2),systemcalls.[...]TheotherwayisbyuseofthePERF_EVENT_IOC_REFRESHioc

c - 使用 struct epoll_event 处理内存

我正在使用epolllibrary用C语言开发服务器我有一个关于如何为structepoll_event处理内存的问题。我在一些在线示例中注意到,当进行epoll_ctl调用时,events参数在堆栈上分配,然后传递指针,如下所示:structepoll_eventev;ev.events=EPOLLIN;epoll_ctl(epfd,EPOLL_CTL_ADD,sockfd,&ev);现在我们都知道函数返回时ev会发生什么。我的问题是:epoll库是在内部复制这些值还是依赖于您传递给堆分配的结构?上面的例子会完全破坏我的react器实现吗?如果是这样,跟踪我的堆分配epoll_eve

php - Symfony2 : Getting Route in Page Load Event Listener

如何在页面加载甚至监听器中获取路由?我在services.yml中有以下代码:page_load_listener:class:Acme\MainBundle\EventListener\PageLoadListenerarguments:[@security.context,@session]tags:-{name:kernel.event_listener,event:kernel.controller,method:onKernelController,priority:64}在PageLoadListener类中我有相应的方法:publicfunctiononKernelCon

PhpStorm 未接收 xdebug 连接 : PhpStorm event log : Cannot evaluate expression 'isset($_SERVER[' PHP_IDE_CONFIG'])'

我为PhpStorm和xdebug配置了一切,我正在运行Ubuntu14.04。没有建立回IDE的连接,我在IDE事件日志中得到了这个无法接受外部Xdebug连接:无法计算表达式'isset($_SERVER['PHP_IDE_CONFIG'])'–OsamaSalama13分钟前我会将我在不同地方配置的配置值放在一起。因为我找不到问题出在哪里php.inizend_extension=/usr/lib/php5/20121212/xdebug.soxdebug.remote_enable=1xdebug.remote_handler=dbgpxdebug.remote_mode=re