Web developer
Мышление в стиле Ramda: Неизменяемость и массивы
1. Первые шаги
2. Сочетаем функции
3. Частичное применение (каррирование)
4. Декларативное программирование
5. Бесточечная нотация
6. Неизменяемость и объекты
7. Неизменяемость и массивы
8. Линзы
9. Заключение
Данный пост — это седьмая часть серии статей о функциональном программировании под названием "Мышление в стиле Ramda".
В шестой части мы говорили о работе с объектами JavaScript в функциональном и иммутабельном стиле.
В данном посте мы поговорим о подобной работе с массивами.
Гуляем по городу с умом: как я делал сервис для построения интересных пешеходных маршрутов
Незнакомый район города, небольшое количество свободного времени и необходимость (или желание) пешком добраться до метро/отеля/вокзала – наверное, каждый хоть раз попадал в такую ситуацию. При этом с одной стороны хочется посмотреть какие-нибудь красивые и интересные места, однако с другой стороны ограниченное время не позволяет слишком сильно уклоняться от прямого маршрута.
Ситуация еще больше осложняется, если рядом нет никаких крупных достопримечательностей, о которых все знают и которые можно было бы включить в свой маршрут после короткого поиска в интернете. Что делать если вы застряли в каком-нибудь Купчино, про которое вы только и слышали, что там лучше не застревать? Приходится идти по навигатору, надеясь, что на пути встретится что-то интересное. Однако популярные навигаторы учитывают лишь расстояние и время в пути, но не принимают во внимание интересность маршрута. Мне попадались еще проекты, пытающиеся учитывать удобство пешего маршрута (ведущие в обход шумных магистралей), но хочется же пройти не только комфортно, но и увидеть какие-нибудь красоты.
Подумав немного, я решил взяться за эту задачу сам. Как всегда, общая идея алгоритма довольно проста, но дьявол кроется в мелочах. А в случае навигации, мелочи могут быть довольно существенны и с риском для здоровья, ведь вряд ли какой-нибудь турист обрадуется, когда навигатор в поисках достопримечательностей заведет его в дебри полузаброшенной промзоны ради маленькой мемориальной таблички (тру стори, один раз так и случилось).
Описание алгоритма и примеры работы под катом, ссылка в конце.
Конструкция async/await в JavaScript: сильные стороны, подводные камни и особенности использования
27 отличных open source-инструментов для веб-разработки
Перевод 27 Amazing Web Development Tools for the Past Year (v.2018)
В 2017-м мы сравнили около 7 500 open source-инструментов для веб-разработки, из которых выбрали 27 лучших (0,4%). Это крайне конкурентный список, в который вошли инструменты, библиотеки и проекты, опубликованные в течение 2017-го. Mybridge AI оценивает их качество на основании популярности, заинтересованности и новизне. Чтобы было понятно, у выбранных продуктов среднее количество звёзд на Github — 5260.
Open source-инструменты могут почти даром повысить вашу продуктивность. Также вы можете чему-то научиться, читая исходный код и создавая что-нибудь на основе этих проектов. Так что рекомендуем уделить время и поэкспериментировать с инструментами из нашей подборки, возможно, какие-то из них прошли мимо вас.
Команды для работы с JavaScript-консолью в браузерах и повышение производительности труда программиста
Пожалуй, первое, что многим приходит в голову при слове «консоль» — это команда
console.log()
. Однако, она — лишь одна из многих подобных команд. Материал, перевод которого мы сегодня публикуем, посвящён особенностям работы с консолью JavaScript.Сортировки всех времён и народов
Мышление в стиле Ramda: Неизменяемость и объекты
1. Первые шаги
2. Сочетаем функции
3. Частичное применение (каррирование)
4. Декларативное программирование
5. Бесточечная нотация
6. Неизменяемость и объекты
7. Неизменяемость и массивы
8. Линзы
9. Заключение
Данный пост — это шестая часть серии статей о функциональном программировании под названием "Мышление в стиле Ramda".
В пятой части мы говорили о написании функций в стиле бесточечной нотации, где главный аргумент с данными для нашей функции не указывается явным образом.
На тот момент времени мы не могли переписать все наши функции в бесточечный стиль, потому что у нас не было некоторых необходимых для этого инструментов. Настало время для того чтобы изучить их.
Дайджест свежих материалов из мира фронтенда за последнюю неделю №319 (11 — 17 июня 2018)
Особенности работы и внутреннего устройства express.js
Автор материала, перевод которого мы сегодня публикуем, предлагает изучить особенности внутреннего устройства фреймворка express через анализ его исходного кода и рассмотрение примера его использования. Он полагает, что изучение механизмов, лежащих в основе популярных опенсорсных библиотек, способствует более глубокому их пониманию, снимает с них завесу «таинственности» и помогает создавать более качественные приложения на их основе.
Насколько хорошо ты знаешь bash?
Пользуешься командным интерпретатором каждый день? Готов решить несколько логических задачек и узнать что-то новое? Добро пожаловать под кат.
Дайджест свежих материалов из мира фронтенда за последнюю неделю №318 (4 — 10 июня 2018)
PHP-Дайджест № 132 (27 мая – 10 июня 2018)
Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.3.0 alpha 1, Yii 3.0 alpha 1 и другие релизы, свежая книга по асинхронному PHP, видеозаписи докладов, порция полезных инструментов, и многое другое. Приятного чтения!
Дайджест новостей из мира PostgreSQL. Выпуск №7
Мы продолжаем знакомить вас с самыми интересными новостями по PostgreSQL.
Релизы
Как и обещано, бета-версия PostgreSQL 11 вышла 25-го мая. Ее новшества по отношению к 10.х в основном уже перечислены в сводке Что заморозили на feature freeze.
Postgres Pro 10.4.1
Компания Postgres Professional выпустила новые релизы Postgres Pro Standard/Enterprise 10.4.1, созданные на базе PostgreSQL 10.4 и Postgres Pro 10.3.2. В них вошли все улучшения версии PostgreSQL 10.4, а также ряд важных доработок:
- обновлён модуль jsquery, отвечающий за запросы к типу данных jsonb;
- утилита pg_probackup для управления резервным копированием и восстановлением кластеров баз данных обновлена до версии 2.0.17 и дополнена новыми возможностями; например, добавлен режим DELTA, в котором считываются все файлы данных в каталоге и создаётся инкрементальная копия для страниц, изменённых со времени предыдущего копирования;
- модуль
pg_pathman
, отвечающий за секционирование больших и распределённых баз данных, обновлён до версии 1.4.11, в которой исправлен ряд ошибок; - исправлена сортировка букв «Ё» и «Й» в модуле mchar, предоставляющем дополнительные типы данных для совместимости с Ms SQL Server;
- доработана версия для Windows.
Мониторинг и Kubernetes (обзор и видео доклада)
По традиции рады представить видео с докладом (около часа, гораздо информативнее статьи) и основную выжимку в текстовом виде. Поехали!
Курс лекций по веб-разработке
Нужные HTTP-заголовки
Большинство разработчиков знают о важных и нужных HTTP-заголовках. Самые известные —
Content-Type
и Content-Length
, это почти универсальные хедеры. Но в последнее время для повышения безопасности начали использоваться заголовки вроде Content-Security-Policy
и Strict-Transport-Security
, а для повышения производительности — Link rel=preload
. Несмотря на широкую поддержку в браузерах, лишь немногие их используют.В предыдущей статье мы рассмотрели ненужные заголовки. Сейчас разберёмся, какие заголовки действительно следует настроить для своего сайта.
Дайджест свежих материалов из мира фронтенда за последнюю неделю №317 (28 мая — 3 июня 2018)
graphql — оптимизация запросов к базе данных
При работе с graphql очень просто породить проблему «SELECT N + 1», если в resolver-функции сделать подзапрос к связанной таблице. Первое что приходит в голову — сделать запрос сразу с учетом всех связанных данных, но это, согласитесь, нерационально, если связанные данные не запрашиваются клиентом.
Один из вариантов решения проблемы «SELECT N + 1» для graphql будет рассмотрен в этом сообщении.
Information
- Rating
- Does not participate
- Registered
- Activity