на радикальное улучшение скайповского гуя в линуксе, надежд особых нет. поэтому пользуюсь чатом skype из Empathy, где есть вкладки. главное, чтобы продолжали развивать интерфейс через dbus. :)
то, о чем написано в преамбуле статьи ближе к TRADITIONAL mode, заставляющий сервер кидать исключения на большинство ошибкок. по возможности использую:
на счет обучения вы отлично придумали! жду статьи от ваших интерфейс-дизайнеров про то, какие методы проектирования они используют, и как было принято самое удачное, на их взгляд, интерфейсное решение в 10-ке. хочется увидеть характеристики перснон, для которых они дизайнят (надеюсь, что это не геймеры-маньяки?), гипотезы из которых они исходили, пользовательские сценарии.
и, plss… выкиньте из продукта, всю хрень, которая вот нафиг не нужна для работы (почему я вынужден платить за неё? — я не маньяк и не геймер).
отправляйтесь в меню Сервис -> Опции на вкладку Распознать. Здесь в группе Обучение нужно установить флажок в положение Распознать с обучением и нажать кнопку Эталоны, которая вызывает диалог создания нового эталона…
Эти и другие интересные функции FineReader описаны в справке, поэтому рекомендуем вам иногда туда заглядывать.
любопытно, чем руководствовались проектировщики интерфейса, делая доступ к функциональности аж в 6 хопов?
наличие неочевидных возможностей это не плюс продукту, а минус его интерфейсу. в 10-ке он получился ещё более запутанным, по сравнению с 9-й версией. хотя, справка в FR чудесна: напоминает солюшен к компьютерной игре — для тех кто ниасилил разобраться в диалогах, или же застрял где-то на половине квеста. =)
заколебетесь переубеждать. ;) неожиданно вспомнится, что ключи могут содержать символы ], [ и $ (ни к то ж не утверждал обратного), а элементы с цифрами валидны только на третьем уровне.
на практике это означает, что ваш код должен быть готов к отладке и изменению требований, а варианты с eval(), в данном смысле, самые неудобные. причины всем известны. т.е. если вы всерьёз собираетесь решать практические задачи таким вот изящным способом, то это будет расцениваться не иначе как, блин, саботаж, потому что поведение кода слабо предсказуемо, а его рефакторинг неоправданно дорог. нафик такой «специалист» нужен. если же — первоапрельская шутка, то хотя бы смайлик поставьте.
по-моему, кодить, а затем рассказывать о потенциальных проблемах этого кода — не самая лучшая стратегия для программиста. :)
задачкой проверяется то, насколько соискатель вообще адекватен. ведь дальше с ним придется работать вместе и доверять решение практических задач.
встречаются разные неудобные типажи. если претендент сразу бросается писать закорючки на php, — перед вами скорее «кодер». если начинает до упора мусолить постановку, значит — «формалист». ну и т.п.
в общем случае, лучше начинать с уточнения требований. ведь через 10 минут может выясниться, что строк в конфиге бывает over 9K, а памяти в обрез, ключи содержат юникод, и кучу т.п. причин, которые превратят весь ваш труд в бесполезную трату времени (кстати, отличный способ троллить «кодеров» :))
но без фанатизма — иначе за отведенное время вообще ничего не напишете. если сразу чувствуете, что не уложитесь, аргументированно запросите дополнительное время. или попробуйте договориться о том, чтобы сузить scope задачи. в любом случае, способность адекватно соотносить сложность задачи с собственными возможностями для программиста является большим плюсом.
писанина на бумажке сильно отличается от привычного текстового редактора, т.к. не допускает вставок. для многих программистов это не привычно — нужно писать последовательно. но есть и плюсы — можно псевдокодить. короче, если подозреваете, что на собеседовании могут быть подобные упражнения, лучше потренируйтесь заранее, решив несколько головоломок из интернета именно на листочках.
для qt есть варианты коммерческого лицензирования. если конечный продукт будет под пропиетартной лицензией (а не под lgpl/gpl), то проблем быть не должно.
Очень хотелось бы, чтоб какая-нибудь коммерческая организация бы взялась за релизацию этого порта и представила миру (пусть даже за деньги) Lighthouse плагин,
другое дело, что алгоритмы исправлений могут отличаться у разных библиотек и браузеров, давая на выходе разные деревья. например php, этот пример интерпретирует вот так:
PHP Warning: DOMDocument::loadHTML(): Couldn't find end of Start Tag dd in Entity, line: 1 in /tmp/a.php on line 3
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><p>d</p><dd></dd></body></html>
здесь терминологическая путаница — понятие first-class object (aka значение) и object в ООП (который содержит свойства и методы) — это две разные штуки.
функции в С не являются first-class object — ими являются указатели. а функции в python и то и другое. ;)
удобно если планируется реиспользовать функцию, хотя немного громоздко для однострочников. «библиотека», в первом приближении:
git clone git://github.com/ipython/ipython.git
cd ipython
python setup.py install
:)
чяднт?
SET sql_mode ='TRADITIONAL,ANSI';
и, plss… выкиньте из продукта, всю хрень, которая вот нафиг не нужна для работы (почему я вынужден платить за неё? — я не маньяк и не геймер).
наличие неочевидных возможностей это не плюс продукту, а минус его интерфейсу. в 10-ке он получился ещё более запутанным, по сравнению с 9-й версией. хотя, справка в FR чудесна: напоминает солюшен к компьютерной игре — для тех кто ниасилил разобраться в диалогах, или же застрял где-то на половине квеста. =)
почему-то у автора статьи диалоги открылись на английском. неочевидно. ^)
на практике это означает, что ваш код должен быть готов к отладке и изменению требований, а варианты с eval(), в данном смысле, самые неудобные. причины всем известны. т.е. если вы всерьёз собираетесь решать практические задачи таким вот изящным способом, то это будет расцениваться не иначе как, блин, саботаж, потому что поведение кода слабо предсказуемо, а его рефакторинг неоправданно дорог. нафик такой «специалист» нужен. если же — первоапрельская шутка, то хотя бы смайлик поставьте.
задачкой проверяется то, насколько соискатель вообще адекватен. ведь дальше с ним придется работать вместе и доверять решение практических задач.
встречаются разные неудобные типажи. если претендент сразу бросается писать закорючки на php, — перед вами скорее «кодер». если начинает до упора мусолить постановку, значит — «формалист». ну и т.п.
в общем случае, лучше начинать с уточнения требований. ведь через 10 минут может выясниться, что строк в конфиге бывает over 9K, а памяти в обрез, ключи содержат юникод, и кучу т.п. причин, которые превратят весь ваш труд в бесполезную трату времени (кстати, отличный способ троллить «кодеров» :))
но без фанатизма — иначе за отведенное время вообще ничего не напишете. если сразу чувствуете, что не уложитесь, аргументированно запросите дополнительное время. или попробуйте договориться о том, чтобы сузить scope задачи. в любом случае, способность адекватно соотносить сложность задачи с собственными возможностями для программиста является большим плюсом.
писанина на бумажке сильно отличается от привычного текстового редактора, т.к. не допускает вставок. для многих программистов это не привычно — нужно писать последовательно. но есть и плюсы — можно псевдокодить. короче, если подозреваете, что на собеседовании могут быть подобные упражнения, лучше потренируйтесь заранее, решив несколько головоломок из интернета именно на листочках.
developer.qt.nokia.com/forums/viewthread/1759/ — как раз для lighthouse и, кажется, за деньги :)
другое дело, что алгоритмы исправлений могут отличаться у разных библиотек и браузеров, давая на выходе разные деревья. например php, этот пример интерпретирует вот так:
функции в С не являются first-class object — ими являются указатели. а функции в python и то и другое. ;)
функция лишь вставляет os.sep между аргументами. а файл открывается потому, что винда понимает и прямые и обратные слеши (см os.sep, os.altsep ).