Обновить
28
Никита Гусаков@hell0w0rd

Пользователь

12
Подписчики
Отправить сообщение
А мне вот интересно, если код полностью покрывать тестами перед написанием — такие ошибки все еще будут существовать? Также статический анализ врятли обнаружит логическую ошибку, а тест — запросто.
А в Silex использовали ORM? Очень хочется Doctrine, тк с ней разобрался, провайдер есть, но не получается настроить генерацию entities с неймспейсами, возможно у вас получилось?
Классно Igor Wielder охарактеризовал php-сообщество:
PHP community is a community of pirates. We don't invent, we just steel.
Возможно я слишком восхищен гибкостью симфони. С другой стороны это дает определенные преимущества, если мне нравится философия yii, но не нужен весь yii, а допустим только та же система кеширования, или компонент БД.
Мне кажется модульность не относится к философии фреймворка, а скорее к его гибкости.
Прочитайте внимательнее то, что я написал. Doctrine это не только обертка над БД в том или ином проявлении, есть отдельные компоненты — кеширование, парсер аннотаций, еще пара компонентов, посмотрите репозиторий doctrine и doctrine/common в частности.
Мне очень понравилось, что вы сделали ArrayAccess, это действительно здорово. Только о какой обертке идет речь? Достаточно же форкнуть и отредактировать CacheProvider, или добавить своих методов, соответсвующих вашему стилю, или я чего-то не понимаю?
А на счет скорости — все это закешируется APC, или другим кешером и думаю не будет особо заметно.
Так обратной совместимости я так понимаю нет, из-за отказа от приставки C в классах, или это как-то обошли?
Так я же не спорю. Верю что doctrine и monolog в чем-то опирались на ваш опыт, или еще как-то связаны.
Но сейчас это мощные независимые компоненты, которые развиваются отдельно, свободные, можно форкнуть и добавлять свои фичи, если проекты загнутся. Но пока все хорошо — почему бы не сосредоточиться на других вещах, мне вот это не ясно)
На первый взгляд показалось систем разновидностей кеширования больше. Хотя после подробного просмотра видно, что разница не значительна — как минимум переход с другого фреймворка, или просто проекта, использующего популярную doctrine будет проще. Логирование явно полнее в монологе в смысле количества провайдеров для логиирования, имеющих единый интерфейс, бери и используй.
Да и потом эти компоненты оттестированы и готовы, но зачем-то вы их переписываете, вот и вопрос — зачем?
Убрали C в начале каждого класса — ура!
Но почему не используются чужие компоненты, а пишутся во всем свои? На пример кеширование полнее в doctrine/cache, а логирование в monolog, есть же куча вещей, которые должен решать фреймворк, например помощь в быстром написании кода на фреймворке, генерация скелета будущего кода… По формам нашел только 1 класс, в общем как-то все странно.
Ну не знаю-не знаю) Я на 1 курсе учусь, второкурснику писал лабу, по бинарным деревьям. У его одногруппников поспрашивал — какую-то ахинею несли, вроде «нужны просто чтобы показать что такие есть», когда разобрался и поиск и сортировку и все что нужно было написал, заинтересовали другие разновидности, но пока нет времени разобраться. А бинарные деревья можно сказать с наскоку понял, у меня не графов, ни матана ничего нормального небыло еще.
Ну согласитесь, если набор функция оперирует множеством переменных, на 2-3 экрана, ее нужно разбить на методы. Потом оказывается, что эти функции будут работать каждая с 3+ переменными. Безусловно удобнее будет выделить подобное в класс, или переменные вынести в существующий класс.
Это все, если конечно пишешь в ООП стиле, не процедурном
Почему бы такие функции не вынести в объект?
Согласен. Но в таких статьях не пишут кого ищут на работу. Какой уровень? Человек может отлично знать SQL, но никогда не иметь дело с ORM. Да, он разберется, но тонкостей не знает, и скорее всего часть возможностей сразу использовать не будет, а пользоваться query-builder'ом.
Опять же, возможно мое наивное мнение, но как мне кажется программисту нужно знать хорошо базу + какие-то специализированные вещи. Кто-то хорошо рефакторит и тесты пишет. А кто-то левой рукой сервер поднимает, а правой базу оптимизирует. Я утрирую, но мысль ясна. Мне казалось идеальная команда состоит из таких программистов, где каждый умеет и могет, но каждый лучший в какой-то своей области.
И тогда так и писать в требованиях — нужен человек отлично знающий следующие технологии. Тогда студенты вроде меня не будут тратить ваше время. Но в требованиях четко пишут — отличное знание *стек технологий*, думаю соискатели, о которых отзываются дурно в таких статьях думают так: «ну что php54, ну трейты — понимаю. SQL… да, джойнить умею, связи строить тоже могу, индексы вроде правильно ставлю, не дурак… JS — да, синтаксис знаю, замыкания прототипы умею, jquery в каждом проекте использую», а когда приходят — закидывают вопросами о которых в требованиях и в помине небыло.
Зачем веб-программисту знать красно-черные деревья и указтели — я не совсем понимаю. Такое зашито глубоко в языки и это уже совсем не веб-программирование.
И не будет, до следующейосновной версии, ибо зачем?
Вот я читаю подобные статьи и думаю. Может я еще зеленый (да, да, я такой, студент еще), но ведь главное умение программиста — вникать в задачу/технологию и генерировать идею ее разрешения/быстро осваивать.
Почему на собеседованиях никогда не проверяют эти качества, а проверяют то, что уже точно умеет человек? То есть конечно ясно, что есть какая-то база, которую нужно знать, но вот я на пример не знаю нормально регулярки, просто в силу того, что не часто с ними сталкивался, зато точно знаю как решить задачку с рекурсией. Хотя должен заметить когда-то плохо знал как с рекурсией обращаться, а в дальнейшем даже понравилось.
История из жизни
Проходил собеседование на практику в небольшой фирме занимающейся разработкой сайтов. За час до собеседования понял что ничего не знаю про джойны. Ну вообще ничего, просто никогда не требовались.(нет, циклами в запросах я не обходился, просто не требовалось) И как назло интернет в метро плохо ловил, ничего прочитать так и не смог. Приехал, перенервничал, наделал глупых ошибок, вроде вместо strlen использовал count. Пообещали созвониться до конца недели.
Выйдя — понял что все скорее всего провалил. Около входа в метро стоит ростикс — зашел, сел, разобрался с джойнами быстро и отослал тестовые задания, в решенном виде. Уж не знаю повлияло ли это на решение — мне на следующий день предложили работу. По своим причинам в итоге отказался.
Сейчас с джойнами разобрался, но эта история, как мне кажется показывает одно из решающих и важных умений программиста — как обучаемость.
Оформили бы в виде класса и на гитхаб — было бы супер.
Если это нужно разово, а не на постоянной основе — я бы сделал по другому: из exel в SQL Server, ну а тут уже точно решения есть.
Мне казалось там журналисты, а не программисты собираются…
Ну apple позиционируют свои продукты как лучшие, а pixel уже переплюнул ретину, так что можно ожидать подобное

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность