小编Sau*_*nda的帖子

在Postgres字符串数组上创建不区分大小写的索引

varchar[]在Postgres 9.2中使用了一个列(varchar数组)来存储一些标签.在按标记检索行时,我希望查询不区分大小写.但是,我想保留在UI中显示的大小写(因此我不能只将小部件存储为小写).

所以,我的问题是如何在varchar数组中在Postgres中创建一个不区分大小写的索引?一种可能的方法是在列上创建功能性GIN索引.怎么做到这一点?还有其他方法吗?

postgresql database-indexes postgresql-9.2

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

如何将[也许是文本]与镜头连接起来?

有什么办法可以用镜头写下以下内容...

[Maybe Text] -> Text
Run Code Online (Sandbox Code Playgroud)

...可能可以概括为:

(Monoid a, Traversable t) => t a -> a
Run Code Online (Sandbox Code Playgroud)

我正在尝试做的一个具体示例:

[Just "abc", Nothing, Just "def"] -> "abcdef"
[Nothing, Nothing] -> ""
Run Code Online (Sandbox Code Playgroud)

PS:我假设镜头有一些时髦的组合器可以做到这一点。如果我对镜头的超凡能力感到迷惑,并且可以通过更简单的组合器轻松实现,请告诉我。

haskell lenses

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

仅当输入值为“ Just x”时才套用镜头“ setter”吗?

输入值设置字段)为?时,是否有任何方法可以应用Control-Lens-Setter.html#g:4中提到的组合器/设置器?Just x

例如,考虑(~+)组合器,如果我具有以下条件:

let target = (1, 2)
    input1 = Just 10
    input2 = Nothing
Run Code Online (Sandbox Code Playgroud)

我想要一个执行以下操作的设置器:

(11, 2) == target & (_1 . someSetter) +~ input1 
                  & (_2 . someSetter) +~ input2
Run Code Online (Sandbox Code Playgroud)

我尝试避免使用fmapmaybe/fromMaybe在这种情况下使用,因为我有很多此类操作要做,并且我更喜欢通过利用镜片的简洁/简洁来避免样板。

haskell lenses haskell-lens

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

jQuery FullCalendar>如何在每天添加按钮(或div)?

我想通过点击每天右下角的一个小加号(+)(在月视图中),让我的用户能够将事件添加到jQuery fullCalendar中.实现这一目标的最佳方法是什么?

一个黑客十岁上下的方式,我发现是分配background-imagetd.fc-widget-contentbackground-position: bottom right,然后使用dayClick回调.但是,只要我想为每个单元格添加一个按钮,这将会中断.

有没有更好的方法来实现这一目标?

jquery fullcalendar

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

AngularJS - 由于promise对象而产生的无限循环

我是AngularJS的新手,所以这实际上可能指向一些我尚未完全理解的核心概念.我正在尝试使用$q&promiseobjects 处理"远程数据",如本地数据.直到没有获取远程数据的时间,该promise对象无法解析,但一旦解析,我希望视图中的所有依赖数据绑定都得到更新.但是,以下方法导致无限循环remote_total被重复调用,即使通过前一次调用remote_total导致已解析的promise对象也是如此.

这是我的观点

<div ng-controller="MyController">
  {{ remote_total() }}
</div>
Run Code Online (Sandbox Code Playgroud)

这是控制器的相关代码段:

function MyController($scope, $q, $http) {
  $scope.remote_total = function() {
    var def = $q.defer();
    $http.get('/my/remote/service.json').success(function(data) {
      def.resolve(data);
    });
    return def.promise;
  }
}
Run Code Online (Sandbox Code Playgroud)

首先,如果有人能够向我解释为什么这会进入一个无限循环,那就太好了.其次,实现我想做的最好的方法是什么?

promise angularjs

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

如何在不声明单个类型的情况下解析JSON与Aeson

(Haskell新手警报)

这是我正在努力解决的代码片段.基本上,我正在从websocket中获取JSON,我想使用Aeson解析它而不为每个响应定义单独的数据类型.

import Data.Aeson
import qualified Network.WebSockets  as WS

aria2WebsocketReceiver :: WS.Connection -> IO ()
aria2WebsocketReceiver conn = do
  msg <- WS.receiveData conn
  let res = decode msg
  let v = flip parseMaybe res $ \o -> do
                                      r <- o .: "result"
                                      version <- r .: "version"
                                      enabledFeatures <- r .: "enabledFeatures"
                                      id_ <- r .: "id"
                                      return $ "version=" ++ version
  putStrLn (show v)
  aria2WebsocketReceiver conn
Run Code Online (Sandbox Code Playgroud)

以下是我遇到的编译错误:

Nightwatch/Telegram.hs:244:13:
    No instance for (FromJSON a0) arising from a use of …
Run Code Online (Sandbox Code Playgroud)

haskell aeson

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

将函数应用于类型级别的记录中的所有字段

有没有办法在类型系统中轻松完成以下操作?

data Product = Product {
    id :: ProductId
  , name :: Text
  , sku :: SKU, quantity :: Int
  , description :: Maybe Text
  }

data Omittable a = Omit | Present a
type ProductWithOmittableFields = Omittable Product

-- ProductWithOmittableFields is now equivalent to:\
--
-- data ProductWithOmittableFields = ProductWithOmmitableFields { 
--     id :: Omittable ProductId
--    ,name :: Omittable Text
--    ,sku : : Omittable SKU
--    ,quantity :: Omittable Int
--    ,desciption :: Omittable (Maybe Text)
-- …
Run Code Online (Sandbox Code Playgroud)

haskell types

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

如何撰写"可能"镜头?

如果我有一个嵌套记录的镜头,每个镜头返回一个Maybe,我怎么能让它们组成,所以如果"遍历"中的任何内容返回一个Nothing最后的结果是Nothing

data Client = Client
  {
    clientProperties :: Maybe Properties
  , ...
  }

data Properties = Properties
  {
    propSmtpConfig :: Maybe SmtpConfig
  , ...
  }

c :: Client 
c = undefined

smtp = c ^. (properties . smtpConfig) -- How to make these lenses compose?
Run Code Online (Sandbox Code Playgroud)

编辑我尝试了很多选项,但这是我能想到的最好的选择.寻找更清洁的东西:

(client ^. properties) >>= (view smtpConfig)
Run Code Online (Sandbox Code Playgroud)

haskell haskell-lens

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

Ruby - 确保局部变量不会与方法名称冲突

我试图通过应用单一责任原则来减少我的胖模型.我正在将很多常用代码剔除到mixins中,然后将它们包含在多个类中.但是,我遇到了这个局部变量与包含mixin的类的方法名(或attr_accessors)冲突的奇怪问题.例如:

module MyAwesomeMixin
  def update_total
    my_total = self.pricing_items.reduce(0) {|sum, x| sum + x} # this borks if the "host class" has a method called my_total=
    total = my_total
  end
end
Run Code Online (Sandbox Code Playgroud)

如果"主机类"有一个名为" my_total=如何确保my_total变量完全在update_total方法范围内并且与周围环境完全无关" 的方法,则上面的代码片段会产生完全意想不到的后果?

ruby mixins

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

remove_const 和模块名称

的标准 Ruby 文档remove_const中,我注意到这一行:

如果该常量引用了一个模块,则这不会更改该模块的名称,并且可能会导致混乱。

这是什么意思?删除/卸载常量与模块名称有什么关系?这是指什么样的混乱呢?

ruby module constants

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