Есть ли здесь люди, разбирающиеся в Shop-Script?
Есть у меня магазинчик на этом движке. Давно с этим движком уже не работаем, другие магазины на CS-Cart. Нужен доктор по Shop-script, полечить больного. Есть такие?
nginx: /message.php?from=<id1>&to=<id2> -> /user/message/new/<id2>
Портирую одно PHP приложение под RoR. Сначала хотел переписать всё с нуля, но требуют вводить новые фичи как можно скорее. Решил поступить так: ищу php скрипты, касающиеся новой фичи, переписываю их под рельсы (работа с той же БД), внедряю. Рельсы крутятся под nginx+passenger. Стоит задача трансляции адресов из пространства php (*.php?*) в RoR REST. Вижу два варианта:
— внутренний rewrite с php на ror для уже портированных скриптов
— определять location с passenger _enabled on для уже портированных скриптов и переписывать запрос уже в ruby приложении (middleware например).
Как бы вы поступили?
Лучший способ хранения больших объемов данных с помощью J2ME
Я разрабатываю приложение J2ME, которое имеет большой объем данных для хранения на устройстве (в области 1 МБ, но переменной). Я не могу полагаться на файловую систему, поэтому я застрял в системе управления записями (RMS), которая позволяет использовать несколько хранилищ записей, но каждый из них имеет ограниченный размер. Моя начальная целевая платформа, Blackberry, ограничивает каждый из них до 64 КБ.
Мне интересно, приходилось ли кому-то еще решать проблему хранения большого количества данных в RMS и как им это удалось? Я думаю о том, чтобы вычислить размеры записей и разделить один набор данных на несколько хранилищ, если он слишком большой, но это добавляет много сложностей, чтобы сохранить его в целости.
Существует множество различных типов данных, которые хранятся, но только один набор, в частности, превысит предел в 64 КБ.
Как сопоставить путь устройства linux с именем диска windows?
Я пишу приложение, которое на каком-то этапе выполняет низкоуровневые дисковые операции в среде Linux. Приложение на самом деле состоит из 2 частей, одна работает на Windows и взаимодействует с пользователем, а другая-это часть linux, которая работает с LiveCD. Пользователь выбирает Windows букв диска, а затем часть linux выполняет действия с соответствующими разделами. Проблема заключается в поиске соответствия между буквой диска Windows (например, C:) и именем устройства linux (например, /dev/sda1). это мое текущее решение, которое я оцениваю как уродливое:
храните информацию о разделах (например, букву диска, количество блоков, серийный номер диска и т. д.) в Windows в некотором заранее определенном месте (т. е. в корне системного раздела).
прочитайте список разделов из /proc/partitions. получите только те разделы, которые имеют основной номер для SCSI или IDE жестких дисков и второстепенный номер, который идентифицирует их как реальные разделы, а не целые диски.
Попробуйте mount каждый из них с помощью файловой системы ntfs или vfat. Проверьте, содержит ли смонтированный раздел информацию, хранящуюся в приложении Windows.
После нахождения необходимой информации, написанной приложением Windows, сделайте фактический матч. Для каждого раздела, найденного в /proc/partitions, приобретите серийный номер диска (через hdio_get_identity syscall), количество блоков (от /proc/partitions) и смещение диска (/sys/blocks/drive_path/partition_name/start), сравните это с информацией Windows и, если это соответствует - сохраните букву диска Windows вместе с именем устройства linux.
В этой схеме есть несколько проблем:
Это отвратительно. Запись данных в Windows, а затем чтение их в Linux превращает тестирование в кошмар.
Основной номер устройства linux сравнивается только с устройствами IDE или SCSI. Это, вероятно, не удастся, т. е. на дисках USB или FireWire. Можно добавить эти типы дисков, но ограничение приложения только известным подмножеством возможных устройств кажется довольно плохой идеей.
похоже, HDIO_GET_IDENTITY работает только на дисках IDE и SATA.
/sys/block hack не может работать на других дисках, кроме IDE или SATA.
Есть идеи, как улучшить эту схему? Возможно, есть другой способ определить имена windows, не записывая все данные в приложение windows?
P.S. Язык приложения-C++. Я не могу это изменить.
Ассоциации файлов локальных документов в Google docs
Собственно следующий вопрос: можно ли создать ассоциацию офисных файлов (типа .doc, .xls) находящихся на локальном диске для открытия непосредственно в Google docs, через браузер?
Node.js (или другие асинхронные фреймворки): А как отлавливать ошибки?
Вот такой вопрос. Может быть мой задеревенелый синхронный мозг просто не видит решения, которое лежит на поверхности. Но я не понимаю, как обрабатывать ошибки при асинхронном подходе, как выдавать пользователю 500-страницу. Ведь как устроен привычный синхронный запрос (схематично):
try {
responce = (function request(req) {
var user = auth.getUser(req);
if (user.auth) {
var data = db.getData();
if (data) {
return new Responce(template.render(data));
}
}
return error404;
})(req);
} catch(e) {
show500(e);
}
Все очень надежно, контроллер обязан возвратить ответ, любые ошибки, не отловленные внутри request, отлавливаются снаружи и выдают пользователю красивую страничку.
Что же при асинхронном подходе node.js?
try {
(function request(req, res) {
auth.getUser(req, function(user) {
if ( ! user.auth) {
return res.error404();
}
db.getData(function(data) {
if ( ! data) {
return res.error404();
}
res.write(template.render(data));
});
});
})(req, res);
} catch(e) {
res.show500(e);
}
И вот представте, что где-то в user.auth происходит исключение. Что произойдет? А ничего, function(user) прекратит выполнение, ответ обработать некому, соединение с браузером останется висеть до таймаута. Даже поставив где-то глобальный обработчик ошибок, не удастся вернуть пользователю ответ, потому что в самом объекте исключения нет доступа к объектам запроса и ответа.
Неужели, единственный выход ловить исключения вручную на каждом асинхронном вызове?
try {
(function request(req, res) {
auth.getUser(req, function(user) {
try {
if ( ! user.auth) {
return res.error404();
}
db.getData(function(data) {
try {
if ( ! data) {
return res.error404();
}
res.write(template.render(data));
} catch(e) {
res.show500(e);
}
});
} catch(e) {
res.show500(e);
}
});
})(req, res);
} catch(e) {
res.show500(e);
}
try {
responce = (function request(req) {
var user = auth.getUser(req);
if (user.auth) {
var data = db.getData();
if (data) {
return new Responce(template.render(data));
}
}
return error404;
})(req);
} catch(e) {
show500(e);
}try {
(function request(req, res) {
auth.getUser(req, function(user) {
if ( ! user.auth) {
return res.error404();
}
db.getData(function(data) {
if ( ! data) {
return res.error404();
}
res.write(template.render(data));
});
});
})(req, res);
} catch(e) {
res.show500(e);
}try {
(function request(req, res) {
auth.getUser(req, function(user) {
try {
if ( ! user.auth) {
return res.error404();
}
db.getData(function(data) {
try {
if ( ! data) {
return res.error404();
}
res.write(template.render(data));
} catch(e) {
res.show500(e);
}
});
} catch(e) {
res.show500(e);
}
});
})(req, res);
} catch(e) {
res.show500(e);
}
Есть ли способ сделать переменную TSQL постоянной?
Есть ли способ сделать переменную TSQL постоянной?
Asus Eee PC 1001 PX выдержит ли Oracle9i (10g) ?
Хотел бы спросить у знатоков. Asus Eee PC 1001 PX выдержит ли Oracle9i (10g)? Ситуация в том, что всегда под рукой необходима база данных и для этих целей я задумываюсь прикупить нетбук. Не будет ли глючить/тормозить данная СУБД на этом нетбуке
З.Ы. Уцепился за 1001PX так как устраивает цена.
WiFi роутер для дома
Знаю что тут уже куча таких вопросов, но хотелось бы удостоверится что нужно именно в моём случае.
Когда подключались к билайну нам сказали приобрести 3com 3CRWER200-75, но он оказался редкостным…
После этого подключились к Дом.ru, напрямую в торенте давало 10 Мбайт/сек!
На отдачу около 1.5 Мбайт/сек!
Но к нам приехала сестра пришлось делится интернетом :)
Снова поставили 3com 3CRWER200-75, и о нет!
Скорость в торренте упала до 2.5 Мбайт/сек
А раздавать вообще не мог, после долгчих мучений и ковыряний в настройках, отдача поднялась до 100 Кб/сек
Но при этом загрузка страниц стала заметно дольше, а в WiFi при этом вообще нельзя было ничего сделать.
Цель:
Купить роутер который бы выдерживал 10 Мбайт по локалке провайдера + раздавал WiFi
Долгое время был нацелен на NetGear WNDR3700, но в нём не оказалось IPTV, а хотя в WNR3500L он есть
После этого меня сбили на вариант D-link DIR-655
Помогите выбрать:
NetGear WNDR3700
NetGear WNR3500L
D-link DIR-655
Предлагайте свои варианты
- «
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
- 393
- 394
- 395
- 396
- 397
- 398
- 399
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 457
- 458
- 459
- 460
- 461
- 462
- 463
- 464
- 465
- 466
- 467
- 468
- 469
- 470
- 471
- 472
- 473
- 474
- 475
- 476
- 477
- 478
- 479
- 480
- 481
- 482
- 483
- 484
- 485
- 486
- 487
- 488
- 489
- 490
- 491
- 492
- 493
- 494
- 495
- 496
- 497
- 498
- 499
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 509
- 510
- 511
- 512
- 513
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 523
- 524
- 525
- 526
- 527
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 535
- 536
- 537
- 538
- 539
- 540
- 541
- 542
- 543
- 544
- 545
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 554
- 555
- 556
- 557
- 558
- 559
- 560
- 561
- 562
- 563
- 564
- 565
- 566
- 567
- 568
- 569
- 570
- 571
- 572
- 573
- 574
- 575
- 576
- 577
- 578
- 579
- 580
- 581
- 582
- 583
- 584
- 585
- 586
- 587
- 588
- 589
- 590
- 591
- 592
- 593
- 594
- 595
- 596
- 597
- 598
- 599
- 600
- 601
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- »