Size: a a a

2020 July 22

AM

Artem Molotov in PHP
Vadim
Там до 256 символов
спасибо
источник

/

/bin/cat in PHP
Можно ли без копирования сделать что-нибудь вроде string reference внутри расширения?
источник

/

/bin/cat in PHP
т.е. вернуть такой string, который просто char *
источник

АС

Альберт Степанцев... in PHP
ловите олдового наркомана сишника в чате!
источник
2020 July 23

С

Санжар in PHP
Доброй ночи.
источник

С

Санжар in PHP
Есть вопрос, я постараюсь его сформулировать. Он меня давно волнует, интересны похожие истории. Сейчас напишу.
источник

MM

Maksim Masiukevich in PHP
И как мы жили без этой информации
источник

🐴🐴

🐴 🐴 in PHP
Maksim Masiukevich
И как мы жили без этой информации
это называется тизер
источник

KN

Kirill Nesmeyanov in PHP
Прошло 20 лет... (с)
источник

🐴🐴

🐴 🐴 in PHP
источник

🐴🐴

🐴 🐴 in PHP
мне кажется, чуваку просто надо было выговориться :)
источник

ВУ

Валентин Удальцов... in PHP
@forszaken , я спать хочу, пожалей меня)
источник

С

Санжар in PHP
Ссоре за прохладную историю, я поною и пойду спать наверное.

Есть компания небольшая, делающая сайты. Сложность сайтов максимум интернет-магазин, есть конечно специфичные проекты посложнее уже, но их мало очень.
Программистов не так много, т.к специализация именно не разработка, а околоайтишное (Реклама/SEO).

Суть в чем. Делаются корпоративные сайты, агрегаторы, интернет-магазины, все смежное.
В принципе +- все это CRUD: это все обкатано, есть опыт разработки подобных вещей с позиции fullstack-разработчика, т.к обычно по реализации это просто верстка по макету и бэкенд несложный.
Проблема в чем.

1. Собственный фреймворк внутренний у компании, написанный 8 лет назад.  Сначала я думал, что это просто плохой код, но в ядре фреймворка есть какие-то нетипичные для такого кода вещи, вроде того что есть в некоторых местах покрыто тестами, кодстайл какой-то соблюдается, есть комментарии в меру адекватные, и в принципе со здравой головой можно понять как все работает: только вот есть вещи, которые меня оттолкнули:
не используется Composer,
не используются классы (в проекте нет ни одного класса, абсолютно все PHP файлики, такого типичного class Person {} нет, разделено на namespaces все, аутолоадинг и все остальное свое).
Собственный шаблонизатор с нуля, никаких интерфейсов, трейтов, наследования в типично понимании, , пакеты подключаются — через include/require в одном файле с конфигами.
Размер некоторых php-файлов и "контроллеров" (который один php файлик с 200 функциями на весь проект может быть) достигает 1000 строк иногда.
Прям откровенно плохого кода нет: названия функций интуитивно понятные, комментарии иногда есть. Но мне физически больно иногда писать и разбираться в этом; возможно из-за нехватки компетенции, или это реально хреновая идея писать свой фреймворк для такого типа задач.

