BG Development


Страници: (115) [1] 2 3 ... последна »

wqw Публикувана на: 08-09-2010, 23:07

Мнения: 6
Преглеждания: 193
В хардуерен смисъл на DEP и NX флаг.

cheers,
</wqw>
  Форум: C/C++  ·  Преглед: #258750

No New Posts  Audio Player (Страници 1 2 )
wqw Публикувана на: 04-09-2010, 21:00

Мнения: 15
Преглеждания: 401
QUOTE (ko_no @ 04-09-2010, 21:36)
Възможно ли е процесването да става изцяло от процесора и как точно става (това което ме притеснява са огромния брой сметки за всеки нов семпъл),

Декодиране на MP3 става само със събиране и умножение. Не вярвам да "хаби" повече от 5% CPU на съвременно PC. Отделно има MMX и SIMD инструкции за подобни stream обработки. FFT (или по-простата ICT) общо взето е елементарна, като го разбереш или го видиш имплементирано.

QUOTE (ko_no @ 04-09-2010, 21:36)
пък за извеждането на буфера с вече обработения сигнал към звуковата карта (нещо което също не знам как става) ще ми трябват вече билиотеки?

Имаш си API дето му казваш "ей тоя sample ако обичаш през еди кой си device" и това става асинхронно, през това време декодираш следващия блок.

cheers,
</wqw>
  Форум: C/C++  ·  Преглед: #258552

wqw Публикувана на: 04-09-2010, 10:14

Мнения: 11
Преглеждания: 390
@corwin: Far away from the truth! Тук не става дума за jagged arrays.

На "чисто C" е същото, но с повече cast-ове:
CODE
     int (*ia)[10] = (int (*)[10])malloc(10*10*sizeof(int));

cheers,
</wqw>
  Форум: C/C++  ·  Преглед: #258512

wqw Публикувана на: 03-09-2010, 13:49

Мнения: 11
Преглеждания: 390
QUOTE (dvader @ 03-09-2010, 10:08)
Ако беше typedef int* pint; pint var[10] щеше да е много по-четливо

Мне, по-скоро това е typedef-а:
CODE
#include <stdio.h>

typedef int array_of_10[10];

int main()
{
     array_of_10 *ia = new array_of_10[123];

     ia[4][3] = 5;
     printf("%d\n", ia[4][3]);

     return 0;
}

cheers,
</wqw>
  Форум: C/C++  ·  Преглед: #258468

wqw Публикувана на: 31-08-2010, 14:33

Мнения: 9
Преглеждания: 265
QUOTE (Stancho @ 30-08-2010, 16:37)
Върши работа, но тази заявка е валидна само за mysql. Искаше ми се нещо database independant (нали все пак затова ползвам odbc)...

Ама самото auto increment е тотално database dependent. В смисъл в ANSI SQL нямаш понятие auto number/INDENTITY property/sequence или както и да го наричат вендорите на RDBMS. То си е db specific и съответно last_insrted_id/scope_identity си е db specific също.

Ако искаш да си db agnostic, махаш autonumber-а и самият INSERT трябва да стане с id = MAX(id) + 1 в транзакция (!), което е супер нескалируемо при конкурентен достъп, както вече беше споменато.

cheers,
</wqw>
  Форум: C/C++  ·  Преглед: #258238

wqw Публикувана на: 31-08-2010, 14:26

Мнения: 2
Преглеждания: 165
По-интересно щеше да стане ако първия SELECT ти трябваше ORDER BY a, b а втория ORDER BY c само :-))

cheers,
</wqw>
  Форум: СУБД, SQL програмиране  ·  Преглед: #258237

No New Posts  GROUP BY LIMIT (Страници 1 2 )
wqw Публикувана на: 27-08-2010, 11:22

Мнения: 12
Преглеждания: 416
Направи си ranking колона за коментарите за всеки user_id
CODE
SELECT  *
FROM    (
        SELECT u.user_id, u.username, u.user_avatar_mini, u.user_avatar_mini_width, u.user_avatar_mini_height,
                c.comment_time, c.comment_pic_id, c.comment_text, c.comment_id, c.comment_user_id,
                (   SELECT  COUNT(*) FROM comments
                    WHERE   comment_user_id = c.comment_user_id
                            AND (comment_time < c.comment_time
                                OR comment_time = c.comment_time AND comment_id <= c.comment_id)    ) AS comment_rank
        FROM users u, comments c
        WHERE u.user_id = c.comment_user_id
                AND u.user_active  = 1
                AND ((c.user_id = 4 AND c.comment_pic_id = 47))
        ) s
