• Какую IDE выбрать для разработки на Java?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    https://www.jetbrains.com/idea/
    CE подойдет
    Ответ написан
    Комментировать
  • Хороша ли архитектура моего кода? Информация цепляется по API?

    Compolomus
    @Compolomus Куратор тега PHP
    Комполом-быдлокодер
    Первое, вы при каждом получении свойства будете лезть в апи, нужно делать подобие кэша
    private function getDetail()
     {
        if (!$this->detailCache) { 
            // Здесь запрос к API который возвращает JSON с информацией о товаре.
           $this->detailCache = $data;
        }
     
        return $this->detailCache;
     }

    Второе, все свойства должны быть приватными или защищенными
    Третье, метод который лезет в апи не должен быть публичным
    Ответ написан
    Комментировать
  • Какая разница между связями belongsTo и hasOne?

    @jazzus
    Разницу подскажет Ларавел если не прописывать ключевики. Можно прописать неверные ключевики в hasOne/belongsTo отношениях и будет все работать. Но отношения будут составлены неверно.

    Есть 2 отличия.

    Техническое

    При user hasOne/hasMany phones Ларавел ожидает, что this id модели (User) будет равен user_id в Phone
    При phone belongsTo user Ларавел ожидает что this user_id модели (Phone) будет равен id модели в User

    Главный здесь юзер т.к. его ид есть в модели Phone, а phone_id в модели User нет. Поэтому User hasOne Phone, а Phone belongsTo User.

    Логическое

    Правильно: Юзер имеет один телефон. Юзер имеет много телефонов. Телефон принадлежит юзеру.
    То что телефон имеет юзера это сейчас часто встречается, но логически неверно)

    Короче. В user прописываем hasOne phone/hasMany phones. В Phone belongsTo user.
    Ответ написан
    1 комментарий
  • Какие есть api, для получения информации с какими странами граничит страна, которую выбрал пользователь?

    EreminD
    @EreminD
    Кое-что умею
    https://restcountries.com/#api-endpoints-v2-all

    Пример
    https://restcountries.com/v2/name/andorra

    [{
        "name": "Andorra",
        "topLevelDomain": [".ad"],
        "alpha2Code": "AD",
        "alpha3Code": "AND",
        "callingCodes": ["376"],
    ...
        "borders": ["FRA", "ESP"], // коды стран
        "nativeName": "Andorra",
    ...
    }]
    Ответ написан
    6 комментариев
  • Как реализовать данную часть верстки?

    RAX7
    @RAX7
    Ответ написан
    Комментировать
  • Cрок регистрации домена истек, а он всё ещё зарегистрирован на меня, почему?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    Через месяц. Например:
    created 2014-05-30T14:16:17Z
    paid-till 2023-05-30T15:16:17Z
    free-date 2023-06-30
    Ответ написан
    2 комментария
  • Как передавать данные между компонентами vue на основе роутов laravel?

    toratoda
    @toratoda
    не гоже через ссылки таскать параметр по всему сайту. Положи его в куку или локальное хранилище и извлеки когда потребуется.
    Ответ написан
    2 комментария
  • На каком сайте останется клиент, быстрый или красивый?

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

    sergski
    @sergski
    web-developer
    например, так:
    Ответ написан
    Комментировать
  • Почему у многих разработчиков общепринятое отрицательное отношение к работе в топовых больших компаниях (по крайней мере в России)?

    vabka
    @vabka
    Токсичный шарпист
    Раз без указания конкретных компаний, то вот усреднённое мнение:

    1. Бюрократия. Получение доступов или добавление нового сервиса в кластер - это в лучшем случае запрос в хелп деск и ожидание пару часов. (в небольших компаниях команда разработки обычно имеет полный доступ к проду)
    2. Очень много разных подкоманд и продуктов. А по тому от одного найма к другому - разработчика могут отправить как в драйвовую команду, которая делает крутой продукт на новых технологиях, так и в команду "поддержки" из двух человек где будет десяток легаси продуктов, в которых надо только баги чинить.
    3. Очень долгий и нудный процесс найма минимум из трёх этапов.
    4. Много внутреннего велосипедостроения. Следствие того что продукты, обычно, достаточно старые - с ростом приходилось изобретать то, чего на рынке в принципе не существует. Начиная с собственных инструментов деплоя, заканчивая собственными базами данных.
    Это всё конечно очень круто, но то ни в резюме умение работать с этими инструментами не добавишь, ни опыт работы с чем-то общепринятым врядли сильно упростит тебе задачу освоения этих инструментов.

    Подобное отношения таки не только в России, и если посмотреть на отзывы людей из FAANG сложится аналогичная картина.
    Это следствие того что компания большая, успешная, и давно живёт на рынке.
    Ответ написан
    Комментировать
  • Как изучать программирование?

    xez
    @xez
    TL Junior Roo
    Просто начать писать код
    Ответ написан
    Комментировать
  • Как можно максимально себя анонимизировать в сети?

    Adamos
    @Adamos
    Что же делать!?

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

    xez
    @xez
    TL Junior Roo
    Там сверху написано:
    Required: 6.2GB
    Available: 4.86GB
    (Требуется 6 гигов, а доступно только 4,8).
    Видимо речь идет о месте на жестком диске.
    С Юнити делать ничего не надо.
    Надо.
    1. Научиться читать по английски. Без этого в разработке делать нечего.
    2. Удалить ненужные файлы, очистить жесткий диск, обеспечить нужный объем для установки.
    Ответ написан
    1 комментарий
  • Как написать юнит тест для программы, которая использует input()?

    @Akela_wolf
    Extreme Programmer
    Юнит-тестирование это про разделение функций на минимально возможные кусочки, чтобы их было возможно протестировать минимально возможным тестом. А для этого каждая функция должна делать что-то одно. У вас же функция занимается следующими вещами:
    1. Ведет диалог с пользователем
    2. Проверяет корректность введенных данных по своим правилам
    3. Обращается к внешнему сервису (причем какой-то апи-ключ прямо в коде - ужас-ужас. А если этот код выкладывать в гитхаб?)
    4. Выводит полученный от внешнего сервиса результат на экран

    Разделим это на 4 функции и увидим следующее:
    1. Функция ввода номера пользователем. Входных параметров нет, выходные - номер. Тестировать не имеет особого смысла.
    2. Функция валидации. Входной параметр - номер, выходной - один из кодов (enum): все хорошо, некорректный регион, некорректный номер. Функция чистая (то есть результат её работы зависит только от аргумента, побочных эффектов нет), тестами накрывается легко и просто.
    3. Функция запроса данных у стороннего сервиса. Входной параметр - номер, выходной - какие-то данные. Тестировать сложно т.к. есть внешний сервис. И может быть не особо нужно, т.к. юнит-тест тут не напишешь. Функция как-то сложной логики не имеет, а внешний сервис нам неподконтролен. В частности, он в любой момент может начать отвечать 404 или каким-нибудь бредом. Поэтому тестировать эту функцию мы можем только имитируя поведение внешнего сервиса каким-то нашим моком (использовать тот же WireMock, например)
    4. Функция вывода результата на экран. Входной параметр - данные, выходных нет. Аналогично функции ввода номера тестировать отдельно не имеет смысла.

    Таким образом, вся бизнес-логика программы сосредоточена в функции валидации и внешнем сервисе. Внешний сервис, как я уже сказал, нам неподконтролен. Функцию валидации мы можем накрыть юнит-тестом. Остальное - если хочется, то можно накрыть end-to-end тестом, либо не покрывать вообще.
    Ответ написан
    Комментировать
  • Гайд по поступлению в Беларуси?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Растолковывать тебе никто не будет. Детский сад закончился, после школы ты никому не нужен. Вообще. В школе из класса в класс тебя тянули за уши. Там даже двоечников на второй год оставляют КРАЙНЕ редко. А за пределами школы - просто отчислят и все, иди ищи работу в макдональдсе или умирай с голоду.

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

    На вышку поступаешь чтобы получить высшее образование. Там гайдов полно - сдаешь вступительные, поступаешь. Плохо сдаешь - не поступаешь.

    Такова взрослая жизнь.

    Поэтому есть родители - поговори с ними, они уже прошли многое, и если не знают профессию, то знают жизнь.
    Можно поговорить вообще о разном, и делая скидки что родители могут быть "старперами", не стоит забывать что родители как-то раздобыли дом, еду, одежду и смогли потратить ОЧЕНЬ много чтобы вырастить тебя. Это очень плохо понимается (количество усилий), потому что ты видишь и помнишь больше сейчас, чем то что было 15 лет назад.

    Если собираешься оставаться в Беларуси, ищешь учебные заведения в твоем городе или там, где в принципе можешь жить (снять квартиру, если есть деньги).

    Смотришь что там преподают. Для ИТ хорошо математические, а может есть и айтишной направленности. Не так важно какой факультет. Именно программированию все равно будешь учиться дополнительно и сам. То, что дают в институтах - это в основном академические знания, и хорошая основа там больше математика, которая мало устаревает.
    Ответ написан
    7 комментариев
  • Чему учит Марк Лутц?

    @Spargwy
    20 годиков. Голанг баккенд девелопер
    Но полистав pdf-файл этой книжки я не смог найти ни одного куска кода, который был бы для меня не понятен.

    Нихрена ты не понимаешь - тебе так только кажется.
    Ответ написан
    Комментировать
  • Выдает ошибку, не могли бы помочь?

    Dante449
    @Dante449
    Изучаю Python
    Решение проблемы:
    Открываем терминал от админа.
    Пишем и запускаем: Set-ExecutionPolicy RemoteSigned

    На вопрос отвечаем: Да (Да для всех)
    Ответ написан
    11 комментариев
  • О безопасности Сбербанк Онлайн - неизменный пароль?

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

    DamianLewis
    @DamianLewis
    Скачиваете и устанавливаете(есть Portable) такую замечательную программу как Volume2.
    Дальше:
    1. Настраиваете горячие клавиши для увеличения/уменьшения громкости, красивый экранный индикатор по желанию.
    2. В настройках ставите "Скорость изменения громкости" на 100 шагов
    Скрин
    61ace3ae7f6df545729662.png

    Теперь звук будет увеличивается только на 1 пункт при каждом увеличении/уменьшении.
    Я ставлю 25 шагов. Мне так удобно.

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

    Ну и самое главное, что Вам остается сделать, месяцами/годами удивляться как Вы раньше жили без этой замечательной программы.
    Ответ написан
    Комментировать