Задать вопрос
  • По какой причине может не стартовать контейнер в докере?

    Контейнер стартует и тут же закрывается.

    Потому, что по умолчанию там выполняется команда /bin/bash, которая без терминала тут же заканчивает исполнение.
    Контейнер вы запускаете в режиме демона (ключ -d)
    Будь там не bash а какая-то долгоиграющая команда, mysqld или nginx, всё бы работало дольше.

    Наверное, вам нужно запустить контейнер и «оказаться» в его шелле:
    docker run -it --rm ubuntu
    • -i интерактивный режим
    • -t подключает виртуальный терминал
    • --rm удалит контейнер сразу, как вы из него выйдете


    Вот два варианта запустить Ubuntu, чтобы контейнер остался висеть:
    docker run -d ubuntu tail -f /dev/null – тут команда-пустышка, которая будет выполняться бесконечно;

    docker run -t -d ubuntu – тут подключён виртуальный терминал и bash не вылетит, а останется работать.
    Ответ написан
  • Как исправить проблему docker: Error response from daemon: oci runtime error: container_linux.go?

    @abmanimenja
    Образ FROM GOLANG нужен только для компиляции, не для исполнения.
    Вы тащите лишнее с собой.
    Ответ написан
    Комментировать
  • Как исправить проблему docker: Error response from daemon: oci runtime error: container_linux.go?

    @ghostiam
    На Go писатель, серверов пинатель.
    Возможно права не передались при добавлении файла в контейнер, попробуйте добавить после добавления файлов:
    RUN chmod +x ./service

    Но я не совсем понимаю, зачем в данном случае нужен образ golang:1.11, если ./service уже является скомпилированным бинарным файлом.
    Если это так, то можно облегчить образ, использовав scratch или alpine как базовый образ:
    FROM alpine
    
    ADD ./service /
    RUN chmod +x /service
    
    EXPOSE 8000
    ENTRYPOINT ["./service"]
    Ответ написан
  • Требование к градации Middle PHP Developer?

    Maksclub
    @Maksclub Куратор тега PHP
    maksfedorov.ru
    Мидл -- это полноценный разработчик, решающий любую задачу:
    - укладывается в бюджет (время)
    - полноценно рулит своей разработкой (архитектура, хороший код)

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

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

    Вообще понятия сильно размазаны... разделения только по зп и требованиям в объявлении есть, учитесь и работайте! (и мы будем :)
    Ответ написан
    Комментировать
  • Можно ли достичь уровня middle в разработке без опыта в офисе?

    @curious-101
    Frontend developer
    Позиционировать себя можно как угодно. Точку в этом вопросе поставит рынок. Идёте на собесы, там вас и оценят, причём, по разному
    Ответ написан
    Комментировать
  • Размещение текста по центру экрана

    Sk8er
    @Sk8er
    Жесток, опасен, вспыльчив. Щеголь.
    Куча вариантов выше с уймой кода, а можно всё сделать буквально парой строчек в CSS, с помощью Flexbox. Так, например: blog.sk8er.name/rabota/vyravnivanie-bloka-po-centru
    Ответ написан
    Комментировать
  • Как найти работу в сфере IT?

    pm_wanderer
    @pm_wanderer
    junior-HTML
    Запилил короткий тест, чтобы можно было примерно оценить насколько эффективно будет проходить ваше обучение программированию и сколько это займет по времени:

    # ваш возраст менее 25 лет? (1 балл)
    # можете ли вы читать техническую литературу на английском языке? (2 балла)
    # знаете ли вы, что такое наследование, полиморфизм и инкапсуляция? (4 балла)
    # есть ли среди ваших друзей программисты, которых можно часто просить разжевать непонятные вещи или взять вас интерном к ним на работу? (8 баллов)

    Если вы набрали 0-1 баллов: обучение может занять до пяти лет, чтобы дорасти до уровня джуниора, но скорее всего терпения не хватит и забросите это дело через некоторое время. Возможно даже не стоит и начинать.

    Если вы набрали 2-4 балла: обучение может занять до 3 лет, чтобы дорасти до уровня джуниора. Есть немалый шанс что забросите на половине пути, но и небольшая вероятность успеха тоже присутствует.

    Если вы набрали 5-10 баллов: обучение может занять около 2 лет, чтобы дорасти до уровня джуниора. Шансы на успешное вхождение в айти есть, но потребуется много кропотливой работы.

    Если вы набрали 11-14 баллов: обучение может занять около года, чтобы дорасти до уровня джуниора. Шансы на успех достаточно неплохие. Дерзайте)

    Если вы набрали 15 баллов: обучение может занять около полугода, чтобы дорасти до уровня джуниора. Шансы на успех очень высокие. Идеальный билд чара)
    Ответ написан
  • Как програмно узнать, на какую букву слова падает ударение?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1. Целесообразно ли на PHP - да.
    2. Нет слова - разбивка на "дерево" триграмм.
    3. Ударения - только комплексный анализ: через словарь с базой ударений в разных словоформах (число, падеж, род и т.д.) и через обученную нейронку на "цепочках" слов (смысловая контекстная валидация).
    Ответ написан
    Комментировать
  • Выбор правильного старта для написания микросервисов?

    @Kirill-Gorelov
    С ума с IT
    Очень размыт вопрос.
    Порекомендую тогда почитать.
    Распределенные системы Брендан Бёрнс
    и
    Масштабирование приложений Ли Атчисон
    Читаются легко и быстро. В среднем 250 стр.

    И можешь конечно же в идеале еще дополнить
    site reability engineering Бетси Бейер(есть на русском)

    Вопросы отпадут сами
    Ответ написан
    Комментировать
  • Spring Boot: как создать свой бин без затрагивания поведения автоконфигурации?

    @lexas
    Как мне кажется лучше пойти по пути меньшего сопротивления и создать два ОМ. Один на замену основному, а второй кастом с autowire-candidate=false.

    Да, лишния декларация бина, но читабельнее и без воркараундоа.
    Ответ написан
    Комментировать
  • Spring Boot: как создать свой бин без затрагивания поведения автоконфигурации?

    BorLaze
    @BorLaze
    Java developer
    На днях тоже копался с подобным вопросом.
    Так вот, автоконфигурация всегда отрабатывает после тех конфигов, что определены в приложении.

    Что до вопроса, я бы попробовал
    @Bean(name = "myCustomMapper")
        @DependsOn({"objectMapper"})
        public ObjectMapper myCustomMapper(@Lazy @Qualifier("objectMapper") ObjectMapper defaultMapper) {
            //customize
            return defaultMapper;
        }

    В общем, поиграться с подобными директивами - возможно, получится втолковать спрингу, что конкретно ты хочешь получить на входе.
    Ответ написан
    Комментировать
  • Spring Boot: как создать свой бин без затрагивания поведения автоконфигурации?

    @JeRRy_froyo
    могу предложить такой вариант "донастраивания":
    @Configuration
    public class CustomMapperConfig {
    
        public CustomMapperConfig(ApplicationContext context) {
            ObjectMapper objectMapper = context.getBean(ObjectMapper.class);
            //customize
        }
    }


    UPD:
    здесь же можно зарегистрировать свой бин (если все же нужны отдельные объекты) через context.getAutowireCapableBeanFactory()

    если использовать только дефолтный, то наверно можно сделать еще проще:
    public CustomMapperConfig(ObjectMapper objectMapper) {
        //customize
    }
    Ответ написан
    Комментировать
  • Что можно тянуть в одного на Java?

    @frozen_coder
    Java-developer
    Напишите файловый сервер с возможностью загрузки файлов через ftp-клиент, через web-морду, через SOAP ( или REST), через мобильную приложуху с аутентификацией, базой юзеров, также можно в базе хранить какую-нибудь метоинформацию о файле. Например, может быть такой маленький личный фотоальбом с подписями(блог-постами, комментами etc.), фотки из которого доступно скачать и залить повсякому. Попробуете всё.
    web и Java = Enterprise. Это приложения масштаба предприятия, т.е. они как-то автоматизируют его бизнес-процессы и документооборот, переносят его работу в web и электронный формат. Они также могут общаться с другими приложениями, системами. Отсюда пляшем. Вам нужно какое-то предприятие, у которого вся работа в оффлайн, всё плохо, бюрократия и ад. Придумайте сложный бизнес-процесс со сложными сущностями. Разный и изменяющийся во времени и пространстве уровень доступа. Интеграция с другими приложениями или гос.сервисами. Электронный банк, электронные платежи, электронная валюта. Наворотить можно много чего.
    Начните с малого - какой-нибудь справочник-реестр с функциями CRUD - создать, прочитать, редактировать, удалить запись. Далее прикрутите систему прав и ролей пользователей(не все могут создавать, редактировать и тем более удалять). Добавьте работу с файлами - скачать, загрузить, экспорт в pdf и exel. Продолжайте накручивать своё приложение функционалом - личка и чат, доска объявлений, имитация отношений начальник - подчиненный (тайм-менеджмент, таск-менеджмент, сбор отчетов каких-нибудь по работе), уведомления (в почту, в системе, м.б. попробовать с смс), напишите другую маленькую систему и заобщайте их между собой по SOAP или REST(например, другая система может читать из справочника и что-нибудь туда писать). Берите какое-нибудь гипотетическое предприятие (склад, магазин, автосервис, школа, больница, завод и т.д.) и представьте, что ему надо свой документооборот перевести в электронный вид и максимально автоматизировать бизнес-процессы.
    Из фреймворков - семейство Spring.
    Ответ написан
    6 комментариев
  • Как въехать в программирование (ООП, паттерны)?

    SowingSadness
    @SowingSadness
    web-разработчик
    Вот смотрю на горе советчиков и понимаю, что они сами далеко не ушли. Начинать изучать ООП нужно с ответов на вопросы:
    Для чего его придумали?
    Какие цели преследует и какие задачи решает?
    Какие инструменты есть для решения этих задач?

    Все остальное следствие. Как придёт понимание, вы поймёте в какую сторону копать. А то вам тут насоветовали паттернов. И их глупое изучение благополучно убьёт кучу вашего времени почти без толку.
    Ответ написан
    Комментировать
  • Куда двигаться дальше, какие паттерны проектирования используют сегодня?

    SowingSadness
    @SowingSadness
    web-разработчик
    Если вы пишете паттернами приложения, то скорее всего вы пишете говно. Вы должны писать приложение исходя из задач.
    Знание паттернов необходимо лишь для общения с коллегами, что бы доносить двумя словами мысль, а не сочинениями.

    Для того что бы начать разрабатывать архитектуру, нужно сначала понять что это и понимать(а не знать) определение. 99% программистов не знают этого и пытаются из себя строить архитекторов.
    ГОСТ Р 57100-2016 оно же https://en.wikipedia.org/wiki/ISO/IEC_42010
    В Яндексе ищется просто. Почитайте и осмыслите.

    После этого поймите SOLID. Это будет трудно и тяжело, особенно в свете того, что половина статей от людей, которые сами SOLID не понимают.
    Почти у каждого принципа SOLID есть четкий критерий, осванный на свойствах кода, а не на предположениях программиста о области применения.
    Например принцип единой ответственности говорит о том, что у каждого класса состояние описывается набором свойств, которые всегда изменяются вместе. Если они могут быть изменены по отдельности, то это две разные ответственности.
    Но свойство не является частью состоянием, если не используется в методах класса для вычислений или в выражениях. А например, просто всегда возвращаются.
    Ответ написан
    3 комментария
  • Что нынче должен знать php junior без опыта?

    @PxlFxr
    Мой совет - не иди в мелкие и средние конторы, где делают сайты на битриксе, вордпрессе, друпале. Там ты научишься не программировать, а делать сайты на битриксе, вордпрессе и друпале, только время потеряешь.
    С текущими знаниями ты смело можешь идти на junior вакансии.
    Ответ написан
    1 комментарий
  • Что значит, когда в вакансиях пишут "Опыт с одним из фреймворков: Symfony, Laravel, Yii"?

    opium
    @opium
    Просто люблю качественно работать
    Это значит если вы осилили один то достаточно легко сможете писать на другом
    Ответ написан
    Комментировать
  • Универсальный метод обновления данных в БД?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Подход нормальный, но в описании класса должны быть жетско прописаны имена таблицы и всех полей.
    Имена полей в простейшем случае случае тупо засунуть в массив.

    После этого ты можешь использовать их для формирования динамических запросов.
    Например так: https://phpdelusions.net/pdo_examples/dynamical_update

    $allowed - это твой список полей.
    $_POST лучше не использовать напрямую, а передавать копию в метод, но принцип тот же - берем из поста только заполненные поля и добавляем в запрос.

    Метод Update будет у класса-предка, от которого будут наследоваться классы дл работы с отдельными сущностями, такими как article. Таким образом в классе Article у тебя вообще не будет метода Update, но при этом ты будешь писать

    $article->update($_POST);

    и все будет прекрасно обновляться.
    Ответ написан
    1 комментарий
  • Можете оценить шапку для ютуб канала?

    bakalev
    @bakalev
    Web/ui design
    Еды надо больше, чтобы вкусно выглядело. А не логотипы
    Ответ написан
    2 комментария
  • Как правильно определить namespace?

    @karminski
    Senior React.JS Developer
    Если вы пишете всё сами без композера, то вам и автолоадер писать нужно самостоятельно.

    Погуглите "php autoload without composer"

    Возможно вот этот материал вам поможет сориентироваться
    https://jeremycurny.com/2016/06/30/php-psr-4-autol...
    Ответ написан
    4 комментария