Задать вопрос
  • Стоит ли мне поработать php-разработчиком, а потом набравшись опыта перейти на java?

    SerJook
    @SerJook
    кодер
    Перейти на джаву вполне реально, имея какой-то опыт на php. Я так делал. У меня были небольшие пет-проекты на Java.
    Есть одно существенное препятствие - джава требует компиляции, в отличие от php, к тому же большое джавовское приложение может подниматься несколько минут. Использование hot reload не дает того удобства, которое есть в php. Если вы привыкли быстро видеть результат, то придется переучиваться. Стараться продумывать глубже свой код, а не кодить по принципу: попробую так, а вдруг заработает.

    PHP я крайне не рекомендую в качестве первой работы. Слишком много плохих контор, использующих пхп.
    Если вы попадете в такую, у вас будет только единственное желание - побыстрее свалить.
    Ответ написан
    Комментировать
  • Есть ли бесплатные аналоги плагина introjs.com?

    zkrvndm
    @zkrvndm
    Архитектор решений
    Ответ предоставлен чат-ботом https://claude.ai

    Да, существуют бесплатные аналоги плагина Intro.js для создания обучающих подсказок на сайте. Вот несколько вариантов:

    1) Driver.js - простой в использовании JS плагин с открытым исходным кодом. Позволяет создавать подсказки и обучающие туры по сайту.

    2) Hopscotch - еще одна библиотека для создания подсказок с открытым кодом. Легко настраиваемая и кастомизируемая.

    3) Joyride - плагин на jQuery для пошаговых инструкций по сайту. Прост в интеграции.

    4) Tourist.js - реализует подсказки в стиле попапов с подсветкой элементов. Небольшой размер.

    5) Bootstrap Tour - создан на основе популярного фреймворка Bootstrap. Интуитивно понятный интерфейс.

    Посмотрите демо этих плагинов, выберите понравившийся по функционалу и простоте использования. Для быстрого старта оптимально подойдут Driver.js или Hopscotch. Удачи!


    P. S. Пользуйтесь поиском или чат ботами прежде, чем спрашивать что-то очевидное!
    Ответ написан
    1 комментарий
  • Как сделать отправляемые запросы анонимными?

    Vindicar
    @Vindicar
    RTFM!
    Анонимность - штука многогранная.
    Для начала, что значит "со мной"? Кто есть "я"? Другая учётка на этом же сайте? Айпишник из российского диапазона? Учётка в соцсетях? Физлицо Вася Пупкин, паспорт-серия-номер-выдан? Ответы будут очень разные.
    1. Какие данные сайт требует для работы? Можно ли по этим данным тебя идентифицировать?
    Грубо говоря, если для реги нужен телефон, и сайт не работает с российским сегментом, то VPN не поможет, если у тебя нет зарубежного номера.
    2. Какие данные отдаёт твой клиент? Например, куки, localStorage, эксплоиты для анализа истории, инфа от логинов в соцсетях, и тому подобные вещи. requests и другие клиенты-либы ничего такого не отдают, если специально их не настроить. В случае с селениумом есть browser fingerprint, но он тоже ломается при желании.
    3. Что сайт знает о твоём IP адресе? Принципиально ли ему вообще это знание? Одно дело, если сайт требует/не допускает айпишники из определённого диапазона. Другое - если там ограничение на число запросов с одного IP. Третье - если ему вообще пофиг на IP и он пытается идентифицировать юзера иначе.

    Короче, выводы простые.
    1. без конкретики тут говорить не о чем.
    2. Однострочник import sdelaj_mne_kruto не прокатит.
    Ответ написан
    Комментировать
  • Как грамотно подобрать компанию при трудоустройстве?

    Никак, узнавать по факту.
    Собираете список того, что для вас неприемлемо, и у рекрутёра спрашиваете. Напарываетесь, добавляете в список, повторяете.
    Ответ написан
    3 комментария
  • Как мне отсортировать список в питоне?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    float(k.get('money', 0))
    Ответ написан
    Комментировать
  • Как подключиться к Wifi на C++?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тебе работать с Wifi на С++ нужно будет только в одном случае - когда ты разработчик драйвера Wifi устройства.

    В остальных случаях - ты пишешь обычные приложения на С++ которые используют сокеты TCP/UDP, которые (сокеты) в свою очередь работают через стек технологий ОС для кидания пакетов в Wifi интерфейсы в соотвествии с правилами таблиц маршрутов.
    Ответ написан
    2 комментария
  • 'Хвосты' удалённых программ в реестре Windows 10?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Установка программы предполагает занесение данных о ней в реестр.

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

    После повторной установки прежде удалённой программы данные о ней в реестре дублируются или просто перезаписываются?

    Каждый программист своей программы придумывает что и зачем хранить в реестре, а также что делать с реестром в новой версии.

    И как с этим вопросом обстоит дело у portable установок?

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

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Выбираешь интересующую область, узнаешь какой язык в этой области больше применяется, берёшь учебник для начинающих по этому языку, читаешь, практикуешься. То есть начали вы правильно, а потом зря обратились к человеку, который больше вас запутал, чем помог.
    Ответ написан
    2 комментария
  • Как лучше развернуть двумерный массив?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Если не обязательно делать поворт на месте, то вся суть алгоритма вот в этой одной строке:
    result[i][j] = arr[n-1-j][i];
    Надо только циклы прогнать по нужным границам, да массив нужного размера создать.

    Если матрица квадратная, то элементы сдвигаются по кругу в четверках - и это можно сделать без дополнительного массива . Можно делать сдвиг по кругу со временной переменной. Что-то вроде этого:
    tmp = arr[i][j];
    arr[i][j] = arr[n-1-j][i];
    arr[n-1-j][i] = arr[n-1-i][n-1-j];
    arr[n-1-i][n-1-j] = arr[j][n-1-i];
    arr[j][n-1-i] = tmp;


    И надо аккуратно границы цикла подобрать, чтобы там только левый верхний угол обработался. Иначе вы 4 раза в каждом круге сдвините, и ничего не поменяется.
    Ответ написан
    Комментировать
  • Возможно ли на python сделать exe, без необходимости скачивания python у конечного пользователя?

    hottabxp
    @hottabxp Куратор тега Python
    Сначала мы жили бедно, а потом нас обокрали..
    Ответ написан
    Комментировать
  • Как мне применить список из функции в другой функции?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    А в чем, собственно, проблема? Передайте это значение в функцию в качестве аргумента, или вон вы глобальной переменной уже пользуетесь, можете и тут наговнокодить так же.
    Вы не объясняете что конкретно у вас не получается. В чем вопрос? Предоставляете довольно объемный код, который, судя по вопросу, написали не вы и чего хотите? Чтобы вам краткий, но исчерпывающий курс по программированию с нуля тут изложили? На какой-то другой ответ в вопросе просто недостаточно информации.

    А бесплатных курсов и репетиторов тут нет.
    Ответ написан
    2 комментария
  • Разработка web-сервисов – LAMP (Python/Django) vs. MEAN (Node.js)? Или что-то другое?

    sim3x
    @sim3x
    Средний разработчик использует 3 ЯП в день
    На каждом ЯП 3+ технологии

    Нельзя стать высокооплачиваемым разрабом изучив только технологию X на ЯП Y
    Нельзя стать разрабом изучив только область знания Z

    Так что учите все, что видите и пробуйте, то что нравится
    Ответ написан
  • Разработка web-сервисов – LAMP (Python/Django) vs. MEAN (Node.js)? Или что-то другое?

    Привет

    1) Для начала тебе нужно определиться с тем, что ты хочешь делать по итогу. Т.е. если запустить какой-то свой проект, то php/python. Если тут нужен асинхрон или научиться асинхрону, то node.js. Если хочешь работать устроиться куда-то в банк, то Java/C#. Т.е. выбирай инструмент под задачу, а не задачу для инструмента.

    2) Python - универсальный язык, который может делать многое. Вопрос, что не всегда это можно сделать эффективно. В общем, если нужен асинхрон и много соединений то бери node.js, если нужно другое - то бери Python.

    3) Не понимаю разницы между обычными сайтами и веб-сервисами. Вопрос сложности реализации - основа то везде одинаковая. Будешь делать сервисы, будешь уметь делать обычные веб-сайты.

    4) Если для личного развития, то можно. Если для работы, то нет. Скорее всего ты будешь работать либо на php, либо на python, либо на node.js - и там уже сможешь детально рассматривать все нюансы и стек. Учить все сразу - не учить ничего.

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

    Вопрос: Ты чем заниматься хочешь в итоге? Что-то для себя пилить, работать на фрилансе или пойти в какую-то контору (стартап или гиганта типа Яндекса, Меил.ру?)
    Ответ написан
    8 комментариев
  • Разработка web-сервисов – LAMP (Python/Django) vs. MEAN (Node.js)? Или что-то другое?

    alexsurfer
    @alexsurfer
    Программист Python, Django, PostgreSQL, Golang.
    Если ты учишься и хочешь навыки развить, что бы в будущем тебя кормило программирование, тогда мой совет такой. Начинай изучать python и javascript. Реальность такова, что без js не напишешь фронт, а python имеет множество библиотек под все задачи. Py очень понятный язык, js не очень понятный.

    Есть проект PonyORM + PonyJS + ReactJS https://www.youtube.com/watch?v=6AWL4iSfZXU
    За такими технологиями будущее, python на бэкенде и react на фронте.
    Ответ написан
    3 комментария
  • Разработка web-сервисов – LAMP (Python/Django) vs. MEAN (Node.js)? Или что-то другое?

    un1t
    @un1t
    Выбор ЯП и стека вещь сугубо субьективная. Параметров слишком много, чтобы можно было объективно сравнить.
    Все перечисленные технологии популярны и в ближайшиее 5 лет будут востребованы. Выбирай то что нравится.

    В пользу Node: всё идет к тому, что js станет стандартом как на фронте, так и на сервере. Через 5 лет серверную часть не на js будут писать только ленивые ретрограды.

    Ну-ну. Или стухнет как руби.

    Приложения получаются быстрее python и др. в 10-15 раз, выдерживают большие нагрузки,

    У JS нет превосходства в производительности над Python. Скорее наоборот. Но в целом я бы не рассматривал производительность как фактор выбора, т.к. в первом приближеннии она одинакова.

    нет задач, которые нельзя было бы реализовать в рамках MEAN-стека.

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

    Технология в стадии активного развития, через 5 лет сегодняшние её косяки будут исправлены, и она станет стандартом де-факто для web-приложений, как php для web-сайтов когда-то. Нет смысла тратить время и распыляться на морально устаревающие средства.

    Некоторые косяки действительно будут исправлены. С монгой все поигрались и забыли, вернулись к реляционным БД. Express.js это наколенная поделка, которую можно написать за один вечер. Там по сути кроме роутинга ничего нет. Может быть черзе 5 лет на ноде появятся какие-то полноценные фреймворки типа Джанги, Рельсов или Симфони, но на сегодняшний день их нет. Angular это вообще фронтенд, его можно с любым бакендом использовать.

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

    6365584b90cc8202037868.jpeg
    Ответ написан
    Комментировать
  • Почему современные языки отказываются от ООП?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Они не отказываются. Скорее происходит отказ от "парадигмы" разработки. Языки стали мульти-парадигменные. Посмотрите на С++20 или Scala. Их невозможно положить в коробочку ООП или ФП. В них есть почти полный набор фич и оттуда и отсюда. И с каждым годом число фич растет и граница размывается. Нашим потомкам будет вообще непонятно где идет раздел.

    По поводу golang. Это язык ограниченной разработки. Его создавали специально чтобы порог вхождения был низкий. Фактически делали лайтовый С++ которому можно обучить школьника за 14 дней. Но с перформансом выше чем у Питона. Поэтому выражать какие-то сложные конструкции на типах там скорее всего не получится. У golang есть свой манифест. Я забыл как он называется и где он. Вобщем там довольно четко обоснованно почему такие принципы и почему такая идеология.
    Ответ написан
    1 комментарий
  • В чем можно хранить около триллиона значений key=>value?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Давайте прикинем объем который понадобится. Что такое триллион?
    Это 12 нулей. Или 1 000 000 000 000 элементов. Какая у нас data-row?
    8 + 64 символов типа ASCII (байт подходит чтоб покрыть все символы).
    Итого 72 байта на строку. Там можно еще поужимать биты в байтах но только
    сложность повышает а большой пользы для дела не дает. Пускай будет ASCII == 1 байт.

    Вобщем такой расчет

    72000000000000 байтов на весь сегмент данных когда таблица загружена.
    Или 65 терабайт. А сколько магнитных блинов надо прикупить? Возьмем популярный магнитный
    Western Digital Purple 10TB 7200rpm 256MB WD102PURZ 3.5" SATA III при цене 290$
    Порядка 7 штук надо. Вобщем готовте котлету денег 290$ * 7 = 2030$

    По поводу DBMS. Да key-value здесь подходит. Можно начинать с LevelDb или RocksDb но у них
    расход дисковой памяти на 1 строчку может быть больше чем я посчитал. Я ведь считал эконом-эконом
    вариант в виде бинарного типизированного файла где все записи строго по 72 байта. Сколько именно
    захватит РоксДб или ЛевлДб - чорт его знает. Вряд-ли документация об этом что-то говорит.
    Но берите 1% датасета. Загружайте
    и аппроксимируйте сколько выйдет после полной прогрузкуи. Это - надежный способ оценки.
    Ответ написан
    12 комментариев
  • Зачем надо закрывать курсор при работе с БД?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Дело в том что курсор может потреблять ресурсы. Например вы захотели взять первые 10 строк из 10000000 выборки но предварительно отсортировали. Выбрали 10 строк и не сделали финализирующие протокольные действия в Python. База данных будет удерживать в памяти алгоритмы и структуры данных для снапшота результата этого запроса до тех пор пока не придет явный CLOSE с вашей стороны либо интеллекуальный драйвер который еще и обладает логикой уборки мусора сам не догадается что Statement уже вышел из scope вашего использования и может быть удалён GC.

    Я был свидетелем ситуации когда крупное ent-приложение Java/Oracle переполняло память из-за неверной обработки Exception и плодила много незакрытых курсоров в БД. Java от этого не сильно страдала (GC всё убирал) но страдал Oracle. Потому что уборка происходила слишком поздно. Пофиксилось тогда переписыванием с try на try-with-resources.

    Поэтому если вы неряшливо обращаетесь с курсорами (явными и неявными (обычный select к примеру может прождать неявный курсор)) то не ваше приложение а база данных почувствует себя плохо. Как быстро и какие ошибки вы будете получать - зависит от настроек вашей БД.
    Ответ написан
    Комментировать
  • На что опираться при выборе изучения RN и Flutter?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    кол-во вакансий у RN в раза 2-3 выше

    Это.
    Ответ написан
    Комментировать