Задать вопрос
  • Что за тип данных static?

    @D3lphi
    Это класс, верхний в иерархии наследования, из которого происходит вызов метода. Self и Static можно поставить в один ряд. Self - это класс, в котором написан этот метод, а static - класс, из которого происходит вызов метода. Это может быть тот же самый класс, а может - наследник. Прочтите про позднее статическое связывание.
    Ответ написан
    Комментировать
  • Использование нелицензированного ПО в организации, кто несёт ответственность?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    А теперь от теории к практике, я сам несколько раз попадал под проверки, а также несколько лет "работал" независимым специалистом по киберпреступлениям, в том числе на проверках лицензионной чистоты. Руководство всегда показывает пальцем на админа и говорит "Мы не знали, вот ответственный специалист!" Заканчивается это тем, что компанию штрафуют, а админу прилетает срок. Наличие бумажки о том, что директор знал об установке пиратского софта трактуется судом как преступный сговор. Позиция админа "я не обязан разбираться в тонкостях лицензирования" - это как позиция бухгалтера "я не обязан разбираться в тонкостях налогообложения". Правильных решений может быть только два - либо заставить компанию перейти на лицензионное ПО, либо уволиться.
    Ответ написан
    39 комментариев
  • Использование нелицензированного ПО в организации, кто несёт ответственность?

    @pfg21
    ex-турист
    Пишешь документ на имя директора, где подробно перечисляешь что на таких-то компутерах имеется такое-то нелицензионное ПО. регистрируешь его у секретарши. делаешь копию с регистрационными надписями.
    твоя работа сделана, теперь начинается работа начальства по выделению денег на исправление незаконного использования.
    твоя * прикрыта.
    Ответ написан
    9 комментариев
  • Использование нелицензированного ПО в организации, кто несёт ответственность?

    @other_letter
    1. Ни в коем случае не писать никаких бумажек, как советует pfg21 .
    2. Ни в коем случае не говорить открыто, что это-пиратка.
    3. Ни в коем случае не вести "журналов установки пиратского софта".

    Зачем: В случае чего все дружно-дружно покажут на Вас. Ответственность несёт Директор. Скорее всего - даст взятку. Но если и он решит Вас слить - самый плохой вариант (остальные-то работники наверняка подтвердят). И эти бумажки будут показывать процесс подготовки к преступлению, факт его завершённости. А умысел как-нибудь найдётся. Плюс эта бумажка - подтверждение сговора (т.е. уже ч.2)

    Как делать: Вы не обязаны разбираться в тонкостях лицензирования. Кто угодно пусть пишет что угодно в стиле тыжпрограммист, но если такого навыка/обязанности нет в должностной инструкции (наверняка нет, и надо, чтобы не было), если не было такого курса в ВУЗе или Федерального Закона (тут условно) - не обязаны. Вы просто ставите то, что просят. Так, как просят. С дисков, которые Вам предоставил согласно ТК Работодатель (в качестве инструмента).
    Ответ написан
    42 комментария
  • Как построить конвейер сайтов на Ruby On Rails? Подходит ли RoR вообще?

    Matvey-Kuk
    @Matvey-Kuk
    Разработчик в Cisco, CA.
    Настраивал конвейер для полностью аналогичной компании пару лет назад. Единственное отличие - почти не было PHP наследия.

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

    Поначалу основной упор пришлось таки сделать на DevOps, все работало на GitLab, GitLab CI, Docker и хостинге Flops.ru. Это очень муторная, долгая работа по первичной настройке всего и вся. Не уверен, что её получится избежать.

    Разработка проекта велась следующим образом:
    1) Есть репозиторий с "заготовкой", копируется в новый репозиторий.
    2) Подключается GitLab CI, в переменных среды задается вся-вся конфигурация. Например, на каких серверах запускать, на каких доменах и так далее.
    3) Программисты выпинываются на прогулку по другим репозиториям в поисках удачных технических решений в похожих проектах.
    4) Пушат код, он заливается на сервачки. Каждая ветка - на свой поддомен, фичи тестятся отдельно. Кодревью, Юниттесты, Мерж реквесты - это все реально помогает.

    В итоге когда все завелось и начало помогать, а не делать больно (примерно через пол года), появилась другая проблема - как нам то же самое соорудить на фронтенде? А это уже совсем другая история...
    Ответ написан
    2 комментария
  • С чего можно начать изучение Symfony и стоит ли начинать знакомство с фреймворками именно с него?

    @ArtemioVegas
    php developer
    Привет!
    Сам не так давно изучаю Симфони, не всё сразу заходит , но изучать интересно, т.к. возможности у фреймворка достаточно большие. Исходный код компонентов достаточно логичен и чист(имхо).
    На русском языке лично я почти не встречал актуальных материалов, зато на английском море, офф документация просто шикарная, да и не настолько там сложный английский чтобы не понять (гугл транслейт помогает).
    По поводу материалов для изучения - есть такой интересный сайт, на котором много актуальных обучающих материалов по симфони (и не только) - https://knpuniversity.com/ курсы ведет Ryan Weaver https://github.com/weaverryan Symfony docs lead, часть контента платная, но текст и листинг кода можно смотреть в любом случае.
    Плюс рекомендую глянуть Демо проект симфони https://github.com/symfony/symfony-demo в котором показывают как надо делать приложения (от разработчиков симфони)
    Ответ написан
    1 комментарий
  • С чего можно начать изучение Symfony и стоит ли начинать знакомство с фреймворками именно с него?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Да, изучение фреймворков обязательно надо начинать с Симфони.
    Ларавель - попсовый фрейворк, который тоже может быть использован правильно, но рекламируется он как инструмент для "фигак-фигак - и в продакшен". Все туториалы по нему показывают, как сделать побыстрее, но этот подход выйдет боком в будущем. Ларавель для изучения - это зло.

    Симфони же сразу приучает, как делать правильно: не дает намусорить в контроллере, приучает делать хелперы без жестких зависимостей, показывает, как делать репозитории для обработки данных. Да это труднее, но избавит от больших проблем в будущем.

    При наличии готового проекта лучше всего изучать именно на этом готовом проекте. Практика в 100 раз лучше любой теории.
    Ответ написан
    2 комментария
  • 404 при попытке сделать REST?

    DarkRaven
    @DarkRaven
    разработка программного обеспечения
    1. Проверьте роутинг, особенно аннотации.
    2. Прекратите использовать продакшен-точку входа и обращайтесь на app_dev.php. У вас могут быть проблемы с роутингом - кэш не перестроен.
    Обращайтесь на localhost/web/app_dev.php/newUser, если вы в dev-окружении
    Ответ написан
    Комментировать
  • Какой opensource проект в качестве примера при изучении symfony 3?

    GTRxShock
    @GTRxShock
    SA
    посмотрите [Knp University] Learn Symfony 3 и будет вам счастье.
    Бест практики описаны, как ориентир можно рефакторинг Фаулера держать под рукой и как ни странно практика, много практики, придерживаясь основных идей: логика в сервисах, работа с базой в репозиториях, сущности простые и прозрачные, контроллеры держим тонкими. Внимательно изучите возможности аннотаций, di, security voter`s, расширения твига, ассеты и прочие ништяки симфони, чтобы возможности для реализации правильной архитектуры были максимальными. Если кажется, что с задачей уже не раз сталкивались коллеги ранее, посмотрите готовые бандлы, чтобы не тратить время на велосипеды (за исключением ситуаций прокачки скилла написания оных) Тут главное соблюдать границу между техническим перфекционизмом и реальностью :)
    Как уже упоминали демо приложение - вполне достойно изучения, а вот насчет Sylius'a неоднозначное впечатление, довольно давно его просматривал, symfony way как-то не проглядывается, хотя вполне занятно и интересно сделано.

    и помните, что это всего лишь фреймворк, даже если под копирку делать, гарантии что все будет верно нет, тут главное научиться думать в новых реалиях (а не пытаться перенести подходы другого фреймворка и ругать, что все плохо заточено)
    Ответ написан
    1 комментарий
  • Docker контейнер останавливается после запуска?

    @RidgeA
    Он не падает - он работает как и должен: останавливается после выполнения команды.
    Если потом надо в нем запустить веб-сервер то сделать можно как-то так

    CMD ./vendor/bin/doctrine-module migrations:migrate && <some_command_to_start_server>
    Ответ написан
    Комментировать
  • Куда двигаться дальше senior разработчику? Новый язык, технологии, opensource, стартап?

    @devunion
    Начну с конца. Суммарный вектор равен нулю именно потому, что ваши временные цели не являются целями. Они есть способ решить проблему накопившейся неудовлетворенности. По этому и интерес пропадает спустя какое-то время. Сама по себе такая цель не зажигает.

    Я был на вашем месте лет 5-6 назад. Точно так же достиг в Java определенного уровня, после которого все стало как-то не интересно. Новые задачи перестали быть новыми. Творческий процесс программирования стал машинальным кодингом. Думаю, подобный процесс выгорания характерен для любой профессии, не только для программирования. Психолого говорят, что профессионализм достигается примерно за 5 лет. Дальше рекомендуется менять работу.

    В результате я попробовал сделать несколько проектов. К сожалению, высокий уровень компетенции в программировании не решает проблем с раскруткой проектов. Это же относится и к стартапам. Если хотите сделать свой проект не просто для себя и друзей - сначала станьте экспертом в области продвижения продуктов и раскрутки стартапов. Только потом делайте. Именно в таком порядке, а не наоборот или параллельно.

    Можно еще в погоне за новыми проектами поискать работу на Upwork/Freelancer. Но Java-разработчикам там тяжело. Либо будет мелочь на подобие студенческих курсовых, либо будет нужен удаленный разработчик на фуллтайм в большой проект. Именно то, что вы сейчас делаете.

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

    Сейчас и этот пятилетний цикл подходит к концу. Пилю стартап :-).

    Как правильно посоветовал Дмитрий, нужно найти то, что нравится и идти в эту сторону. Должно быть "движение к" вместо текущего "движения от". Критерий выбора: "настоящая работа такой и должна быть – чтобы вы готовы были за нее доплачивать, лишь бы вам разрешили ее делать." - НЛПшники.

    Удачи!
    Ответ написан
    2 комментария
  • Куда двигаться дальше senior разработчику? Новый язык, технологии, opensource, стартап?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Как вы это делаете?! За 17 лет работы в ИТ у меня ни разу не возникало вопроса "Куда двигаться?", только "Где взять времени на освоение всего этого бесконечного изобилия технологий, углублённого изучения уже знакомого и реализацию множества идей?"
    Ответ написан
    4 комментария
  • Куда двигаться дальше senior разработчику? Новый язык, технологии, opensource, стартап?

    gobananas
    @gobananas
    finishhim.ru
    пришло понимание, что программирование это не знание языка и фреймворков

    Какой вы для себя ответ определили на вопрос что же такое программирование?

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

    Стартап? Определите какая потребность не закрыта у вас и друзей и пилите его каждый вечер по часу-два.

    Big Data это ведь не самоцель. Вот прошли вы курс допустим. Что вы будете бигдейтить, на каких данных?

    Самое главное ответьте себе на вопрос что вам по-настоящему нравится и двигайтесь в эту сторону.
    Ответ написан
    3 комментария
  • На какой платформе лучше всего развертывать проект на Django?

    @ralaton121
    Ну возьмите Heroku.
    Там все тоже - только завернуто гораздо удобнее. Минимум телодвижений по администрированию.
    А Docker, Ansible, Vagrant - это вы еще увязните в изучении...
    Ответ написан
    Комментировать
  • На какой платформе лучше всего развертывать проект на Django?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Если у вас количество серверов за десяток не выйдет и нет надобности быстро разворачивать новые чуть ли не ежедневно, вам не нужны Doker, Vagrant, Ansible. Вы — не Google.
    Ответ написан
    4 комментария
  • Организация работы с базой данных в docker?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    1. Шарите дамп базы в контейнер (копировать не стоит, т.к. из-за слоёности образов, контейнер может получиться слишком жирным).
    2. При сборке запускаете наполнение БД (pg_restore database.dump / mysql < database.sql)

    А ещё, если работаете с Doctrine, то можно создавать БД средствами ORM и наполнять фикстурами.
    Ответ написан
    2 комментария
  • Рисование графиков, есть ли интересная статья или пример?

    dummyman
    @dummyman
    диссидент-схизматик
    Из jquerийных простенький morris и посложнее flot.
    Для Анжелы n3. Для любителей Ember Charts.
    Простенькие ChartJS и uvCharts.
    Очень легкий и хорошо разжеванный ChartList.
    Не менее хорошо разжеванный, но платный, ZingChart.
    Поддержку legacy обеспечит FusionCharts - обещают работу на IE6.
    Профессионалам понравится список фичей plotly.
    Вы бы конкретнее указывали какие графики вам нужны. А то все не подходят, а что нужно - секрет. Хотите создавать свою систему - читайте исходники существующих. - Врятли любая статья будет лучше и более полной чем исходники рабочих библиотек.
    Ответ написан
    5 комментариев
  • Как обновить страницу через AJAX в DJANGO?

    tema_sun
    @tema_sun
    Во вьюшке:
    def post(self, request):
            create_form = BookForm(request.POST)
            if create_form.is_valid():
                create_form.save()
                
            response = {"data": "goes here"}
    
            return HttpResponse(json.dumps(response), content_type='application/json')


    В js'e:
    $.ajax({
        method: 'post',
        url: your-url,
        data:  serialized-data
    }).done(function(response){
        console.log(response.data)
    });

    Ну или что-то аналогичное, если jquery не используете.
    Ответ написан
    6 комментариев
  • Как получить индекс итерации?

    Из вопроса не очень понятно что нужно сделать.
    3.4.5 Рендеринг коллекций
    С индексом
    Надеюсь это поможет.
    Ответ написан
    1 комментарий
  • Что посоветуете еще подучить что бы тянуть на Junior PHP разработчика?

    Я бы не назвал ваш уровень Junior. Если вы в состоянии самостоятельно
    - развернуть девелоп-среду
    - вести гит
    - писать код и обкладывать его тестами
    - настроить деплой

    то значит, в состоянии самостоятельно ставить себе задачи. А это уже на Миддла тянет )
    А у Миддла способ развиваться только один - практика. Самообучаемость, как видно, присутствует. Не зацикливайтесь на парадигмах, фреймворках и ЯП - берите проекты и выполняйте их
    Ответ написан
    1 комментарий