Как стать автором
Обновить
29
0
Александр Королев @alex_29

Программист

Отправить сообщение

Карманная книга по TypeScript. Часть 2. Типы на каждый день

Время на прочтение11 мин
Количество просмотров35K

image


Мы продолжаем серию публикаций адаптированного и дополненного перевода "Карманной книги по TypeScript".

Другие части:



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


Примитивы: string, number и boolean


В JS часто используется 3 примитива: string, number и boolean. Каждый из них имеет соответствующий тип в TS:


  • string представляет строковые значения, например, 'Hello World'
  • number предназначен для чисел, например, 42. JS не различает целые числа и числа с плавающей точкой (или запятой), поэтому не существует таких типов, как int или float — только number
  • boolean — предназначен для двух значений: true и false

Обратите внимание: типы String, Number и Boolean (начинающиеся с большой буквы) являются легальными и ссылаются на специальные встроенные типы, которые, однако, редко используются в коде. Для типов всегда следует использовать string, number или boolean.

Читать дальше →
Всего голосов 35: ↑30 и ↓5+25
Комментарии1

Карманная книга по TypeScript. Часть 1. Основы

Время на прочтение7 мин
Количество просмотров63K

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



С сегодняшнего дня мы начинаем серию публикаций адаптированного и дополненного перевода "Карманной книги по TypeScript".


Каждое значение в JavaScript при выполнении над ним каких-либо операций ведет себя определенным образом. Это может звучать несколько абстрактно, но, в качестве примера, попробуем выполнить некоторые операции над переменной message:


// Получаем доступ к свойству `toLowerCase`

// и вызываем его

message.toLowerCase()

// Вызываем `message`

message()

На первой строке мы получаем доступ к свойству toLowerCase и вызываем его. На второй строке мы пытаемся вызвать message.


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


  • Является ли переменная message вызываемой?
  • Имеет ли она свойство toLowerCase?
  • Если имеет, является ли toLowerCase вызываемым?
  • Если оба этих значения являются вызываемыми, то что они возвращают?

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

Читать дальше →
Всего голосов 35: ↑30 и ↓5+25
Комментарии18

TypeScript и все что тебе нужно в разработке

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров30K

Все для работы с продвинутым TS внутри. Generic Types, Mapped Types, Types Guard, Utility Types и многое другое. Шпаргалка с навигацией и примерами.

К изучению
Всего голосов 20: ↑16 и ↓4+12
Комментарии12

Вопросы на собеседовании, которые вы считаете глупыми. Но на самом деле нет

Время на прочтение3 мин
Количество просмотров32K
Сколько раз проходя собеседования у вас оставалось мнение, что спрашивали всё что угодно, но не то что следовало бы? Возможно вы просто не поняли вопросы. И вот почему.

Давайте вспомним знаменитый вопрос про пингвина.

image
Читать дальше →
Всего голосов 107: ↑27 и ↓80-53
Комментарии192

70 вопросов по JavaScript для подготовки к собеседованию

Время на прочтение43 мин
Количество просмотров866K
Доброго времени суток, друзья!

Надеюсь, эта статья будет полезна как начинающим разработчикам, так и опытным.

В вопросах, которые показались мне сложнее прочих, приведены ссылки на дополнительную литературу.

Буду признателен за развернутые комментарии. Все замечания будут учтены при редактировании статьи.

Итак, поехали.
Читать дальше →
Всего голосов 46: ↑43 и ↓3+40
Комментарии135

Теория цвета как основа для дизайна и иллюстрации

Время на прочтение9 мин
Количество просмотров123K

Цвета присутствуют во всем, выражаясь во множестве оттенков, градиентов и комбинаций. Если повнимательнее рассмотреть окружающий нас мир, то можно удивиться, насколько большим разнообразием цветов и оттенков он наполнен. В то время как некоторые из них непосредственно вызывают в нас приятные чувства, существуют также и уникальные цветовые смеси, оказывающее заметное влияние на человеческие эмоции. Для лучшего же понимания всех этих особенностей, необходимо знать теорию цвета.
Читать дальше →
Всего голосов 58: ↑55 и ↓3+52
Комментарии8

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

Время на прочтение12 мин
Количество просмотров17K

От адаптивного Умного перекрестка до САМООБУЧАЮЩЕГОСЯ...

Узнай сейчас!
Всего голосов 26: ↑23 и ↓3+20
Комментарии121

Нестандартные шрифты: как подключить и оптимизировать

Время на прочтение8 мин
Количество просмотров61K

Самый простой вариант — вообще не подключать сторонние шрифты. Можно пользоваться стандартными, которые предустановлены в большинстве операционных систем. Это хорошо знакомые Arial, Times New Roman и так далее — эти шрифты называются веб-безопасными, достаточно просто указать название одного из таких шрифтов в коде, и всё будет работать. 

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

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии5

Как ускорить код на Python в тысячу раз

