小编Dog*_*Dog的帖子

SQL - 在 PostgreSQL 中以组的形式查找连续时间序列中的记录

我有一个时间序列数据,其中我试图在特定时间间隔内按顺序查找连续的记录条纹,并按每个连续记录系列进行分组。例如,如果每个集合(组)的记录之间的时间间隔为 5 分钟,则 5 分钟内的任何下一条记录都将包含在该集合中,并且任何超过 5 分钟的记录都将结束该集合(组)。接下来的两个记录将在 5 分钟内出现一个新的集合(组)。

**分钟分隔不在表中,是在查询中计算的

|    |                     |                                   |          |                                                            | 
|----|---------------------|-----------------------------------|----------|------------------------------------------------------------| 
| id | timestamp           | minute separation (Calculated **) | group    | notes                                                      | 
| 1  | 2018-02-13T01:18:00 | 0                                 | Group 1  |                                                            | 
| 2  | 2018-02-13T01:22:00 | 4                                 | Group 1  |                                                            | 
| 3  | 2018-02-13T01:25:00 | 3                                 | Group 1  |                                                            | 
| 4  | 2018-02-13T01:31:00 | 6                                 | No Group | breaks group 1                                             | 
| 5 …
Run Code Online (Sandbox Code Playgroud)

sql postgresql

4
推荐指数
1
解决办法
1035
查看次数

C#串口写字节

在C#中将单个字节写入.NET 4.0中的串行端口会导致a

用户代码未处理InvalidOperationException

每次将一个字节发送到SerialPort.

如何将单个字节写入串行端口?

    //Serial Init
    //Full fledged constuctor
    public NetCommManager(String portName, TransmissionType trans, String baud, String parity, String stopBits, String dataBits)
    {
        nc_baudRate = baud;
        nc_parity = parity;
        nc_stopBits = stopBits;
        nc_dataBits = dataBits;
        nc_portName = portName;
        nc_transType = trans;

        //now add an event handler
        comPort.DataReceived += new SerialDataReceivedEventHandler(netComm_DataReceived);
    }
Run Code Online (Sandbox Code Playgroud)

配置:

       _commManger = new NetCommManager(commPortNumber,                        
       NetCommManager.TransmissionType.Text, "19200", "None", "One", "8");
Run Code Online (Sandbox Code Playgroud)

要写的字节:

_commManager.WriteByte(Convert.ToByte( 0x7B));
Run Code Online (Sandbox Code Playgroud)

WriteByte函数为:

public void WriteByte(byte data)
        {
            //change data to array
            //byte[] dataArray = …
Run Code Online (Sandbox Code Playgroud)

c# byte serial-port send

3
推荐指数
1
解决办法
2万
查看次数

使用ActiveAdmin更新rolify中的角色

使用Rails 4.0,ActiveAdmin,Rolify和CanCan,通过activeadmin面板添加和删除用户角色不会保存(提交到数据库).

我的ActiveAdmin用户和用户模型看起来没问题,因为我可以使用check_boxes列出适用于用户的所有角色.虽然通过复选框添加任何角色或删除任何角色时,不会应用更改.

在此输入图像描述

我收到用户已成功更新的通知,但在查看数据库或呈现页面时,角色尚未更新.

如何保存表单时更新角色?

编辑:

也使用Devise.

在此输入图像描述

cancan activeadmin ruby-on-rails-4 rolify

3
推荐指数
1
解决办法
3824
查看次数

在erlang中,如何解释`fun erlang:'+'/2`中的`+`运算符

我是新手Erlang,但有一些经验Elixir当我在尝试 RAFT ra的 RabbitMQ 实现时尝试学习 Erlang 时,我在 erlang 中遇到了一行Machine = {simple, fun erlang:'+'/2, 0},

Machine = {simple, fun erlang:'+'/2, 0},
Run Code Online (Sandbox Code Playgroud)

所以,在 中 {simple, fun erlang:'+'/2, 0},,这看起来像是在创建一个元组。元组中的第一项是atom命名的simple,下一个function和最后一个是integer

{atom, function, integer}
Run Code Online (Sandbox Code Playgroud)

我不明白该函数fun erlang:'+'/2在这种情况下正在做什么。这/2意味着它应该需要 2 个参数。'+'只是一个加法运算符吗?如果是这样,这是一个简单的sum功能,我想太多了吗?erlang 文档说“如果原子不以小写字母开头或者包含字母数字字符、下划线 (_) 或 @ 以外的其他字符,则原子将用单引号 (') 括起来。”

在给定的上下文中,我看到这段代码,它指出State machine that implements the logic,这让我理解这个状态机是用atom命名的simple,执行加法,并将结果保存在元组的最后一项中。

是不是相当于 …

erlang elixir rabbitmq

3
推荐指数
1
解决办法
117
查看次数

telerik Busy Indicator不可见

嗨,我正在尝试使用带有MVVM的telerik Busy指示器.我在Mainwindow有忙碌指示器.当窗口中的某个用户控件上有操作(按钮单击)时,用户控件视图模型会向MinwindowviewModel发送消息.在消息上,应该显示忙碌指示符.但这不起作用.为什么这不起作用?

用户控制视图模型

public class GetCustomerVM : ViewModelBase
{
    private int _CustomerId;
    public int CustomerId
    {
        get { return _CustomerId; }
        set
        {
            if (value != _CustomerId)
            {
                _CustomerId = value;
                RaisePropertyChanged("CustomerId");
            }
        }
    }

    public RelayCommand StartFetching { get; private set; }
    public GetCustomerVM()
    {
        StartFetching = new RelayCommand(OnStart);
    }

    private void OnStart()
    {
        Messenger.Default.Send(new Start());
        AccountDetails a = AccountRepository.GetAccountDetailsByID(CustomerId);
        Messenger.Default.Send(new Complete());
    }
}
Run Code Online (Sandbox Code Playgroud)

用户控制视图模型是:

    private bool _IsBusy;
    public bool IsBusy
    {
        get { return _IsBusy; }
        set
        { …
Run Code Online (Sandbox Code Playgroud)

data-binding wpf mvvm mvvm-toolkit mvvm-light

2
推荐指数
1
解决办法
3516
查看次数

在ActiveAdmin中为引擎模型选择枚举

undefined method尝试获取ActiveAdmin表单以使用基于对象的枚举属性的键的选择框时,我仍然收到错误消息。在堆栈溢出后按照建议的方法为枚举配置活动管理表单似乎使我半途而废,尽管我对象的引擎方面似乎通过NoMethodError异常使枚举属性生效。

 #/lib/book_store/admin/books
 if defined?(ActiveAdmin)
  ActiveAdmin.register  BookStore::Book, as: 'Book' do
    # customize your resource here
    form do |f|
      f.semantic_errors # shows errors on :base
      f.inputs   do
        f.input :cover_type, as: :select, collection:  BookStore::Book.cover_type.keys
      end
      f.actions         # adds the 'Submit' and 'Cancel' buttons
    end
    permit_params :name, :lead, :excerpt, :description, :price, :slug, :cover_type, :num_pages, :size, :cover_image, :author, :author_id, :category
  end
end



#app/models/book_store/book.rb
module BookStore
  class Book < ActiveRecord::Base
    belongs_to :author
    belongs_to :category
    enum cover_type: [:soft, :hard]
  end
end …
Run Code Online (Sandbox Code Playgroud)

enums ruby-on-rails activeadmin

2
推荐指数
1
解决办法
1645
查看次数

在SQL连接查询期间计算在Ecto中获取虚拟字段

这可能更多是SQL问题,而不是Elixir/Etco问题.

我有很多User-Transactions-Merchant的关系,其中用户通过交易有很多商家,商家通过交易有很多客户.这很典型.我可以通过以下方式通过Ecto获得所有商家的客户:

def find_merchant_customers(%{"merchant_id" => id}) do
  merchant = Repo.get(Merchant, id)
  Repo.all assoc(merchant, :customers)
end
Run Code Online (Sandbox Code Playgroud)

如果我想为具有特定商家的用户找到余额,我有这样的SQL查询,它总结了交易并为该商家产生了余额.

def customer_balance(user_id: user_id, merchant_id: merchant_id) do
  q = from t in Transaction,
    select: fragment("SUM(CASE WHEN ? = 'credit' THEN (?) ELSE - (?) END)", t.type, t.amount, t.amount),
    where: t.user_id == ^user_id and t.merchant_id == ^merchant_id
  balance = Repo.one(q) || 0
  do_balance(balance, "asset")
   |> Money.new(:USD)
end
Run Code Online (Sandbox Code Playgroud)

这个问题

如何将两个操作合并为一个查询,以便Join检索用户列表并在用户中填充Balance的虚拟属性.我知道我可以运行第一个查询并获取用户列表,然后通过检索每个用户的每个余额来转换该数据,尽管这看起来非常低效.另一种方法可能是了解如何将select fragement(查询中的属性指定为子查询.任何指导都会有所帮助.

我的用户模型

defmodule MyApp.User do
  @moduledoc """
  User struct for user related data
  """
  import …
Run Code Online (Sandbox Code Playgroud)

sql elixir ecto

2
推荐指数
1
解决办法
1791
查看次数

Elixir - Merge 2列表列表(如列)

如何使用该Enum函数在Elixir中将两个数组合并在一起?

例如

  points  = [[1.0, 2.0],
              [5.0, 3.0],
              [2.0, 4.0],
              [3.0, 1.0],
              [2.0, 2.0],
              [4.0, 3.0],
              [1.0, 2.0],
              [2.0, 5.0],
              [14.0, 13.0],
              [11.0, 12.0],
              [12.0, 15.0],
              [32.0, 25.0]]

    results  = [1.0,
                3.0,
                2.0,
                1.0,
                3.0,
                2.0,
                1.0,
                3.0,
                2.0,
                1.0,
                3.0,
                2.0]
Run Code Online (Sandbox Code Playgroud)

组合数组(添加列)应如下所示:

    combined =  [[1.0, 2.0, 1.0],
                [5.0, 3.0, 3.0],
                [2.0, 4.0, 2.0],
                [3.0, 1.0, 1.0],
                [2.0, 2.0, 3.0],
                [4.0, 3.0, 2.0],
                [1.0, 2.0, 1.0],
                [2.0, 5.0, 3.0],
                [14.0, 13.0, 2.0],
                [11.0, 12.0, 1.0],
                [12.0, 15.0, 3.0], …
Run Code Online (Sandbox Code Playgroud)

elixir

2
推荐指数
1
解决办法
1859
查看次数

.gitignore 上要忽略的 Docker 文件

我是码头工人的新手。我已经完成了我的 Django 项目的 docker 化。.gitginore在将更改推送到项目之前,我应该添加哪些文件和/或文件夹?或者不应该添加任何文件?我不是在谈论我的.dockerignore文件。

django gitignore docker

2
推荐指数
1
解决办法
1万
查看次数

核心情节 - iOS触摸事件很难在图表上选择点

使用此功能

- (void)scatterPlot:(CPTScatterPlot *)plot plotSymbolWasSelectedAtRecordIndex:(NSUInteger)index 
Run Code Online (Sandbox Code Playgroud)

我可以为选定的点添加注释,尽管用手指在iPad或iPhone上选择图表上的一个点是很困难的.反正有没有让这个功能更宽容手指指针设备而不是鼠标?

select point scatter-plot core-plot ios

1
推荐指数
1
解决办法
895
查看次数

Angular JS在$ scope内执行函数$ timer接收TypeError

为什么$timeout在Angular JS中使用内部函数时,如下所示,工作正常.

var mytimeout = $timeout(function(){
    console.log("MyTimeout Executed");
},2000);
mytimeout.then(
    function() {
        console.log( "mytimeout resolved!", Date.now() );
    },
    function() {
        console.log( "mytimeout rejected!", Date.now() );
    }
);
Run Code Online (Sandbox Code Playgroud)

但是当我使用$timer里面的函数时,$scope它不起作用,像这样:

$scope.myFunction = function(){
   console.log("MyTimeout Executed");
}; 

var mytimeout = $timeout($scope.myFunction(),2000);
mytimeout.then(
    function() {
        console.log( "mytimeout resolved!", Date.now() );
    },
    function() {
        console.log( "mytimeout rejected!", Date.now() );
    }
);
Run Code Online (Sandbox Code Playgroud)

并收到此错误:

TypeError: undefined is not a function
    at http://0.0.0.0:3000/assets/angular.js?body=1:14015:28
    at completeOutstandingRequest (http://0.0.0.0:3000/assets/angular.js?body=1:4301:10)
    at http://0.0.0.0:3000/assets/angular.js?body=1:4602:7 angular.js?body=1:9779
(anonymous function) angular.js?body=1:9779 …
Run Code Online (Sandbox Code Playgroud)

javascript timeout angularjs angularjs-scope

1
推荐指数
1
解决办法
3491
查看次数

将 Elixir 中的进程 ID (`pid`) 转换为元组或字符串;将 pid 解析为其他类型

如何将进程 ID 转换PID为元组或字符串?

例如,假设我有一个名为my_pid

iex(1)> my_pid
#PID<0.1692.0>
Run Code Online (Sandbox Code Playgroud)

我如何将 PID ID 转换为元组或字符串以获得其中之一?

{ 0, 1692, 0 }
Run Code Online (Sandbox Code Playgroud)

或者

"0.1692.0"
Run Code Online (Sandbox Code Playgroud)

elixir

1
推荐指数
2
解决办法
1533
查看次数

找不到Friendly_Id记录

我使用带有Rails 4.0的friendly_id 5.0 stable获得了一条记录未找到的异常

错误:

在此输入图像描述

移民:

class AddSlugToUsers < ActiveRecord::Migration
    def change
       add_column :users, :slug, :string
       add_index :users, :slug
    end
end
Run Code Online (Sandbox Code Playgroud)

控制器:

class UsersController < ApplicationController
  load_and_authorize_resource
  before_filter :authenticate_user!

  def index
    authorize! :index, @user, :message => 'Not authorized as an administrator.'
    @users = User.all
  end

  def show
    #@user = User.find(params[:id])
    @user = User.friendly.find(params[:id])
  end

  def update
    authorize! :update, @user, :message => 'Not authorized as an administrator.'
    @user = User.find(params[:id])
    if @user.update_attributes(params[:user], :as => :admin)
      redirect_to users_path, :notice => "User updated." …
Run Code Online (Sandbox Code Playgroud)

activerecord friendly-id ruby-on-rails-4

0
推荐指数
1
解决办法
1555
查看次数