Задать вопрос
  • Стоит ли делать проект специально для гитхаба?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Довольно часто предлагают тестовое задание, на которое у меня нет времени.

    В таких ситуациях правильнее будет сказать "Каковы условия оплаты данного задания?". Большинство неадекватов на этом этапе отсеиваются. Просто потому что не только вы что-то делаете для работодателя, но и он вам что-то дает. Если работодатель хочет получить какую-то работу еще до начала трудовых отношений - то следует задуматься, а нужен ли вам такой работодатель? Я просто из исследовательского интереса прошел несколько десятков тестовых заданий и я НИ РАЗУ не получил какого-либо фидбэка. По ощущениям - на результаты тестового никто не смотрит и всем тупо пофиг на него. Поэтому когда мне предлагают тестовое задание - всегда сразу спрашиваю оплату. Никто не хочет платить - это факт, тут ничего не сделать. Почти всегда сразу в отказ идут. Было несколько случаев, когда вроде согласились - но все равно ушли в закат. В целом же, в практике был лишь один случай, когда ко мне пришли и сказали - вот ты умеешь то-то и то, вот тебе тестовое задание, оцени, мы тебе денег сразу заплатим, а там если все пучком - будем работать дальше. И еще несколько случаев, когда работодатели сразу в описании вакансии писали, что тестовое задание оплачивается. Смотреть код тоже почти никому не интересно - такой случай тоже был лишь один, когда я предложил показать код, согласились посмотреть и поспрашивать про него. В абсолютном большинстве остальных случаев, адекватные работодатели сразу говорят: по результатам собеседования нас все устраивает, далее делаем так - вот тут у нас список задач, выбирай одну-две-три простых задачки, если все отлично - работаем дальше, если нет - ну что ж, выдадим зарплату за эти задачки и разбежимся миром. Все остальные, где там сложные и долгие интервью то с одним, то с другим, то задание такое, то сякое - больше на лотерею похоже, когда крутишь барабан и гадаешь - будет сектор приз или сектор ноль.

    Разумно ли написать проект с нуля, скажем, интернет магазин, залить все это на гитхаб и давать ссылку работодателям каждый раз когда просят пройти тестовое задание?

    Специально - нет, не нужно. Разве что по результатам прохождения курса учебного какого - можно выложить. Ну и пет-проекты никто не отменял - вот их да, можно и нужно выкладывать на гитхаб и периодически подкармливать.
    Ответ написан
    Комментировать
  • Условие не работает и мне пишут "Unexpected indentifier"?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Ошибка синтаксиса же. Мануал читать внимательнее надо: https://www.w3schools.com/js/js_if_else.asp
    Тут любая нормальная IDE должна сразу показать её. Не показывает - меняйте IDE/редактор исходного кода на нормальный.
    Ответ написан
    1 комментарий
  • Что должно в себя включать приложение по аренде авто?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Но я не могу понять что оно должно в себя включать и как работать

    Представляете себе следующую ситуацию: у вас есть 1000 авто. Вам надо сдать их в аренду с помощью приложения. Берете ручку, бумагу и записываете список того, что вам нужно от этого приложения как владельцу автопарка, так и потенциальному клиенту. Далее оформляете это в ТЗ, делаете декомпозицию задачи в несколько итераций, пишите частное ТЗ и реализуете данное приложение.

    кто-то может скинуть статью с объяснением функционала или пример такого приложения?

    А в чем сложность скачать и поставить любое приложение по аренде авто?
    Ответ написан
    4 комментария
  • Имеет ли смысл использовать паттерн MVVM в приложении Winforms?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Нет, оно там просто не нужно - достаточно просто правильно структурировать приложение. В WF вполне достаточно просто разделить логику приложения и логику самого интерфейса. Нужен нестандартный контрол со своим поведением? Отпочковываем класс от Control и вперед. Логика самого интерфейса вполне нормально живет в самих классах элементов управления (в терминах MVVM это два в одном View + ViewModel). Например, реальный случай из практики: запилил WF приложение по выданному дизайну - его потестили и почти сразу дизайнер нарисовал полностью новый дизайн; ввиду увеличения фишечек, рюшечек и всего остального (а так же тормозов древнего легаси наследия WF, конечно же) - я просто перенес файлы с логикой из WF проекта в WPF проект в модели и запилил новый GUI на WPF.
    Ответ написан
    Комментировать
  • Есть ли смысл купить wifi роутер с 5Ггц для мобильного интернета?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Нет, особого смысла в этом нет. А вот попробовать направленную антенну вместо свистка - имеет куда больший смысл. Но тут многое зависит от оператора, тарифа и нагрузки на вышку - там могут быть банальные ограничения по скорости. С хорошей направленной на вышку антенной можно получить больше скорости. У меня за городом с направленной антенной и вышкой в нескольких км через лес было в среднем 60-70 мегабит днем, а ночью даже до 80-90 мегабит. Оператор - йота, вышка - одна на троих "мегафон, теле2, йота". А вот в городе, например билайн, с направленной антенной больше нескольких мегабит не выдавал, хотя с телефона было в районе двадцатки. Я без понятия как так получилось - на антенне все нужные частоты были включены, режим был 4G, но что-то резало скорость.
    Впрочем, если финансы позволяют - то можно взять и более современный роутер, скорости интернета не прибавит - но вай-фай будет комфортнее.
    Ответ написан
    2 комментария
  • В чем разница между способами тестирования (в контексте web и php)?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Опишу простыми словами для упрощения понимания.

    модульное тестирование

    Тестирование конкретного модуля. Обычно - это самый нижний уровень, отдельные простые классы, т.е. ниже по логике уже будут отдельные функции. Например, в JS есть класс Math - тестирование всех его методов и есть модульный тест. Конечно, границы между логическими уровнями могут быть размыты и в данную категорию вполне можно вписать класс уровнем выше. Так же, модулем может быть и что-то более сложное - опять же, много зависит от масштабов и особенностей архитектуры.

    интеграционное тестирование

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

    функциональное тестирование

    Очевидно, что тестируются конкретные функции, которые есть в техническом задании. Например: когда пользователь нажимает кнопку "купить" в карточке товара - товар добавляется в корзину.
    какими инструментами оно делается?

    Инструментами автоматизации GUI - для сайтов это Selenium и браузеры. Для десктопных/мобильных приложений аналогичные решения.

    приемочное тестирование

    в че отличие от интеграционных.. еще видел фразу что тут и фронт и бек тестируются, но яснее не стало, какими инструментами оно делается?

    "Бизнес" заказал в "Конторе" разработку сайта, выдал ТЗ, контора сделала сайт, бизнес заплатить денег обещал. Как бизнес проверит что контора сделала именно то, что он хотел? Через приемочное тестировние - бизнес получает доступ к сайту и проверяет, что сайт именно такой, какой он заказывал в ТЗ, а не тот, который сделали индусы за доширак. Если в ТЗ указан конкретный список тестов/фич - используется этот список или так, как прописано в ТЗ само тестирование. Само тестирование проводит соответствующий специалист (инженер отдела качества) - тыкает все кнопочки, нажимает менюшечки и говорит начальству "все окей, подписывай и платим им деньги" или "вот тут и тут не окей, не подписывай, денег не давай". Реальный пример: была заказана и собрана станция спутниковой связи, на приемке были представители заказчика и исполнителя, была толстая пачка бумаги на несколько сотен страниц, по которой первые проверяли что все работает именно так, как там написано в течении нескольких недель (плюс-минус), а вторые исправляли косяки показывали что все окей, потом все поставили свои галочки и крестики и разъехались по домам.

    E2E - тут тестируется чрез браузер, с помощью Mocha и тп, те тестируются "требования бизнеса к приложению", тестируются пользовательские сценарии.. а в чем отличие от функциональных тестов тогда?

    Сквозное тестирование. Это полная проверка от начала и до конца. Отличие от функционального в том, что это более комплексный тест. Если функциональное тестирование - это проверка конкретной функции, тот сквозное - работа всего приложения, т.е. более комплексное. Например, E2E тест приложения для загрузки файла на сервер: тест включает в себя запуск приложения, авторизация пользователя, выбор файла, указание мета информации, загрузку файла на сервер, выход из приложения. Вот тут неплохая статья на хабре: https://habr.com/ru/company/otus/blog/681066/

    Совсем запутался, с unit только понятно, а как уложить и разделить остальные?

    60da68c37e576762375008e5_thumb-image.png
    Картинка отсюда: https://www.rainforestqa.com/blog/the-layers-of-te...
    Ответ написан
    Комментировать
  • Парсинг динамического сайта JavaScript?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Ожидать, когда все нужные данные полностью загрузится. Если на странице сайта используется JS для загрузки данных, то либо выяснить откуда и как эти данные загружаются либо использовать браузерный движок (селениум, NWJS и т.д.).
    Ответ написан
    Комментировать
  • Будет ли удобно верстать на macbook air m1 8/256?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Вполне. Как рабочая машинка - отличный девайс. Оптимальнее брать максимальную конфигурацию хотя бы по оперативной памяти - лишней не будет, а добавить нельзя.
    Ответ написан
  • Как запустить WebSocket сервер на хостинге?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    1. Подключиться к серверу по SSH
    2. Установить NodeJS на сервере
    3. Запустить на сервере WS сервер
    4. Опционально: открыть порт для WS сервера, если он закрыт
    Ответ написан
  • Какой язык выбрать для простой обучающей программы?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    C# + WPF + любая либа для работы с файлами экселя. Воспроизведение звука вообще из коробки работает.
    Ответ написан
    3 комментария
  • С чего начать изучение программирования?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    С изучения информатики и устройства вычислительной техники. Ну а далее уже можно выбирать что-то из современных ЯП: https://roadmap.sh/computer-science
    В целом же, написание кода - лишь одна из частей процесса разработки ПО. Так же рекомендую поставить какую-нибудь игру с редактором карт и освоить его. Например классику: WarCraft 3, StarCraft, HoMM 3.5/4 - легендарные игры, популярность которых обусловлена именно игровыми редакторами и которые смогли пройти сквозь целые эпохи. Возможность самому что-то сделать и поиграть - очень неплохо мотивирует к освоению редакторов и желанию разобраться как оно все работает )
    Ответ написан
    1 комментарий
  • Как работать с огромными массивами данных?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Вероятно не хватает памяти. Используйте опцию max-old-space-size.
    node --max-old-space-size=8192 index.js
    Если оперативной памяти тоже недостаточно, то тут уже нужен потоковый JSON парсер: например stream-json.
    Ответ написан
    Комментировать
  • Websocket выдает ошибку Error during WebSocket handshake: Unexpected response code: 200, что писать после ws://?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    что писать после ws://

    Адрес сервера и порт. Ошибка означает, что подключаетесь не туда. Смотрите документацию данного сервиса.
    Ответ написан
    8 комментариев
  • Хватает ли macbook air m1 256/8 в 2022?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Да, хватает. Цвет - любой, покрытие на всех одинаковое, краска не слезает.
    Ответ написан
    Комментировать
  • Как подключится к MACOS по RDP?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Проще всего купить KVM свитч. Лично я так и не нашел адекватного программного решения для удобной работы Mac + Win в обычном 4К, а уж про несколько мониторов можно даже не вспоминать. Либо работаешь в винде, а мак юзаешь по SSH, либо работаешь в маке, а винду юзаешь через MS RDP для простых приложений (ютюб, например так не посмотреть - тормозит все равно) и SSH иногда.
    Ответ написан
    3 комментария
  • Как переписать данный код используя процессы вместо потоков?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Либо вынести код для каждого потока в отдельный фал и собрать отдельное приложение и запускать их все вместе либо добавить приложению флаги для запуска нужного кода и далее запускать как несколько экземпляров с разными флагами.
    Ответ написан
  • Как засунуть файлы ниже в exe?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Например разместить в ресурсах или использовать Enigma Virtual Box.
    Ответ написан
  • Актуален ли рынок программирования микроконтроллеров?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Да, актуальны: нас окружает огромное количество электроники, которая управляется МК и с каждым годом её все больше и больше. Поддерживаю ответы VT100 и CityCat4 и добавлю от себя еще немного: кроме знания электроники и низкоуровневого программирования, надо будет еще уметь как минимум паять, диагностировать и ремонтировать МК, а еще лучше - уметь проектировать электронные платы с МК. Разработкой ПО для МК чаще всего занимаются инженеры-электронщики, которые разрабатывают контроллеры/платы под определенные задачи. Программирование МК очень тесно связано с разработкой контроллеров для конкретных девайсов. Типовая задача: "вот тут есть пара электронных клапанов, цифровое табло и кучка реле на 12, 24 и 220 вольт - вот этим всем надо управлять по такому-то алгоритму" - ну а дальше надо подобрать МК за минимальные деньги (и еще учесть, вдруг там добавится еще что-то), спроектировать плату, сделать макет, исправить косяки, заказать пробный десяток плат и самому их запаять все, исправить еще раз косяки, сжечь несколько невинных девайсов из-за косяка в инструкции по разводке шлейфа кабелей (реальный случай из практики, да), еще раз исправить косяки и т.п.
    Ответ написан
    6 комментариев
  • Как получить информацию из объекта?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Комментировать