Сегодня мы представляем вашему вниманию продолжение перевода материала о вреде так называемого «функционального» программирования.
Рубрика «javascript» - 96
Функциональное программирование: дурацкая игрушка, которая убивает производительность труда. Часть 2
2019-08-06 в 9:30, admin, рубрики: javascript, Блог компании RUVDS.com, разработка, Разработка веб-сайтов, функциональное программированиеКак я не занял первое место в конкурсе для JavaScript-разработчиков от Telegram
2019-08-06 в 8:02, admin, рубрики: canvas, html5, javascript, programming, TypeScript, Блог компании ГК ЛАНИТ, ПрограммированиеАктивные пользователи Телеграма, особенно те, кто подписан на Павла Дурова, наверняка что-то слышали о том, что Телеграм проводил в этих ваших интернетах конкурс для iOS, Android и JavaScript разработчиков, а также для дизайнеров. Несмотря на то, что это было довольно эпичное событие с раздачей солидных призов (один из участников получил 50к долларов за первое место, написав самое быстрое и лёгкое приложение для Android), о нём как-то слабо писали, во всяком случае в Рунете. Своим дебютным постом попробую исправить ситуацию.

Typescript и react
2019-08-05 в 15:26, admin, рубрики: javascript, mobx, React, state management, TypeScript, Разработка веб-сайтовРазработка на javascript иногда становится похожа на работу детектива. Как понять чужой код? Хорошо, если разработчик обладает тонким искусством называть переменные так, чтобы другие поняли суть. А как быть, если члены команды все таки не всегда способны понять замысел своего коллеги? Как понять, что приходит в аргумент какой-либо функции?
Предположим, что аргумент функции называется errors. Вероятно в errors находится массив. Скорее всего строк? Ну то, что массив это понятно. Ведь далее проверятся его длинна. Но свойство length есть и у строки. Похоже, чтобы точно разобраться, необходимо поставить breakpoint и запустить скрипт. Затем полностью пройти по сценарию на UI (например нам нужен финальный шаг формы). Теперь в devtools видно, что errors — это объект с набором определенных полей, среди которых и поле length.
Подобная неоднозначность при разборе javascript кода приводит к пустой трате времени разработчика. Неплохим решением в данном случае может стать typescript (далее ts). Можно использовать его в следующем проекте, а еще лучше сделать поддержку ts в существующем. После этого время на понимание чужого кода сократится значительно. Ведь, чтобы понять структуру любых данных достаточно одного клика. Можно сконцентрироваться на логике работы с данными и в любой момент времени знать, что вы однозначно понимаете работу кода.
Приключения неуловимой малвари: многосторонняя оборона (заключительные мысли)
2019-08-05 в 13:52, admin, рубрики: javascript, powershell, UBA, ueba, безфайловые атаки, Блог компании Varonis Systems, информационная безопасность, многосторонняя оборона, поведенческий анализЭта статья является частью серии «Fileless Malware». Все остальные части серии:
- Приключения неуловимой малвари, часть I
- Приключения неуловимой малвари, часть II: скрытные VBA-скрипты
- Приключения неуловимой малвари, часть III: запутанные VBA-скрипты для смеха и прибыли
- Приключения неуловимой малвари, часть IV: DDE и поля документа Word
- Приключения неуловимой малвари, часть V: еще больше DDE и COM-скриплетов
- Приключения неуловимой малвари: многосторонняя оборона (заключительные
мысли) — мы тут
Думаю, все мы можем согласиться с тем, что у хакеров есть много трюков и методов, чтобы скрытно войти в вашу ИТ-инфраструктуру и остаться там незамеченными, пока они крадут ваши цифровые активы. Ключевой вывод этой серии заключается в том, что обнаружение вредоносных программ на основе сигнатур легко обходится даже несложными подходами, некоторые из которых я представил в этой серии.
Читать полностью »
Функциональное программирование: дурацкая игрушка, которая убивает производительность труда. Часть 1
2019-08-05 в 9:30, admin, рубрики: javascript, Блог компании RUVDS.com, разработка, функциональное программированиеВозможно, вы уже слышали о так называемом «функциональном» программировании. Возможно, вы даже подумываете о том, что вам стоит его как-нибудь попробовать.
Ни в коем случае этого не делайте!
Функциональное программирование полно недочётов, оно не подходит для реальных проектов. Его применение приведёт к резкому падению производительности труда. Почему это так? Давайте выясним.
Читать полностью »
Дайджест свежих материалов из мира фронтенда за последнюю неделю №374 (29 июля — 4 августа 2019)
2019-08-04 в 21:14, admin, рубрики: angular, css, ember, ES6, html, html5, javascript, JS, React, vue, браузеры, дайджест, подкасты, Разработка веб-сайтов, ссылки, фронтендПредлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.
Frontend Weekly Digest (29 July – 4 August 2019)
2019-08-04 в 19:20, admin, рубрики: angular, css, digest, ES6, html, html5, javascript, JS, links, React, vue, Разработка веб-сайтовThis week we issue a really huge selection of all the essential news you might have missed on Front-end development. Make sure to check the latest updates on CSS, HTML, and JavaScript.
VueJs + VueRouter + modal. Очередной велосипед
2019-08-04 в 15:10, admin, рубрики: javascript, mod dialog, vuejs, vuejs2Добрый день. В этой статье я разберу способ, который позволяет при смене адреса показывать модальное окно для наших нужд. Я знаю, что есть собственное решение для компонента «modal» на офф сайте (https://ru.vuejs.org/v2/examples/modal.html). Вдобавок к этому на хабре есть много других статей, посвященных теме модальных окон во VueJs (например, https://habr.com/en/post/350232/).
Однако, на мой взгляд, каждый из них имеет свои минусы, например:
- в случае изложенном на офф сайте компоненты нужно создавать отдельную переменную и привязываться к ней;
- во второй статье рассматриваются решения сторонних разработчиков. В этом случае нужно потратить время и разобраться как использовать эти компоненты + лишние, на мой взгляд, зависимости в проект. А я придерживаюсь позиции: чем проще, тем лучше.
Опять же, я всего знать не могу, поэтому, если если у вас есть что сказать или отметить, то я открыт к конструктивной критике. Далее мы будем использовать исключительно стандартный функционал инструментов, которые используем (Vue, VueRouter, Bootstrap Modal). Итак, ближе к делу…
Читать полностью »
Асинхронное программирование в JavaScript (Callback, Promise, RxJs )
2019-08-03 в 15:29, admin, рубрики: angular, callback, event loop, javascript, node.js, observable, promise, rxjs, асинхронность, очередь, реактивное программирование, стек, Учебный процесс в ITВсем привет. На связи Омельницкий Сергей. Не так давно я вел стрим по реактивному программированию, где рассказывал про асинхронность в JavaScript. Сегодня я бы хотел законспектировать этот материал.
Но перед тем как начать основной материал нам нужно сделать вводную. Итак, давайте начнем с определений: что такое стек и очередь?
Стек — это коллекция, элементы которой получают по принципу «последний вошел, первый вышел» LIFO
Очередь — это коллекция, элементы которой получают по принципу («первый вошел, первый вышел» FIFO
Окей, продолжим.
JavaScript — это однопоточный язык программирования. Это значит, что он имеется только один поток выполнения и один стек, в который помещаются функции в очередь на выполнение. Следовательно в один момент времени JavaScript может выполнить только одну операцию, другие операции при этом будут ждать своей очереди в стеке, пока их не вызовут.
Травим данные с travajs
2019-08-01 в 15:10, admin, рубрики: javascript, open source, валидация, зеленая, на здоровье, Разработка веб-сайтов, траваВ своем предыдущем посте я описал основные моменты при разработке другой opensource библиотеки. Забыл упомянуть еще один: если никому не рассказывать про библиотеку, какая бы нужная она ни была, скорее всего никто про нее так и не узнает.
Итак, встречайте trava.js — сочная валидация на пользу проекту. К слову траву мы используем уже больше полугода, и я подумал, пришло время рассказать вам о преимуществах ее использования. Уже даже подсушили, так что задержите дыхание. И вперед.
Читать полностью »