• Как сделать документацию к коду?

    @kn0ckn0ck
    Продюсер
    Есть две крайности, которых лучше избегать:
    1. красивая и исчерпывающая документация требует колоссальных ресурсов на поддержку
    2. сложно воспринимаемый код, без малейших подсказок с чего все начинается и чем заканчивается

    Стандартные решения:
    1. самодокументируемый код, составленный так, что читающий может понять что для чего и в какой последовательности работает.
    2. описание интерфейсов (назначение метода, тип/суть параметров и т.п.) в форме комментов в коде.
    3. автоматическая документация (генерится из комментариев) - эффективно, только если сам код закрыт.
    4. модульные тесты, фиксирующие требования к коду и демонстрирующие его использование.
    5. описание высокоуровневого дизайна (High Level Design, HLD), описывающий какие элементы существуют, их взаимосвязь друг с другом и основные сценарии взаимодействия.

    Работающая документация - это компромисс из этих практик, релевантный конкретной ситуации.

    Кстати, проектная работа, это не только документация к коду, это еще и свод правил, которые позволят архитектуре не расползтись кто в лес кто по дрова, а также сохранят стилистику написания кода для единообразия и легкой поддерживаемости кода.
    Ответ написан
    12 комментариев
  • Что должен знать middle PHP разработчик?

    bboytiwst
    @bboytiwst
    Очень интересную вакансию получил на днях, на мой взгляд она в какой то мере описывает то, что должен знать мидл.
    - писать хороший код на PHP от 2 лет;
    - знаешь для чего нужны интерфейсы в PHP
    - у тебя есть опыт проектирования MySQL, понимание механизма оптимизации реляционных баз данных этого типа;
    - используешь концепции ООП, а не пишешь лапшекод;
    - знаешь основные паттерны проектирования
    - умеешь разбираться в чужом коде;
    - знаешь о замыкании в JavaScript и как красиво написать рабочий код;
    - применял AJAX и периодически его используешь;
    - знаешь как писать юнит-тесты и когда их писать целесообразно;
    - знаешь о dependecy injection и почему он нужен для повторного использования, масштабирования и тестируемости;
    - понимаешь, чем ActiveRecord со связями отличается от традиционного, фаулеровского, ActiveRecord


    IMHO то что надо
    1. знать большинство отличий/нововведений 2-3 последних мажорных версия PHP (и уметь их правильно использовтаь)
    2. знать один из фреймворков (ZF2, Symfony2, Laravel4/5) на уровне полного понимания внутренней работы фреймворка (на каких паттернах построена та или иная часть системы, почему именно на них, как это все взаимодействует и т.д)
    3. знать как работают реляционные СУБД т.е понимание JOIN'ов не только, что куда лепить, а и как это происходит внутри, ну и с остальными функциями так же
    4. ну и в конце то концов разобраться с SPL, что бы не было ситуаций как на PHP UK Conf.
    5. JS - понимать как там все внутри крутиться, вертится. Желательно знать еще какой то фреймворк (Angular, backbone, etc)
    6. HTML, CSS - по вкусу (не считаю, что php программист должен быть крутым верстальщиком, но одно другому не мешает и если нравится то это только плюс будет)
    7. Знать English, что бы стыдно на митинге не было
    8. быть адекватным, вменяемым человеком
    Ответ написан
    6 комментариев
  • Как объяснять кадровикам быстрые смены работы?

    @Programmir
    Просто говори, что не сложилось. Не надо перед кем-то прогибаться, надо иметь достоинство.
    Ответ написан
    5 комментариев
  • Как объяснять кадровикам быстрые смены работы?

    Выходи из депрессии и иди устраивайся на работу своей мечты.
    Хватит переживать и беспокоиться из-за стечения обстоятельств, тратить на это время, нервы, здоровье. Это не ты им не подошёл как работник, а они тебе не подошли как работодатели.
    Выше голову, шире плечи, улыбка до ушей и вперёд!
    Ответ написан
    3 комментария
  • Есть ли хорошие онлайн-курсы по высшей математике и алгебре?

    @myrov_vlad Автор вопроса
    Благодарю всех за ответы и рекомендации!
    Последовал советую brainick и прослушал введение в математический анализ на степике, там уже, по преподавателю, вышел на курсы от CSC на Лекториуме, так же ОЧЕНЬ рекомендую лекции Райгородского на той же курсере, например про комбинаторику, это лучший лектор, что я слышал (хотя я и не избалован хорошим образованием).
    Ответ написан
    1 комментарий
  • PHP: с чего начать, как учить и что в итоге знать?

    1. Не по книгам «для чайников»
    2. Для начинающих — даже не знаю. С такого можно начать. Для уровня чуть выше — Мэтт Зандстра. PHP. Объекты, шаблоны и методики программирования.
    3. Тут хорошо ответили, хотя и с CMS не мешало бы потыкаться:)
    4. Лучше бы о выборе языка лучше подумал:) Само собой, чаще всего с MySQL используют, двигайся дальше как её освоишь.
    5. Yii, например, годный.
    6. Git — система управления версиями, разрабатывалась для управления разработкой ядра Linux. Зачем? Дабы не запутаться в изменениях, что внев в код.
    GitHub — самый большой сервис для совместной разработки проектов. Бесплатен для open-source, можешь посмотреть исходники многих интересных проектов и даже поучаствовать в разработке.
    Ответ написан
    5 комментариев
  • Битрикс: На складах есть, а доступное количество 0. Почему?

    winer
    @winer
    занимаюсь разработкой сайтов на 1c-bitrix
    https://dev.1c-bitrix.ru/learning/course/index.php...

    Важно! Количество товара на складах носит исключительно информационный характер и не влияет на расчет остатков товара после заказов. Таким образом, изменять значения количества товара на складах необходимо вручную.
    Ответ написан
    5 комментариев
  • Как подключить 2 умных фильтра в битрикс?

    OlegMifle
    @OlegMifle
    php-программист
    Можно попробовать указать разные параметры SEF для одного и другого компонента.
    Ответ написан
    Комментировать
  • Как вернуть Ubuntu в состояние сразу после установки?

    Об этом нужно позаботиться заранее. Существует 3 простых варианта:
    1) Использование снепшотов lvm.
    2) Использование снепшотов btrfs.
    3) Не самый удобный, но самый простой - clonezilla.

    Если вы систему уже загадили, то делать переустановку. Затем делать снепшот. После экспериментов можно откатиться до сохраненного состояния. По мере загаживания можно сколько угодно делать "точки восстановления", что бы откатиться к нужному состоянию. А потом и обратно вернуться можно.
    Ответ написан
    Комментировать
  • Что делать, если человек не платит за сайт?

    saboteur_kiev
    @saboteur_kiev Куратор тега Веб-разработка
    software engineer
    Не рекомендую ничего делать с сайтом. Как бы ни было жалко работу, своя репутация дороже - это на случай, если вы хотите навредить.
    Но:

    1. Вы можете попробовать найти заказчика, для которого написан сайт, написать ему письмо или связаться другим способом и разъяснить, что вся работа по сайту на самом деле была сделана не студией, а лично вами. Можете вкратце пояснить, что студия с вами не расплатилась, и если заказчику нужны будут доработки, то пусть он связывается с Вами напрямую, а не через студию, которая вас "кинула".

    2. Сайт смело можно добавлять в свое портфолио и искать другую работу.

    3. Деньги жалко, но это всего лишь деньги и всего лишь один из тысяч эпизодов этой жизни. Постарайтесь взять от ситуации больше позитива. Испортить репутацию нехорошей студии можно и позже, когда вы поймете, что никаких других вариантов нет, а вы уже нашли другую работу и там вас оценили.
    Ответ написан
    1 комментарий
  • Как составить правила реврайта для nginx, которое будет добавлять слеш в конце ссылки?

    @globalmac
    У себя делаю примерно так:

    location / {
        rewrite ^([^.\?]*[^/])$ $1/ permanent;
        try_files $uri @clean_url;
    }


    Force Trailing Slash:

    rewrite ^([^.\?]*[^/])$ $1/ permanent;

    Данная строка добавляет слэш / в конце каждого URL, только в том случаее если в URL нет точки или параметров. Тоесть после example.com/index.php или example.com/do?some=123 слэш не поставится.
    Ответ написан
    Комментировать
  • Экспертиза бэкапа сайта

    @IlVin
    Обычно бекап записывают на болванку и отправляют себе по почте.
    Если конверт не вскрывать, то вопрос даты бекапа можно считать доказанным.
    Ответ написан
    Комментировать
  • Почему докер-композ не запускает nginx?

    mashletov
    @mashletov
    Math.random()
    В "volumes:" должны быть только директории в обе стороны. У вас же лог файлы, которые докер, естественно, начинает воспринимать как директории. А nginx не может создать такие файлы.
    Ответ написан
    2 комментария
  • Почему в битрикс24 ИД сделок добавляется через 1?

    usdglander
    @usdglander
    Yipee-ki-yay
    Рискну предположить что это связано с организацией процесса создания. Очень похоже что сначала добавляется сделка с какими то пустыми полями, а затем уже заполненная. Но чтобы не было мусора, то предыдущая удаляется. Не думаю что такая маленькая дельта в id может как то быть использована. Скорее всего просто решение per anal, как и всё что содержит в себе слово "Битрикс".
    Ответ написан
    Комментировать
  • Существует ли лаконичное описание математики?

    @potan
    Функциональный программист
    Книги Перноуза привертно такие. "Новуй ум короля" и программирование затрагивает.
    Еще можно почитать "Гедель, Эшер, Бах. Эта бесконечная гирлянда" Дагласа Р. Хофштадтера
    Ответ написан
    Комментировать
  • Существует ли лаконичное описание математики?

    myjcom
    @myjcom
    Математика за 30 секунд
    Год: 2014
    Автор: под ред. Ричарда Брауна
    Переводчик: Карнаушко И.
    Издательство: Рипол Классик
    ISBN: 978-5-386-07012-0
    Серия: Узнать за 30 секунд
    Язык: Русский

    Математика. 50 идей, о которых нужно знать
    Год издания: 2014
    Автор: Крилли Т.
    Переводчик: Ш. Мартынова (с англ.)
    Издательство: Фантом Пресс
    ISBN: 978-5-86471-670-0
    Язык: Русский

    Магия математики: Как найти x и зачем это нужно
    Год издания: 2016
    Автор: Бенджамин А.
    Переводчик: Д. Глебов
    Издательство: Альпина Диджитал
    ISBN: 978-5-9614-4466-7
    Язык: Русский

    Удовольствие от x
    Год: 2014
    Автор: Строгац С.
    Издательство: Манн, Иванов и Фербер
    ISBN: 978-500057-008-1
    Язык: Русский

    Математика без формул
    Год выпуска: 1995
    Автор: Пухначев Ю., Попов Ю.

    Беседы о математике. Книга 1. Дискретные объекты
    Год выпуска: 2002
    Автор: Болтянский В.Г., Савин А.П.
    Жанр: Математика
    Издательство: МЦНМО
    ISBN: 5-94057-040-2
    Язык: Русский

    Мало ли...
    Логарифмическая линейка
    Год издания: 1958
    Автор: Кущенко В.С.
    Жанр или тематика: Математика
    Издательство: Судпромгиз
    Язык: Русский

    Счётная линейка
    Год выпуска: 1967
    Автор: Румшиский Лев Зимонович
    Издательство: "Наука"
    УДК: 681.143:518.5
    Язык: Русский
    Ответ написан
    Комментировать
  • Как подключить мой файл js в компоненте Bitrix?

    gromdron
    @gromdron
    Работаю с Bitrix24
    1) То, что Вы делаете, должно работать (по крайне мере на первый взгляд)

    2) В компоненте автоматически подключается файл шаблона script.js.

    3) Дополнительные скрипты можно подключить:
    Ответ написан
    2 комментария
  • Как подключить мой файл js в компоненте Bitrix?

    @eternalfire
    правильно так -
    $this->addExternalJs();

    https://dev.1c-bitrix.ru/api_help/main/reference/c...
    Ответ написан
    Комментировать
  • Стоит ли отправлять документы для удаленной работы?

    rockon404
    @rockon404
    Frontend Developer
    Обычная практика. Не хотите отправлять транспортной компанией, едьте лично. По-другому никак.
    Ответ написан
    4 комментария
  • Почему каталог не выводит товары подразделов?

    @SMSdesign
    Понемногу отовсюду
    скорее всего у вас одна из двух причин
    1) С вероятностью 80% - при переносе сайта удаляется или переименовывается файл htaccess
    без него недоступны настройки ЧПУ и переходы не осуществляются. Верните файл.
    2) С вероятностью 15% - папка каталога недоступна движку для чтения и настройки компонента недоступны. проверьте,ч то пишет проверка сайта.
    Ответ написан