LINUX.ORG.RU

Nokia запустила новый уровень сертификации Qt программистов

 , , ,


0

3

Nokia объявила в своем блоге о запуске нового уровня сертификации «Nokia Certified Qt Specialist». Для получения этого звания кандидат должен:

  • являться Nokia Certified Qt Developer-ом: для этого ему необходимо успешно сдать Qt Essentials экзамен на знание основ Qt;
  • успешно сдать один из 2-х экзаменов на свой выбор:
    • Widget UI with Qt - зкзамен на знание и умение пользоваться инструментами, которые Qt предоставляет для создания GUI и многопоточных приложений со сложной логикой, включая: MVC фрейморк, кастомные виджеты, стили, QtScript, плагины, мультиязычность, unittests и пр.;
    • Core C++ for Qt Developers - экзамен на понимание основных аспектов языка C++ и умение ими пользоваться для разработки Qt приложений.

Более подробно про экзамены и требования к ним можно прочитать здесь.

Сдавать экзамены можно в сертификационных центрах Pearson VUE, которые есть во многих крупных городах России. Стоимость прохождения одного экзамена составляет 149EUR/199USD. Для Nokia Certified Qt Developer-ов действует скидка 40% до 1-го июня 2011 года. Для всех остальных до конца июля действует скидка 30%.

>>> Подробности

Да, про кэш это вы прикольно придумали, толстячки. Вы бы еще написали, что в Qt виртуальная машина тормозит и сборка мусора включается не вовремя

anonymous ()
Ответ на: комментарий от anonymous

>> QTableWidget

тысяч 100-200 строк

Бу-га-га, кто ж так делает?

Так была поставлена задача, это раз. Если ваш этот Qt не говно с перманентным мемори лик то и нечего волноваться это два. Или ты считаешь, что этот ваш супер-пупер недогуй фреймворк годится только, чтобы простенькие формочки клепать?

anonymous ()
Ответ на: комментарий от anonymous

Эх, превью надо пользовать, парсер ломается )

В гимпе если вызвать диалог открытия файлов, далее нажать на список доступных расширений.

А что с ним? Разве что скролл отвалился с темой qtcurve...

navrocky ()
Ответ на: комментарий от anonymous

>Да, про кэш это вы прикольно придумали, толстячки. Вы бы еще написали, что в Qt виртуальная машина тормозит и сборка мусора включается не вовремя

Для тебя дибилко вот пример аналогичной проблемы:

http://forum.sources.ru/index.php?showtopic=195059

anonymous ()
Ответ на: комментарий от anonymous

> Или ты считаешь, что этот ваш супер-пупер недогуй фреймворк годится только, чтобы простенькие формочки клепать?

Ты просто хелловордщик и неосилятор. QTableWidget - это удобный виджет для простеньких случаев. Для всего остального есть Model/View Framework - там можешь рулить данными насколько фантазия позволяет. Подгружать и выгружать из памяти по требованию.

anonymous ()
Ответ на: комментарий от anonymous

>Qt специально принудительно кэширует выделенную память, чтобы потом её от ОС по не требовать новой

Не Qt, а стандартный malloc

elverion ()
Ответ на: комментарий от anonymous

Ни разу не видел, чтоб красный диплом кого-то впечатлил

Хорошо, показывает намного лучше, что человек не сидел вечерами перед зомбоящиком, а читал умные книги, систематизировал/приобретал новые знания итд.

deis ()
Ответ на: комментарий от anonymous

>Ты просто хелловордщик и неосилятор. QTableWidget - это удобный виджет для простеньких случаев. Для всего остального есть Model/View Framework - там можешь рулить данными насколько фантазия позволяет. Подгружать и выгружать из памяти по требованию.

Ты просто дибилоид, QTableWidget унаследован от QTableView, что значит он является более полноценной и конкретизированной реализацией таблицы. В QTableView нет многого, что мне нужно. В итоге ты прилюдно обосрался сказав, что это не используйте используйте другое, значит я был прав утверждая, что Qt гуано с перманентными мемори лик.

anonymous ()
Ответ на: комментарий от anonymous

Как правило менеджер кучи очень неохотно освобождает отъеденную виртуальную память, так что кьют тут не причем.

Что будет если он при каждом освобождении/выделении звать ядерные функции на выделение виртуальной памяти?

navrocky ()
Ответ на: комментарий от elverion

>Не Qt, а стандартный malloc

