Задать вопрос
  • Цена дизайна сайта? Фриланс площадки?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    На каких фриланс площадках искать дизайнеров с "хорошим уровнем"?

    на всех есть, на том же https://freelansim.ru

    Самый сложный вопрос - сколько нынче стоит разработка дизайна сайта?

    Сайт сайту рознь. Тут же дело не столько в стоимости дизайнера, сколько в объеме работ. Пусть дизайнеры оценивают, зачем Вы задаетесь этим вопросом? Вам то откуда знать?

    С какой суммы открыть тендер на дизайн главной страницы портала?

    с договорной. Или показать прототип, что бы мы с Вами не воздух обсуждали, а о конкретных вещах беседовали.
    Ответ написан
    5 комментариев
  • Как можно сделать SSR React приложение используя express?

    Примерно так:
    import React from 'react';
    import { StaticRouter } from 'react-router'
    import { Provider } from 'react-redux'
    import ReactDOMServer from 'react-dom/server';
    
    import Store from './store';
    
    export default (Url, Component, Props = {}, Context = {}) => {
    	return ReactDOMServer.renderToString(
    		<Provider store={Store}>
    			<StaticRouter
    				location={Url}
    				context={Context}>
    				<Component {...Props}/>
    			</StaticRouter>
    		</Provider>
    	);
    }


    import reactRenderToString from './reactRenderToString'
    import Component from '../client/routes/Home.jsx';
    
    console.log(reactRenderToString('/', Component))


    На выходе Html строка размеченная реактом, вставляем её в #app средствами шаблонизатора или что у вас, загружается страничка, скрипты, реакт подхватывает размеченный html и навешивает обработчики. P.S стоит быть внимательным с различными библиотеками на клиенте, т.к многий говно код (в том числе и наш) не дает сборщику собрать мусор и каждый наш рендер может валяться в памяти пока не вывалится...
    Ответ написан
    4 комментария
  • Как правильно реализовать авторизацию и аутентификацию на сайте?

    @ghostiam
    На Go писатель, серверов пинатель.
    Да, самый простой вариант, это:
    Пользователь отправляет нам на сервер логин+пароль.
    Сервер сверяет с данными в БД, если всё хорошо, то генерирует большую случайную строку(Токен), которую добавляет как запись в БД (UserID, Token), после этого отправляет клиенту токен, чтоб тот установил у себя его в куки (заголовок Set-Cookie).
    Теперь браузер клиента на каждый запрос будет отсылать на сервер куку и мы можем, обращаясь к БД на поиск строки из куки, получать данные о пользователе.
    Но так как хранение в БД не всегда эффективно, токены хранят иногда в быстрых БД, таких как Redis или MemCached.

    По поводу сессии:
    Иногда, чтоб не ходить в главную БД на каждый запрос, некоторые данные выносят из главной БД(В тот же Redis, MemCached или даже просто в файл на диске с именем токена). Просто теперь, хранится не только токен, но и по имени токена сразу же получают некоторые данные, например, что у пользователя ID=42 и что он администратор.

    Через какое то время удалять?

    День, неделя, несколько часов, зависит от задачи.
    Например, некоторые сайты хранят сессию сутки, но если нажать галочку "Запомнить меня", то срок может увеличится до недели или месяца.
    Сервисы оперирующие с деньгами или чем-то, что может представлять ценность, делают сессии от 10 минут.
    Ответ написан
    6 комментариев
  • Css как указать свойства ели есть дочерние элементы?

    Kozack
    @Kozack Куратор тега CSS
    Thinking about a11y
    li:empty — стили для пустого элемента
    li:not(:empty) — стили для не пустого элемента
    Ответ написан
    4 комментария
  • Создание лицензии для плагина на Python+Django?

    sim3x
    @sim3x
    Я вам посоветую опубликовать ваш плагин под gnu-like лицензией без всякой защиты и продавать консалтинг и внеочередные хотелки юзеров

    Любой тип защиты потребует вашего времени и с не нулевой вероятностью приведет к багам
    А наивная защита для популярного плагина - еще и бесполезна
    Надежная защита в виде бинарника с защитой от реверса - не тривиальная штука. И ее не написать без опыта в области реверса
    Ответ написан
    Комментировать
  • В чем причина тормозов вордпресса на большой базе?

    lamer350
    @lamer350
    กำลังสูงสุด
    Ну вы сами ответили на свой вопрос по сути то...
    Ответ написан
    Комментировать
  • Что это за черная магия?

    Kwisatz
    @Kwisatz
    Больше web-приложений, хороших и разных
    Тут происходит css-анимация через keyframe.
    Вполне реально на глаз расчитать. Вот с кроликами жесть, да)
    Ответ написан
    1 комментарий
  • Как разобраться с синтаксисом PHP?

    Изучите методы:
    1. \Illuminate\Foundation\Application::registerCoreContainerAliases
    2. \Illuminate\Container\Container::alias
    3. \Illuminate\Container\Container::__get
    4. \Illuminate\Container\Container::__set

    А именно в 1-2 методе устанавливается алиас events, в 3-4 он вызывается
    Ответ написан
    3 комментария
  • Что умеет выдающийся Frontend разработчик?

    Как человек, делающий и фронт и бэк говорю - бэк проще. На беке ты не паришься вообще с "особенностями" браузеров - у тебя их нет. У тебя вообще практически нет особенностей. У тебя нет необходимости держать в голове пяток яп и разметку(JS, TS, HTML+CSS, CoffeScript, LESS, SCSS) - у тебя есть твой PHP(PYTHON, JAVA) - только один яп. Отдельно идут инструменты сборки - gulp, grunt, webpack - ничего этого нет да и ненужно. Есть композер, который тянет зависимости и все. Тебе ненужно писать километровые конфиги, что бы собрать твое приложение. Линукс тоже знать совсем необязательно - все отлично можно делать и на винде. Ну или развернуть вагрант(докер). Код можно писать где угодно - а вертеться все будет на линуксе. А вот насчет тестирования бэк уделывает фронт на раз-два. Если ты полностью прогнал тестирование (phpunit, codeception) то ты на 99.999% уверен что все пойдет как надо. А вот со фронтом все не так. Ты физически не можешь протестировать ВСЕ браузеры.
    Но есть одно большое но. это конечно мое ИМХО, но всеже - фронт делать интереснее))
    P.S. Забыл упомянуть фреймворки и либы, которые мастхев знать на фронте - React, Vue, Angular и(только камнями не кидайте) jQuery.
    P.P.S Контрольный в голову. Сделали мы клиенту сайт на vue. Сдали, клиент доволен. А потом приходит и говорит - ребята, а на ie8 не работает. А мне очень надо, у меня крупный клиент(бюджетная организация), а у них у всех xp с ie8... (для справки - vue на ie8 не заведется).
    Ответ написан
    7 комментариев
  • Что умеет выдающийся Frontend разработчик?

    Vlad_IT
    @Vlad_IT
    Front-end разработчик
    linux

    Ну, это и фрондендеру нужно часто знать.
    ЯП

    Я сомневаюсь, что он сейчас сильно проще питона или php, JS очень довольно быстро развивается. А если взять в расчет TypeScript, то тем более.
    В целом, если его очень хорошо протестировать, то разработчик уверен на 99.9%

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

    Ну вот просто вообще не правда. Я также могу сказать, что в бэке учить нечего, изучил язык, изучил laravel, а sql даже учить не надо, используй ORM. Справедливое высказывание?

    Теперь в общем. Во front-end много чего можно изучить
    1) Верстка. Хороший front-end'ер должен хорошо верстать, вопреки частому мнению, что этим должен заниматься верстальщик. А верстка это отдельная широкая тема.
    2) SVG, для многих интерактивных приложений, очень полезно использовать svg, а там куча своих особенностей, хаков и.т.д.
    3) Webgl - довольно сложная тема, не знаю, есть ли в бэке что-то аналогичное по сложности.
    4) Canvas - не просто знать, а уметь рисовать то, что желаешь.
    5) Фрейморки, а там тебе для каждого свое разветвление.
    6) Асинхронное программирование, которое для многих php-шников кажется непонятным.
    7) ООП, т.к. в JS завезли классы, да и TypeScript часто нужно использовать.
    8) Шаблоны проектирования - не только для бэкенда.
    9) Webpack+gulp - ну это было.

    Буду дополнять, если что-то еще в голову придет.
    Ответ написан
    6 комментариев
  • Как правильно написать регулярное выражение?

    shop.oreilly.com/product/9780596528126.do
    /какое_то_слово\s(.*)/
    /\((.*)\)/

    И брать то что найдено в первой группе
    Ответ написан
    Комментировать
  • Как разгадать капчу?

    LazyTalent
    @LazyTalent
    Data Engineer, Freelancer
    1. Надергать изображений цифр (как можно больше и разнообразнее)
    2. Обучить свою модель для tesseract-ocr
    3. Скормить капчу в тессеракт (возможно еще потребуются дополнительные телодвижения с числами: обесцветить, подавать в тессеракт не все число сразу а по отдельной цифре, как-нибудь повернуть итд.)
    4. Получить результат
    5. Профит
    Ответ написан
    2 комментария
  • Зачем передают объект в функцию вот так?

    @bpGusar
    *spoiler*
    Смари. Есть например массив объектов
    const dgfdfg = [
                { bla: 1, blabla: 2 },
                { bla: 1, blabla: 2 },
                { bla: 1, blabla: 2 },
                { bla: 1, blabla: 2 },
                { bla: 1, blabla: 2 },
                { bla: 1, blabla: 2 },
                { bla: 1, blabla: 2 },
                { bla: 1, blabla: 2 },
              ];


    с помощью spread оператора ... ты можешь сделать так
    dgfdfg[0] = {
                ...dgfdfg[0],
                blabla: 5
              }


    и тогда у тебя будет массив объектов выглядеть уже так

    const dgfdfg = [
                { bla: 1, blabla: 5 },
                { bla: 1, blabla: 2 },
                { bla: 1, blabla: 2 },
                { bla: 1, blabla: 2 },
                { bla: 1, blabla: 2 },
                { bla: 1, blabla: 2 },
                { bla: 1, blabla: 2 },
                { bla: 1, blabla: 2 },
              ];


    то есть заменилась только blabla: 2, теперь цифра не 2 а 5, а вот bla: 1 осталось прежней
    это операция упрощает подобные действия.

    Так же с помощью spread Ты можешь создать новый массив из существующего
    например
    const rewtre = [...dgfdfg]

    и тогда у тебя будет новый массив объектов rewtre
    такую же операцию можно провернуть сделав

    const rewtre = dgfdfg.slice()

    Так же например есть массив с числами
    const sdgfsdf = [1,2,3,4,5,6,8,7,91,81,81,68,6,5168,1,561,16,156,81,651]


    как найти например максимальное или минимальное число прям на изи?
    вот так
    Math.max(...sdgfsdf )

    и те не нужен никакой цикл или другой велосипед, всё просто ))

    P.S
    в вопросе у тебя {...anyObj}
    это будет выглядеть примерно так
    const anyObj = { bla: 1, blabla: 5 }
    const anotherObj = {...anyObj}

    то есть ты из одного объекты скопируешь данные в дргуой
    Ответ написан
    1 комментарий
  • Как заменить на странице определенные слова?

    0xD34F
    @0xD34F Куратор тега JavaScript
    пока кроме ошибок ничего не получил

    А чо за ошибки-то? - лучше бы их показали, вместо того, чтобы забивать свой вопрос таким никчёмным мусором, как "приветствую" и "заранее спасибо".

    document.querySelectorAll('.test').forEach(n => {
      n.textContent = n.textContent.replace(/\bAenean\b/g, 'Aenean1');
    });
    
    // или
    
    for (const n of document.getElementsByClassName('test')) {
      n.innerText = n.innerText.replace(/\bAenean\b/g, '$&1');
    }
    Ответ написан
    3 комментария
  • Где можно узнавать о новых технологиях и разработках?

    Stalker_RED
    @Stalker_RED
    Вот смотри, собралась команда, и придумывает какую-то новую штуку.
    Сначала только они сами о ней что-то знают.

    Затем они решают, что пора ее показать миру. Ну или к ним проникает шпион, и подглядывает.

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

    В любом случае, "обычные люди" не следят за этим всем бедламом. Ну за редким исключением, когда человек немного сумасшедший по поводу новостей, или если у него работа такая.

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

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

    В таком подходе есть одна проблема: новостей будет столько, что не будешь успевать их читать. И не все из них будут интересными.
    Ответ написан
    Комментировать
  • Как сделать маску ввода +7 (---)?

    ProjectSoft
    @ProjectSoft
    Front-end && Back-end разработчик
    $('#phone').mask("+7(999)999-99-99");
    Ответ написан
    1 комментарий
  • Как проскролить до элемента?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Ответ написан
    Комментировать
  • Каковы реалии веб-разработки?

    shmatuan
    @shmatuan
    8 year of Web, 5 years of Vue
    1. Верстальщиками да (благодаря войтивайти школам), но всё равно работы хватает. С фронтендом всё намного лучше (как минимум начиная с мидлов работы много и за хорошие деньги). В любом случае - чем больше опыта и скилов тем проще найти работу.

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

    3. Без этого никуда, но с месяцом - слишком утрировано. За год может всё поменяться, но сама суть из html/css/js останется ещё долго.
    В любом случае it - это обучение чему-то каждый день.

    4. Много работы, много денег, возможность уехать в другие страны, работа из дома, работа по 4-6 часов в день.
    Ответ написан
    Комментировать
  • Каковы реалии веб-разработки?

    Vlad_IT
    @Vlad_IT
    Front-end разработчик
    2)не меньше постов о том, что это на самом деле это крайне скучная и однообразная работа. У меня вроде как более менее реальные представления, что это больше программирование (знаю, что большинство не относит front end к программированию,но не знаю как по другому сформулировать), нежели полет фантазии, но насколько это увлекательно или скучно именно для вас?

    Мне не скучно, вот уже 8 лет. Но мне интересен сам процесс разработки кода, не важно на чем и не важно что, буду писать, дайте только компьютер. Но знаю много людей, которым это скучно, или загораются они реально от чего-то нового и интересного, а не от обычной разработки, а новое бывает очень редко, поэтому такие часто перегорают или со временем теряют интерес. Если вы для себя сейчас не поняли, что вам интересно писать код, читать материалы по программированию, то вам будет сложно нормально влиться. Совет для любой профессии: вваливайтесь только в том случае, если вам интересна эта область.
    и также абсолютное большинство говорят о бесконечном развитии технологий, реально ли человеку (который не лежит целый день на диване) угнаться за ними?

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

    Ничего подобного. Чтобы это "новое" попало в продакшн, нужно время. Даже если на год бросить это дело, то восстановиться можно будет без проблем за неделю. Как правило, то, что будет использоваться уже в следующем году, сейчас уже создалось и это активно обсуждают. Ничего за месяц не взлетает.
    не жалеете, что занимаетесь front end и почему?

    Как начну жалеть, пойду в другую область. Раздражает только отношение других программистов к front-end'у, многим кажется, что тут одни "макаки", хотя сами они об этой области не имеют никакого представления. Но такие вещи происходят и в других языках или профессиях, поэтому не нужно обращать на это внимание.
    Ответ написан
    Комментировать
  • Кто может в двух словах объяснить?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    $a = 10;
    $a = $a - 1; // 9
    $a = $a + $a; // 18
    echo $a;
    Ответ написан
    Комментировать