WHERE   comment_rank BETWEEN 1 AND 2
ORDER BY comment_time DESC

(not tested)

cheers,
</wqw>
  Форум: СУБД, SQL програмиране  ·  Преглед: #257926

wqw Публикувана на: 23-08-2010, 10:55

Мнения: 12
Преглеждания: 402
QUOTE (Stifi @ 23-08-2010, 11:45)
А аз чакам деветини на некой от семейството ти!
Бунище махай са от тука и забрави тая тема ти освен да се подиграваш// друго не правиш тука... отрепка.

-----
Ентусиасти има и ще има... и такива гадове като тоя също.

Бан ли си просиш? Щото си настойчив :-))

Аз пък викам дано повече такива "отрепки" има по форумите!

cheers,
</wqw>
  Форум: C/C++  ·  Преглед: #257563

No New Posts  GROUP BY LIMIT (Страници 1 2 )
wqw Публикувана на: 23-08-2010, 10:53

Мнения: 12
Преглеждания: 416
В случая 8-те реда *винаги* ще са с различно user_id, така че няма проблеми. Утре добавя JOIN в първия SELECT и започват да се дублират (грешка примерно). LIMIT връща 4, но UNION ги uniquify-ва от и мъжете в резултата стават само двама. Хòди го търси! В смисъл слабо разбран feature е че ако има дублирани редове дори *вътре* в единия SELECT, UNION ги мачка.

Според мен са сгрешили keyword-а -- трябвало е да ползват UNIQUE :-)) SELECT ... UNIQUE SELECT ... ще се замислиш кое става UNIQUE. Резултатът ли, кое?

cheers,
</wqw>
  Форум: СУБД, SQL програмиране  ·  Преглед: #257562

No New Posts  GROUP BY LIMIT (Страници 1 2 )
wqw Публикувана на: 23-08-2010, 10:24

Мнения: 12
Преглеждания: 416
UNION ALL все пак. Разликата е съществена (особено в performance-а).

cheers,
</wqw>
  Форум: СУБД, SQL програмиране  ·  Преглед: #257558

wqw Публикувана на: 21-08-2010, 00:06

Мнения: 167
Преглеждания: 4095
Наблюдавам, че моето CV последните 9-10 години яко изтъня. Може би това е нормален процес, човек да слиза леко на земята с възрастта, когато спре да пише "иновационни" складови програми :-))

cheers,
</wqw>
  Форум: Разни  ·  Преглед: #257428

No New Posts  SUM & NOW (Страници 1 2 )
wqw Публикувана на: 21-08-2010, 00:02

Мнения: 14
Преглеждания: 371
Еми peformance-а е колкото на select sum(sms_count) from sms. В смисъл това touch-ва цялата таблица така или иначе.

За дира не знам, да не се бъркаш.

cheers,
</wqw>
  Форум: СУБД, SQL програмиране  ·  Преглед: #257426

wqw Публикувана на: 20-08-2010, 19:43

Мнения: 104
Преглеждания: 2544
Имаш предвид че тия €4000 дето вчера са ги спечелили сега ще седнат да ги изпият?

cheers,
</wqw>
  Форум: Разни  ·  Преглед: #257393

wqw Публикувана на: 20-08-2010, 19:32

Мнения: 6
Преглеждания: 263
Единия ми е WRT320N (с DD-WRT) и също съм доволен. И от WRT54GL също.

cheers,
</wqw>
  Форум: Мрежови комуникации и технологии  ·  Преглед: #257392

No New Posts  SUM & NOW (Страници 1 2 )
wqw Публикувана на: 20-08-2010, 19:30

Мнения: 14
Преглеждания: 371
Пак ли записана! Това става с един SELECT:
CODE
SELECT  SUM(sms_count) AS TotalCount
        , SUM(CASE WHEN date >= 'WEEK23 MONDAY 00:00:00' AND date < 'WEEK24 MONDAY 00:00:00' THEN sms_count ELSE 0 END) AS WeekCount
        , SUM(CASE WHEN date >='DAY148 00:00:00' AND date < 'DAY149 00:00:00' THEN sms_count ELSE 0 END) AS DayCount
FROM    sms

Има една приказка "to a hammer everything looks like a nail!" :-))

Забележи, че интервалите са затворени отдолу (date >= ...) и отворени отгоре (date < ...) за да не се гъбаркаш със секунди.

cheers,
</wqw>
  Форум: СУБД, SQL програмиране  ·  Преглед: #257391