Время на прочтение4 мин
Количество просмотров67K


Обычно говорят, что Python очень медленный


В любых соревнованиях по скорости выполнения программ Python обычно занимает последние места. Кто-то говорит, что это из-за того, что Python является интерпретируемым языком. Все интерпретируемые языки медленные. Но мы знаем, что Java тоже язык такого типа, её байткод интерпретируется JVM. Как показано, в этом бенчмарке, Java намного быстрее, чем Python.
Читать дальше →
Всего голосов 77: ↑46 и ↓31+15
Комментарии70

Пользовательские CSS-переменные, инверсия светлоты цветов и создание тёмной темы за 5 минут

Время на прочтение8 мин
Количество просмотров13K
Вы, наверное, уже знаете о том, что для хранения сведений об отдельных компонентах цвета можно применять пользовательские CSS-переменные. Это позволяет избавиться от необходимости повторения одних и тех же цветовых координат в стилях, описывающих цветовую тему сайта. Возможно, вы даже знаете о том, что одну и ту же переменную можно использовать для настройки нескольких компонентов цвета.


Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии7

CSS: работа с текстом на изображениях

Время на прочтение7 мин
Количество просмотров22K

Вы можете встретить компонент пользовательского интерфейса, у которого есть текст над изображением. В некоторых случаях в зависимости от используемого изображения текст будет трудно прочитать. У этой проблемы есть несколько различных решений, таких как добавление градиента или затемнение изображения, наложение тени на текст и другие. Этот прием будет полезен не только frontend и веб-разработчикам, но и ui/ux-дизайнерам. Написать эту статью меня вдохновил твит от Эдди Османи, работающего над Google Chrome.

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

Приятного чтения
Всего голосов 6: ↑6 и ↓0+6
Комментарии1

Глаголы R vs Операторы SQL

Время на прочтение2 мин
Количество просмотров2.6K

Какой язык использовать для анализа данных - это максимально избитая и больная тема. Поэтому мы объединились с Алексеем Селезневым, руководителем отдела аналитики в Netpeak и автором телеграм-канала R4Marketing, и подготовили сравнение операторов SQL и глаголов языка R. Для удобства и переносимости сделали это в карточках.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии18

Почему в Vim для навигации используются клавиши hjkl

Время на прочтение4 мин
Количество просмотров20K

Многие новички, перешедшие в vim с других текстовых редакторов, сталкиваются с определенными сложностями. Vim в значительной степени отличается от привычных большинству пользователей редакторов текстов с системами меню. Многих может особенно удивить то, что для навигации по тексту используются клавиши «hjkl», хотя никто не запрещает пользоваться привычными клавишами со стрелками. Разберемся, почему используются именно эти клавиши, и почему не рекомендуется перемещаться по тексту при помощи стрелок.

Читать далее
Всего голосов 33: ↑32 и ↓1+31
Комментарии72

Малоизвестные, но крутые атрибуты в HTML

Время на прочтение4 мин
Количество просмотров29K


Спросите случайного фронтендера, какие атрибуты HTML он использует — и услышите что-то вроде «src, href, style, class...» и прочую чепуху, которую всем ещё в младенчестве вживили на чипе агенты IETF. Между тем, стандарты веба не стоят на месте, и с каждым годом в браузерах появляются всё более крутые фичи не только для монструозного CSS, но и для обычных элементов HTML. Вы знали, что с помощью атрибутов можно пинговать* произвольный адрес, а элементы формы могут многократно переопределять её поведение? Вряд ли.
Всего голосов 67: ↑65 и ↓2+63
Комментарии15

React: наглядное пособие для начинающих. Создаем свой компонент без знаний JavaScript

Время на прочтение10 мин
Количество просмотров20K


React — это библиотека JavaScript для создания пользовательского интерфейса.

Это официальное определение React. Но что если вы не знаете, что такое JavaScript? Что если вы не разработчик? Смогли бы вы тогда понять, что такое React?


Однозначно ДА. Именно поэтому я и написал эту статью на тему: Что такое React на самом деле? Что такое React.js (или ReactJS)? Для чего используется React? Почему React так популярен? Какие проблемы можно решить с его помощью?


Эта статья — введение в React для начинающих. И это первое, с чего стоит начать, прежде чем детально изучить React. Я объясню основные идеи React на пальцах (и с помощью картинок). Нет опыта работы с JavaScript? Не беда! Если у вас есть базовые знания HTML (например, HTML-тегов), эта статья должна вам понравиться.


Это как посмотреть на React с высоты птичьего полета, но я дам вам бинокль. Так что вы не только увидите общую картину того, что делает React таким особенным, но и увеличите изображение, чтобы получить практический опыт написания реального React-компонента. И да, никаких знаний JS не требуется!


Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии11

Подключение Keycloak к Spring Boot приложению

Время на прочтение20 мин
Количество просмотров64K

Привет Хабр!

