А вот про перемещение в углы никто из пользователей ничего не говорит (^_^) Действительно, так можно перелистывать страницы, но в целом картина не меняется — крупные PDF (как по объему, занимаемому на диске, так и по разрешению страниц) читать весьма и весьма неудобно: масштабирование тормозит, сбрасывается при перелистывании, а при достаточном уровне удачливости книга зависает (^_^) Хотя в моем экземпляре «завис» можно вызвать даже быстрыми тапами на перелистывание страниц FB2, не то что PDF… Прошивка, кстати, последняя (прошивался через тузлу Ritmix'а, ибо способ «кинуть в корень и запустить с книги» чуть не закончился кирпичиком (-_-) ).
приобрел-таки себе Ritmix RBK-430, посему отвечу себе сам, в старой-доброй традиции (^_^) переключаться между страницами PDF после масштаба нельзя никак, кроме как ручным выбором номера страницы (через меню), но в этом случае масштаб сбрасывается
субъективно — тормозит это дело и масштабируется не ахти как, поэтому к черту PDF — нужно искать другие форматы, хоть тот же FB2
Касательно PDF — разные люди в разных обзорах говорят по-разному. Интересует конкретно — можно ли после масштабирования переключаться между страницами (кнопки вперед-назад, качелька громкости, тапы по нижней половине экрана, «перелистывание» (движение пальцем от одного края экрана к другому) etc), и сохраняется ли масштаб?
P.S. Да, я знаю, что в обзоре уже дали ответ — для меня он показался расплывчатым, и поэтому я хочу переспросить человека, который ими действительно пользовался, а не который посчитает себя самым умным и ткнет меня в уже написанные слова.
Зависит от компании. Если это фрилансер — человек-оркестр, то естественно — даже если он и занимается сугубо скетчами, то ему же в плюс, если после покупки исходника картинки-дизайна верстальщики легко натянут эскиз на страницу, а не обплюются и скажут боссу «больше у него ничего не берем». А если это крупная компания, то у каждого человека своя специализация — кто-то рисует сетку, кто-то — схемы экранных форм, кто-то ищет цветовые решения и/или интересные эффекты, кто-то все это «компилирует» в дизайн, кто-то его натягивает, а главное — за этим следят руководители, чтобы подчиненные работали по одной системе, а никак не каждый сам за себя.
Извините, ответил так, что это вызвало непонятки. Переформулирую — у ребенка будет своя голова на плечах, а не моя, и для него все будет свое — и плюсы, и минусы. Даже если для меня что-то является недостатком, а что-то — достоинством, то совершенно не факт, что для него это будет то же самое. Либо вопрос, по сути, аналогичен «хотите ли вы, чтобы в вашей профессии работал кто-то еще?» (точнее "… чтобы в вашу профессию пришел новый сотрудник"), либо опирается на гордость (и прочие чувства) за то, что ребенок продолжил карьеру отца (коей, как я уже, возможно, невнятно сказал, у меня не будет)
Согласен. Я хочу, чтобы у моих детей была своя голова на плечах и своя жизнь, а не какие-то пинки со стороны родителей «делай эдак, учись на того-то и живи точно так же, как жил я».
В свое время думал над DSL для подобной задачи на PHP (составление запросов на выборку) и уже даже сел реализовывать — остановился, когда понял, что еще чуть-чуть, и я начну писать первую версию SQL (^_^)
Прошу прощения, сейчас голова ну очень плохо варит. Суть была в том, что требовались самые разнообразные комбинации из пяти таблиц group, student, test, group_test, student_test при самых разнообразных условиях выборок + контейнеры элементов (думаю, от них как раз можно избавиться — пока не могу придумать необходимости получения данных именно от списка результатов выполнения тестов, а не от конкретного результата (если только подсчет средней оценки)). Дублирование возникает как минимум при валидации полей (можно, в принципе, намутить наследование и иже с ними, но опять боюсь сделать слишком сложную и запутанную систему).
Т.е. использовать все тот же ORM (сделать несколько классов), но вынести всю логику запросов в Mapper'ы? Остается вопрос именований методов для выборки данных из БД ($students->findByGroupIdOrderByName($groupId) или $group->getStudentsOrderByName()) и вопрос дублирования кода (кажется мне, что именно в моем случае от дублирования не избавиться (-_-) ).
Насчет модели все весьма и весьма спорно (во всяком случае у меня). Допустим, у меня есть некоторая структура в базе данных — пусть это будут группы студентов, студенты, тесты, привязки тестов к группам и результаты выполнения тестов студентами — 5 таблиц (то, что по-хорошему это должно быть два модуля — Студенты и Тесты, и Тестам должно быть начхать, в той же БД ли находится информация о студентах, или же это вообще написано на бумажке у бабы Нюры, а при запросе сервер делает ей звонок по телефону, синтезирует голос, и баба Нюра надиктовывает пароли в трубочку, мы пока скромно умолчим). Тесты также имеют еще одну «базу данных», а именно сами файлы с заданиями (вопросами и ответами). Как видите, структура относительно легкая, но нетривиальная. Теперь самое интересное. Из ваших слов я сделал вывод, что у меня есть два варианта:
1. Сделать в качестве модели ORM (т.е. наплодить некоторое число классов (не помню, вроде когда-то считал, и их выходило 16 (т.к. классы-записи могут смешиваться в различных вариантах + классы контейнеров))), сломать голову над нетривиальной логикой внутри них (мало того, что сочетания не самые простые (например, контейнер тестов студента («тесты студента группы», если быть точным), контейнер выполненных тестов студента («результаты тестов студента») и контейнер всех тестов студента с информацией о их выполнении («тесты студента группы + результаты тестов студента»)), так еще и разбор файлов тестов прибавляется в куда-нибудь), а потом вконец загнуться на оптимизации запросов (т.к. сервачок не самый новый и не самый сильный)
2. Сделать один (два, пять) класс, включающий в себя стопицот методов для получения нужной информации. Так я, в основном, и делал, но меня начинают смущать названия «getStudentTestsWithResultsAndMinMarkByStudentId» или «getPagedStudentTestMarksByStudentIdsAndTestIds».
Что посоветуете, кроме как генерировать SQL-запросы прямо в контроллере? Пробовал написать мета-модель, которая после небольшой настройки под конкретную таблицу базы данных с помощью DSL генерировала SQL-запрос и разбирала его результат, но столкнулся с тем, что эта мета-модель превращается в чистый SQL (ладно, умный SQL, знающий типы полей), но с лишним слоем DSL на PHP.
Это как с «джава» vs «ява» и «аякс» vs «аджакс» (особенно меня забавляют те люди, которые пытаются переучить весь мир на «джава» как якобы самое верное произношение на Земле, но при этом говорят «аякс» (хотя буква та же и правила те же); забавляют потому, что я сам таким был (*^_^*) )
Проверяю, но атрибут «autocomplete», пусть он сто тысяч раз невалиден для HTML 4.01 Strict, оставляю (и не хочу плясать с бубном, назначая его в JS только ради зеленой плашки на сайте W3C).
Присоединяюсь — мало того, что топики весьма и весьма ценные, так еще и эти топики в избранном отображаются плашками «НЛО прилетело и опубликовало эту надпись здесь», и ничего с этим нельзя поделать (в свое время отписывался об этом в поддержку, но получил ответ «думаем над этим», и на этом все закончилось). Из серии некритичных и незаметных деталей, которые портят общую картину.
субъективно — тормозит это дело и масштабируется не ахти как, поэтому к черту PDF — нужно искать другие форматы, хоть тот же FB2
P.S. Да, я знаю, что в обзоре уже дали ответ — для меня он показался расплывчатым, и поэтому я хочу переспросить человека, который ими действительно пользовался, а не который посчитает себя самым умным и ткнет меня в уже написанные слова.
$students->findByGroupIdOrderByName($groupId)
или$group->getStudentsOrderByName()
) и вопрос дублирования кода (кажется мне, что именно в моем случае от дублирования не избавиться (-_-) ).1. Сделать в качестве модели ORM (т.е. наплодить некоторое число классов (не помню, вроде когда-то считал, и их выходило 16 (т.к. классы-записи могут смешиваться в различных вариантах + классы контейнеров))), сломать голову над нетривиальной логикой внутри них (мало того, что сочетания не самые простые (например, контейнер тестов студента («тесты студента группы», если быть точным), контейнер выполненных тестов студента («результаты тестов студента») и контейнер всех тестов студента с информацией о их выполнении («тесты студента группы + результаты тестов студента»)), так еще и разбор файлов тестов прибавляется в куда-нибудь), а потом вконец загнуться на оптимизации запросов (т.к. сервачок не самый новый и не самый сильный)
2. Сделать один (два, пять) класс, включающий в себя стопицот методов для получения нужной информации. Так я, в основном, и делал, но меня начинают смущать названия «getStudentTestsWithResultsAndMinMarkByStudentId» или «getPagedStudentTestMarksByStudentIdsAndTestIds».
Что посоветуете, кроме как генерировать SQL-запросы прямо в контроллере? Пробовал написать мета-модель, которая после небольшой настройки под конкретную таблицу базы данных с помощью DSL генерировала SQL-запрос и разбирала его результат, но столкнулся с тем, что эта мета-модель превращается в чистый SQL (ладно, умный SQL, знающий типы полей), но с лишним слоем DSL на PHP.