所以这个问题不是关于将现有支付网关集成到我的网站中.这更像是一个架构问题.
我想构建一个类似于Paypal的系统.现在我明白Paypal在屋顶下提供了很多功能,我无法一次实现所有这些功能.我想实现Paypal和其他此类服务的核心功能.
所以我的问题是(相当讨论)围绕如何构建这样一个系统.一些要讨论的要点:
思考?
在PHP中构建XML时,是否可以更快地构建字符串,然后回显字符串或使用php为您提供的XML函数?目前我正在做以下事情:
更新为更好的代码片段:
$searchParam = mysql_real_escape_string($_POST['s']);
$search = new Search($searchParam);
if($search->retResult()>0){
$xmlRes = $search->buildXML();
}
else {
$xmlRes = '<status>no results</status>';
}
$xml = "<?xml version=\"1.0\"?>";
$xml.="<results>";
$xml.=$xmlRes;
$xml.="</results>"
header ("content-type: text/xml");
header ("content-length: ".strlen($xml));
echo($xml);
class Search {
private $num;
private $q;
function __construct($s){
$this->q = mysql_query('select * from foo_table where name = "'.$s.'"');
$this->num = mysql_num_rows($this->q);
}
function retResult(){
return $this->num;
}
function buildXML(){
$xml ='<status>success</status>';
$xml.='<items>';
while($row = mysql_fetch_object($this->q)){
$xml.='<item>';
$desTag = '<info><![CDATA[';
foreach ($row as $key => …Run Code Online (Sandbox Code Playgroud) 我创建了一个继承自Windows.System.Forms.Controls的自定义控件.
这是我控制的代码:
public partial class MonthEventComponent : Control
{
private Color couleur;
private Label labelEvenement;
public MonthEventComponent(Color couleur_c, String labelEvenement_c )
{
InitializeComponent();
this.couleur = couleur_c;
this.labelEvenement.Text = labelEvenement_c;
this.labelEvenement.ForeColor = couleur;
this.labelEvenement.BackColor = Color.White;
this.labelEvenement.TextAlign = ContentAlignment.MiddleLeft;
this.labelEvenement.Dock = DockStyle.Fill;
this.Controls.Add(labelEvenement);
}
public MonthEventComponent()
{
InitializeComponent();
this.couleur = Color.Black;
this.labelEvenement = new Label();
this.labelEvenement.ForeColor = couleur;
this.labelEvenement.BackColor = Color.White;
this.labelEvenement.Text = "Evénement Initialiser";
this.labelEvenement.TextAlign = ContentAlignment.MiddleLeft;
this.labelEvenement.Dock = DockStyle.Fill;
this.Controls.Add(labelEvenement);
}
protected override void OnClick(EventArgs e)
{
base.OnClick(e);
MessageBox.Show("Click"); …Run Code Online (Sandbox Code Playgroud) 我知道在现代计算机系统中执行的浮点运算并不总是与实际算术一致.我正在尝试设计一个小型的C#程序来演示这一点.例如:
static void Main(string[] args)
{
double x = 0, y = 0;
x += 20013.8;
x += 20012.7;
y += 10016.4;
y += 30010.1;
Console.WriteLine("Result: "+ x + " " + y + " " + (x==y));
Console.Write("Press any key to continue . . . "); Console.ReadKey(true);
}
Run Code Online (Sandbox Code Playgroud)
然而,在这种情况下,x和y在所述端部相等.
我是否有可能使用类似复杂度的程序演示浮点运算的不一致性,而不使用任何真正疯狂的数字?如果可能的话,我希望避免在数学上正确的值超过小数点以外的几个位置.
在速度,语法方便性,LOC和许可方面,最好的Lua OOP库是什么?谢谢.
我找到了LOOP.http://loop.luaforge.net/index.html它提供了非常好的语法:
local oo = require "loop.base" local
Date = oo.class
{
-- default field values
day = 1, month = 1, year = 1900,
}
local birthday = Date {} -- instance
Run Code Online (Sandbox Code Playgroud)
但我不喜欢这个许可证.
从我下面最后一个问题这@乔恩飞碟双向给了我很多的帮助与(再次感谢!)
我现在想知道当它们被转换回本地日期/时间时,如何安全地处理以UTC格式存储的日期/时间.
正如乔恩在我的上一个问题中DateTimeOffset表示,使用时间代表了一个瞬间,并且没有办法预测一分钟之后当地时间会说什么.我需要能够根据这些日期/时间进行计算.
那么我如何确保何时从数据库中提取日期,将它们转换为本地日期/时间并对它们进行具体计算它们是否准确?
脚本
我的申请记录通过电子邮件发送的信息.收到电子邮件的日期/时间记录为提交时间.电子邮件是从交换中提取的.
我需要知道的是:
1)如果这些电子邮件来自不同的国家/地区,我是否只是将Recieved电子邮件的日期/时间转换为UTC格式并存储?例如Email.Received.ToUniversalTime()
在工作中,开发没有版本控制.我的意思是,只有当变更集准备好进行回归测试时,才允许我们检查P4仓库.我们不能检查intercolary变化!在开发期间没有版本控制存在许多问题,我不需要在这里讨论.相反,我把问题带到了prodsys,他们说,"不,但你在主目录中做的是你的事".基本上,如果我需要,我可以自己安装.
不幸的是,我不能自己安装它,因为我在CentOS 5工作,我没有root.如果你没有root,百胜不会给你时间.那么我该怎么做才能得到git?我很好用静态链接的二进制文件,如果这很容易,但我无法在任何地方找到这样的东西.我也在寻找git-p4.
编辑:我已经下载了tarball,但我想我错过了deps.我已经通读了INSTALL文档并选择了每个可选的依赖项:
make prefix=$HOME/git NO_TCLTK=YesPlease NO_OPENSSL=YesPlease NO_CURL=YesPlease NO_EXPAT=YesPlease
Run Code Online (Sandbox Code Playgroud)
但我仍然无法建立.
我收到此错误:
: command not foundline 2:
: command not foundline 5:
: command not foundline 8:
./GIT-VERSION-GEN: line 14: syntax error near unexpected token `elif'
'/GIT-VERSION-GEN: line 14: `elif test -d .git -o -f .git &&
Run Code Online (Sandbox Code Playgroud)
它构建了很多.o,直到我到达:
...
LINK git-daemon
make: *** No rule to make target `GIT-VERSION-FILE', needed by `git-am'. Stop.`
Run Code Online (Sandbox Code Playgroud)
我又被卡住了.
我在appwidget上有一个Button,我需要从服务中以编程方式"启用"/"禁用".
第一个想法是打电话setBoolean(R.id.buttonid, "setClickable", false)禁用它,但显然你不能setClickable远程调用.
另一个想法是从中删除文本标签rv.setTextViewText(R.id.buttonid, ""),然后删除点击处理程序rv.setOnClickPendingIntent(R.id.buttonid, null).不幸的是,传递null给它导致NullPointerException了android.app.ActivityThread.handleServiceArgs
是否有其他方法以编程方式禁用/启用appwidget按钮?我可以打电话rv.setViewVisibility(R.id.buttonid, View.GONE)完全隐藏按钮而不是禁用它.然而,这将彻底打破整个小部件布局,我想避免它.
我现在使用的解决方案是隐藏按钮setViewVisibility并显示其他空白按钮,而不是像之前那样保持appwidget布局.
我们AsyncTasks用来访问数据库表和游标.
不幸的是,我们偶尔会看到有关数据库被锁定的例外情况.
E/SQLiteOpenHelper(15963): Couldn't open iviewnews.db for writing (will try read-only):
E/SQLiteOpenHelper(15963): android.database.sqlite.SQLiteException: database is locked
E/SQLiteOpenHelper(15963): at android.database.sqlite.SQLiteDatabase.native_setLocale(Native Method)
E/SQLiteOpenHelper(15963): at android.database.sqlite.SQLiteDatabase.setLocale(SQLiteDatabase.java:1637)
E/SQLiteOpenHelper(15963): at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1587)
E/SQLiteOpenHelper(15963): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:638)
E/SQLiteOpenHelper(15963): at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:659)
E/SQLiteOpenHelper(15963): at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:652)
E/SQLiteOpenHelper(15963): at android.app.ApplicationContext.openOrCreateDatabase(ApplicationContext.java:482)
E/SQLiteOpenHelper(15963): at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:193)
E/SQLiteOpenHelper(15963): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:98)
E/SQLiteOpenHelper(15963): at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:158)
E/SQLiteOpenHelper(15963): at com.iview.android.widget.IViewNewsTopStoryWidget.initData(IViewNewsTopStoryWidget.java:73)
E/SQLiteOpenHelper(15963): at com.iview.android.widget.IViewNewsTopStoryWidget.updateNewsWidgets(IViewNewsTopStoryWidget.java:121)
E/SQLiteOpenHelper(15963): at com.iview.android.async.GetNewsTask.doInBackground(GetNewsTask.java:338)
E/SQLiteOpenHelper(15963): at com.iview.android.async.GetNewsTask.doInBackground(GetNewsTask.java:1)
E/SQLiteOpenHelper(15963): at android.os.AsyncTask$2.call(AsyncTask.java:185)
E/SQLiteOpenHelper(15963): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:256)
E/SQLiteOpenHelper(15963): at java.util.concurrent.FutureTask.run(FutureTask.java:122)
E/SQLiteOpenHelper(15963): at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:648)
E/SQLiteOpenHelper(15963): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:673)
E/SQLiteOpenHelper(15963): at java.lang.Thread.run(Thread.java:1060)
Run Code Online (Sandbox Code Playgroud)
有没有人有一个代码的一般例子,它从一个读取的不同线程写入数据库,我们如何确保线程安全. …
我正在尝试使用谓词设置获取请求以获取商店中的记录,其标识符属性与谓词中指定的标识符数组匹配,例如
NSString *predicateString = [NSString stringWithFormat:@"identifier IN %@", employeeIDsArray];
Run Code Online (Sandbox Code Playgroud)
employeeIDsArray包含许多与商店中的ID匹配的NSNumber对象.但是,我收到错误"无法解析格式字符串".如果它用于过滤数组,则此类型的谓词有效,但如上所述,对于核心数据提取失败.我应该如何设置谓词?