Pull to refresh
0
0
Send message

48 open source ресурсов для JavaScript (2019)

Reading time3 min
Views17K
image

Мы выбрали из 20 000 проектов и библиотек для JavaScript 48 самых лучших (по звёздам на GitHub) и сгруппировали в 5 категорий:

  • Пользовательский интерфейс (1~9)
  • Инструменты JavaScript (10~25)
  • Machine Learning (26~33)
  • Проекты (34~39)
  • Инструменты разработчика (40~48)
Читать дальше →
Total votes 19: ↑17 and ↓2+15
Comments5

Принципы для разработки: KISS, DRY, YAGNI, BDUF, SOLID, APO и бритва Оккама

Reading time8 min
Views289K
image

Хорошему программисту необходимо уметь совмещать свои навыки со здравым смыслом. Все дело в прагматизме и навыке выбора лучшего решения для вашей проблемы. Когда вы сталкиваетесь с проблемой при разработке ПО, вы можете воспользоваться базовыми принципами, которые помогут в выборе самого правильного подхода.

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

Последовательное применение этих принципов упростит ваш переход от миддла к сеньору. Вы можете обнаружить, что некоторые (вероятно) вы применяете интуитивно.

Принципов много. Мы остановимся на семи самых важных. Их использование поможет вам в развитии и позволит стать лучшим программистом.

1. YAGNI

You Aren’t Gonna Need It / Вам это не понадобится

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

Этот принцип применим при рефакторинге. Если вы занимаетесь рефакторингом метода, класса или файла, не бойтесь удалять лишние методы. Даже если раньше они были полезны – теперь они не нужны.

Может наступить день, когда они снова понадобятся – тогда вы сможете воспользоваться git-репозиторием, чтобы воскресить их из мертвых.
Читать дальше →
Total votes 15: ↑12 and ↓3+16
Comments10

Новостной агрегатор за две недели

Reading time8 min
Views18K

18 ноября Telegram запустил соревнование по кластеризации данных: Data Clustering Contest. Нужно было за две недели сделать свой новостной агрегатор. Ограничения, которые были установлены в этом соревновании отпугнули кучу людей, но не меня и моих коллег. Я расскажу от том, каким путём мы прошли, какие выборы сделали и с какими сложностями столкнулись. Решение, которое мы заслали в соревнование обрабатывало 1000 документов за 3,5 секунды, занимало 150 Мб, заняло 6 место на публичном голосовании и 3 место в итоговых результатах. Мы допустили много ошибок, из-за которых не заняли место повыше, большинство из них сейчас исправлены. Весь код и все модели можно найти в репозитории. Все скрипты для обучения моделек перенесены на Colab.


Топ из публичного голосования
Топ из публичного голосования

Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments4

Как подготовить хорошее резюме для  IT-специалиста

Reading time10 min
Views85K
Если вы не зарегистрированы на hh.ru или подобных ресурсах, находите работу в профильных сообществах на Facebook, в Telegram и по «сарафанному радио», и у вас нет отбоя от предложений, вам не нужно резюме. Но обычно оно нужно тем, кто вас нанимает — с рекрутера или HR начинается первый контакт разработчика и работодателя. Они изучают резюме кандидата перед тем, как передать его техническим специалистам и нанимателю. Рекрутер и HR — это первый этап отбора во всех компаниях, начиная с провинциальной веб-студии и заканчивая Яндексом или Сбербанком. Важно быстро пройти этот этап, а чтобы это сделать и нужно хорошее резюме.



Мы в headz.io работали примерно с 5000 резюме тестировщиков, разработчиков, DevOps-инженеров и других IT-специалистов, чтобы помочь им устроиться на ту работу, которую они хотели. Поэтому можем рассказать, как подготовить резюме, чтобы быстро пройти рекрутера или HR и понравиться работодателю.
Читать дальше →
Total votes 19: ↑6 and ↓13-5
Comments12

Почему программисты через 10 лет будут не нужны?

Reading time9 min
Views128K
Это один из распространённых вопросов о судьбе программирования: мне не раз приходилось его слышать от журналистов, блогеров и родителей, чьи дети выбирают будущий вуз. Для меня этот вопрос звучит довольно удивительно: во-первых, 10 лет для программирования это не такой уж большой период, чтобы выпасть из обоймы, во-вторых, я пока не вижу никаких прорывных движений в этом направлении, в-третьих, мне не кажется что за 10 лет полностью исчезнут компьютеры или люди — а это два единственных условия для уничтожения программирования на планете. Между тем вопрос есть, он в топах поисковых запросов по теме, а значит, это жжжж неспроста. Давайте разбираться.


Disclaimer

Мы открываем в блоге RUVDS на Хабре новую рубрику — вопросы с поиска. Принцип прост: выбираем самые интересные и популярные поисковые запросы о программировании, технологиях, программистах и карьере в ИТ и отвечаем на них с помощью наших постоянных экспертов. Будет интересно.
Читать дальше →
Total votes 87: ↑61 and ↓26+63
Comments381

Security — как много в этом звуке для сердца девопсного слилось

Reading time25 min
Views6.9K


Чтобы понять безопасность, надо думать как безопасник, вести себя как безопасник, стать безопасником. Барух jbaruch Садогурский и Леонид Игольник в своих докладах много рассматривали DevOps с разных сторон — и очередь дошла до вопросов Security. На нашей конференции DevOops они поговорили об этом, и поскольку зрителям понравилось, теперь мы сделали текстовую версию доклада.


Как и в «предыдущих сериях», оформлено всё в формате приключений Васи с Омского мясокомбината. Теперь новый Chief Information Security Officer ставит Васе новые задачи, создает новые заботы и новые проблемы. Или, может быть, проблемы были и раньше, просто теперь они стали более заметны? Понимание мира, в котором живет CISO, поможет Васе и вам вместе с ним понять, какие проблемы безопасности стоят перед современной DevOps-организацией и как решить эти проблемы, не выкапывая новые колодцы и не создавая новые барьеры.


Под катом делимся и текстовой версией доклада, и видеозаписью. Экспертом на докладе выступил консультант по информационной безопасности Денис Якимов.

Читать дальше →
Total votes 7: ↑6 and ↓1+8
Comments0

В десктопном Linux всё ещё больно

Reading time7 min
Views92K

25 августа 1991-го Линус Торвальдс впервые сообщил миру, что работает над новой ОС. Если отсчитывать от этого, то позавчера Linux исполнилось 30 лет, так что можно подвести какие-то итоги: например, скоро ли настанет «год линукса на десктопе»?

А неделю назад я написал о нюансах перехода на Mac. И быстро появились комментарии, что вот в линуксах нет описанных сложностей — мол, непонятно, зачем вообще люди страдают за маками. На мои слова «так в Linux другие проблемы, там многие чинят звук, лазая по форумам» ответили, что это устаревшие стереотипы. А сейчас всё работает из коробки, даёшь детям и они не нарадуются.

Я уже почти десять лет не использовал Linux в качестве основной системы, поэтому подумал: может, действительно напраслину возвожу, а всё уже изменилось и с форумами больше никогда не сталкиваешься? Наконец можно рекомендовать линукс родственникам? Вот-вот к нему придёт массовая популярность?

Захотелось хотя бы бегло глянуть. Тут ещё и повод подвернулся: помогал другому человеку выбрать ноутбук, и он был не против установки линукса. В общем, глянул. И быстро испытал столько ярких ощущений, что написал этот пост.

Читать далее
Total votes 183: ↑120 and ↓63+90
Comments1193

Отойти от IT: куда расти, когда код ради кода больше не интересен

Reading time20 min
Views26K


Интернет завален статьями «как войти в IT и начать писать код», но куда реже говорят о том, как перестать его писать. Что делать, если больше не хочется весь день смотреть в IDE, но и в тимлиды не тянет? Конечно, можно освоить свиноводство, но есть ли сферы, где пригодится уже полученный опыт? Куда можно свернуть «в сторону» от разработки, и какие скиллы для этого понадобятся?


Это похоже на прокачку веток развития персонажа в RPG-игре. Ставишь на ловкость или качаешь силу — получаешь разный результат. Мы выбрали четыре направления, в которых можно качать своего персонажа, и задали вопросы людям, которые уже прошли этими путями:


Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments23

Клавиатуры, которые постигла неудача

Reading time7 min
Views27K

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

Читать далее
Total votes 30: ↑28 and ↓2+31
Comments175

Нет, ваш мозг работает совершенно не так

Reading time9 min
Views37K

Забудьте научные мифы, чтобы лучше понять свой мозг и себя самого




Перевод статьи за авторством Лизы Фельдман Баррет, профессора психологии из Северо-восточного университета, автора книги "Семь с половиной уроков о мозге".

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

Ошибки – это нормальная и неизбежная часть научного процесса. Мы, учёные, делаем всё возможное с тем, что у нас есть, пока новые инструменты не расширят наши возможности и не позволят нам забираться глубже, смотреть шире или измерять точнее. Со временем из-за новых открытий мы основательно корректируем наше представление о том, как устроен мир – к примеру, о естественном отборе или квантовой физике. Неудача в итоге оборачивается возможностью открыть и научиться чему-либо [1].
Читать дальше →
Total votes 21: ↑17 and ↓4+20
Comments35

Материя и энергия: ложная дихотомия

Reading time9 min
Views58K
Частенько, читая статьи о Вселенной или о физике частиц, можно встретить фразу, упоминающую «материю и энергию» так, будто они – две противоположности, или два партнёра, или две стороны одной монеты, или два класса, из которых состоит всё остальное. Это всплывает во многих контекстах. Иногда можно увидеть, как поэтически описывают Большой взрыв в качестве момента возникновения всей «материи и энергии» Вселенной. Можно прочесть, что «материя и антиматерия аннигилируют в чистую энергию». И конечно, вспомним две величайших загадки астрономии – «тёмная материя» и «тёмная энергия».

Как учёный и специалист, пишущий на научные темы, я испытываю раздражение от такой терминологии, не потому, что она абсолютно неправильная, а потому, что такие разговоры вводят в заблуждение людей, не занимающихся наукой. Для физиков она мало что означает. Эти поэтические эпитеты относятся к тому, что чётко определено в математике и экспериментах, и двусмысленные определения просто коротко выражают длинные точные фразы. Но тех, кто не является экспертом, это очень запутывает, поскольку в каждом из контекстов используется своё определение материи, и своё значение слова «энергия» – иногда даже архаичное или просто неправильное. И любой из способов подразумевает, что всё существующее может быть либо материей, либо энергией – а это не так. На самом деле материя и энергия вообще относятся к разным категориям – это как говорить в одном предложении о яблоках и орангутангах, или о небесах и червях, или о птицах и пляжных мячах.
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments27

Ответственный подход к JavaScript-разработке, часть 2

Reading time14 min
Views17K
В апреле этого года мы опубликовали перевод первого материала из цикла, посвящённого ответственному подходу к JavaScript-разработке. Там автор размышлял о современных веб-технологиях и об их рациональном использовании. Теперь мы предлагаем вам перевод второй статьи из этого цикла. Она посвящена некоторым техническим деталям, касающимся устройства веб-проектов.


Читать дальше →
Total votes 34: ↑34 and ↓0+34
Comments4

JavaScript-движки: как они работают? От стека вызовов до промисов — (почти) всё, что вам нужно знать

Reading time14 min
Views62K

Вы когда-нибудь задумывались, как браузеры читают и исполняют JavaScript-код? Это выглядит таинственно, но в этом посте вы можете получить представление, что же происходит под капотом.

Начнём наше путешествие в язык с экскурсии в удивительный мир JavaScript-движков.
Читать дальше →
Total votes 73: ↑68 and ↓5+63
Comments16

Движок, который смог: как Chromium удалось захватить 90% рынка браузеров

Reading time14 min
Views61K

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

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

