小编Lar*_*ien的帖子

Scala中的配置数据 - 我应该使用Reader monad吗?

如何在Scala中创建功能正常的可配置对象?我看过托尼莫里斯关于Readermonad 的视频,我仍然无法连接点.

我有一个硬编码的Client对象列表:

class Client(name : String, age : Int){ /* etc */}

object Client{
  //Horrible!
  val clients  = List(Client("Bob", 20), Client("Cindy", 30))
}
Run Code Online (Sandbox Code Playgroud)

我希望Client.clients在运行时确定,可以灵活地从属性文件或数据库中读取它.在Java世界中,我定义了一个接口,实现了两种类型的源,并使用DI来分配一个类变量:

trait ConfigSource { 
  def clients : List[Client]
}

object ConfigFileSource extends ConfigSource {
  override def clients = buildClientsFromProperties(Properties("clients.properties"))  
  //...etc, read properties files 
}

object DatabaseSource extends ConfigSource { /* etc */ }

object Client {
  @Resource("configuration_source") 
  private var config : ConfigSource = _ //Inject it at runtime  

  val clients …
Run Code Online (Sandbox Code Playgroud)

monads configuration scala reader-monad

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

在Spring MVC中,有没有办法生成可识别的控制器和视图列表?

在注释驱动的Spring MVC中,有没有办法生成URL模式,动词及其映射表?就像是:

 /foo/{fooId}       | GET | FooController.get()     | jsp/foo/home.jsp      |
 /foo/{fooId}/bars/ | GET | FooController.getBars() | jsp/foo/bar/index.jsp | 
Run Code Online (Sandbox Code Playgroud)

spring-mvc

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

隐藏/加密订单号作为另一个数字:对称,"随机"外观?

客户有一个简单的增加订单号(1,2,3 ......).他希望最终用户收到8位或9位数字(仅数字 - 无字符)"随机"数字.显然,这个"随机"数字实际上必须是唯一且可逆的(它实际上是对actualOrderNumber的加密).

我的第一个想法是只是洗牌一些.当我向客户展示一个样本序列时,他抱怨随后的obfuscOrderNumbers正在增加,直到它们达到"shuffle"点(低位比特发挥作用的点).他希望obfuscOrderNumbers尽可能随机看似.

我的下一个想法是确定性地播种线性同余伪随机数生成器,然后获取actualOrderNumber值.但在这种情况下,我需要担心碰撞 - 客户想要一种保证不会在至少10 ^ 7个周期内发生碰撞的算法.

我的第三个想法是"呃,只是对加密的东西进行加密",但如果我使用股票加密库,我必须对其进行后期处理才能获得8位或9位数的要求.

我的第四个想法是将actualOrderNumber的位解释为格雷编码的整数并返回.

我的第五个问题是:"我可能会过度思考这个问题.我敢打赌,StackOverflow上的某个人可以用几行代码完成这项工作."

random encryption encoding numbers

26
推荐指数
3
解决办法
6025
查看次数

如何在Java中实例化和填充Scala流?

我有一个Scala函数foo(bs : Stream[Bar]) : Bat,我需要从Java代码调用.如何Stream[Bar]在Java中创建"bs"Stream()并懒惰地生成其Bar对象?

java scala

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

在Web应用程序中使用SingletonEhCacheRegionFactory和EhCacheRegionFactory对Hibernate二级缓存有什么影响?

在集成两个子系统时,我们被迫使用多个SessionFactory实例,这在与我们的Hibernate二级缓存(Terracotta EhCache)交互时会导致麻烦.特别:

 for(CacheManager cm : CacheManager.ALL_CACHE_MANAGERS){
            LOGGER.log(Level.DEBUG, "In cm " + cm.getName());
            for(String cn : cm.getCacheNames()){
                LOGGER.log(Level.DEBUG, "I have a cache called " + cn);
                LOGGER.log(Level.DEBUG, "it's status is " + ms.getCache(cn).getStatus());
            }
        }
  try{
     myCollection.size();
  }catch(IllegalStateException ise){
      LOGGER.log(Level.FATAL, ise);  //Triggered
  }        
Run Code Online (Sandbox Code Playgroud)

调试打印输出显示STATUS_ALIVE缓存"Foo",但调用size()抛出IllegalStateException:

java.lang.IllegalStateException: The Foo Cache is not alive.
Run Code Online (Sandbox Code Playgroud)

目前,两个SessionFactories都配置为使用SingletonEhCacheRegionFactory.如果我将SessionFactories切换为使用EhCacheRegionFactory(非单例),缓存行为的后果是什么(特别是在Web App上下文中)?

java performance hibernate ehcache

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

什么是避免将状态选择上下文传递给调用堆栈的"功能方式"?

说我有一个有两个列表的特征.有时候我对这个有兴趣,有时候会对此感兴趣.

trait ListHolder {
  val listOne = List("foo", "bar")
  val listTwo = List("bat", "baz")
}
Run Code Online (Sandbox Code Playgroud)

我有一系列函数调用,在其中我有我需要在列表之间选择的上下文,但在其底部我使用了特征.

在命令式范例中,我通过函数传递上下文:

class Imperative extends Object with ListHolder {
  def activeList(choice : Int) : List[String] = {
    choice match {
      case 1 => listOne
      case 2 => listTwo
    }
  }
}

def iTop(is : List[Imperative], choice : Int) = {
  is.map{iMiddle(_, choice)}
}

def iMiddle(i : Imperative, choice : Int) = {
  iBottom(i, choice)
}

def iBottom(i : Imperative, choice : Int) = {
  i.activeList(choice) …
Run Code Online (Sandbox Code Playgroud)

design-patterns functional-programming scala idioms

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

用于快速和脏的XML序列化的Ruby代码?

给定一个中等复杂的XML结构(数十个元素,数百个属性),没有XSD,并且希望创建一个对象模型,那么避免编写样板from_xml()和to_xml()方法的优雅方法是什么?

例如,给定:

<Foo bar="1"><Bat baz="blah"/></Foo>
Run Code Online (Sandbox Code Playgroud)

我如何避免编写无穷无尽的序列:

class Foo
  attr_reader :bar, :bat

  def from_xml(el)
     @bar = el.attributes['bar']
     @bat = Bat.new()
     @bat.from_xml(XPath.first(el, "./bat")
  end
 etc...  
Run Code Online (Sandbox Code Playgroud)

我不介意明确地创建对象结构; 这是我确信可以通过一些更高级别的编程来处理的序列化......


我不是试图为每个类保存一行或两行(通过将from_xml行为移动到初始化器或类方法等).我正在寻找复制我心理过程的"元"解决方案:

"我知道每个元素都将成为一个类名.我知道每个XML属性都是一个字段名.我知道要分配的代码只是@#{attribute_name} = el.[#{attribute_name}然后递归到子元素.然后反转到to_xml."


我同意建议"构建器"类加上XmlSimple似乎是正确的路径.XML - >哈希 - >? - >对象模型(和利润!)


更新2008-09-18 AM:来自@ Roman,@ fatgeekuk和@ScottKoon的优秀建议似乎打破了问题.我下载了HPricot源码,看看它是如何解决问题的; 关键方法显然是instance_variable_set和class_eval.irb工作非常鼓舞人心,现在正朝着实施方向迈进......非常激动

ruby xml serialization metaprogramming xml-serialization

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

快照未呈现的视图会导致xamarin.ios7中出现空快照

什么时候,我从相机捕获图像然后它在ios7的控制台上给出错误.我首先尝试没有在代码中添加Thread.sleep(3000),但这也无法正常工作.

完成错误:快照未呈现的视图会导致空快照.确保在屏幕更新后快照或快照之前至少渲染了一次视图.

码:

public override void ViewDidLoad ()
    {
        base.ViewDidLoad ();

        // Perform any additional setup after loading the view, typically from a nib.           

        PictureFromCameraButton.TouchUpInside += PictureFromCameraButton_Click;

    }

private void PictureFromCameraButton_Click (object sender, EventArgs e)
    {
        try {
            Thread.Sleep (4000);                
                ImagePickerController.SetSourceType(UIImagePickerControllerSourceType.Camera);
    this.PresentViewController (ImagePickerController, true, null);


        } catch (NotSupportedException exception) {
            //Logging Exception in Flurry
            FA.Flurry.LogError(exception.GetType().Name,exception.Message,
                               new NSError(NSError.CocoaErrorDomain,3584));

            BeginInvokeOnMainThread (() => {
                UIAlertView ErrorAlert = new UIAlertView ("Device unsupported", "Your device does not support this feature",
                                                         new UIAlertViewDelegate (), "OK");
                ErrorAlert.Show …
Run Code Online (Sandbox Code Playgroud)

xamarin.ios ios7

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

如何在XDocument.Load(字符串uri)上设置超时?

有没有办法在System.Linq.Xml.XDocument.Load(string uri)上设置超时?或者我应该使用实现C#通用超时中描述的技术?

.net c# timeout linq-to-xml

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

用于将基于表格的HTML布局重构为CSS的工具?

给定一个HTML页面具有复杂的基于表格的布局和许多复制和浪费的标签,例如:

td align="left" class="tableformat" width="65%" style="border-bottom:1px solid #ff9600; border-right:1px solid #ff9600; background-color:#FDD69E" nowrap etc.
Run Code Online (Sandbox Code Playgroud)

是否有工具可以帮助将页面重构为更紧凑的形式?例如,一个自动生成CSS样式和选择器的工具?将表转换为div布局?

只是为了了解问题的顺序,我正在查看的页面是> 8000行HTML和JavaScript,500Kb 不计算图像!


更新:重新."放弃并从头开始"评论.在现实世界中,这意味着什么?打印页面,扫描它,在Dreamweaver中将其设置为背景图像,然后从那开始?真的吗?这真的比重构更有效吗?


更新:我不是在诋毁"从头开始追踪",也不是说暗示Dreamweaver无论如何都是我的选择工具.我很惊讶重构布局被认为是一个棘手的问题.

html css refactoring css-tables

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