Вопрос, почему тогда системный монитор не показывает освобождения памяти у процесса на Qt? Это типично для стандартного malloc?

anonymous ()
Ответ на: комментарий от navrocky

>Как правило менеджер кучи очень неохотно освобождает отъеденную виртуальную память, так что кьют тут не причем.

Что будет если он при каждом освобождении/выделении звать ядерные функции на выделение виртуальной памяти?

Это понятно, с этим не спорю, но системный монитор должен же показать освобождение памяти у Qt процесса или нет?

anonymous ()
Ответ на: комментарий от anonymous

Системный монитор показывает сколько памяти запросило приложение у операционной системы. А это mmap, а не malloc.

elverion ()
Ответ на: комментарий от anonymous

QTableWidget унаследован от QTableView, что значит он является более полноценной и конкретизированной реализацией таблицы

QTableView помнит ровно столько строк (колонок), сколько отображено на экране, а QTableWidget - это QTableView ПЛЮС прикрученная к нему модель данных

deis ()
Ответ на: комментарий от deis

>QTableView помнит ровно столько строк (колонок), сколько отображено на экране, а QTableWidget - это QTableView ПЛЮС прикрученная к нему модель данных

Можно подумать тут только ты один доку читал.

anonymous ()
Ответ на: комментарий от anonymous

> Ты просто дибилоид,

Да нет, ты. И сейчас расскажу почему:

QTableWidget унаследован от QTableView, что значит он является более полноценной и конкретизированной реализацией таблицы

QTableView - вообще с данными не работает. Угадай, почему он View? Он только рендерит данные в указанной форме - всё.

QTableWidget еще реализует у себя простенькую строковую модельку по-умолчанию. Вот эта моделька и занимается твоими данными. Тебе это любой школьник с Development расскажет.

Короче, ты Model/View не понимаешь - это даже не в Qt проблема.

anonymous ()
Ответ на: комментарий от anonymous

ты не прав, потому как данные в QTableView наливать моветон

Давай так, ты создашь окно А из него откроешь ещё одно окно В содержащее QTableWidget. Добавишь в эту таблицу из окна В тысяч 100-200 строк


так делать нехорошо, потому как данные и строки надо держать в QAbstractItemModel или его потомках. соответственно в модели может быть овер9000 данных, но viev будет запрашивать только ту порцию данных, которая нужна для отображения в данный момент.

и если тебе СТАВИЛИ ЗАДАЧУ НАЛИВАТЬ СТРОКИ В QTableWidget - то уверен не от большого ума.

VladimirMalyk ★★★★★ ()
Ответ на: комментарий от anonymous

> дибилоид.. В QTableView нет многого, что мне нужно.... прилюдно обосрался

Угомонись уже. В документации сказано, что лучше использовать MVC, а для неосиливших MVC - подарок QTreeWidget/QTableWidget.

Qt гуано с перманентными мемори лик....

Проверял с валгриндом? пруфы в студию

navrocky ()
Ответ на: комментарий от anonymous

>QTableWidget еще реализует у себя простенькую строковую модельку по-умолчанию. Вот эта моделька и занимается твоими данными. Тебе это любой школьник с Development расскажет.

Короче, ты Model/View не понимаешь - это даже не в Qt проблема.

Скажика мне дибилоид, если при создании QTableWidget он создаёт модель должна ли эта модель удаляться вместе с удаление QTableWidget?

А теперь скажика мне, почему эта скрытая модель не удаляется?

anonymous ()
Ответ на: комментарий от VladimirMalyk

>и если тебе СТАВИЛИ ЗАДАЧУ НАЛИВАТЬ СТРОКИ В QTableWidget - то уверен не от большого ума.

Это уже другой момент, но факт в том, что Qt потёк...

anonymous ()
Ответ на: комментарий от anonymous

> Для тебя дибилко вот пример аналогичной проблемы:

http://forum.sources.ru/index.php?showtopic=195059

Ты идиот, дату посмотри.

Ради интереса запустил приведенный там код. Память сперва выросла, когда потоки создавались, затем вернулась в начальное состояние, когда потоки уничтожались, ни байта мимо.

anonymous ()
Ответ на: комментарий от navrocky

>Угомонись уже. В документации сказано, что лучше использовать MVC, а для неосиливших MVC - подарок QTreeWidget/QTableWidget.

Дибилко, если ты выучил эти три буквы MVC это не значит, что Qt использует MVC использует везде. Часто в целях оптимизации Qt использует совмещение контролера и отображения.

