• Как устроен современный сайт?

    @yestodev
    Не очень понимаю зачем нужен именно "топовый сайт". Топовые сайты - это доступ к приложениям через тонкий клиент в виде браузера, с трудом сотен и тысяч разработчиков (фейсбук, нетфликс и так далее).

    Я предлагаю несколько более простое решение. Попробуйте написать приложение с погодой, которое будет брать данные от любой популярной бесплатной погодной API, и будет выдавать результат с некоторой графической обработкой (иконка солнышка если солнечно, дождика если дождь).
    Благодаря этому можно будет понять сразу несколько вещей:
    HTTP протокол, работа с запросами, JSON/XML, обработка данных, отображение данных в зависимости от результата.
    После можно попробовать поработать с куками, запомнить выбор города, и, при повторной загрузке сайта, сразу отдавать данные согласно прошлого запроса.
    Потом можно попробовать сделать простой TODO-list, с простейшей авторизацией, без подсаливания, с простой работой с БД, чисто по логину-паролю.

    После можно усложнять все эти задачи, пытаться вешать обработку нулевых/невалидных значений как со стороны бека, так и фронта. Начать работать с хешами, солить пароли. Выдавать jwt, обновлять, проверять.

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

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

    P.S.
    Из ответа по технологиям что я использую:
    БД - PostgreSQL,
    Front - Flutter/Angular/React (от задачи)
    Back - Java + Spring

    Кто-то использует JS стек MERN/MEAN. Кто-то пхп, кто-то го, тут выбор огромен. Типовые задачи можно решать огромным количеством подходов с использованием огромной вариативности по инструментам.
    Ответ написан
    Комментировать
  • Пойти работать Джуном или доучиться до Миддла?

    @McBernar
    Да что уж, можно сразу и до синьора доучиться. А там и до тимлида недалеко - буквально пару-тройку курсов на ютубе посмотреть еще.
    Ответ написан
    9 комментариев
  • Красивое оформление при парсинге?

    hottabxp
    @hottabxp Куратор тега Python
    Сначала мы жили бедно, а потом нас обокрали..
    Попробуйте метод strip():
    serveronline = soup.find("div", "monitoring").text.strip()


    PS: Скорее всего так не получится, так как вы хитрите, выбирая всё сразу. Нужно брать "табличку" каждого сервера и парсить в цикле из неё данные. И тогда будет всё красиво, без ненужных пустых строк.
    Ответ написан
    7 комментариев
  • Какую литературу читать начинающему программисту?

    @dmshar
    1. Ну наконец-то, хоть один среди сотни потоковых вопросов от начинающего с самоанализом, мотивацией и пояснением проблем, на которых ХОЧЕТСЯ ответить.
    Значит - человек действительно заинтересован в теме.
    2. "Кажется, что я мало знаю и упускаю время," - извините, но "быстро только кошки родятся". Я понимаю, под шквалом книг по типу "От азов до вершин мастерства за 7 дней" или курсов "Сделаем из новичка профессионала за полтора месяца" такие мысли вас будут "доставать". Плюньте и забудьте. Быстро можно только нахвататься и так же быстро забыть. Реальные знания быстро не приобретаются, хотя-бы потому, что учеба - это в первую очередь работа, умственная и весьма тяжелая. А не легкая забава, как кажется из анонсов сотен видеокурсов. Поэтому - настройтесь на работу. Не важно, что вам кажется - вы с каждой прочитанной и обдуманной страницей книги приближаетесь к цели - стать профессиональным разработчиком. Ну, и правила 10000 часов никто не отменял, хотя многие думают, что они-то - гениальны и могут обмануть психологию.
    3. Кнут - отличная книга. Но не как отдельное чтиво. Скорее всего, на втором курсе вам будут читать курс алгоритмизации, который будет кратким изложением Кнута. Прослушаете этот курс - потом можете его расширить и Кнутом и Корменом и Бхаргаваой. Если захотите.
    3. Таненбаум и Петцольд - могут сложно читаться, но что-бы понять, как работает компьютер - стоит пробиться через "терни к звездам". Медленно, без спешки, по пять страничек в день. И бросать начатое не стоит.
    4. Начинающему программисту стоит также (во время каникул - ага :-) ) посвятить время тому, что-бы совершенствоваться в практическом программировании. Найдите сайт с задачками и решайте их от простого к сложному.
    5. Еще один путь самосовершенствования - попробовать "надкусить" еще один язык. Если вас в универе учили С++ или С# - попробуйте Python. Или посмотрите, как устроенты те-же веб-приложения - а значит JavaScript, PHP. В жизни пригодится - если не практически - для для расширения профессионального кругозора - точно.
    6. Еще я бы посоветовал хотя-бы первичное знакомство с организацией Баз данных и SQL. Любая книга подойдет для начального ознакомления. От Дейта до Нестерова.
    7. Современному программисту, чем-бы он не занимался, необходимо понимание сетевых технологий и архитектур. Тут тоже можно начать с того-же Таненбаума или Олиферов, но более доходчивой книги, чем Куроуз и Росс - я не встречал.

    Вот, примерно такой Roadmap для новичка, который хочет (в будущем!) стать профи на время летних каникул.
    Ответ написан
    Комментировать
  • В книге "A Byte of Python" рассказывается о третий версии Python?

    @dmshar
    Апофеоз!!
    Вместо того, что бы самому прочитать, ну хотя-бы вот здесь:
    https://wombat.org.ua/AByteOfPython/
    на первой же страницы, русским по белому
    Настоящая книга описывает язык Python 3, несмотря на то, что Python 2 всё ещё более распространён
    надо зайти на форум, задать вопрос, ждать ответа, который может оказаться недостоверным, потом поверить этому ответу и с чувством гордости и величия пойти задавать следующий вопрос, вместо попытки его решить самостоятельно.
    Кто может объяснить ход мысли вопрошающего? Это что, следующее поколение "ИТ-специалистов"?
    Ответ написан
    6 комментариев
  • Python junior, возможно ли?

    Lucian
    @Lucian
    https://t.me/BusinessAndFreelance
    Вся проблема людей, в том что они не умеют видеть возможности.

    Неудачник попробует один раз и на этом остановится.
    Люди котором "повезло", как правило попробовали что-то сделать сотню раз.

    загвоздка в том, что часто слышу
    Исправьте свой фильтр на отсеивание мнений неудачников.

    Приходите сюда со своей статистикой, чтобы лайкнуть мой коммент:

    100 раз попробовал
    5 послали на хер
    1 раз дали работу
    Конверсия в заявки 6/100 = 6%
    Конверсия в работу 1/100 = 1%
    Конверсия заявок в работу 1/6 = 16%
    Ответ написан
    Комментировать
  • Что посоветуете убрать или добавить? Хорошая (бюджетная) сборка?

    Добавить ещё жёсткий диск, или ssd взять на 480-500гб , 240 может не хватить, если будет много приложений. Также, оперативную память взять не одним модулем на 8гб, а двумя по 4гб каждый .
    Ответ написан
    Комментировать
  • Какую материнскую плату посоветуете для ryzen 5 3600?

    hint000
    @hint000
    у админа три руки
    https://www.asus.com/ru/Motherboards/PRIME-B450M-A...
    Свежие ревизии из коробки поддерживают 3-е поколение, у них на коробке это написано.
    Оперативку лучше попроще, частотой не более 3000, с супер-пупер оперативкой может не завестись или зависать в процессе работы. Я три сервера собрал на этой плате, с оперативкой на 2666 (Samsung, AMD) работают отлично.
    Кстати, рассмотрите вариант Ryzen-5 3500X, отличие только в отключенном гипертрединге, а разница в цене заметная.
    Ответ написан
    3 комментария
  • Как "продолжить"?

    hottabxp
    @hottabxp Куратор тега Python
    Сначала мы жили бедно, а потом нас обокрали..
    Сначала вам нужно знать базовый синтаксис языка. Плюс несколько стандартных библиотек. Потом ищете простую идею для своей программы. Не нужно искать идеи в интернете или тут спрашивать. Напишите несколько программ для себя. Вот мой пример:
    1) Я заметил, что много времени провожу на qna.habr.com(количество переходов можно посмотреть в браузере). Так вот, я захожу на главную страницу сайта, и смотрю новые вопросы по моим тегам. Делаю это почти каждые 10-30 минут. Это здорово отнимает время. Решим проблему с помощью python. Взял 3 библиотеки(requests, notify2 и beautifulsoup) и написал простую программу. Суть ее в том, что она раз в минуту запрашивает главную страницу qna(с cookies), парсит ее и забирает из нее текст вопроса и ссылку. Потом проверяет в цикле, есть ли данная ссылка в файле. Если нет, значит показываем на рабочем столе уведомления с новыми вопросами, а ссылки записываем в файл. И так в цикле. Вроде бы программа простая, но с помощью нее можно поработать на практике с циклами, файлами, сетью, парсингом и т.д.
    Потом мне стало интересно, что такое боты в Телеграм. Почитал документацию и примеры. Вышеуказанною программу переделал под бота. Теперь уведомления приходят мне в телегу.
    2) Следующую программу сделал для rutracker.org Суть ее в следующем - указываем программе ссылку на раздел форума, она парсит сначала главную страницу раздела, вытаскивает номер последней страницы и потом скачивает и парсит с первой по последнюю страницу, вытаскивая заголовок раздачи, размер, сиды/пиры и записывает это все в базу sqlite3. Открываю базу с помощью sqlitebrowser, и могу искать раздачи по тексту, также сортируя по сидам, пирам, размеру и т.д Здесь опять можно потренироваться на практике с циклами, работой с сетью, парсингом, базой данных.

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

    Пример бота для qna.habr.com:
    5e57a5a5d8f6b747820507.png
    Ответ написан
    Комментировать
  • Что написать на Python?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    1. Начните с утилит командной строки.
      • Освойте argparse, pathlib, yaml-конфиги, sqlite, концепцию пайпов, стандартные потоки ввода-вывода, цветной вывод в терминал.
      • Сделайте тулзу для автоматической разгрузки флешек от фотоаппарата. Пусть забирает все фотки с подключенной флешки, раскидывает по папкам с датами в каталоге хранилища, находит дубли, отделяет RAW'ы, правит EXIF, привязывает гео-метки по треку, индексирует в sqlite, находит похожие (opencv), находит и отделяет серии брекетинга для HDR, делает и восстанавливает бэкапы...
      • Сделайте CLI тулзу, которая качает спутниковые снимки региона и клеит для печати на фотообои или большой формат с рамкой, легендой и масштабной линеечкой.
    2. Попробуйте себя в бэкенде:
      • Освойте Flask.
      • Поиграйтесь с Django (сделайте себе уже сайт с вашими проектами, блогом, гостевой, галереей и админкой на готовых компонентах и дизайне).
      • Сделайте свой:
        • уменьшатель ссылок,
        • хостинг записок через QR-коды,
        • TODO-list,
        • анонимный интернет-чат на web-сокетах,
        • свою интернет-радиостанцию для семьи (с ротацией, новостными и погодными вставками, напоминалками из календаря семеных событий помощью TextToSpeech).
      • Попробуйте прикрутить к сайту донаты, принимать платежи.
      • Сделайте свой сайт, который присылает (можно за денежку) выбранную область карты в виде страниц атласа в масштабе и с легендой на основе рендера OSM и спутниковых снимков.
    3. Поиграйтесь с ML на классических примерах.
      • Научите вашу веб-камеру в ноуте вас узнавать, фотать незнакомые лица перед вашим компом.
      • Научите комп "видеть" вашего кота в комнате, понимать когда ему надо погулять.
      • Сделайте скрипт, который находит на записях видеорегистратора гос-знаки автомобилей и сохраняет в CSV вместе с таймингом по ролику.
    4. Поиграйтесь с MicroPython на NodeMCU (ESP8266).
      • Сделайте и закастомизируйте на нём интернет-wifi-радиоприёмник, или детский MP3-плеер для сказок с RFID-сканером и карточками.
      • Сделайте кормушку для котейки.
      • Робота-охранника или робота теле-присутствия для квартиры...
    5. Попробуйте себя в игрострое, если душа лежит. Я бы смотрел для начала в сторону веб-игр для соц-сетей. Да, придётся окунуться немного во фронтенд, но можно найти подельника, который учится фронту.
      • Можно замутить очередной http://www.milliondollarhomepage.com,
      • огромный скетч-холст для совместного рисования в стиле https://xkcd.com/1110/ на leaflet,
      • или свой граббер и просмотрщик тайлов этого комикса и похожих.
    6. Поделайте ботов для телеги - сейчас, похоже, все этим занимаются. Этот ресурс ломится от тупых вопросов по ним, присоединяйтесь.
      • Можно замутить своего бота для скачивания видоса с ютуба (и не только) по ссылке на основе YoutubeDL.
      • Сделайте бота для чата знакомств с гео-привязкой.
      • Бота, который мониторит RSS и репостит в чат.
      • Бота, который мониторит чат и репостит в RSS через сервер на Flask или статику.
      • Сделайте автоматическую качалку и публиковалку аудиокниг с рутрекера (принять ссылку или название, скачать торрент с нужными тегами, сгенерировать запись в RSS-фид, положить в публикуемый каталог, чтобы книги можно было качать и слушать как обычные подкасты, но еще и по команде из телеги).


    Ну сколько можно ныть и вопрошать "что делать"? Огромная куча всего еще не сделана или сделана через задницу. Сделайте тоже! Пусть получится хорошо или снова через задницу, но это будет ваш опыт!
    Публикуйте свои работы в opensource на github. Изучайте best practice, осваивайте CI/CD, Docker, TDD. Подпишитесь на технологические IT-подкасты. Заведите блокнот для базз-вордов и пишите туда всё что слышите незнакомое. Возьмите в привычку обзорно изучать новые вещи каждый день, каждую неделю.
    Со временем ваш профиль в гитхабе начнёт работать на вас. Крутые конторы постоянно мониторят открытые проекты и хантят разработчиков. Хороших программистов всегда не хватает!
    Дерзайте! Хватит ныть и колебаться! Идите делать!
    Ответ написан
    Комментировать
  • Платежи на Django. Как реализовать?

    WStanley
    @WStanley
    Back-end Developer
    Доброго!
    Ну если в общах чертах то происходит это так:
    На сайте надо создать корзину, чтоб пользователь мог собрать воедино то что он хочет купить.
    При переходе в корзину у него должна быть кнопка "оформить заказ" при этом можно дать выбрать ему способ доставки, ввести свой адрес и остальные требуемые вещи.
    Далее варианта 2:
    Первый простой:
    • Регистрируетесь в интернет кошельке например(яндекс, вебмани и тд) получаете свой уникальный номер кошелька
    • в этом кошельке есть пример куда и как отправлять данные об оплате
    • вы просто реализуете выполнение этих инстукций по нажатию кнопки "оформить заказ"
    • после оплаты сайт-кошелек перенаправит пользователя обратно(обратная ссылка указывается в настройках) вам на сайт где вы его уведомите об удачной оплате и пожелаете хорошего дня!

    Второй сложный:
    • Ваш заказчик заключает договор с банком "рога и копыта"
    • В банке также будет инструкция по правилам которой вы будете отправлять данные об оплате заказа
    • скорее всего еще будут спец ключи(сертификаты) для идентификации клиета(в инструкции будет описано)
    • Так же заказчику придется прикупить кассовый аппарат
    • после оплаты банк перенаправит пользователя обратно(обратная ссылка указывается в настройках) вам на сайт где вы его уведомите об удачной оплате и пожелаете хорошего дня!


    Подробнее не получится ибо у всех систем свои нюансы, но они описаны в инструкциях, чаще всего в разделе "для разработчикоф"
    Данные придется отправлять методом POST, на сайте надо будет организовать https, но это не точно!
    Ответ написан
    Комментировать
  • Как написать нейросеть на Python?

    netpastor
    @netpastor
    Python developer
    scale_1200
    Ответ написан
    Комментировать
  • Как выбрать направление развития в Python?

    letoshelby
    @letoshelby
    Изучаю python, django
    1) Веб-разработка

    На python/django/flask пишут бэкэнд, html/css/js тебе нужно для фронта. Направление хорошее.
    2) ИИ, Машинное обучение

    Если математика не ваше, то скорее всего лучше идти в веб.
    3) Разработка игр

    На python делают легкие игры, вроде Flappy Bird. Но в целом для геймдева лучше выбрать другой язык.

    1) Базовые структуры данных
    2) Наборы
    3) ООП
    4) Написание классов.

    Для изучения самых основ python есть огромное количество источников:

    pythontutor.ru - изучение практикой
    https://stepik.org/course/67/promo - хороший и бесплатный курс с основами
    https://learnxinyminutes.com/docs/ru-ru/python3-ru/ - тоже советую почитать

    А так же огромное количество книг, курсов на ютубе, курсере и т.д.

    но откуда черпать инфу по Django?

    По джанго хорошей инфы на русском уже меньше, но найти все ещё легко:

    https://djbook.ru/index.html
    https://tutorial.djangogirls.org/ru/

    https://docs.djangoproject.com/en/3.0/ - ну и самое лучшее, официальная документация, но она на английском
    Ответ написан
    2 комментария
  • Какие скилы нужны чтобы устроится python программистом?

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

    Ну а там как всегда - трактор, Канада или загнивающая Америка, хотя я бы конечно рекомендовал Европу - домой в гости летать ближе и дешевле. И как-то европейцы к нам ближе по менталитету. Особенно в какой-нибудь Польше или Чехии.

    ЗЫ. Только ничего не бояться. Половина индусов которых выгоняли из проектов, в которых я работал, трудились получая $15-$20 в час и при этом не смогли бы и половины от того, что вы описали.
    Ответ написан
    4 комментария
  • Изучать программирование для работы или для универа?

    Age1mar
    @Age1mar
    DevOps a little
    Не для работы, и не для универа. В 1ю очередь - для себя.
    В студенческие годы не просто взять себя в руки и серьёзно изучать материал, но по прошествии времени понимаешь что не зря корпел над учёбой :-)
    И да, после 1го хорошо изученного языка - другие не проблема.
    Ответ написан
    Комментировать
  • Где найти (купить) книгу A Byte of Python 3?

    @Araya
    Последняя опубликованная часть книги - 2.01
    wombat.org.ua/AByteOfPython/AByteofPythonRussian-2...
    Ответ написан
    Комментировать