Задать вопрос
  • Как использовать один js для разных id на странице?

    RussianNinja
    @RussianNinja
    Всем динамически создаваемым элементам прописать класс и вешать обработчик события на класс, а не на id.

    $(document).on('click', '.title', function () {
          // использовать $(this) для выбора элемента, по которому кликнули
    });
    Ответ написан
    Комментировать
  • Win32api | python | Как создать окно приложения, где взять wndProc?

    Vindicar
    @Vindicar
    RTFM!
    Тебе повезло, я недавно такое делал.
    Нельзя просто взять и передать питоновскую функцию в WinAPI, так как у них совершенно разные способы вызова. Тебе сначалу нужно описать тип данных - указатель на функцию. Примерно так.
    import ctypes
    import ctypes.wintypes as w
    LRESULT = w.LPARAM
    WNDPROC = ctypes.WINFUNCTYPE(LRESULT, w.HWND, w.UINT, w.WPARAM, w.LPARAM)

    Вот после этого ты можешь предоставить свою оконную функцию вида
    def wnd_proc(hwnd: w.HWND, message: w.UINT, wParam: w.WPARAM, lParam: w.LPARAM) -> LRESULT:


    А потом уже указываешь это в классе окна:
    wndСlass.lpfnWndProc = WNDPROC(wnd_proc)

    Но тут есть еще один подвох - оконных сообщений много, и их набор отличается для разных версий винды. Есть базовый, более-менее статичный набор, но помимо них может прийти много чего.
    Тут на помощь приходит DefWindowProc().
    def wnd_proc(hwnd, message, wParam, lParam):
        if message == SOME_MESSAGE_YOU_WANT:  # отлавливаешь интересующие тебя сообщения
            DoStuff()  # и обрабатываешь их
            return 0  # не забудь вернуть 0 как признак успеха!
        # а все остальное отдаёшь в DefWindowProc()
        return user32.DefWindowProcW(hwnd, message, wParam, lParam)

    Обрати внимание, что как многие функции WinAPI, DefWindowProc() существует в двух видах - с сууфиксом A (однобайтовая кодировка ANSI) и с суффиком W (wide char, двухбайтовый вариант юникода). Смешивать не рекомендую, выбери один суффикс и придерживайся его во всей программе.

    И ещё подвох, который меня чуть с ума не свёл - переменная с классом окна ДОЛЖНА существовать, пока существует окно. Иными словами, её не стоит делать локальной в методе - иначе сборщик мусора питона её потом соберёт, что будет неприятным сюрпризом для WinAPI. Поймаешь крэш приложения.
    Ответ написан
    7 комментариев
  • Что такое executor в aiogram?

    Vindicar
    @Vindicar
    RTFM!
    Аиограм умеет работать в двух режимах - polling и webhooks. Как я понял, executor позволяет остальным механизмам бота абстрагироваться от используемого режима.
    Например, start_polling() просто создаёт реактор (loop) asyncio и запускает в нём задачу self.dispatcher.start_polling(), а потом ждёт сигнала завершения. Ну и еще дергает обработчики on_startup и on_shutdown. Это можно сделать и вручную, при необходимости.
    webhooks использует aiohttp для реализации веб-сервера, который будет получать запросы от telegram.
    Ответ написан
    Комментировать
  • Как изучить и понять математику для ML девятикласснику?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Есть два варианта:
    1. Объявить себя вундеркиндом, найти свой уникальный путь изучения математики - но мы вам тут не советчики, вы уж сами как-нибудь

    2. С прискорбием начать повторять тот тернистый путь, который проходят выпускники физмата - именно,

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

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

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

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

    Итого, для нормального (осознанного) ориентирования в ML нужно иметь знания студента 2 курса любого физмата (даже пединститута городского вам хватит). Если вы хотите аналогичный результат в девятом классе (и главное, быыыыстра!!!!), начинать нужно было в пятом.
    Ответ написан
    Комментировать
  • Можно ли вычислить автора сайта?

    Adamos
    @Adamos
    А потом ты захочешь монетизировать этот сайт, и вся игра в прятки резко закончится по собственному желанию.
    Если, конечно, раньше не окажется, что сайт тупо заблокирован для потенциальной аудитории, так как мешает уважаемому бизнесу уважаемого владельца лохотрона.
    Ответ написан
    Комментировать
  • Гайд по поступлению в Беларуси?

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

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

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

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

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

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

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

    DevMan
    @DevMan
    элементарно.
    самое простое - покупаете домен и А-запись настраиваете на адрес сервера в своей сети.
    дешевле, но замороченей - поднимаете в своей сети собственный dns-сервер.
    Ответ написан
  • Недостатки видеоуроков?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Нужен огромный и продолжительный труд, чтобы написать приличную книжку.
    Чтобы в ней было не 10 страниц, а много хорошего материала, с примерами, с задачами, с изложением. Оформить, вычитать, отредактировать, договориться с издателем, выпустить, получить какую-то отдачу.
    Хорошую книгу ты читаешь долго. Месяц, два, год. Перечитываешь.

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

    В любой момент можно в тексте что-то найти, что-то подсмотреть в быстром темпе, и даже в бумажном варианте для этого достаточно просто содержания. А в электронном виде оттуда легко копируется текст, команды, код, конфиги.
    Перемотка в видео так не работает. Закладки на видео в виде справочника не работают. Сам себе заметки в виде видео ты не пишешь, не выписываешь, и переписать из книги проще, чем из видео.

    Также видео делать сложнее, чем писать текст. Гораздо дольше. Гораздо дороже.
    Редактирование видео вещь в разы более муторная, поэтому чаще просто переснимают короткие блоки, а это опять таки непросто.
    То есть сделать видео с таким же качеством материала и с такой же плотностью материала - в десятки раз дороже по всем ресурсам - деньги, время, оборудование.
    И при этом никто не будет смотреть месяц видео (160 часов, например). Никто не будет делать поиск внутри видео, закладки на нужные отрывки и использовать видео как справочник.

    Перенести материал из книги перенести в видео - это непомерный труд с одной стороны и совершенно невостребованный с другой стороны.
    А поэтому никто не делал, не делает и не будет делать видео с таким же наполнением материалом, как это можно сделать в тексте.

    Видео - это разок посмотреть на чей-то практический материал, разок посмотреть как это делает кто-то другой.

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

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

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

    P.S. Все вышесказанное касается разработки и администрирования. В "визуальных" профессиях, возможно видео может давать гораздо больше. Например хореография, фехтование, музыка, возможно дизайн. Но там тоже множество книг, которые дают фундаментальную информацию лучше, чем видео.

    P.S. Одним из самых важных минусов видео я считаю то, что ты не можешь получать информацию в комфортном для себя темпе, с возможностью быстро перечитать слово/фразу и обдумать ее. Сам читаю множество лекций, и эта проблема, когда скажешь 2-3 предложения быстрее, чем обычно и половина учеников отваливается с бессмысленным взгядом. Так на живом курсе ты можешь обратить на это внимание и перефразировать, а записанное видео уже не изменишь.
    Ответ написан
    1 комментарий
  • Как правильно изучать язык C?

    @AVKor
    То ли нужна практика

    Изучать ЯП без практики - терять время зря.
    возможно,cмотреть видеоуроки?

    Это если хочется стать не программистом, а видеоблогером.
    Ответ написан
    5 комментариев
  • Как при помощи JpaRepository выполнить строку?

    @Akela_wolf
    Extreme Programmer
    То что вы пытаетесь сделать называется - SQL-injection. Почитайте для интереса сколько сайтов было взломано только потому что возможно было подставить какую-то строку в SQL-запрос и таким образом повлиять на его результат.

    Поэтому JPA (да и вообще Hibernate) вам этого не позволит. Да вам этого и не нужно. Сформулируйте нормально проблему, которую хотите решить и задайте другой вопрос - получите совет как сделать это без подобных извращений.
    Ответ написан
    Комментировать
  • Подойдет ли Django для разработки интернет магазина?

    fox_12
    @fox_12 Куратор тега Django
    Расставляю биты, управляю заряженными частицами
    Подойдет
    Ответ написан
    Комментировать
  • Как спарсить динамический текст python?

    Vindicar
    @Vindicar
    RTFM!
    Они обновляются скриптом наверняка. А скрипт наверняка делает фоновый запрос к бэкэнду сайта.
    Отсюда:
    а) Выяснить, что это за запрос, и научиться его выполнять самостоятельно с помощью requests. Бонус - наверняка там что-то удобочитаемое, типа JSON, а не HTML.
    б) Использовать полноценный браузер, умеющий выполнять скрипты, типа selenium. Громоздко и медленно, но зато позволяет успешнее косить под обычного пользователя.
    Ответ написан
    Комментировать
  • Что делает этот скрипт?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    FFD9 - последние байты изображения формата jpg.
    Код вытаскивает второе изображение из файла fimrin.jpg и сохраняет в better_fimrin.jpg

    Допустим у нас есть два jpg файла: orange.jpg и apple.jpg (апельсин и яблоко соответственно). Если мы их склеим в 1 файла таким кодом:
    f1 = open('orange.jpg', 'rb')
    f2 = open('apple.jpg', 'rb')
    
    with open('out.jpg', 'wb') as out:
        out.write(f1.read()+f2.read())


    то получим файл out.jpg, который в просмоторщике фото будет выглядеть как апельсин. Хотя на самом деле, после апельсина дописаны байты яблока. Очень упрощено
    orangeblablablaFFD9applelalalalaFFD9

    Код находит индекс FFD9, которые являются концом первого изображения (апельсина), смещает курсор до этих байт (f.seek), затем читает оставшиеся байты, которые являются байтами изображения с яблоком. И сохраняет эти байты в виде нового файла. В общем, вытаскивает скрытое второе изображение из файла. Может быть как часть какого нибудь легкого задания, связанного с криптографией.

    В принципе, код легко ужимается до
    f = open('fimrin.jpg', 'rb')
    content = f.read()
    
    with open('better_fimrin.jpg', 'wb') as out:
        out.write(content[content.index(bytes.fromhex('FFD9')) + 2:])
    Ответ написан
    Комментировать
  • Возьмут ли на работу в 19 лет?

    Как думаете, то, что мне на данный момент 19 лет будет играть какую-то роль, могут ли относиться несерьезно?

    Какой конкретно вам собеседующий / начальник попадётся я не знаю.
    Но я ни разу не встречал таких, кто отказывал кандидату только из-за возраста.

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

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Значит не json вернулся
    Ответ написан
    2 комментария
  • Вопрос про sqlite?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    sqlite БД - это просто файл, чтобы подключиться к такой БД можно скачать его или примонтировать файловую систему сним к локальной, например, через SSH. В случае больших БД будут проблемы с производительностью. Если вам нужно делать это штатно, регулярно, в проде, да еще и с разных клиентов, то использовать надо какие-то другие БД, а не sqlite.
    Ответ написан
    3 комментария
  • Что это значит в джаве?

    AgentSmith
    @AgentSmith
    Это мой правильный ответ на твой вопрос
    Книгу по Java даже не открывал, да?
    Это ООП
    Ответ написан
    1 комментарий
  • Какой сервис использовать для бесплатного хранения видео для бэкенда на Django?

    @deliro
    Никто не будет хранить ваши огромные данные бесплатно, это никому не нужно. Пусть даже вы сделаете хитрую схему из сотен яндекс-аккаунтов и сделаете агрегатор яндекс.дисков, вас забанят очень скоро, когда увидят, что трафика на чтение очень много и он из самых разных мест. Или что он кратно превышает среднего юзера по больнице. Или что вы в кучу аккаунтов ходите через один IP адрес.
    Ответ написан
    Комментировать
  • VM vs native, какие плюсы и минусы?

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

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