Как известно, spring OAuth2.0.x переведен в режим поддержки уже почти как 2 года назад , а большая часть его функциональности теперь доступна в spring-security (матрица сопоставления). В spring-security отказались переносить Authorization service (roadmap) и предлагают использовать вместо него свободные или платные аналоги, в частности keycloak. В этом посте мы хотели бы поделится различными вариантами подключения keycloak к приложениям spring-boot.

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии13

Регулярные выражения Python для новичков: что это, зачем и для чего

Время на прочтение9 мин
Количество просмотров43K
image

За последние несколько лет машинное обучение, data science и связанные с этими направлениями отрасли очень сильно шагнули вперед. Все больше компаний и просто разработчиков используют Python и JavaScript для работы с данными.

И вот здесь-то нам как раз и нужны регулярные выражения. Парсинг всего текста или его фрагментов с веб-страниц, анализ данных Twitter или подготовка данных для анализа текста — регулярные выражения приходят на помощь.

Кстати, свои советы по некоторым функциям добавил Алексей Некрасов — лидер направления Python в МТС, программный директор направления Python в Skillbox. Чтобы было понятно, где перевод, а где — комментарии, последние мы выделим цитатой.
Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии7

Виртуальные личности, анонимность, одноразовые симки — суровая реальность в мире тотальной слежки

Время на прочтение6 мин
Количество просмотров55K

Кадр из игры Digital Resistance

В публичных чатах Telegram редко встретишь человека под настоящим именем. Показывать личные фотографии и номер телефона в профиле теперь не принято. И это совершенно нормально — похоже, раскрывать свою личность становится опасно. Даже если вам «нечего скрывать».

Виртуальные личности, анонимные аккаунты, запасные симки — раньше эти понятия ассоциировались с даркнетом и киберпреступностью. Но сейчас ситуация полностью изменилась. Анонимность стала базовым правилом информационной гигиены, когда все находятся под наблюдением.
Читать дальше →
Всего голосов 92: ↑89 и ↓3+86
Комментарии236

Пол Грэм: Каким способом в современном мире люди становятся очень богатыми

Время на прочтение10 мин
Количество просмотров28K
image

Ежегодно‌ ‌с‌ ‌1982‌ ‌года‌ ‌журнал‌ ‌Forbes‌ ‌публикует‌ ‌список‌ ‌самых‌ богатых‌ ‌Американцев.‌ ‌Если‌ ‌мы‌ ‌сравним‌ ‌100‌ ‌самых‌ ‌богатых‌ людей‌ ‌в‌ ‌1982‌ ‌году‌ ‌со‌ ‌100‌ ‌самыми‌ ‌богатыми‌ ‌в‌ ‌2020‌ ‌году,‌ ‌мы‌ ‌
заметим‌ ‌некоторые‌ ‌большие‌ ‌различия.

В 1982 году наиболее частым источником богатства являлось наследство. Из 100 самых богатых людей, 60 являлись наследниками. Более того, 10 из них были наследниками семьи du Pont. Уже к 2020 году число унаследовавших состояние сократилось наполовину, теперь насчитывая только 27 из 100.

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

Как люди зарабатывают новые состояния? Примерно 3/4 путем создания компаний и 1/4 путем инвестирования. Из 73 новых состояний в 2020 году 56 связаны с собственным капиталом учредителей или первых сотрудников (52 учредителя, 2 ранних сотрудника и 2 жены основателей), а 17 — благодаря управлению инвестиционными фондами.

Среди 100 богатейших американцев в 1982-м году не было управляющих фондами. Хедж фонды и фонды прямых инвестиций уже существовали, но ни один из их основателей не попал в топ 100. Две вещи изменилось: Управляющие фондами нашли способы генерировать высокие прибыли и больше инвесторов стали готовы доверять свои деньги в управление. [1]

Но главный источник новых состояний сейчас — это создание компаний, и если вы посмотрите на данные, то увидите и там большие изменения. Люди становятся богаче, создавая компании сейчас, чем в 1982 году, потому что компании делают разные вещи.
Читать дальше →
Всего голосов 35: ↑28 и ↓7+21
Комментарии18

Коммиты — это снимки, а не различия

Время на прочтение14 мин
Количество просмотров46K

Git имеет репутацию запутывающего инструмента. Пользователи натыкаются на терминологию и формулировки, которые вводят в заблуждение. Это более всего проявляется в "перезаписывающих" историю командах, таких как git cherry-pick или git rebase. По моему опыту, первопричина путаницы — интерпретация коммитов как различий, которые можно перетасовать. Однако коммиты это не различия, а снимки! Я считаю, что Git станет понятным, если поднять занавес и посмотреть, как он хранит данные репозитория. Изучив модель хранения данных мы посмотрим, как новый взгляд помогает понять команды, такие как git cherry-pick и git rebase.

Читать далее
Всего голосов 48: ↑42 и ↓6+36
Комментарии55
1

Информация

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