• Пет проект для джуна-фронта? Хватит ли?

    @acwartz
    Тут должна быть ваша реклама.
    1. Будет ли лучше, если сверстаю всё без использования библиотек вроде Bootsrap, или Material? Или для потенциального работодателя в принципе без разницы использую ли я "готовую верстку" из компонентного набора. С самой версткой сложностей нет, поэтому хотел написать всё с нуля, что бы показать еще и навыки отрисовки шаблона.

    ну тогда у вас тут полноценный пункт 0 - создать UI-фреймворк с блэкджеком и гуслями. Надо ли говорить что он должен хорошо работать везде?
    В работе над 1м шагом вы будете постоянно возвращаться в нулевой и все к переписывать, усложнять и дробить, т.к. будет нужно больше возможностей на первом этапе.

    Если хотите что-то нормальное, забейте на материал и buttstrap, и возьмите UIKit

    2. По мимо фронта который будет выдавать данные, хочу реализовать простую админку с логикой > аутентификация - добавление товара, добавление работы в портфолио и прочее, но непонятно одно, в макете довольно много описывающего текста, который идет в виде заглушек.

    Да, в базе данных. Разметка опускается на уровень т.н. BBCode'ов, за которыми стоит красивая вставка теста в любой стилистики UI где на этапе помещения текста в UI, все BB-коды заменяются на элементы UI.
    Таким образом потом можно заменить стиль на сайте и оформление текстов не страдает т.к. от юзера скрыты все аспекты CCS.

    3. Нужен ли на нем ТС?

    А почему нет?

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

    Ну напишите вы свой как-то поделку на энтерпрайз проект через 5 лет, и чего? Тот же магазин можете допиливать и допиливать, зачем сразу лезть в то что не потяните изначально?
    Ответ написан
    Комментировать
  • Как отнимать баланс у клиента при выбранном тарифном плане php html?

    @acwartz
    Тут должна быть ваша реклама.
    Как это делается - ваша проблема. Главное что бы у пользователя не возникало вопросов к тому куда исчезли деньги,и самое главное - почему без его ведома и согласия.
    Рисуешь ему инфо-страницу с "С ваего баланса равного = XXX будет списано N денег за услугу Z, при этом взята комиссия A денег. При нажатии "подтверждаю" делаешь математику с балансом, формируешь транзакцию на сумму списанных средств в историю, комиттишь изменения и баланс новый и записью в истории больше.
    Ответ написан
    Комментировать
  • Почему миллиардные компании используют электрон, а не создают нативные приложения?

    @acwartz
    Тут должна быть ваша реклама.
    Потому что бизнес хочет сейчас, дешево и быстро. Это и есть Webkit, он берет на себя невообразимый спектр проблем в рамках десятка программных и аппаратных платформ (операционных систем) и решает их, а ты просто веб-макакиш UIшку, пилишь Node.js бэкэнд и это "как-то" работает. И за то что оно как-то работает, ты собственно и не платишь даже.
    Ответ написан
  • Как подгружать код в расширение с manifest v3?

    @acwartz
    Тут должна быть ваша реклама.
    Там выше написано что и на что менять:
    60e301b7c3a7f837810318.png

    Примеры тут:
    https://developer.chrome.com/docs/extensions/mv3/c...

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

    JSON может быть кучей bool-свитчей, которые например блокируют/разблокируют некий код. Сам код обязан быть в расширении.
    Ответ написан
    Комментировать
  • Какие GPO блокируют настройку через интерфейс?

    @acwartz
    Тут должна быть ваша реклама.
    Браться с официальной, обратитесь к админам сети, предварительно получив добро у заказчиков. Если работа в банковской инфраструктуре, то не безосновательно там что-то где-то ограничено, потому как у них тоже есть бумажка, и она точно правомернее вашей, иначе этот вопрос вы бы вообще не поднимали :)
    И чтобы не заиметь проблем, легче идти официальным путем чем наступить на грабли (Например, объяснять злым дядькам, почему вы полезли туда, где вас не должно быть).
    Ответ написан
    2 комментария
  • Почему могут конфликтовать скрипты JS?

    @acwartz
    Тут должна быть ваша реклама.
    На сайтах банков потому что клиент не сурьёзен, вот и ломается все, а то вдруг мошенник со своими кулхакерскими скриптами.
    Ответ написан
    Комментировать
  • Как скачать bpmn-файл?

    @acwartz
    Тут должна быть ваша реклама.
    Кроме headers укажите responseType отличный от json.
    options: {
        headers?: HttpHeaders | {[header: string]: string | string[]},
        observe?: 'body' | 'events' | 'response',
        params?: HttpParams|{[param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>},
        reportProgress?: boolean,
        responseType?: 'arraybuffer'|'blob'|'json'|'text',
        withCredentials?: boolean,
      }
    Ответ написан
    Комментировать
  • Отобразить фото с базы данных в table widget?

    @acwartz
    Тут должна быть ваша реклама.
    b - binary. Загрузить в поток, и далее в контейнер для отображения картинок.
    qp = QPixmap()
    qp.loadFromData(my_bytes)


    где my_bytes - бинарные данные поля Photo.

    Вместо photo хранить ссылку (целое число) на таблицу Photos где и будет размещен BLOB с данными, там быстрее будет работа с таблицей, а картинку можете отобразить когда она реально нужна.
    Ответ написан
    Комментировать
  • Когда нужно вызывать super в переопределенном методе?

    @acwartz
    Тут должна быть ваша реклама.
    Очень зависит от класса-предка, и всей объектной модели языка программирования. Вдруг все классы где-то регистрируются и вызов super - просто данность?

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

    Например в callback методах системы Android эти вызовы должны присутствовать. Почему не знаю.

    Потому что система видит что вами определен свой код, и делегирует ему вызов системного кода. Если вы замещаете системный код (скрытый в super'ах) - не делаете вызов super (что вообще редко, ибо он завернут в исключительную конструкцию чтоб не сломать UI и дать работать хотяб системному коду, в случае ошибок в вашей программе), если не замещаете а дополняете, делаете.
    Ответ написан
    Комментировать
  • Как реализовать разграничение прав доступа в Delphi?

    @acwartz
    Тут должна быть ваша реклама.
    Нужно думать не о ролях а о привилегиях. Право на чтение таблицы или таблиц (SELECT) право на редактирование (UPDATE) право на удаление (DELETE). А роли это уже косметика которая иерархично выстраивает привилегии.
    Исходя из выданных привилегий сами решаете что есть админ т.к. ими же (привилегиями) можете проверять экклюзивный доступ требующий привилегии ADMIN_ACCESS например. Таким образом админ тот у кого есть ADMIN_ACCESS привилегия.

    Проще говоря есть некий код, который по логину-пароль возвращает интерфейс IUser у которого есть дочерний объект-интерфейс IRights у которого есть функция HavePrivilege(PriviligeID, ISecurityContext) где PriviligeID некое числовое или строковое обозначение привилегии (которая захардкожена в коде и используется где нужно),
    ISecurityContext - интерфейс на список данных доступ к которым проверяется, это может быть что угодно:
    - имя таблицы
    - имя компонента
    и .т.д.

    Допустим Вы проектируете форму кредитных заявок, есть 2 роли:
    - администратор, который видит все заявки в системе, от всех операторов и может их удалять.
    - операционист, который их создает, редактирует и видит только те заявки, которые создал сам.

    Система прав:
    Есть понятие привилегии, если говорить в рамках операций с БД, то привилегии могут быть:
    - с указанием таблиц к которым разрешено обращаться.
    - с указанием признака супер-привилегии, такая привилегия тупо имеет доступ ко всем таблицам.
    - с указанием пред.установленного фильтра, например запрос данных из таблицы сформируется с привязкой к текущему авторизованному пользователю, и юзер увидит только те записи которые создал он сам.

    Собственно у вас 2 формы:
    - 1. Форма с таблицей заявок.
    - 2. Форма заявки.

    Логика такая:
    Открывается форма-список заявлений, проверяется разрешение TABLE_READ, если его нет - отлуп с сообщением "У вас нет прав на просмотр этих данных". Юзер видит пустой грид и кнопку закрыть.
    Если TABLE_READ есть, и среди указанных там таблиц НЕТ "CreditRequests", то тот же отлуп с сообщением.
    Если TABLE_READ есть к этой таблице или это супер-привилегия чтения всех таблиц, то смотрим на фильтр, и применяем его к формируемому SELECT. Что такое фильтр?
    В таблице CreditRequests есть поле OperID которая указывает на IUser.ID т.е. связывает запись с её создателем, таким образом через привилегию открытия таблицы с указанием фильтра, вы покажете юзеру только записи которые делал он сам.
    Дальше открывается БД, с формированием выборки и отображением в грид.

    Дальше на форме лежит какой-нибудь ActionList , где на вставку, редактирование и удаление записей идет проверка TABLE_EDIT, TABLE_DELETE схожим образом, т.е. если IUser.IRights отвечает что тип нет такого или нет для запрашиваемого объекта то отлуп с сообщением о нехватке прав.

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

    Эта система прав сложна и обычно глубоко интегрируется в частности в компоненты отображения т.к. например оператор видит колонки (поля) записи таблицы, а администратор должен видеть и иметь возможность фильтровать данные в разрезе операторов которые заявки плодят, т.е. есть колонка которая из БД поднимает ФИО того кто заявку создал + можно сформировать лог изменений по заявке (кто и когда чего наизменял), сюда же встраивается механизм верификации т.е. оператор создал, админ принял/отказал, оператору вернулась заявка на доработку.
    А то и ещё глубже идет разграничение, например разрешается редактировать только некоторые компоненты на форме (например ставить отметки/галочки или писать примечания).
    Ответ написан
    Комментировать
  • Могут ли взломать Linux сервер?

    @acwartz
    Тут должна быть ваша реклама.
    и как можно повысить его безопасность?

    можно не заниматься самостоятельно всем этим а нанять специально обученных людей или даже компанию которая даст вам ftp/ssh и у вас не будет ни о чем из этого болеть голова, ну разве что за оплату услуг.
    Ответ написан
    Комментировать
  • Как получить список файлов в папке?

    @acwartz
    Тут должна быть ваша реклама.
    Они там не плодятся динамически, обращайтесь зная путь и имя.
    Ответ написан
  • Как в ENUM добавить знак "-" перед выражением?

    @acwartz
    Тут должна быть ваша реклама.
    Ну так впишите функцию которая вернет значение в отрицательном значении(x *= -1).
    Типа Roman.V.nagative()

    А то как вы хотите - нельзя. - это арифметический оператор а потом уже знак который в имена переменных и классов использовать нельзя.
    Я бы с функцией не заморачивался завел бы V(5) и negV(-5)
    Ответ написан
    Комментировать
  • Реально ли сделать красивое UI на WinAPI / DirectX?

    @acwartz
    Тут должна быть ваша реклама.
    опрос заключается в том, реально ли сделать подобный интерфейс на WinAPI / DirectX?

    Да, это реально. Где-то очень сложно, где-то просто, где-то элементарно. Какой язык программирования?
    Ответ написан
    2 комментария
  • Как реализовать сопоставление текста и речи?

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

    @acwartz
    Тут должна быть ваша реклама.
    Я знаю основы java и spring и могу создавать простые сайты но у меня есть крутая идея

    Может быть мне стоит изучить php или python и попытаться

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

    Другой язык программирования не сделает задачу проще и легче, двигайтесь в одном направлении, а то слона питоном перетянете, после чего кинетесь в расты, го и прочее... с мыслью "там же легче будет, даа" Нет не легче. Вопрос практики, упертости, и возможно упоротости.
    Ответ написан
  • Почему вылетает приложение Android Studio?

    @acwartz
    Тут должна быть ваша реклама.
    <b>recyclerView = findViewById(R.id.list);</b>
    LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this, RecyclerView.VERTICAL, false);
    <b>recyclerView.setLayoutManager</b>(linearLayoutManager);

    Проверяйте смогли ли получить ожидаемый объект recyclerView, и только потом делайте работу. У вас ошибка о том что пытаетесь вызвать метод setLayoutManager у несуществующего объекта.
    Ответ написан
    Комментировать
  • Что почитать про парсинг?

    @acwartz
    Тут должна быть ваша реклама.
    Смотрите в сторону комп. зрения и нейронных сетей. Действительно вкусные вещи за парсинг которых многое отдадут, защищают от всего вышеперечисленного. Например отображение их в виде стрима видео-потока, или рисовка данных в WebGL где-то на бэкэнде. А не вот это все...
    Ответ написан
    3 комментария
  • Как мне правильно построить структуру данных для игры?

    @acwartz
    Тут должна быть ваша реклама.
    У вас проблема не с SQLite а целиком со знаниями баз данных и SQL в частности.

    Можно все поместить в одну таблицу(сообщения, достижения, перки, бонусы и многое другое), тогда столбцов у меня выходит порядка 25-27

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

    Пользователи это таблица Users где есть поле ID котрое получает значение при вставке записи и это значение не меняется.
    Есть сообщения это таблица Messages.
    где есть Autokey получающее значение при вставке записи, есть поле-индекс DateCreate с датой и временем создания сообщения, есть поле Message - текст сообщения, так же поля От кого (ссылка на Users.ID) и кому (Users.ID)

    Есть ачивки, таблица Achivements:
    Поле UserID (Users.ID) связь с тем кто ачивку получил
    Поле даты и времени получения,
    поле идентификатора ачивки
    поле описания ачивки
    поле с картинкой ачивки

    Бонусы, таблица Bunuses:
    Поле UserID (Users.ID) связь с тем кто бонус получил
    Поле даты и времени получения,
    поле идентификатора бонуса
    поле описания бонуса
    поле с картинкой бонуса
    поле обозначающее позитивный или негативный бонус
    поле даты и времени завершения действия бонуса, если NULL то бонус вечный

    Таблица с перками - Perks:
    Поле UserID (Users.ID) связь с тем кто бонус получил
    Поле даты и времени получения,
    поле идентификатора перка (PerkID)

    это все легко расширяется новыми полями и если надо обрастает новыми связями с новыми изменениями.
    А если вы все в кучу кидаете, на кой вам вообще база данных?
    загоняйте все в json/xml.
    Ответ написан
    1 комментарий
  • Почему HTML5 не может заменить MP4? Или может?

    @acwartz
    Тут должна быть ваша реклама.
    Вопрос: как объяснить человеку, именно с _технической_ точки зрения, что его идея, скажем так, не очень?

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

    С видео-клипами все по другому. Они готовые, отснятые, в конкретном разрешении с конкретным качеством. При масштабировании просто неоткуда взять данные для восстановления четкой красивой картинки под её новые размеры которые больше чем разрешение в котором вообще был снят ролик.
    Запусти клип 640x480 на разрешении 4K и узришь пиксель арт.
    Запусти клип 4K на разрешении 640x480 и узришь в лучшем случае кусочек клипа в худшем - слайдшоу кусочка клипа, либо пиксельный замес.

    Если речь только о хороших видео-роликах, содержимое которых нельзя сделать скажем анимацией SVG или чем-то из мира WebGL отрисовку которых целиком возьмет на себя отображаемый в биллборде браузер, то увы, либо хороший кодек и такой же формат либо 10 роликов.

    И да от 10 роликов не сбежать, как не смог сбежать и гугл. Который берет видео-стрим в 2к и постепенно сам кодирует его в более низкопробные форматы, а причина проста:
    Кодирование не быстрое и ресурсоёмкое, а конетент у вас не изменяется с течением времени, это же не стрим в реальном времени где можно принудительно указать "хочу качественный пиксель-арт 480p" и в тебе ютуб будет отдавать видео-поток низкого качества, а когда стрим завершен, ютуб сам берет на себя обязательство сделать несколько низкокачественных копий чтобы люди с меньшими ресурсами тоже могли посмотреть его, не страдая.

    Посмотрите в сторону формата mkv с кодированием h.265 (HVEC), возможно так не придется делать 10 роликов,
    в будет всего один клип снятый в максимальном разрешении, который благодаря хорошему сжатию сам отмасштабируется в требуемое конечным устройством изображение.

    P.S. Не знаю при чем тут веб, однако нужны теги связанные с обработкой видео и кодеками, там люди точно объяснят почему идея не очень или как её просто сделать лучше.
    Ответ написан