Задать вопрос
  • В каких областях сейчас используются такие языки как VB.NET и Turbo Pascal?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Турбопаскаль может использоваться в образовательных целях. Проекты которые сейчас, пишут на Дельфи.

    VB.NET вполне может использоваться внутри, где уже есть какая-то внутренняя система на базе .Net.
    Редко нужен чистый VB.Net разработчик, обычно это совмещено с ASP.net, MS SQL, C#. Работа - в поддержке текущего легаси, интеграция с различным другим софтом.
    Но публичные серьезные сервисы на VB.net не делают, делают на .Net, C#
    Ответ написан
    Комментировать
  • Как сохранять данные в питон?

    Но, думаю настоящие программисты делают по другому

    Настоящие программисты читают сначала туториал по python, а потом ст. библиотеку python https://docs.python.org/3/library/index.html. Вот про способы хранение данных в ст. библиотеке python https://docs.python.org/3/library/persistence.html. Также можешь использовать json.
    Ответ написан
    Комментировать
  • Как учить программирование школьнику без денег?

    Adamos
    @Adamos
    Для обучения существуют учебники. По питону - хоть для 10 лет.
    Если вы не можете изучить простой Питон по учебнику, который все разжевывает и кладет в рот - вам не стоит идти в IT в принципе.
    Чтобы найти и скачать учебник в интернете, деньги не нужны.

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

    З.Ы. Автор ответа учил свои первые четыре языка исключительно по учебникам.
    Ответ написан
    5 комментариев
  • Как сравнить числа и вывести результат?

    @Karpion
    Для начала надо определить, откуда берутся числа - загружаются из памяти или ещё откуда-то. Эти числа надо поместить в регистры; или можно одно число поместить в регистр, а другое оставить в памяти - *86 позволяет сравнивать регистр с памятью; а вот ARM требует оба числа поместить в регистры, операции с памятью он не умеет.

    Затем сравнить регистры командой CMP. При этом установятся флаги.

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

    Вы бы для начала определились с тем, какой именно ассемблер - *86, ARM, MIPS, etc; и разрядность - 32 или 64 бита.
    Ответ написан
    Комментировать
  • Что делать когда на хостинге закончилось место, где хранить картинки и другую информацию?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Какие решения есть когда заканчивается место хранения на хостинге

    Купить болеее высокий тарифный план.

    Мне сложновато представить себе хостинг, у которого недостаточно места для ваших картинок.
    Ответ написан
    Комментировать
  • Как исправить name 'account' is not defined или unresolved reference 'account'?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Откуда такой код? Никаких упоминаний account нет в vk_api
    https://github.com/python273/vk_api/search?q=accou...

    Как и unban (если это, конечно, не ваша функция)
    https://github.com/python273/vk_api/search?q=unban...
    Ответ написан
    1 комментарий
  • Куда лучше всего ехать программисту-выпускнику, после окончания обучения?

    DevMan
    @DevMan
    ехать можно много куда. вопрос только в том сможете ли вы туда поехать/пустят ли вас туда.
    трудовое законодательство/визы/санкции/и–все–такое достаточно просто разрушают иллюзорный мир несостоявшегося (пока) уежатора.
    Ответ написан
    Комментировать
  • AWS vs GoogleCloud vs DigitalOcean – как выбрать облако?

    inoise
    @inoise Куратор тега Amazon Web Services
    Solution Architect, AWS Certified, Serverless
    Итак, для начала DigitalOcean - НЕ ОБЛАКО. Это просто набор связанных сервисов. Зайти в DigitalOcean очень просто, выйти тоже, все понятно и прозрачно но там даже горизонтального масштабирования нет. Это слегка прокачанные те же VPS-ки.

    Теперь по всему остальному. Есть золотая троица AWS/Azure/GCP, но тут начинают играть другие правила.
    1. Стоит обратить внимание на то что им действительно надо учиться и это занимает время. Чтобы сделать решение, а не поделку и не влететь на деньги месяца не хватит ибо там очень много всего.
    2. Я могу сказать что переезд из одного облака в другой возможен при двух условиях: вы пользуетесь только базовыми сервисам (вроде виртуалок, БД, S3) и у вас есть 2 архитектора с сильным пониманием этих облаков
    3. Два архитектора по тому что я не знаю ни одного такого человека кто потратил достаточно сил и вник сразу в несколько облаков достаточно глубоко. Я был там везде и в результате все-равно остановился на AWS, хотя Azure и GCP имеют свои преимущества
    4. Про сервисы - ехать в облако и не пользоваться особыми сервисами и фичами этого облака - дорого и глупо
    5. А самое интересное что сделать и мигрировать проект проще чем обучить людей и изменить подходы к прайсингу
    6. Миграция в облако и из облака - не делается по щелчку пальцев, особенно если есть много данных


    По AWS могу поделиться гайдами как туда ехать, да и у них Cloud Migration очень понятный раздел с документацией. Если сравнивать эти облака то:
    • AWS - serverless, cutting-edge solutions, прозрачная инфраструктура
    • Azure - экосистема от MS, прекрасный CosmosDB (но это скорее про цены)
    • GCP - глобальные ресурсы, BigData

    При этом большинство этих фич в том или ином виде есть в других облаках.

    И маленькая ремарочка по k8s. Если вы едете не в GCP то он вам не нужен. AWS и Azure сделали так что вы можете его туда удобно загнать, но это будет дороже. Тот же AWS ECS + Fargate куда удобнее и я не знаю тех System Engeneer что по собственному желанию пересаживались с этого на k8s
    Ответ написан
    8 комментариев
  • Объясните ассемблер?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    > MOV DL, DS:[BP]
    Команда выглядит не очень, поскольку регистр BP обычно используется для работы с стэком. Но ок.
    Собственно взять значение из дата сегмента, по смещению BP и положит его в регистр DL.
    Ответ написан
    Комментировать
  • К чему стоит подготовиться перед собеседованием с руководителем?

    inoise
    @inoise Куратор тега Карьера в IT
    Solution Architect, AWS Certified, Serverless
    Готовиться к собеседованиям вне зависимости от его типа - бесполезно. В данном случае в равной степени с вами как могут просто поговорить по душам так и прогнать по жести ещё раз. Играть в угадайку бесполезно
    Ответ написан
    Комментировать
  • Можно ли определить при помощи flask узнать MAC адрес клиента в локальной сети который запросил страницу?

    @PeeX
    если клиент в той же сети что и сервер, то можно (не знаю что такое flask)
    если клиент и сервер в разных сетях - нет (но может только если браузер сам скажет, но с чего бы вдруг? да и бесполезен mac из чужой сети).
    Ответ написан
    Комментировать
  • Как продолжить своё развитие в python-e?

    @dmshar
    Если прочитав первый том Лутца, вы не можете решить, нужен-ли вам второй - то скорее всего вам не нужен ни второй том Лутца, ни Python.
    Ответ написан
    Комментировать
  • Как сайты понимают, что их посетил бот на Selenium, а не реальный юзер?

    alekciy
    @alekciy
    Вёбных дел мастер
    Вариантов много. Из простого:
    • по User-Agent
    • по IP адресу через отслеживание количества запросов с одного адреса
    • по используемым публичным прокси (многие такие сервисы явно сообщают, о себе кто они)
    • и т.д.

    Из сложного:
    • отслеживают перемещение мыши
    • ведут аналитику на о типичных поведениях пользователя и ищуют анамалии


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

    gbg
    @gbg
    Любые ответы на любые вопросы
    Ну Postgres.
    Ответ написан
    Комментировать
  • Какую СУБД выбрать для большого проекта?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    Да любую. Большой проект понятие растяжимое и в 99.999999% случаев это завышенная оценка
    Ответ написан
    Комментировать
  • Какую книгу по алгоритмам посоветуете?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Очень рекомендую эту книгу.
    Большая, толстая. очень наглядные структуры с алгоритмами и разборами. На Java. Куча заданий
    5ed4d44738e32888903594.jpeg

    И вот эту серию. Простая и легкая, но хорошая:
    5ed4d4c55de8b750006156.png
    Ответ написан
    7 комментариев
  • Реально ли работать на питоне не понимая сути декораторов?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    В общем пытаюсь учить питон и не могу никак понять суть декораторов.

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

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

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

    Нет, с этими знаниями не рождаются, их нужно осваивать.

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

    Что конкретно вам не понятно?

    Надо заметить, что Декоратор как паттерн проектирования имеет боле еширокий смысл. Декорировать можно объекты, классы, функции, даже модули (постольку, поскольку это тоже объекты). Учиться вам надо, сударь, и не ожидать, что всё прошьётся в мозг мгновенно. Быть программистом - это всегда учиться. Не останавливаясь.

    Примеров декораторов огромное множество: самые простые и понятные - это:
    - замер времени выполнения функции
    - кэширование результата
    - подстановка части аргументов (partial)
    Ответ написан
    4 комментария
  • Пишу бота на Python, возникла проблема- Invalid syntax, что делать?

    milssky
    @milssky
    Координатор племени фиолетовых обезьянок
    Что делать - открыть любую книгу/сайт для начинающих по питону и познакомиться с синтаксисом языка.
    Ответ написан
    Комментировать
  • В чем проблема цикла и библиотеки time?

    kshnkvn
    @kshnkvn
    yay ✌️ t.me/kshnkvn
    У Tkinter есть некий аналог sleep - after, по истечению заданного времени он вызывает нужную функцию.
    Но в твоем случае это бесполезно, потому что ты сначала выполняешь создание объекта, а только затем запускаешь само окно. Ты можешь сделать так:
    for r in range(200, 100, -5):
        print(r)
        canvas.create_circle(725, 500, r, fill="blue", outline="red", width=4)
    
    root.wm_title("Circles and Arcs")
    print(True)
    root.mainloop()

    Как видишь mainloop не запущен, но выполнение функции canvas.create_circle все равно произошло и только потом в консоле отобразится True и прозойдет запуск mainloop
    Хочешь отрисовывать динамично? Тогда как вариант запускать отрисовку можно в отдельном потоке, а уже там хоть time.sleep пихать, вот пример на твоей задаче:
    import tkinter as tk
    from threading import Thread
    from time import sleep
    
    
    class CreateCircle(tk.Tk):
        def __init__(self, width=1000, height=1000, borderwidth=0, highlightthickness=0, bg='black'):
            tk.Tk.__init__(self)
            self.canvas = tk.Canvas(
                self, width=width, height=height, borderwidth=borderwidth,
                highlightthickness=highlightthickness, bg=bg
            )
            self.create_circle_thread = Thread(target=self.create_circle)
            self.create_circle_thread.start()
            self.canvas.pack()
            self.run()
    
        def create_circle(self, x=725, y=500, fill='blue', outline='red', width=4):
            for r in range(200, 100, -5):
                self.__create_circle(x, y, r, fill=fill, outline=outline, width=width)
                sleep(0.2)
        
        def __create_circle(self, x, y, r, **kwargs):
            return self.canvas.create_oval(x-r, y-r, x+r, y+r, **kwargs)
    
        def run(self):
            self.mainloop()
    
    
    cc = CreateCircle()
    Ответ написан