Pull to refresh
29
0
Александр Королев @alex_29

Программист

Send message

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

Reading time11 min
Views35K

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.

Читать дальше →
Total votes 35: ↑30 and ↓5+25
Comments1

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

Reading time7 min
Views63K

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



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


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


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

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

message.toLowerCase()

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

message()

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


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


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

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

Читать дальше →
Total votes 35: ↑30 and ↓5+25
Comments18

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

Level of difficultyMedium
Reading time6 min
Views30K

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

К изучению
Total votes 20: ↑16 and ↓4+12
Comments12

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

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

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

image
Читать дальше →
Total votes 107: ↑27 and ↓80-53
Comments192

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

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

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

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

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

Итак, поехали.
Читать дальше →
Total votes 46: ↑43 and ↓3+40
Comments135

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

Reading time9 min
Views123K

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

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

Reading time12 min
Views17K

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

Узнай сейчас!
Total votes 26: ↑23 and ↓3+20
Comments121

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

Reading time8 min
Views61K

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

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

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments5

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

Reading time4 min
Views67K


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


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

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

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


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

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

Reading time7 min
Views22K

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

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

Приятного чтения
Total votes 6: ↑6 and ↓0+6
Comments1

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

Reading time2 min
Views2.6K

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

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments18

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

Reading time4 min
Views20K

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

Читать далее
Total votes 33: ↑32 and ↓1+31
Comments72

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

Reading time4 min
Views29K


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

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

Reading time10 min
Views20K


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

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


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


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


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


Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments11

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

Reading time20 min
Views64K

Привет Хабр!

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

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments13

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

Reading time9 min
Views43K
image

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

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

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

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

Reading time6 min
Views55K

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

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

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

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

Reading time10 min
Views28K
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 году, потому что компании делают разные вещи.
Читать дальше →
Total votes 35: ↑28 and ↓7+21
Comments18

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

Reading time14 min
Views46K

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

Читать далее
Total votes 48: ↑42 and ↓6+36
Comments55
1

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity