Как стать автором
Обновить
Антон Захаров @zakharoffam read-only

Пользователь

  • Публикации
  • Комментарии

Возможности функций, возвращающих другие функции в JavaScript

Блог компании OTUS JavaScript *Программирование *
Перевод

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

Поскольку функции можно передавать куда угодно, мы можем поместить их в аргументы функций.

Читать далее
Всего голосов 9: ↑4 и ↓5 -1
Просмотры 3.5K
Комментарии 3

Современная архитектура Electron приложений в 2021

JavaScript *

Я хочу рассказать об архитектуре приложений на Electron: из чего они состоят как работают, какие имеют ограничения и требования.

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 3.5K
Комментарии 1

35 вопросов с собеседования JavaScript-разработчика

JavaScript *Интервью
Из песочницы
Перевод

Это перевод статьи, в которой Abdo Amin приводит 35 вопросов на собеседованиях JavaScript-разработчиков, которые он сам задает. К вопросам прилагаются и ответы.

Читать далее
Всего голосов 8: ↑4 и ↓4 0
Просмотры 5.4K
Комментарии 6

NEST.JS. Работа с ошибками. Мысли и рецепты

JavaScript *Программирование *Node.JS *

Одни умные люди говорят: "эксепшены - это зло, используйте монады!", другие кричат: "коды ошибок ещё никто не отменял!", а третьи включают механизм исключений в языки программирования.. Однако, у большинства статей, который попадались мне на глаза есть две относительные проблемы (при всём уважении к авторам!):

Некоторая... академичность. Разобрано множество идей и концепций, но заканчивается всё стандартным: "ваш выбор зависит от вашей ситуации".

Абсолютно отсутствуют упоминания о бюджете. Никто же не будет спорить, что теоретически мерседес лучше, чем восьмёрка по всем показателям... если не считать цены.

Цель этого поста - поделиться выработанным практическим рецептом. В конкретном фреймворке и с конкретными границами применимости. Без претензий на уникальность, универсальность, идеальность и, тем более, академическую "правильность".

Кому интересно, прошу под кат.

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 5.3K
Комментарии 7

NEST-NEXT: Best Practices — Часть 1

Разработка веб-сайтов *JavaScript *Node.JS *ReactJS *
Из песочницы
Tutorial

Это первая часть статьи о применении комбинации технологий nest.js и NEXT.js, где будет рассмотрено создание проекта, подключение фреймворков и выбор эффективного способа работы с SSR. Во второй части можно узнать о HMR, использовании данных при SSR и разворачивании "за слешом".

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 3.4K
Комментарии 3

Стандарты и шаблоны для ТЗ на разработку ПО

Анализ и проектирование систем *

Введение


Недавно ко мне обратились, чтобы я посоветовал стандарты для написания технического задания (ТЗ) на разработку автоматизированных систем (АС) и программного обеспечения (ПО). Вот думаю, сейчас зайду в Яндекс, найду подходящую статейку и отправлю её. Но не тут-то было! Одной статьи, где перечисляются стандарты для ТЗ, включая шаблоны и примеры готовых документов, я не нашел. Придется сделать такую статейку самому…

И так, основные стандарты, методологии и своды знаний, где упоминается ТЗ или SRS (Software (or System) Requirements Specification):

• ГОСТ 34
• ГОСТ 19
• IEEE STD 830-1998
• ISO/IEC/ IEEE 29148-2011
• RUP
• SWEBOK, BABOK и пр.
Читать дальше →
Всего голосов 36: ↑34 и ↓2 +32
Просмотры 502K
Комментарии 22

Честное резюме программиста

Java *Управление персоналом *
Из песочницы
image

Раздел 1. Soft Skills


  1. Я молчу на совещаниях. Стараюсь делать внимательное и умное лицо, даже если мне все равно.
Читать дальше →
Всего голосов 450: ↑410 и ↓40 +370
Просмотры 197K
Комментарии 284

Лучшие методики тестирования в JavaScript и Node.js

Блог компании Mail.ru Group JavaScript *Анализ и проектирование систем *Node.JS *Тестирование веб-сервисов *
Перевод
Tutorial

Это исчерпывающее руководство по обеспечению надёжности в JavaScript и Node.js. Здесь собраны десятки лучших постов, книг и инструментов.

Сначала разберитесь с общепринятыми методиками тестирования, которые лежат в основе любого приложения. А затем можно углубиться в интересующую вас сферу: фронтенд и интерфейсы, бэкенд, CI или всё перечисленное.
Всего голосов 47: ↑46 и ↓1 +45
Просмотры 42K
Комментарии 3

Как стать Java разработчиком в 35+

Программирование *Java *Учебный процесс в IT Карьера в IT-индустрии Интервью
Из песочницы

Всем привет!  Хочу написать свою первую статью о моём пути из менеджера по продажам / руководителя департамента одного из крупных банков / индивидуального предпринимателя в разработчики, который длился без немногого 2 года. Я постараюсь предоставить некоторые советы и рекомендации тем, кто в начале или середине пути в освоении разработки. Искренне надеюсь, что эта статья будет полезна тем, кто сейчас изучает Java или только планирует заняться ее изучением.

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

Читать далее
Всего голосов 28: ↑27 и ↓1 +26
Просмотры 14K
Комментарии 28

8 недооцененных команд Git, которые должен знать каждый программист (помимо привычных pull, push, add, commit)

Блог компании OTUS PHP *Программирование *Git *
Перевод

Если вы сделали опечатку, когда вводили имя ветки, вам поможет вот такая команда.

Читать далее
Всего голосов 38: ↑23 и ↓15 +8
Просмотры 18K
Комментарии 28

Темная сторона TypeScript — @декораторы на примерах

Блог компании ДоксВижн Разработка веб-сайтов *JavaScript *Программирование *TypeScript *

Декораторы — это невероятно круто. Они позволяют описывать мета информацию прямо в объявлении класса, группируя все в одном месте и избегая дублирования. Ужасно удобно. Однажды попробовав, вы уже никогда не согласитесь писать по-старому.


Однако, несмотря на всю полезность, декораторы в TypeScript (заявлены также на стандарт) не так просты, как хотелось бы. Работа с ними требует навыков джедая, так как необходимо разбираться в объектной модели JavaScript (ну, вы поняли, о чем я), API несколько запутанный и, к тому же, еще не стабильный. В этой статье я немного расскажу об устройстве декораторов и покажу несколько конкретных приемов, как поставить эту темную силу на благо front-end разработки.


Помимо TypeScript, декораторы доступны в Babel. В этой статье рассматривается только реализация в TypeScript.


Читать дальше →
Всего голосов 60: ↑58 и ↓2 +56
Просмотры 44K
Комментарии 33

JavaScript: изучаем регулярные выражения на практике

Разработка веб-сайтов *JavaScript *Программирование *

image


Регулярное выражение (далее также — регулярка) — это последовательность специальных символов, формирующих паттерн или шаблон (pattern), который сопоставляется со строкой.


Цель такого сопоставления может состоять либо в поиске подстроки в строке, например, для замены подстроки, либо в определении соответствия строки шаблону для валидации строки.


В данной статье мы сосредоточимся на валидации.


Что конкретно мы будем делать? Мы возьмем несколько регулярок из validator.js (наиболее популярной библиотеки для валидации данных с помощью регулярных выражений) и произведем их подробный разбор. Также мы рассмотрим несколько дополнительных регулярок и один алгоритм.


Как результат, мы реализуем несколько полезных функций, которые вы впоследствии сможете использовать в своих проектах.

Читать дальше →
Всего голосов 31: ↑25 и ↓6 +19
Просмотры 14K
Комментарии 7

Памятка/шпаргалка по SQL

Разработка веб-сайтов *Программирование *SQL *

Доброго времени суток, друзья!


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

Читать дальше →
Всего голосов 50: ↑46 и ↓4 +42
Просмотры 69K
Комментарии 17

Идеальный инструмент для работы с СУБД без SQL для Node.js или Все, что вы хотели знать о Sequelize. Часть 1

Разработка веб-сайтов *JavaScript *Программирование *Node.JS *

Представляю вашему вниманию руководство по Sequelize.


Sequelize — это ORM (Object-Relational Mapping — объектно-реляционное отображение или преобразование) для работы с такими СУБД (системами управления (реляционными) базами данных, Relational Database Management System, RDBMS), как Postgres, MySQL, MariaDB, SQLite и MSSQL. Это далеко не единственная ORM для работы с названными базами данных (далее — БД), но, на мой взгляд, одна из самых продвинутых и, что называется, "battle tested" (проверенных временем).


ORM хороши тем, что позволяют взаимодействовать с БД на языке приложения (JavaScript), т.е. без использования специально предназначенных для этого языков (SQL). Тем не менее, существуют ситуации, когда запрос к БД легче выполнить с помощью SQL (или можно выполнить только c помощью него). Поэтому перед изучением настоящего руководства рекомендую бросить хотя бы беглый взгляд на SQL. Вот соответствующая шпаргалка.


Это первая из 3 частей руководства, в которой мы поговорим о начале работы с Sequelize, основах создания и использования моделей и экземпляров для взаимодействия с БД, выполнении поисковых и других запросов, геттерах, сеттерах и виртуальных (virtual) атрибутах, валидации, ограничениях и необработанных (raw, SQL) запросах.


Вторая часть.
Третья часть.


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

Читать дальше →
Всего голосов 29: ↑27 и ↓2 +25
Просмотры 11K
Комментарии 27

30 миллиардов параметров: реально ли обучить русский GPT-3 в «домашних» условиях?

Алгоритмы *Машинное обучение *Искусственный интеллект Будущее здесь Natural Language Processing *

Не так давно Сбер, а затем и Яндекс объявили о создании сверхбольших русских языковых моделей, похожих на GPT-3. Они не только генерируют правдоподобный текст (статьи, песни, блоги и т. п.), но и решают много разнообразных задач, причем эти задачи зачастую можно ставить на русском языке без программирования и дополнительного обучения — нечто очень близкое к «универсальному» искусственному интеллекту. Но, как пишут авторы Сбера у себя в блоге, «подобные эксперименты доступны только компаниям, обладающим значительными вычислительными ресурсами». Обучение моделей с миллиардами параметров обходится в несколько десятков, а то сотен миллионов рублей. Получается, что индивидуальные разработчики и маленькие компании теперь исключены из процесса и могут теперь только использовать обученные кем-то модели. В статье я попробую оспорить этот тезис, рассказав о результатах попытки обучить модель с 30 миллиардами параметров на двух картах RTX 2080Ti.

Читать далее
Всего голосов 42: ↑41 и ↓1 +40
Просмотры 10K
Комментарии 39

Политика общего происхождения и CORS: визуальное руководство

Разработка веб-сайтов *JavaScript *Программирование *
Перевод


Доброго времени суток, друзья!

Представляю вашему вниманию перевод статьи «CS Visualized: CORS» автора Lydia Hallie.

Каждому разработчику приходилось сталкиваться с ошибкой Access to fetched has been blocked by CORS policy. Существует несколько способов быстрого решения данной проблемы. Однако, давайте не будем спешить и подробно рассмотрим, что из себя представляет политика CORS.

У нас часто возникает необходимость отобразить данные, находящиеся в другом месте. Прежде чем мы сможем это сделать, браузер должен отправить запрос на сервер, чтобы получить эти данные.
Читать дальше →
Всего голосов 8: ↑7 и ↓1 +6
Просмотры 8.9K
Комментарии 4

Формируем стратегию работы с ошибками в React

Разработка веб-сайтов *JavaScript *
Из песочницы

Как сделать падение мягким?




Я не нашел исчерпывающего руководства по обработке ошибок в React приложениях, поэтому решил поделиться полученным опытом в этой статье. Статья рассчитана на начинающих разработчиков и может стать некоторой отправной точкой к систематизации обработки ошибок в приложении.
Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 10K
Комментарии 15

Школа магии TypeScript: дженерики и расширение типов

