• Безопасный PHP-метод хеширования паролей?

    Stalker_RED
    @Stalker_RED
    Ответ написан
    Комментировать
  • Как написать политику конфиденциальности для сайта?

    Sanasol
    @Sanasol Куратор тега Веб-разработка
    нельзя просто так взять и загуглить ошибку
    Ответ написан
    Комментировать
  • Есть ли какой нибудь пакет laravel позволяющий выполнять artisan команды в визуальном интерфейсе?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Визуальный интерфейс плох тем, что на нем не покажешь инстуркции, строчки и описание, тк надо скрины тащить в это дело
    Чем консоль и лучше -- написал пару строк и все понятно и удобно пользоваться многим людям, а также после себя оставлять инстукции удобно -- просто написал команду и ее параметры и внес в ридми

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

    Если особо ленивы: laravel gui artisan
    Ответ написан
    1 комментарий
  • Какие есть интересные free API для веб проекта?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    Комментировать
  • Что читать про интеграцию REST, SOAP, JSON, RMI и т.д для аналитика, который в этом ничего не понимает?

    @galliard
    SOAP может передаваться и файлами, и через http, да хоть на бумаге. Вообще протокол не описывает способ передачи сообщений, а только их структуру. Передавать и получать завернутые в xml данные может любое клиен-серверное ПО, а "специализированное ПО" нужно для того, чтобы зоворачивать эти данные в xml и извлекать их из него. В качестве ПО типа SOAP UI встречается редко, и применяется в основном в целях отладки.

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

    Сообщения JSON это любые сообщения в формате json. Могут иметь любую форму и структуру. В отличии от SOAP, где правила составления всех форм и структур четко регламентированы, сообщения JSON могут быть любыми, какими захочет разработчик. Это ускоряет и удешевляет разработку (любая обезьяна, едва научившись кодить, сварганит тебе говноапи за миску дошика) но усложняет интеграцию.

    RMI по сути делает то же самое, только с меньшим количеством оберток. В случае использования XML или JSON апи нужно заворачивать данные в xml/json, потом в http, отправлять на http-сервер, который потом предаст их обработчику запроса, который в свою очередь распарсит xml/json, извлечет оттуда данные и вызовет наконец-то нужную функцию, получит ответ, и прокрутит эту цепочку назад чтобы отдать ответ. RMI же сериализует данные в бинарный вид и отправляет сообщение на сервер через сокет, там их десереализует, выполняет нужную функцию, сериализует ответ и отправляет обратно.

    Да, REST - это стиль, который обычно не применяют к SOAP и RMI, которые традиционно придерживаются RPC - стиля. Насколько это в принципе возможно я не знаю, поскольку никогда не пробовал и даже не задумывался об этом.

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

    Итого:
    1. Нет. Нужно вариться в этом котле, понимание будет приходить со временем и постепенно.
    2. FTP, HTTP, Web-Socket, TCP, UDP, XML-RPC, gRPC.
    3. Да, можно, но не стоит этого делать, это не самый эффективный способ передачи подобного контента.
    Ответ написан
    Комментировать
  • Что читать про интеграцию REST, SOAP, JSON, RMI и т.д для аналитика, который в этом ничего не понимает?

    Вам не хватает фундаментальных знаний, в данном случае вам сильно помогло бы представление о модели ISO/OSI + основные представления о классах и объектах.

    Если вы прочитаете про модель ISO/OSI вам достаточно легко будет понять, что упомянутые сущности относятся к разным уровням. В данном случае можно выделить несколько уровней уровней:

    1. Сетевое соединение - способ установить соединение между двумя приложениями (например клиентским и серверным). Сокет является представлением такого соединения на уровне операционной системы и приложения (т.е. этим пняием оперирует разработчик пишущий сетевое приложение).
    2. Прикладной протокол - описывает взаимодейтвие клиента и сервера, чаще всего через установленное сетевое соединение (т.е. с програмной точки зрения через сокет). Например, HTTP или SMTP. Т.е. прикладные протоколы находятся над сокетами.

    сокеты и сетевые протоколы относятся к модели ISO/OSI

    3. Форматы обмена данных. Есть несколько универсальных форматов позволяющих описывать практически любые данные. К ним относятся, например, XML и JSON. JSON является альтернативой XML (он несколько проще и компактней). По JSON и XML есть соответствующие стандарты.
    Данные в этих форматах могут храниться или пердаваться поверх прикладных протоколов (например поверх HTTP).

    4. Модели данных (классы). Модель данных описывает определенный класс данных. Например, заказ. Она определяет какие свойства есть у заказа (дата, сумма, товар, покупатель, продавец, дата доставки и т.д.). Модели данных бумают универсальные и бывают разработанные под конкретное приложение. Существуют различные стандарты описывающие модели данных и связи между ними - XML schema, JSON-LD. Универсальные модели данных можно найти на schema.og. Разработчики приложения могут создать свою модель данных. Модели данных могут быть описаны как для XML так и для JSON.

    5. API (программные компоненты) использующие модели данных. В частности SOAP и REST API. При этом SOAP является стандартом на подобные API и используется обычно для универсальных интегрируемых между собой компонент, SOAP использует XML. REST API это достаточно условный термин, который может быть применен практически к любому API который принимает или отдает структурированные данные (как поверх XML так и поверх JSON). SOAP ближе к объектной модели данных, REST API ближе к классическому API и используется для простых клиент-серверных приложений.
    WSDL просто один из элементов SOAP.
    Т.е. SOAP работает поверх XML schema поверх XML поверх HTTP (например) поверх соединения через сокет.

    RMI в целом можно отнесети сюда же, но он менее универсальный, т.к. привязан к JAVA и использует внутренние бинарные представления данных а не какой-либо универсальный формат представления данных.

    последние три уровня не относятся к модели ISO/OSI, это уже из область прикладной разработки / дизайна.

    Вопрос про HD-фильм это вопрос из области можно ли переслать слона по почте. Через сокет можно передавать любые данные, в XML/JSON тоже можно упаковать любые данные, по прикладному протоколу тоже можно пердать любые данные и т.д. Более того, есть DLNA который фактически является REST API поверх XML и поддерживается любым современным телевизиром именно для передачи фильмов, в т.ч. HD. Т.е. создать конкретную реализацию приложений которая будет поддерживать HD фильмы можно, но ожидать что любая реализация SOAP/REST API поволит передавать HD фильмы нельзя, они делаются под определенные задачи.
    На практике как правило есть конкретная реализация и ограничения, например на размер POST запроса или размер письма (SOAP может использовать SMTP, не только HTTP).
    Ответ написан
    Комментировать
  • Какие стили для картинки?

    sagrana
    @sagrana
    Вёрстка и немного кодинга)
    object-fit не пробовали?
    Ответ написан
    Комментировать
  • Как реализовать систему правил к корзине на Laravel?

    JhaoDa
    @JhaoDa
    LaravelRUS Team
    Я брал за основу компонент Promotion из екоммерс-фреймворка Sylius. Есть доки такие и ещё чуток вот таких.
    Ответ написан
    5 комментариев
  • Сортировка городов в масиве?

    dom1n1k
    @dom1n1k
    Что-то примерно в таком духе.
    Разумеется, код демонстрационный, не production-ready.
    const towns = [
    	'Бердичев',
    	'Великая Чернетчина',
    	'Геническ',
    	'Гнездычев',
    	'Черкассы'
    ];
    const query = 'че';
    
    let result = towns
    	.map(town => ({
    		name: town,
    		index: town.toLowerCase().indexOf(query),
    	}))
    	.filter(town => town.index >= -1)
    	.sort((a, b) => a.index - b.index)
    	.map(town => town.name);
    Ответ написан
    7 комментариев
  • Как сделать простейший php прелоадер кеша для сайта?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Сайт довольно тяжелый, страницы генерируются от 2 до 8 секунд
    Нанять программиста, чтобы генерировались за 50 - 200 мс.

    10000 стр * 7.2 сек / 3600 = 20 часов на обход сайта
    Вы еще настаиваете на варианте обхода сайта ?
    Ответ написан
    7 комментариев
  • Как из ключей $_POST сделать переменные?

    Melkij
    @Melkij
    PostgreSQL DBA
    Поскольку в профиле вы себя описали начинающим - то не надо так делать. register_globals был в своё время очень большой ошибкой
    Объявите необходимые переменные явно с достаточными проверками на существование переданных данных и их корректность.
    Ответ написан
    Комментировать
  • Как вытащить нужные данные из строки и запихнуть в массив?

    @haramba
    Почему вопросы о про битрикс такие тупые?
    $str = "qwerty[0]['bit']";
    
    if (preg_match("/^(.*?)\[(.*?)\]\['(.*?)'\]/", $str, $matches))
    {
    	$arr = [
    		'q' => $matches[1],
    		'key' => $matches[2],
    		'name' => $matches[3]
    	];
    }
    Ответ написан
    Комментировать
  • Как вытащить нужные данные из строки и запихнуть в массив?

    @Hnkhame
    Регулярным выражением sandbox.onlinephpfunctions.com/code/d1bfcfae6cc25c...
    Ответ написан
    Комментировать
  • Что значит этот кейс?

    3vi1_0n3
    @3vi1_0n3
    1) Это значит, что кейс должен отработать, если в переменной i значение, начинающееся со строки "-u=" или со строки "--user="
    2) shift сдвигает позиционные параметры, удаляя самый первый. Например, скрипт вызван так:
    script.sh 1 2 3
    Позиционные пераметры при этом такие:
    $1=1
    $2=2
    $3=3

    После команды shift:
    $1=2
    $2=3
    $3 пустой

    3) ;; - это часть структуры case, означает конец списка команд, входящих в этот кейс.
    Ответ написан
    Комментировать
  • Как реализовать выбор чекбоксов зажатием мыши как в Яндекс Почте?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Зажимайте.

    UPD. Вынесено из комментариев:

    Есть ли способ для снятия чекбоксов таким же способом, если делать по аналогии выходит коряво ?

    вот аналогия и вот почему коряво
    https://codepen.io/sasha1998dmitalex/pen/OZbyYo

    Ну, тут разные варианты есть...

    Можно выставлять чекбокс по левой кнопке, снимать по правой, типа так.

    Можно инвертировать состояние чекбокса по событию mouseover, типа так.

    Можно выставлять чекбоксы по зажатой кнопке мыши, а убирать по зажатой кнопке мыши + зажатой клавише ctrl, типа так.
    Ответ написан
    7 комментариев
  • Хотите задать вопрос администрации Тостера?

    @BorisKorobkov
    Web developer
    Очень много вопросов "как спарсить чужой сайт", "как обойти кэпчу", "как зарегать новый аккаунт, чтобы обойти бан". Как администрация относится к такому?
    Ответ написан
    2 комментария
  • Что можете сказать про FIDO U2F Security Key?

    asilonos
    @asilonos
    Программист
    Можно купить и дешевле. По поводу реальной безопасности - все зависит от производителя. По стандарту каждый может делать криптографическую начинку как хочет. лучше купить миниатюрный формат чтобы не торчал из usb порта. Поскольку его можно держать всегда подключенным. Он работает \ авторизует только при нажатии.
    Как и все остальное - для двух-факторной авторизации - Это не Удобно для пользователя :) Каждый раз необходимо его предоставлять для входа на новом устройстве. Но зато есть хорошая степеть защиты - без ключа в твой Gmail никто не залезет на другом ПК. Но если твой ноут украли - все равно есть шанс что прочитают твой Gmail , если вовремя не выполнить "выход" из всех устройств в самом gmail.
    U2F Может не работать или барахлить на какой либо платформе или приложении. Всетаки это USB \NFC устройство, для него не требуется особый драйвер но весьма вероятно возможны проблемы. Например мак пока не поддерживает его. в Android usb ключ тоже не подключиш. Через Remote Desktop его также невозможно использовать.
    Ответ написан
    Комментировать
  • Технологии для браузерного чата?

    Вам нужен websocket
    Ответ написан
    Комментировать