wqw Публикувана на: 19-08-2010, 12:07

Мнения: 24
Преглеждания: 663
@koko5: Разбери, че тази простотия с UPDATE на две таблици едновременно е супер недетерминистична, разчита на physical свойства на операцията и се поддържа само от MySQL.

В нормалните RDBMS за целта се ползват два UPDATE-а в транзакция.

Отделно, използването на ROW_COUNT (макар и proprietary, всяка RDBMS има еквивалент) спестява JOIN/втори SELECT и е по-бързо при всички положения.

cheers,
</wqw>
  Форум: СУБД, SQL програмиране  ·  Преглед: #257257

wqw Публикувана на: 18-08-2010, 23:03

Мнения: 24
Преглеждания: 663
@black_mage: Сори, нищо лично. Просто в случая малко мечешка услуга идва тази записана. В смисъл, ще има други проблеми по-късно, евентуално.

Но нека оставим OP да пробва сам и да си прецени...

cheers,
</wqw>
  Форум: СУБД, SQL програмиране  ·  Преглед: #257233

wqw Публикувана на: 18-08-2010, 16:31

Мнения: 24
Преглеждания: 663
QUOTE (black_mage @ 18-08-2010, 16:49)
Със стред процедура ще спестиш още една заявка към сървъра.

Аха! Значи всичко дотук му е "лепи SQL в PHP-то" обаче точно за тази чикия ще създаде първата записана процедура в система, която той само дописва. За цвят да има една.

Утре като тръгне да deploy-ва в production или да мести хостинга да очакваме теми от рода на "Как да скриптирам записаните" :-))

Относно спестяването на заявки, трябва да е ясно че $db->query("UPDATE Table1 ...; UPDATE Table2 ...") също е една заявка, просто има няколко statement-а. Така че той от самото начало има само една заявка, която няма накъде повече "да пести".

cheers,
</wqw>
  Форум: СУБД, SQL програмиране  ·  Преглед: #257204

wqw Публикувана на: 18-08-2010, 13:00

Мнения: 24
Преглеждания: 663
Най-лесно е да ги разделиш на два UPDATE-а, които са в транзакция
CODE
BEGIN TRAN

UPDATE ' . USERS_TABLE . '
SET    u.user_messages_unread_count = u.user_messages_unread_count
       - ( SELECT COUNT(*)
           FROM   ' . MESSAGES_TABLE . '
           WHERE  m.message_read = 0
                  AND m.message_to = ' . $user_id . '
                  AND m.message_id IN (1,5,10) )
WHERE  u.user_id = ' . $user_id . '

UPDATE ' . MESSAGES_TABLE . '
SET    m.message_read = 1
       , m.message_read_time = ' . time() . ',
WHERE  m.message_read = 0
       AND m.message_to = ' . $user_id . '
       AND m.message_id IN (1,5,10)
     
COMMIT

Нали има транзакции в MySQL 5.x?

Edit: Или можеш да ползваш ROW_COUNT така
CODE
BEGIN TRAN

UPDATE ' . MESSAGES_TABLE . '
SET    m.message_read = 1
       , m.message_read_time = ' . time() . ',
WHERE  m.message_read = 0
       AND m.message_to = ' . $user_id . '
       AND m.message_id IN (1,5,10)

UPDATE ' . USERS_TABLE . '
SET    u.user_messages_unread_count = u.user_messages_unread_count - ROW_COUNT()
WHERE  u.user_id = ' . $user_id . '
     
COMMIT

Не виждам що се мъчиш с един UPDATE или пък със записани. Най-голямата простотия е да я drop-иш и създаваш точно преди да я изпълниш! WTF!@#$

cheers,
</wqw>
  Форум: СУБД, SQL програмиране  ·  Преглед: #257166

wqw Публикувана на: 16-08-2010, 18:17

Мнения: 8
Преглеждания: 283
Ще стигнеш до vector<Char> в даден момент...

cheers,
</wqw>
  Форум: C/C++  ·  Преглед: #256983

wqw Публикувана на: 12-08-2010, 16:33

