• Как с помощью jquery найти первый элемент с заданным классом?

    alex-1917, єто очень старая инфа, вопросу больше двух лет, а инфа на которую ссылаетесь - больше пяти, сложно сказать что было в то время почему тогда сказал имено так, поскольку на сегодня все работает несколько иначе, однако тут другой вопрос,
    зачем вы вобще используете jQuery, если в курсе существования querySelectorAll()?
  • Почему большинство программистов выбирают Mac?

    Поправка, был в 2015, когда я плохо знал линукс.
    Теперь для меня мак это геморой, ибо это линукс с ограничениями.
  • Как защититься от парсельщиков?

    Philipp предлагает генерировать несколько вариантов разметки, с разцым css и html структурой, но так чтобы визуально это выглядело одинаково. Задумка интересная, но

    - это пагубно скажеться на поисковой оптимизации сайта, возможно даже попасть в блок лист. Никто не пойдет на это для ресурса с информацией ориентированной на открытый доступ.
    - это пагубно скажеться на цене(раз в 7 если прикинуть объем работы для 3-х разных видов верстки), а готовые решение конечно имеют и готовые парсеры для них. Темболее о таких решениях реально гдето работающих не слышал.
    - рендер через JS непоможет, SPA сайты давно известное решение, их давно умеют парсить. Как ни крути JS, методы парсинга особо отличаться не будут.
    - получение контента через WebSocket или аналоги составляет проблемы толкьо тем кто первый раз с этим столкнеться, в свое время для парсинга сайта каталога запчастей где применялисьподобные вещи, у меня заняло около 40 минут распутать все эти заигрывания с ключами и дерганьями инфы по разным каналам. Внутренни код может быть сколько угодно сложным, но так или иначе всегда четко видно какая инфа уходит и плоходит по сети в ваш скрипт при разных действиях. Просто нет необходимости распутывать сам скрипт.

    В остальном
    - Штрафы и и такое подобное отпугнут клиента, это может быть применено только монополистом на реально востребованный продукт. В любом случае это заставит клиента искать вашего конкурента с правилами попроще. В крайнем случае клиенты сами создадут конкурента когда надоест терпеть штрафы по любому чиху.
    - captcha вкрываеться довольно недорого, существуют сервисы где люди с малообеспеченых стран за умеренную цену вручную вводят капчи тысячами и айпи у них будет не с Индии, и не с Китая.
    - если ваш продукт настолько серьезен чтобы применять блокировку по подсетям (на секундочку, это может заблокировать как и 10, так и миллион ваших абонентов, не имеющих отношения к взломщику) это явно что уровня правительства и скорее всего военное. Такие блокировки обычно применяют временно, при серьезных ддос атаках, чтобы ресурс вобще хоть както работал, там просто нет выбора. Блокировка по одному айпи мало что дает, зарегать новый хостинг стоит до 5 долл.
    - "медленный сервер" не работает. Обычно браузер запращивает от 4 ресурсов одновременно. Принцы это может обойти даже автогенераторы скриптов парсеров. Однако всеже если это реализовать и привлесь как написанно "Анализируются поведенческие характеристики с помощью машинного обучения", понятным языком, явтор предлагает написать что-то вроде сири, только вместо языка изучает статистику запросов сайта, сами скажите сколько это будет стоить.

    Вобщем все правильно автор написал в итоге.
    любая защиты от парсинга =
    + плохой SEO
    + значительное возрастание цены разработки
    + защиту в любом случае обойдут если захотят, возможно меньше чем за час
  • Bootstrap 4 theme generator?

    edli007
    @edli007 Автор вопроса
    2 года назад его скорее всего еще небыло =)
  • Как (и возможно ли) дотянуться до Junior JavaScript Developer в кратчайшие сроки?

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

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

    Как сделать чтобы не попасть в замкнутый круг, "наработать опыт работая <=> трудоустроиться чтобы получить опыт"
    Вариант 1: найдите кого-то кому продукт не нужен прямо сейчас и продайте свои услуги. Попыток продать может быть и 10 и 20, главное сделать потом то про что вы договорились, это будет ваш старт в IT
    Вариант 2: начните свой стартап и продаёте те же услуги но уже самому себе.
    Вариант 3: нанять ментора - ну так себе вариант, очень зависит от ментора и его возможностей. От очень плохо, до очень хорошо

    Как видим так или иначе, вам или нужна удача и ждать когда повезет, или проявите больше усилий + бизнес смекалку(просто больше усилий вернут вас в вариант к удаче). Даже у нас в ProCode выделяют заказчики специальные проекты чтобы натаскать джунов именно на коммерческий опыт, а без этого, они для них убыток а не прибыль в виде новых квалифицированных специалистов.
  • Как (и возможно ли) дотянуться до Junior JavaScript Developer в кратчайшие сроки?

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

    www.npmtrends.com/@angular/core-vs-angular-vs-reac...

    React, начиная от появления известности, все это время остаётся самым востребованным

    Немного не соглашусь про обучение, я тоже наставник в ProCode, это компания в Киеве что говорит специалистов по заказу IT компаний. Там отошли от деления на ES6+\не ES6+, просто упоминают что вот это относиться к ES6+, и чисто субъективно, это дает больший прогресс.
  • Как в js заменить значения одного обьекта - свойствами другого обьекта?

    Vanya Huk,
    https://developer.mozilla.org/ru/docs/Web/JavaScri...

    Это теже самые аксессоры(гетеры, сетеры), только другой вид подачи.
    Можно кстати еще и собственно аксесорами, но тогда третий объект потребуеться ввести.
  • Koa.js как ловить 404 и перенаправлять на 404 страницу?

    Алексей Белов, непонятно зачем он если так копипастит express, хотя если поискать, как пить дать и найдуться свои фишки.
  • Как в js заменить значения одного обьекта - свойствами другого обьекта?

    Vanya Huk, имеете виду что вам нужны ссылки не только на объекты-свойства но и для скалярных типов данных?
    Для этого идеально подойдет
    3. Proxy
  • Koa.js как ловить 404 и перенаправлять на 404 страницу?

    Алексей Белов,
    О, точно, это koa, сразу не заметил require('koa'). Код один в один как express.

    Личное имхо
    Никогда не любил koa, просто потому что знаком по форуму с его автором и вобще его создание на томже форму происходило, я просто не разделяю взгляды автора. Он быший пхппешник и тянул на тот момент в koa свои взгляды, что по моему личному опыту просто вызывало регулярный возглас "накуя???!", есть же стандартные паттерны решения разных проблем. Тогда автор сиего безобразия авсолютно не умел работать с express и вобще как JS-сник был слабеньким, заявляю как свидетель тех событий. Как сейчас - не знаю, скорее всего разобрался за столько лет, но темное наследие присутствует. Конец лирического отступления.


    В Express это было бы сделано так (кусок обработок с реавльного кода)
    module.exports.initRoutes = () => Promise.resolve().then(() => {
    	app.use('/', require('routes/index'));
    	app.use('/api', require('routes/api'));
    	app.use('/auth', require('routes/auth'));
    	if (config.get('NODE_ENV') === 'development') {
    		app.use('/test', require('routes/test'));
    	}
    
    	// restricted access
    	app.use('/users', require('routes/users'));
    
    
    	// SPA fallback to index.html
    	app.use((req, res, next) => {
    		if ((req.method === 'GET' || req.method === 'HEAD') && req.accepts('html')) {
    			res.sendFile('index.html', { root: path.join(__dirname, config.get('http_server:staticDir')) }, err => err && next());
    		} else next();
    	});
    
    	// catch 404 and forward to error handler
    	app.use((req, res, next) => {
    		const err = new Error('Not Found');
    		err.status = 404;
    		next(err);
    	});
    
    	// error handler
    	app.use((err, req, res, next) => {
    		// set locals, only providing error in development
    
    		res.locals.message = err.message;
    		res.locals.error = req.app.get('env') === 'development' ? err : {};
    
    		// render the error page
    		res.status(err.status || 500);
    		res.render('error');
    	});
    });

    оборачивание в initRoutes тут нужно поскольку есть определенная последовательность запуска и рjуты не должны включиться раньше времени.

    Конструкции вроде app.use('/api', require('routes/api')); создают префиксы, тоесть все ссылки врутри 'routes/api', автоматом начинаються с префикса '/api'.

    Остальное думаю понятно по коментам. Если koa сейчас настолько похожа на express, скорее всего там будут аналогичные структуры.
  • Как в node js реализовать ntlm авторизацию?

    только скорее понадобиться мидлвейр на весь префикс, если задача практическая.
  • Почему отрицательный margin не работает?

    Dubrovin, простите но это даже не трансформация на псевдоэлементах.
    Антон Спирин, незнаю, не вижу ниодной причины не использовать отрицательный margin если понимаешь что ты делаешь.
  • Почему отрицательный margin не работает?

    Dubrovin, извините, не в моих правилах давать готовый код новичкам, они потом становяться говнокодерами. Это очень простой код.
  • Почему отрицательный margin не работает?

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

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

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

    PxlFxr, охтыж господи
    1. На этот вопрос было отвечено уже
    2. Подтвердите обоснование, я свое могу и как минимум 6 человек со мной согласны. Или дайте расширеное объяснение если неправильно вас понял.
    3. Мы кажеться неговорили с вами на технические темы и собеседование не проводили, вы пророк? также я могу оценить когото, но не оцениваю. Свой личный уровень я оцениваю как мидл+ по шкале нашей компании, хотите попробовать пройти собеседование?
  • Какой JS фреймворк выбрать для full-stack?

    Kir ---, вполне может быть. Разработчика можно осмотреть с разных сторой и задачи будут разные. К примеру со стороны самореалезации - как человек, разработчик стремистьса сделать шедевр, а со стороны менеджмента разработчик должен окупать свою зарплату и стремления к идеальному коду тут явно будут лишними.

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

    Работаю в редакторе VS Code, мне также очень нравяться продукты JetBrains но сейчас нахожу их избыточными под текущие задачи. Ничего не имею против Sublime Text, с определенным уровнем кастомизации он сполне себе мошьный инструмент, а в тренинг центре при нашей команде, на первых этапах принудительно заставляю работать только в редакторах уровня базового Notepad++, чтобы запоминали лучше а не пользовались подсказками редактора.

    Вобще стоит ли продолжать, вам не кажеться что пост "Вы не понимаете....", "Вы не используете" и "Скорее всего вы..." составляют личные эмоции и просто недостаточно информативны чтобы адекватно вам ответить.
  • Что значит в this.addMethod код функции и тоесть для чего он?

    olya_097, При создании да, в одном из случаев через : , а это добавление нового ключа или замена существующего.
  • Как в Photoshop измерять точные расстояния между элементами?

    Их много, я использую "PixelParallel by htmlBurger", посмотрите в дополнениях к хрому.
    1. Набросали вы сайт с размерами на глаз, далее делаете jpeg макета, загружаете его в плагин
    2. Поверх сайта появиться скриншоит, в dev tool начинаете править размеры пока не получите точное совпадение, потом переносите их в файл.
    3. Так и выходит пиксель перфект, а руками мерять - тут на пиксель, там на пиксель ошибетесь, нето, больше мороки с меньшей отдачей.