Также для БД используется Mongo, написана на уровне фреймворка надстройка над ним (грубо говоря ORM небольшая) чтобы было удобнее писать запросы.
Используется Mercurial, к админке прибито добавление апдейтов через этот же меркуриал, все это дело запускается через VirtualBox, к которому написаны инструкции, но он часто падает у меня, или бывают какие-то проблемы — например, из-за особенностей shared folders (https://docs.mongodb.com/manual/administration/production-notes/#fsync-on-directories)

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

Был вопрос, почему используется такой подход, на что человек который занимался этим объяснил что не любит ООП для простых проектов, когда создают миграции, толстые модели/контроллеры и пишут очень много кода, когда можно в одном файлике или разделить на несколько файликов.

Спорить с его мнением не хочу, но проблема в том что порог входа в такой специфичный проект очень повышается. Проекты простые делаются долго, я в шоке с того как компания не разорилась, но видимо они наловчились быстро закрывать свои задачи через этот инструмент.
Только вдумайтесь: есть таск, где надо просто CRUD добавить, а я полдня вожусь с тем чтобы понять в чем проблема с VirtualBox, я блять даже узнал что такое OpenVZ, это все правда интересно и прикольно, но как бы... Мы же должны быстро закрывать таски и решать задачи клиентов.
Да, можно уговорить писать на новых технологиях (или попроще вещах где RAD-разработку херачить можно под тип наших проектов), но еще одна беда в том что разработчик который давно там ведет проекты только с этим фреймворком видимо и работал, т.е уйдет время на то, чтобы переучиться новому разработчику на новый стек, а время это деньги и соответственно такое обновление продвинуть тяжело будет т.к с точки зрения PM это будет убыток который не факт что ускорит разработку; на это нужно вложить время.

На фронтенде также используется свой фреймворк/либа, свои css-стили написанные по БЭМу полностью с нуля, less-пресеты какие-то, я не углублялся т.к в фронт не пускают.
Я бы еще кучу всего написал о деталях, но я просто устал, пойду лягу спать.
источник

С

Санжар in PHP
Вопрос в чем был: как повысить эффективность исходя из такого поинта?
Пока что рефакторинг идет медленно, я написал документацию небольшую для системы чтобы снизить порог входа для новых разработчиков, потому что проблема еще в том что документации почти нет; из-за чего нормой считается что новые разрабы 6 месяцев осваиваются с этим.
Руководитель компании адекватный чел, но не слишком шарит в разработке; но и я не дохуя опытный, и хуй знает еще, в чем здесь истина и че с этим делать.
Я могу нихуя не делать и дальше веслать, но хз, такие дела.


Всем спасибо, можете банить, я выговорился.
источник

ВУ

Валентин Удальцов... in PHP
> никаких трейтов, наследования

хм, неплохой там код, наверное))
источник

С

Санжар in PHP
Санжар
Ссоре за прохладную историю, я поною и пойду спать наверное.

Есть компания небольшая, делающая сайты. Сложность сайтов максимум интернет-магазин, есть конечно специфичные проекты посложнее уже, но их мало очень.
Программистов не так много, т.к специализация именно не разработка, а околоайтишное (Реклама/SEO).

Суть в чем. Делаются корпоративные сайты, агрегаторы, интернет-магазины, все смежное.
В принципе +- все это CRUD: это все обкатано, есть опыт разработки подобных вещей с позиции fullstack-разработчика, т.к обычно по реализации это просто верстка по макету и бэкенд несложный.
Проблема в чем.

1. Собственный фреймворк внутренний у компании, написанный 8 лет назад.  Сначала я думал, что это просто плохой код, но в ядре фреймворка есть какие-то нетипичные для такого кода вещи, вроде того что есть в некоторых местах покрыто тестами, кодстайл какой-то соблюдается, есть комментарии в меру адекватные, и в принципе со здравой головой можно понять как все работает: только вот есть вещи, которые меня оттолкнули:
не используется Composer,
не используются классы (в проекте нет ни одного класса, абсолютно все PHP файлики, такого типичного class Person {} нет, разделено на namespaces все, аутолоадинг и все остальное свое).
Собственный шаблонизатор с нуля, никаких интерфейсов, трейтов, наследования в типично понимании, , пакеты подключаются — через include/require в одном файле с конфигами.
Размер некоторых php-файлов и "контроллеров" (который один php файлик с 200 функциями на весь проект может быть) достигает 1000 строк иногда.
Прям откровенно плохого кода нет: названия функций интуитивно понятные, комментарии иногда есть. Но мне физически больно иногда писать и разбираться в этом; возможно из-за нехватки компетенции, или это реально хреновая идея писать свой фреймворк для такого типа задач.