Мнения: 15
Преглеждания: 497
Боже, не! Колко прави шест по девет!!
QUOTE
Измъкна хавлията от чантата си и с няколко изкусно направени възела я превърна в торба.
- Чиста лудост - каза той, - абсолютна глупост. Но ще опитаме, защото е гениална глупост. Хайде, побързай!
Слънцето почтително се скри зад един облак. От небето паднаха няколко тъжни дъждовни капки.
Събраха всички останали букви и ги пуснаха в торбата. След това ги разбъркаха.
- Готово - каза Форд, - затвори си очите. Сега вади. Хайде, хайде, хайде!
Артър затвори очи и пъхна ръка в пълната с камъчета хавлия. Поразклати ги малко, измъкна пет н ги подаде на Форд една по една. Форд постави буквите една до друга в същия ред, в който ги бе получил.
- К - каза той, - О, Л, К, О... Колко!~
Премигна.
- Мисля, че става! - каза той.
Артър му бутна още три.
- Щ, Е, С... Щес, О, май че нищо не става - каза Форд.
- Ето още няколко.
- Е, П, О, Л, У... Ще се полу... Страхувам се, че няма смисъл.
Артър измъкна още две букви от торбата. Форд ги нареди по местата им.
- Ч, И, щесеполучи... Ще се получи! - извика Форд. - Става! Невероятно, но наистина става!
- Ето ти още! - Артър вече ги изхвърляше една след друга с трескава бързина.
- А, К, О... - каза Форд - У, М, Н, О, Ж, И, Т, Е... Колко ще се получи, ако умножите... Ш, Е, С, Т... шест... П, О, по, шест по ... колко ще се получи, ако умножите шест по... Д, Е, В, Е, Т ... шест по девет... - Настъпи кратка пауза - Хайде, дай следващата!
- Ъъъ, повече няма - каза Артър, - това е всичко.
Облегна се назад, силно озадачен.
Още веднъж претършува вързаната в торба хавлия, но повече букви не откри.~
- Няма ли други? - попита Форд.
- Нито една.
- Шест по девет. Четиридесет и две.
- Точно така. Това е всичко.

:-))

cheers,
</wqw>
  Форум: C/C++  ·  Преглед: #256688

wqw Публикувана на: 12-08-2010, 12:29

Мнения: 33
Преглеждания: 1695
QUOTE (Irrefutable @ 11-08-2010, 13:42)
Човека си плаща, остава доволен и си заминава. Вторият получава същото нещо на по-ниска цена, но въпреки това мрънка, че и това му било скъпо, защото видиш ли преди година му направили нещо подобно на 3 пъти по-ниска цена. Е да, ама тези дето са му го направили тогава, сега му искат повече от мен.

Най-важно е да е доволен клиента. Дори за без пари да му работиш ако не е доволен това не е работа.

В тази връзка, добре е от рано човек да приеме, че просто някои (мрънкащи) хора не са негови клиенти и никога няма да бъдат. Така е по-добре и за тях, те все някога ще си намерят "майстора".

cheers,
</wqw>
  Форум: Разни  ·  Преглед: #256657

wqw Публикувана на: 11-08-2010, 09:02

Мнения: 32
Преглеждания: 594
QUOTE (Lachezar @ 10-08-2010, 18:13)
Повтарям: PostgreSQL специфично!

И не по-малка профания от този на MySQL дето позволява при GROUP BY да ръгаш колони без агрегатна функция във column list-а.

Това е точно
CODE
SELECT
 category.id,
 comment.id -- Pfu!
 ...
GROUP BY
 category.id

... в MySQL

cheers,
</wqw>
  Форум: СУБД, SQL програмиране  ·  Преглед: #256581

wqw Публикувана на: 11-08-2010, 08:54

Мнения: 33
Преглеждания: 1695
@Дон Реба: Изключително съм съгласен с тебе. Цената няма нищо общо със себестойността. Цената е толкова за колкото успееш да продадеш стоката.

cheers,
</wqw>
  Форум: Разни  ·  Преглед: #256580

wqw Публикувана на: 09-08-2010, 22:06

Мнения: 4
Преглеждания: 212
QUOTE (rhino @ 09-08-2010, 22:21)
Моля за съдействие или съвет от някой, който се е сблъсквал с подобен проблем.

За коя RDBMS става дума? Ахааа, а коя версия?

cheers,
</wqw>
  Форум: СУБД, SQL програмиране  ·  Преглед: #256464

Страници: (115) [1] 2 3 ... последна »
New Posts  Отворена тема (има нови мнения)
No New Posts  Отворена тема (няма нови мнения)
Hot topic  Гореща тема (има нови мнения)
No new  Гореща тема (няма нови мнения)
Poll  Анкета (има нови гласували)
No new votes  Анкета (няма нови гласували)
Closed  Заключена тема
Moved  Преместена тема

Copyright © 2003-2008 | BG Development | All Rights Reserved
RSS 2.0