Блог компании RUVDS.com Разработка веб-сайтов *JavaScript *TypeScript *
Перевод
Tutorial
Автор статьи, перевод которой мы сегодня публикуем, говорит, что TypeScript — это просто потрясающе. Когда он только начал пользоваться TS, ему страшно нравилась та свобода, которая присуща этому языку. Чем больше сил программист вкладывает в свою работу со специфичными для TS механизмами — тем значительнее получаемые им выгоды. Тогда он использовал аннотации типов лишь периодически. Иногда он пользовался возможностями по автодополнению кода и подсказками компилятора, но, в основном, полагался лишь на собственное видение решаемых им задач.

Со временем автор этого материала понял, что каждый раз, когда он обходит ошибки, выявляемые на этапе компиляции, он закладывает в свой код бомбу замедленного действия, которая может рвануть во время выполнения программы. Каждый раз, когда он «боролся» с ошибками, используя простенькую конструкцию as any, ему приходилось платить за это многими часами тяжёлой отладки.



В итоге он пришёл к выводу о том, что лучше так не делать. Он подружился с компилятором, начал обращать внимание на его подсказки. Компилятор находит проблемы в коде и сообщает о них задолго до того, как они могут нанести реальный вред. Автор статьи, глядя на себя как на разработчика, понял, что компилятор — это его лучший друг, так как защищает его от него самого. Как тут не вспомнить слова Альбуса Дамблдора: «Требуется большая храбрость, чтобы выступить против своих врагов, но не меньше ее требуется и чтобы выступить против своих друзей».

Каким бы хорошим другом ни был компилятор, ему не всегда легко угодить. Иногда избежать использования типа any очень непросто. А порой кажется, что any — это единственное разумное решение некоей проблемы.

Этот материал посвящён двум ситуациям. Избежав использования в них типа any можно обеспечить типобезопасность кода, открыть возможности по его повторному использованию и сделать его интуитивно понятным.
Читать дальше →
Всего голосов 41: ↑37 и ↓4 +33
Просмотры 33K
Комментарии 27

Создание favicon для сайта 2020

Разработка веб-сайтов *HTML *
Из песочницы

Что такое favicon и для чего он нужен?


Favicon – это значок (иконка), который отображается во вкладке браузера, закладках, а также в сниппетах результатов поиска.

image

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

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

Какой формат использовать для favicon?


Раньше в качестве основного формата использовали ICO. Особенность данного формата – мульти-размерность. Данный файл может хранить в себе несколько размеров иконки. На смену ICO пришел формат PNG. ICO все еще поддерживаемый, но большинство современных браузеров выбирают PNG формат иконки, который легче. Некоторые браузеры не могут выбрать правильный значок в файле ICO, что приводит к неправильному использования значка с низким разрешением.

О каких платформах пойдет речь в этой статье?


  • Десктопные браузеры
  • Chrome на Android
  • Иконка закладки в iOS (PWA)
  • macOS
  • Windows

Читать дальше →
Всего голосов 50: ↑48 и ↓2 +46
Просмотры 61K
Комментарии 30

Service Workers. Инструкция по применению

Блог компании 2ГИС Разработка веб-сайтов *JavaScript *Программирование *Клиентская оптимизация *


Количество выходов в интернет с мобильных устройств ежегодно растёт на 2-4% в год. Качество связи не успевает за такими темпами. Как итог, даже самое лучшее веб-приложение обеспечит ужасный опыт, если пользователь не сможет его загрузить.

Проблема в том, что до сих пор нет хорошего механизма управления кэшем ресурсов и результатов сетевых запросов. В своей статье я хочу рассказать как Service Worker (SW) может помочь в решении этой задачи. Объясню в формате рецептов — какие элементы и в какой пропорции смешать, чтобы получить нужный результат, исходя из задачи и требований.
Поехали!
Всего голосов 57: ↑57 и ↓0 +57
Просмотры 79K
Комментарии 38

Информация

В рейтинге
Не участвует
Откуда
Пугачев, Саратовская обл., Россия
Дата рождения
Зарегистрирован
Активность