Задать вопрос
  • Что нужно знать для junior frontend developer?

    @goshaLoonny
    Frontend Developer Roadmap карта составленная профессионалами отрасли. Последнее обновление информации было 19 дней назад.
    И 191К звезд на гитхабе подтверждают надежность информации
    github: kamranahmedse/developer-roadmap
    Ответ написан
    2 комментария
  • Как уменьшить количество таблиц-справочников с тремя-четырьмя строками?

    @rPman
    тут несколько подходов, я трогал каждый из них и все они имеют право на существования
    1. оставь как есть, я рекомендую, пусть будет 100500 таблиц справочников (если проблем с именами нет ну и отлично), fk-индексы все это свяжут а инструменты анализа базы данных помогут с этим работать (автоматические query builder с мышевозекательным интерфейсом) и база будет сама следить за тем что идентификаторы справочников не противоречивы
    недостатков я не могу придумать, кроме может быть сильно разросшейся структуры, когда то давно я слышал что некоторые базы данных при увеличении количества таблиц начинают хуже работать но как я понимаю это если их будет десятки тысяч а не десятки и сотни.. может быть резервное копирование такой базы или ее репликация будет проходить чуть медленнее или еще хуже, организационно репликация может быть настроена на не рассылку ddl модификаций, в этом случае создание нового справочника будет задавать работу еще и админам, что нежелательно.

    2. противоположный, использование одной таблицы key-value для нескольких разнородных справочников (id, value, table_name), в 99% случаев можно использовать один сиквенс (одну последовательность идентификаторов), вам же не обязательно чтобы разные справочники начинали счет своих строк с одного и того же числа 1.
    Недостаток - база данных теперь не сможет контролировать что вы используете непротиворечивый идентификатор (можно в запись одного справочника указать номер из другого), хотя несуществующий так же нельзя будет указать (и будут работать delete cascade), так же удобной автогенерации sql не будет. Структура будет проще, так же интерфейс редактирования таких справочников может быть один вместо кучи форм и добавлять новые справочники будет сильно проще (хотя с точки зрения разработки нет особой разницы, один insert ты написал или create table перед этим)

    3. не хранить справочники в базе данных вообще, т.е. за значение справочников отвечает бакэнд (хранятся в статичных файлах или в коде) самый дибильный подход, редактировать такие справочники скорее всего только руками в конфигах/исходниках. Недостатки - база данных совсем не будет знать ничего о значениях и не сможет ни проконтролировать ни помочь с запросами
    Но это позволит снять немного нагрузки с базы данных, сделает структуру проще и позволит перенести управление значениями справочников на откуп ide редактора (если хранить значения справочников в коде, можно дать значениям имена переменных, так как в коде часто их так или иначе заводить придется)

    Лично я третьим подходом в чистом виде не пользовался, но у меня был набор скриптов, которые из справочников в базе данных формировали код с инициализацией констант и их именами для приложения (сами справочники приложением редактироваться не могли) и был соблазн перевести эту часть базы из 'оперативной' в 'для разработчика', так как справочник это что то - отвечающее за отображение информации, но не за бизнеспроцессы (ну примерно как языковые файлы для приложения, не хранить же переводы строк интерфейса тоже в базе, ну так и справочники смогут работать как часть этого интерйфейса и тоже может требовать перевода).
    Ответ написан
    4 комментария
  • Есть ли библиотеки с помощью которых можно перевести строку с английского на русский?

    freeExec
    @freeExec
    Участник OpenStreetMap
    1. Свой словарь переводов
    2. Своя нейронная сеть по переводу
    3. ОК Гугл, переведи мне ...
    Ответ написан
    Комментировать
  • Криптографические библиотеки для C/C++?

    maaGames
    @maaGames
    Погроммирую программы
    Ни в коем случае НЕ используейте самописные крипто-либы. Если нельзя использовать XOR для "шифрования", то ни в коем случае не испоьзуйте самописных библиотек. Криптографические библиотек иразрабатывают сотни человек десятками лет и они всё-равно содержат ошибки и уязвимости. Самописная либа на 99.99999% будет уязвима.
    Конкретных либ рекомендовать не буду, но я бы выбирал исключительно бибилиотеки, которые реализуют хорошо описанный алгоритм с открытым кодом (или хотя бы математическим описанием алгоритма шифрования). Если алгоритм шифрования засекречен, то независимые эксперты не могут его проанализирвоать и указать на ошибки и нет причит ему доверять.
    Ответ написан
    Комментировать
  • Криптографические библиотеки для C/C++?

    конкретно для моих проектов меня интересуют алгоритмы(sha, rsa,ecdh, aes), и хочу найти информацию по поводу существующих библиотек на эту тему.

    https://www.cryptopp.com/wiki/RSA_Cryptography - вот страничка на cryptopp-шной wiki по RSA, пробовали читать? Что понятно/непонятно? Вы уверены, что вам нужна информация именно по библиотеке, а не по самим алгоритмам?

    Мне интересно узнать ваше мнение, как вы думаете, насколько безопастно/грамотно использовать самописные крипто-либы, и использовали ли вы бы такие библиотеки для какого-то продакшена?

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

    Судя по вашему вопросу, вы пытаетесь обойти необходимость разбираться со сложными вещами, в том числе путём велосипедостроения. Криптография - это область, которая не терпит такого подхода. Разумеется, люди время от времени реализовывают свои собственные решения с нуля (ведь кто-то же начал проекты cryptopp и openssl), но они хорошо осведомлены как о всех существующих решениях, так и сложностях с созданием своего собственного. И о практическом выхлопе от затрат на качественную реализацию своего решения.

    Если это серьёзный продакшен - то криптовелосипеды от начинающего разрабочтика там ни к чему.
    Если это учебный проект или пет-проект - ну тут риски не оценить без дополнительной информации. Если вам просто хочется попрактиковаться в реализации SHA - тогда и спрашивать смысла нет, берите и реализуйте.
    Ответ написан
    Комментировать
  • В чём заключается суть провайдерского шифр MAC-адреса?

    hint000
    @hint000
    у админа три руки
    Применяется в радиосвязи при передаче написания сложных для восприятия на слух слов, сокращений, позывных, адресов электронной почты и тому подобное с целью уменьшения количества ошибок.
    https://ru.wikipedia.org/wiki/Фонетический_алфавит
    https://ru.wikipedia.org/wiki/Фонетический_алфавит_ИКАО
    Ответ написан
    Комментировать
  • Как написать сайт не веб-программисту без особых усилий?

    Adamos
    @Adamos
    Переписать вопрос, выкинув из него ненужное и указав конкретное: какие "нужные утилиты" планируются.
    Они, вполне возможно, давно реализованы в CMS или плагинах к ним, и писать их с нуля просто не требуется.
    Ответ написан
    Комментировать
  • Как сократить оператор if в JS?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    if (a == 1 && a == 2)

    (почти) всегда будет false, т.к. не может быть одновременно равно и 1 и 2 (может последовательно), так что смело удаляйте весь блок.

    Если интересует «если а равно одному из списка», можно так:
    if ([1, 2, 100500].includes(a))
    Ответ написан
    1 комментарий
  • Чему учиться и где экономисту в IT?

    Griboks
    @Griboks
    Ну вам прям дорога в менеджеры проектов.
    Ответ написан
    4 комментария
  • Язык программирования и технологии для экономических (финансовых) продуктов?

    @DP-Studio
    20 лет веб-разработки
    Весь финансовый мир сидит на Яве -))
    Ответ написан
    Комментировать
  • Могу ли я получить список(к примеру кафе своего города) в бд, не используя парсер?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    2gis предоставляет как свободные так и платные апи .
    И общая тенденция если люди видят что вы парсер то паихают вам капчу или сразу в чс
    Ответ написан
    Комментировать
  • Какой ЯП выбрать для кросплатформенного GUI и работы со звуком?

    HemulGM
    @HemulGM
    Delphi Developer, сис. админ
    Delphi
    Компилируется под любую платформу и сразу в нативный код.
    Есть очень даже солидный фреймворк для разработки GUI - FMX (FireMonkey).
    Не имеет никакого GC/JIT/Интерпретатора, а по тому никаких лишних задержек - в критичные моменты ты будешь иметь достаточно хороший контроль над временем, что может быть важно для работы со звуком.
    Любые библиотеки для работы со звуком подключаются, как для любого языка.

    И, должен заметить, что одна из самых популярных DAW - FL Studio написана как раз на Delphi
    Ответ написан
  • Как зарабатывать и одновременно учиться начинающему пользователю?

    alexgp13
    @alexgp13
    Руководитель ИТ-проектов
    Самое очевидное направление развития, судя по опыту и имеющимся знаниям - системное администрирование, но для удаленной работы оно на начальном этапе не подходит, это все-таки офисная работа. Помощники администраторов в принципе востребованы и даже больших знаний не требуется, главное, чтобы офисы работали...

    На фрилансе есть спрос на любых специалистов, но начать для быстрого заработка, наверное, проще с разработки лэндингов и сайтов немного посложнее, спрос пока еще есть, хотя конкуренция высокая. Соответственно нужно учить HTML, JS, CSS и популярные технологии (Bootstrap, Ajax, jQuery - надеюсь, спецы подкорректируют меня).
    Ответ написан
    Комментировать
  • Как зарабатывать и одновременно учиться начинающему пользователю?

    @elektrovenick
    Бубочка
    Открой ворк.юа/телеграм-чаты, найди любую доступную работу (куда возьмут), речь не только об айти
    Кушай, спи, играй в кс
    В свободное время учись
    Попозже найдёшь себя и работу, но в процессе поиска с голоду не помрёшь
    Ответ написан
    Комментировать
  • Трудоустройство в компанию как ИП/самозанятый?

    nki
    @nki
    bezkart.ru готовая система лояльности
    Почему вам должны платить больше из-за снижения налоговой нагрузки? Компания занимается оптимизацией, а не перераспределением денег от государства в ваш карман.
    Самый большой риск - прекращение работы с вами. Это проще чем уволить сотрудника. Ну и отпуска с больничными тоже за ваш счет.
    Ответ написан
    5 комментариев
  • Можно ли на сайте определить, что человек в наушниках?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Самый адекватный вариант - тупо спросите "можно воспроизвести звук?". Уверен что 99,9% пользователей не будут рады левым непрошенным звукам на сайте, через что бы они там не выводились...
    Ответ написан
    Комментировать
  • Нормальная ли практика удалять, изменять, создавать данные get запросом, а не post?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Ненормальная. HTTP-клиенты, включая бразуер, рассчитывают на идемпотентность GET-запросов, а потому могут выполнить его без спросу или повторить произвольное количество раз. Так что не удивляейтесь, если после захода на страницу с комментариями произойдёт их удаление, хотя вы ничего не нажимали.
    Ответ написан
    2 комментария
  • Определение по картинке?

    @Kash_Tan
    Проверить одинаковые ли картинки можно с помощью Pillow
    Код
    from PIL import Image
    
    #Открываем картинки
    
    img1 = Image.open("img1.png")
    img2 = Image.open("img2.png")
    
    def same_imgs(img1, img2):
        size1 = img1.size #Получаем размер картинки (ширина, высота)
        pixels1 = []
        for x in range(size1[0]):
            for y in range(size1[1]):
                pixels1.append(img1.getpixel((x, y))) #Добавляем цвета по каждой координате
    
        size2 = img2.size #Получаем размер картинки (ширина, высота)
        pixels2 = []
        for x in range(size2[0]):
            for y in range(size2[1]):
                pixels2.append(img2.getpixel((x, y))) #Добавляем цвета по каждой координате
    
        if pixels1 == pixels2: #Проверяем равны ли все цвета
            return True
        else:
            return False
    
    print(same_imgs(img1, img2))
    
    img1.close()
    img2.close()
    Ответ написан
    Комментировать
  • Определение по картинке?

    @FCKJesus
    По поводу сравнения картинок
    from skimage.metrics import structural_similarity
    import cv2
    
    def orb_sim(img1, img2):
      orb = cv2.ORB_create()
      kp_a, desc_a = orb.detectAndCompute(img1, None)
      kp_b, desc_b = orb.detectAndCompute(img2, None)
      bf = cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True)
    
      matches = bf.match(desc_a, desc_b)
      similar_regions = [i for i in matches if i.distance < 50]  
      if len(matches) == 0:
        return 0
      return len(similar_regions) / len(matches)
    
    
    img1 = cv2.imread('test_img1.jpg', 0)
    img2 = cv2.imread('test_img2.jpg', 0)
    orb_similarity = orb_sim(img1, img2)
    print(f"Фото схожи на:  {orb_similarity}")

    Код достаточно хорошо работает с необработанными изображениями.
    И по поводу распознавания текста, конечно можно, полно уже готовых решений, OpenCV и Гугл в помощь
    Ответ написан
    Комментировать