小编oco*_*odo的帖子

设计模式命名与澄清:提供者,服务,经纪人

有人可以为我定义提供者,服务和经纪人之间的概念差异吗?

我经常编写MVC应用程序并将大部分业务逻辑卸载到其他类.没什么好看的,只需传递参数并接收回POCO实例.

什么是正确的标签,让那些课程为我的控制器执行繁重的工作?

c# design-patterns naming-conventions asp.net-mvc-3

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

如何使用shell脚本解压所有.tar.gz?

我试过这个:

DIR=/path/tar/*.gz

if [ "$(ls -A $DIR 2> /dev/null)" == "" ]; then
  echo "not gz"
else
  tar -zxvf /path/tar/*.gz -C /path/tar
fi
Run Code Online (Sandbox Code Playgroud)

如果文件夹有一个tar,它可以工作.如果文件夹有很多tar,我收到一个错误.

我怎样才能做到这一点?

我有一个想法来运行循环来解压,但我不知道如何解决这个问题

linux shell tar

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

使用特定的mysql索引和rails

我有这个ActiveRecord查询

issue = Issue.find(id)
issue.articles.includes(:category).merge(Category.where(permalink: perma))
Run Code Online (Sandbox Code Playgroud)

并将其翻译成mysql查询

SELECT `articles`.`id` AS t0_r0, `articles`.`title` AS t0_r1, 
       `articles`.`hypertitle` AS t0_r2, `articles`.`html` AS t0_r3,
       `articles`.`author` AS t0_r4, `articles`.`published` AS t0_r5,
       `articles`.`category_id` AS t0_r6, `articles`.`issue_id` AS t0_r7,
       `articles`.`date` AS t0_r8, `articles`.`created_at` AS t0_r9, 
       `articles`.`updated_at` AS t0_r10, `articles`.`photo_file_name` AS t0_r11,
       `articles`.`photo_content_type` AS t0_r12, `articles`.`photo_file_size` AS t0_r13,
       `articles`.`photo_updated_at` AS t0_r14, `categories`.`id` AS t1_r0,
       `categories`.`name` AS t1_r1, `categories`.`permalink` AS t1_r2,
       `categories`.`created_at` AS t1_r3, `categories`.`updated_at` AS t1_r4,
       `categories`.`issued` AS t1_r5, `categories`.`order_articles` AS t1_r6 
        FROM `articles` LEFT OUTER JOIN `categories` …
Run Code Online (Sandbox Code Playgroud)

ruby mysql activerecord ruby-on-rails

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

Elisp destruct-bind for cons cell?

我想做

(destructuring-bind (start end) (bounds-of-thing-at-point 'symbol))
Run Code Online (Sandbox Code Playgroud)

但是bounds-of-thing-at-point返回一个cons单元而不是列表,所以 destructuring-bind不起作用.什么可以适用于这种情况?

emacs elisp

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

WPF:绑定到后面的代码中的命令

我有一个WPF Microsoft Surface应用程序,我正在使用MVVM-Pattern.

我有一些在代码后面创建的按钮,我想将命令绑定到它们,但我只知道它在XAML中是如何工作的

像这样:

<Custom:SurfaceButton Command="{Binding SaveReservationCommandBinding, Mode=OneWay}"/> 
Run Code Online (Sandbox Code Playgroud)

但我不能这样做,因为我的按钮在XAML中不存在,只在后面的代码中存在.

那么命令绑定如何在代码中起作用呢?

c# wpf command pixelsense

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

将Unicode/UTF8字符添加到C中的ncurses显示中

我正在尝试将wchar_t Unicode字符添加到C中的ncurses显示中.

我有一个数组:

wchar_t characters[]={L'\uE030', L'\uE029'}; // containing 2 thai letters, for example 
Run Code Online (Sandbox Code Playgroud)

然后我尝试将数组中的wchar_t添加到ncurses显示中:

add_wch(characters[0]);
Run Code Online (Sandbox Code Playgroud)

要提供更多信息,使用ASCII执行此操作正常,使用:

char characters[]={'A', 'B'};

// and later...

addch(characters[0]);
Run Code Online (Sandbox Code Playgroud)

要设置区域设置,我添加包含...

#include <locale.h>

// in main()
setlocale(LC_CTYPE,"C-UTF-8");
Run Code Online (Sandbox Code Playgroud)

ncurses包括:

#include <ncurses.h> 
Run Code Online (Sandbox Code Playgroud)

编译:

(编辑:添加了c99标准,用于支持通用字符名称.)

gcc -o ncursesutf8 ncursesutf8.c -lm -lncurses -Wall -std=c99
Run Code Online (Sandbox Code Playgroud)

我得到以下编译警告(当然可执行文件将失败):

ncursesutf8.c:48: warning: implicit declaration of function ‘add_wch’
Run Code Online (Sandbox Code Playgroud)

我已经尝试过使用addch看起来像宏来使用wchar_t,但是当我这样做时,Unicode字符不显示,而是显示为ASCII字符而不是.

有什么想法吗?

我正在使用OS X Snow Leopard,10.6.6

编辑:删除wchar_t []分配时使用的错误L'\u0E30'而不是L"\u0E30"等.我还更新了编译器设置以使用C99(添加通用字符名称支持).这两个变化都无法解决问题.

仍然没有答案,有谁知道如何做Unicode ncurses addchar(add_wchar?)?! 救命!

c ncurses utf-8

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

C#,WPF,MVVM和INotifyPropertyChanged

我感到困惑; 我以为我理解了INotifyPropertyChanged.

我有一个小的WPF应用程序,前端是MainWindow类,中间有一个视图模型,后面有一个模型.

我的模型是模拟器类.

SimulatorViewModel几乎是透明的,只是MainWindow和Simulator之间的接口属性.

Simulator实现了INotifyPropertyChanged,Simulator中的每个属性setter都调用了RaisePropertyChanged方法:

private string serialNumber;
public string SerialNumber
{
    get { return serialNumber; }
    set
    {
        serialNumber = value;
        RaisePropertyChanged("SerialNumber");
    }
}

public event PropertyChangedEventHandler PropertyChanged;

public void RaisePropertyChanged(string propName)  
{  
    if (this.PropertyChanged != null)  
    {  
        this.PropertyChanged(this, new PropertyChangedEventArgs(propName));  
    }  
}    
Run Code Online (Sandbox Code Playgroud)

在xaml中,我有一个带有这样绑定的TextBox:

Text="{Binding Path=SerialNumber, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
Run Code Online (Sandbox Code Playgroud)

并且DataContext是SimulatorViewModel(但是请参阅我关于将DataContext更改为模型的注释)

ViewModel只传递属性:

public string SerialNumber  
{  
    get { return Simulator.SerialNumber; }  
    set { Simulator.SerialNumber = value; }  
}  
Run Code Online (Sandbox Code Playgroud)

Simulator中属性SerialNumber的编程更新不会传播到UI,但奇怪的是,在Simulator构造函数中设置的初始值正在到达那里.

如果我在模拟器中断开SerialNumber setter并进入RaisePropertyChanged,我发现PropertyChanged为null,因此事件不会向上传播到GUI.

这引出了几个问题:

  1. 究竟应该挂进PropertyChanged事件?我希望比"WPF"更具体.该事件与xaml中的Binding语句之间的联系是什么?

  2. 为什么初始属性值在启动时会到达UI,但后来却没有?

  3. 我是否有权使用模拟器(模型)实现INotifyPropertyChanged,或者它应该是ViewModel吗?如果ViewModel这样做,那么模型中的程序化更改不会触发PropertyChanged,所以我不清楚正确的模式.我意识到我的ViewModel实际上是多余的,但这是由于项目的简单性; 更复杂的一个会使ViewModel概念更加努力.我的理解是ViewModel是我的单元测试接口的地方.

c# wpf mvvm inotifypropertychanged

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

为Flyway自动生成迁移SQL

当通过Java代码添加新的模型/字段等时,JPA/Hibernate的自动模式生成是否可以生成新的Flyway迁移.

捕获自动生成的SQL并将其直接保存到新的Flyway迁移,以便查看/编辑/提交到项目存储库将非常有用.

提前感谢您提供的任何帮助或启发.

java hibernate jpa flyway spring-boot

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

简单的Bash和RegEx问题

我无法在bash 4.1中使用正则表达式来正确匹配模式.我已经阅读了有关引号与引号差异的一些信息,但我不认为这是我的问题.

我的目标是检查并确保脚本提供有效的ID.在这种情况下,有效ID是9位数的字符串.据我所知,正则表达式是\ d {9}.鉴于这是我要检查的代码片段:

id=$1       
if [[ $id =~ \d{9} ]]; then
     echo "This is a vaild ID"
else
     echo "This is not a vaild ID"
fi
Run Code Online (Sandbox Code Playgroud)

然后调用脚本:

 ./script 987654321
Run Code Online (Sandbox Code Playgroud)

显而易见的是我错过了什么?

regex bash bash4

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

科尔多瓦/三星Galaxy SIII - 相机崩溃应用程序

修正:SG3上默认为"不保持活动"

三星Galaxy S3默认启用"不要保持活动"(两个位置的测试模型都出现了这个故障)

当然,这意味着只要启动任何其他活动,包括来自您的Cordova/PhoneGap应用程序,您的应用程序的主要活动将被销毁.任何回调事件显然都不会触发.

关闭选项可解决问题.

检查开发人员选项,无论品牌/型号如何,例如华硕Nexus 7平板电脑没有此默认值.


我已经设置了一个基本的测试应用程序.其中有一个按钮和一个img标签+未经修改的Cordovaindex.js

按钮onclick正在调用capturePhoto():

function onPhotoURISuccess(imageURI) {
  console.log(imageURI);
  var largeImage = document.getElementById('largeImage');
  largeImage.style.display = 'block';
  largeImage.src = imageURI;
}

function capturePhoto() {
  navigator.camera.getPicture( onPhotoURISuccess, onFail, 
     { quality: 20, allowEdit: true, destinationType: Camera.DestinationType.FILE_URI });
}

function onFail(message) {
  alert('Failed because: ' + message);
}
Run Code Online (Sandbox Code Playgroud)

当我在模拟器和Asus Nexus 7平板电脑上运行应用程序时,相机会按预期打开,允许拍摄并确认照片,然后使用FILE_URI返回并设置图像src属性.

然而,在三星Galaxy SIII上,(我们正在两个不同位置进行测试)相机打开,允许捕获,并在确认后,尝试恢复测试应用程序并死亡.

有谁知道这个问题,有没有办法解决它?

仅供参考,我已经为AndroidManifest.xml活动节点添加了一个额外的设置:android:screenOrientation="nosensor"- 虽然这不能解决问题(在这里抓住稻草).

其他信息:

  • 手机正在运行Android 4.1.2
  • 瞄准sdk 16
  • Cordova v 2.4.0rc1

经过测试的phonegap版本 - 1.8 - 2.4rc(全部崩溃或无法返回图像.)

stacktrace的相关部分在这里:http …

samsung-mobile cordova

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