Также для БД используется Mongo, написана на уровне фреймворка надстройка над ним (грубо говоря ORM небольшая) чтобы было удобнее писать запросы.
Используется Mercurial, к админке прибито добавление апдейтов через этот же меркуриал, все это дело запускается через VirtualBox, к которому написаны инструкции, но он часто падает у меня, или бывают какие-то проблемы — например, из-за особенностей shared folders (https://docs.mongodb.com/manual/administration/production-notes/#fsync-on-directories)

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

Был вопрос, почему используется такой подход, на что человек который занимался этим объяснил что не любит ООП для простых проектов, когда создают миграции, толстые модели/контроллеры и пишут очень много кода, когда можно в одном файлике или разделить на несколько файликов.

Спорить с его мнением не хочу, но проблема в том что порог входа в такой специфичный проект очень повышается. Проекты простые делаются долго, я в шоке с того как компания не разорилась, но видимо они наловчились быстро закрывать свои задачи через этот инструмент.
Только вдумайтесь: есть таск, где надо просто CRUD добавить, а я полдня вожусь с тем чтобы понять в чем проблема с VirtualBox, я блять даже узнал что такое OpenVZ, это все правда интересно и прикольно, но как бы... Мы же должны быстро закрывать таски и решать задачи клиентов.
Да, можно уговорить писать на новых технологиях (или попроще вещах где RAD-разработку херачить можно под тип наших проектов), но еще одна беда в том что разработчик который давно там ведет проекты только с этим фреймворком видимо и работал, т.е уйдет время на то, чтобы переучиться новому разработчику на новый стек, а время это деньги и соответственно такое обновление продвинуть тяжело будет т.к с точки зрения PM это будет убыток который не факт что ускорит разработку; на это нужно вложить время.

На фронтенде также используется свой фреймворк/либа, свои css-стили написанные по БЭМу полностью с нуля, less-пресеты какие-то, я не углублялся т.к в фронт не пускают.
Я бы еще кучу всего написал о деталях, но я просто устал, пойду лягу спать.
Если что, чел который все это писал вполне адекватный, нормальный человек.
это не тот случай когда говнокод дикий на 100%, просто субъективное понимание того, что такое хороший код, а что плохой; возможно сказывается то, что занимался олимпиадным программированием, возможно я не слишком квалифицированный и для меня порог входа за счет этого высокий и это мне плохим решением кажется.

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

Но тут порог входа завышен *из-за собственного фреймворка**, я вижу в этом серьезную проблему для бизнеса/дедлайнов.

С точки зрения разработки — интересно поковыряться, с точки зрения эффективности — не слишком, пока не наловчишься работать с этим. Теперь точно все.
источник

А

Артём in PHP
Бросит эту галеру не вариант?
источник

ВУ

Валентин Удальцов... in PHP
> как повысить эффективность исходя из такого поинта?

свою? найти новую работу

> Руководитель компании адекватный чел

пох на руководителя, думай о себе, лол
источник

ВУ

Валентин Удальцов... in PHP
я когда это понял, сразу вырос в ЗП и в скилле
источник

P

Panda🤔 in PHP
Санжар
Если что, чел который все это писал вполне адекватный, нормальный человек.
это не тот случай когда говнокод дикий на 100%, просто субъективное понимание того, что такое хороший код, а что плохой; возможно сказывается то, что занимался олимпиадным программированием, возможно я не слишком квалифицированный и для меня порог входа за счет этого высокий и это мне плохим решением кажется.

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

Но тут порог входа завышен *из-за собственного фреймворка**, я вижу в этом серьезную проблему для бизнеса/дедлайнов.

С точки зрения разработки — интересно поковыряться, с точки зрения эффективности — не слишком, пока не наловчишься работать с этим. Теперь точно все.
Съебал бы уже давно с такого ужаса
источник