Проверял с валгриндом? пруфы в студию

Да, проверял.

anonymous ()
Ответ на: комментарий от anonymous

я супер внимательно тред не читал, но думаю вы просто чего-то не учли. и если был прокол с модель-представление, возможно есть и другие проколы.

VladimirMalyk ★★★★★ ()
Ответ на: комментарий от anonymous

> Да, проверял.

И я проверял: наше приложение работает в режиме 24x7x365, никаких ликов. Вы, сударь, лжец и девственник.

anonymous ()
Ответ на: комментарий от anonymous

> Ты идиот, дату посмотри.

Дата там не при чем, и дело не в Qt, естественно – он непосредственно в ядро не лезет. Распределением памяти занимается примененный C++ runtime, про него и надо спрашивать.

Эй, анонизмус-все-дебилоиды, у тебя какой C++ компилятор?

baka-kun ★★★★★ ()
Ответ на: комментарий от anonymous

>И я проверял: наше приложение работает в режиме 24x7x365, никаких ликов. Вы, сударь, лжец и девственник.

Ваше приложение бледная тень нашего приложения. Слабо проверить т.к. я написал выше, создать два окна с таблицей из 100-200 тыс. строк и удалить окно с таблицей?

anonymous ()
Ответ на: комментарий от anonymous

> Часто в целях оптимизации Qt использует совмещение контролера и отображения.

Аналитики, поясните о чем говорит поциент. Видимо поциент хотел сказать, что не все классы в Qt относятся к MVC?

Да, проверял.

Тогда наверное ты сейчас нам можешь выдать списки строк в исходниках Qt с утечками?

navrocky ()
Ответ на: комментарий от baka-kun

>Эй, анонизмус-все-дебилоиды, у тебя какой C++ компилятор?

GCC 4.5, VS 2008 и 2010

anonymous ()
Ответ на: комментарий от anonymous

> если при создании QTableWidget он создаёт модель должна ли эта модель удаляться вместе с удаление QTableWidget?

Читай доки. Если где-то кешируется, значит так задумано для QTableWidget. Для 10-20 строчек это никого не волнует.

То что ты, не разобравшись с Model/View, кинулся в первый попавшийся виджет сотни тысяч строк заливать — твои личные проблемы с мозгом.

Тоже самое в GTK реализовано, так что ты видимо дурачок с Delphi или WinForms.

anonymous ()
Ответ на: комментарий от anonymous

> Слабо проверить т.к. я написал выше, создать два окна с таблицей из 100-200 тыс. строк и удалить окно с таблицей?

Опубликуй уже, наконец, свой кривой код и не парь моск.

navrocky ()
Ответ на: комментарий от navrocky

>Аналитики, поясните о чем говорит поциент. Видимо поциент хотел сказать, что не все классы в Qt относятся к MVC?

Ну ты дибил. Ты же сам написал выше, что QTreeWidget/QTableWidget не используют MVC. Так вот для тебя специально было объяснено, что они используют совмещение V (отображение) и C (контролера). Ты такой ламер, что походу даже и не владеешь патернами проектирования....

anonymous ()
Ответ на: комментарий от navrocky

>Тогда наверное ты сейчас нам можешь выдать списки строк в исходниках Qt с утечками?

Какой мне резон их хранить несколько месяцев?

anonymous ()
Ответ на: комментарий от anonymous

делфи и винформс делают дурную услугу. я своих ребят чуть ли не из под палки заставлял QAbstractItemModel пользоваться. а они все норовили на тестовом задании в QCreator по двойному клику на tableView демо-данные добавлять

VladimirMalyk ★★★★★ ()
Ответ на: комментарий от anonymous

>Для 10-20 строчек это никого не волнует.

То что ты, не разобравшись с Model/View, кинулся в первый попавшийся виджет сотни тысяч строк заливать — твои личные проблемы с мозгом.

Ещё один дибил. Тебе русским языком пишут, что при удалении виджета внутренняя модель не удалилась. Значит Qt спроектирован, чтобы работать с 10-20 строками? Вопросов больше нет.

anonymous ()
Ответ на: комментарий от VladimirMalyk

>делфи и винформс делают дурную услугу

ни дельфи ни винформс ниразу не использовал и не владею.

anonymous ()
Ответ на: комментарий от anonymous

> Ты же сам написал выше, что QTreeWidget/QTableWidget не используют MVC

lol?

Ты такой ламер, что походу даже и не владеешь патернами проектирования....

О, мусье знает такие страшные слова...

navrocky ()
Ответ на: комментарий от navrocky

>lol?

Специально для дебилов со склерозом привожу их слова:

В документации сказано, что лучше использовать MVC, а для неосиливших MVC - подарок QTreeWidget/QTableWidget.

Стоит ли это понимать так, что QTreeWidget/QTableWidget не используют MVC?

anonymous ()
Ответ на: комментарий от anonymous

> Тебе русским языком пишут, что при удалении виджета внутренняя модель не удалилась.

Ну так давай код, будем смотреть, как ты там что удаляешь. Такому неадеквату с Делфи никто на слово верить не будет.

Значит Qt спроектирован, чтобы работать с 10-20 строками?

Как раз таки он правильно спроектирован, но ты не осилил. QTableWidget спроектирован, чтобы работать с 10-20 строками. Для всех остальных случаев есть Model/View Framework. Тебе уже десять раз сказали.

Это твой личный фейл. Делфятник не осилил чего-то немного отличного от Делфи.

anonymous ()
Ответ на: комментарий от anonymous

Мне кажется, что из вышесказанного не следует, что QTreeWidget не использует MVC. Или мне это кажется одному?

Специально для дебилов со склерозом

Да чтож за школота то такая безкультурная ...

navrocky ()
Ответ на: комментарий от anonymous

>Ну так давай код, будем смотреть, как ты там что удаляешь.

Давай ты сам сделаешь, как я выше про два окна писал и покажешь, как правильно или боишься ложануться?

p.s. делфи и winforms невладею

anonymous ()
Ответ на: комментарий от anonymous

> Стоит ли это понимать так, что QTreeWidget/QTableWidget не используют MVC?

Эпик слив. Ты хоть документацию по Qt хоть раз в своей жизни открывал? Базовый класс QTreeWidget есть QTreeView со всеми вытекающими.

Детко, оставь программирование. Есть столько замечательных профессий: осенезатор, дворник, контроллер, охранник...

anonymous ()
Ответ на: комментарий от anonymous

Можно подумать тут только ты один доку читал.

QTableWidget никак не может являться более полноценной и конкретизированной реализацией таблицы, поскольку QTableView не хранит данные, а только представляет их в табличном виде. При этом непосредственно данные для отображаемой таблицы могут существовать в произвольной форме и в общем случае они совсем не обязательно должны где-то храниться в принципе

deis ()
Ответ на: комментарий от anonymous

> Давай ты сам сделаешь, как я выше про два окна писал и покажешь, как правильно или боишься ложануться?

Ты сначала должен доказать, где-что неправильно работает. Не я же тут орал и всех дибилами называл. Показывай код, обосновывай свои слова.

Пока что ты доказал только одно, что ты неосилятор. Мне, говорит, в QTableView возможностей не хватает :D Поэтому я, грит, залил сто тыщ строк в QTableWidget :D

anonymous ()
Ответ на: комментарий от deis

>QTableWidget никак не может являться более полноценной и конкретизированной реализацией таблицы, поскольку QTableView не хранит данные, а только представляет их в табличном виде. При этом непосредственно данные для отображаемой таблицы могут существовать в произвольной форме и в общем случае они совсем не обязательно должны где-то храниться в принципе

Слова про MVC ты решил не заметить? Модель хранить или делает вид, что хранит. Если бы QTableWidget не был более полноценной и конкретизированной реализацией QTableView он бы от него не наследовался бы. Всё было бы с точность до наоборот или ты хочешь сказать, что авторы Qt в ООП ничего не понимают? Или может это ты ООП не знаешь?

anonymous ()
Ответ на: комментарий от anonymous

>Если бы QTableWidget не был более полноценной и конкретизированной реализацией QTableView он бы от него не наследовался бы.

Вы ничего не понимаете в наследовании.

anonymous ()
Ответ на: комментарий от anonymous

>Вы ничего не понимаете в наследовании.

Так расскажите, а мы сравним с общепринятым понятием ООП.

anonymous ()
Ответ на: комментарий от anonymous

> Ни разу не видел, чтоб красный диплом кого-то впечатлил

Скорее даже наооборот. Считают, что вместо того что бы делом заниматься на последних курсах за партой сидел. А значит опыта нет. Вот по прошествии нескольких лет работы (опыта) да, начинает ролять.

x86_64 ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.