У веб-сообщества есть достаточно причин опасаться отсутствия браузерного разнообразия. После того, как Internet Explorer захватил в начале 2000-х долю 90% от рынка браузеров, для выпуска нового браузера его разработчикам потребовалась добрая половина десятилетия. В тот период развитие веба остановилось, и начали возникать проблемы с безопасностью. Из-за этого веб стал хуже, поэтому мы часто стремимся к тому, чтобы браузеры конкурировали, а не монополизировали веб.
Читать дальше →
Total votes 64: ↑58 and ↓6+72
Comments121

Памятка пользователям ssh

Reading time13 min
Views1.5M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

Предупреждение: пост очень объёмный, но для удобства использования я решил не резать его на части.

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →
Total votes 360: ↑352 and ↓8+344
Comments148

Ваш идеальный тестировщик

Reading time6 min
Views15K
Время от времени нам нужно найти тестировщика. Рамки поиска могут быть разными: срочно или нет, несколько или один, с определенными скиллами или просто адекватный джуниор. Вопросы сводятся к одному — как понять, что перед нами нужный человек?

Здесь поможет очерк из психологии.

Личность человека — это сложная многослойная структура. Её самый глубокий уровень состоит из личностных качеств. Это стабильные внутренние особенности человека, как, например, искренность. Извлечь их достаточно сложно, немногие проявляют их на каждом шагу. Они открываются только спустя несколько лет работы бок о бок.

Следующий слой — ценности и убеждения. Это те характеристики, которые отвечают на вопрос “почему?” и “зачем?”. Это чувство прекрасного или желание общаться с хорошими людьми. Это важно знать, но вам об этом не расскажут. За час собеседования это не удастся раскрыть, ведь надо ещё поговорить о компании и о позиции.

Следующий слой — поступки. То, как человек обычно поступает, как он решает свою проблему. Вероятно, если он действовал подобным образом раньше, то и на работе будет себя вести также. Мы часто путаем поступки со свойствами личности. У человека может быть масса причин тянуть с закрытием задачи, но мы видим только его поступок.

На работе иногда всё равно почему человек поступает именно так, главное, чтобы сделал свою работу. Изменить чьё-то неприятное поведение, такое как опоздания или обман, можно. Но на это уйдут годы.

Следующий слой: знания и навыки. Это то, чему человек научился, что он умеет. Если мы ищем junior QA, то знаний и навыков у него нет. Но это и не страшно, ведь их можно нарастить.

Следующий слой: область иллюзий. Это то, что человек о себе думает. Это самый легко изменяемый слой личности. Лишиться иллюзий по поводу собственных способностей гораздо легче, чем изменить убеждение пользоваться одним смартфоном вместо другого.
Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments8

Свойства Min и Max width/height в CSS

Reading time10 min
Views123K
Перевод «Min and Max Width/Height in CSS» Ахмада Шадида.

Порой у разработчиков возникает необходимость ограничить ширину элемента относительно родителя, и в то же время, оставить её динамичной. Задав таким образом начальный размер с возможностью расширения при наличии доступного пространства. Например, нам нужна кнопка, которая должна иметь минимальную ширину. Именно в таких ситуациях удобно использовать свойства максимума и минимума.

В этой статье мы познакомимся с CSS-свойствами максимума и минимума для ширины и высоты, а также детально рассмотрим каждое из них и сценарии их использования.
Total votes 12: ↑11 and ↓1+13
Comments4

Хабр Карьера проанализировала больше 10  000 зарплат айтишников за второе полугодие 2020 года, и вот что получилось.

Медианная зарплата среди всех айтишников сейчас составляет 113 000 ₽. В Москве ребята зарабатывают 150 000 ₽, в Петербурге чуть меньше — 130 000 ₽, в остальных регионах — 88 000 ₽. По сравнению с первым полугодием 2020 года, зарплаты выросли на 2,7%, в основном за счет роста зарплат в регионах и Санкт-Петербурге.

Хочу узнать подробности!
Total votes 23: ↑22 and ↓1+42
Comments85

Information

Rating
Does not participate
Registered
Activity