Pull to refresh
1
0.1
Александр Ветчинкин @Alexander_Front-end

Frontend developer

Send message

Есть только 5 способов создать компанию стоимостью более 100 млрд.$. Какие?

Reading time13 min
Views12K

Какие тектонические силы создают по-настоящему успешные технологические компании? Я проанализировал причины успеха компаний с капитализацией свыше 100 млрд.$ и выделил для себя пять моделей, которые отличают данные фирмы от всех остальных. Об этом и будет данная статья.

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

Разница в том, как именно данные компании победили в конкурентной борьбе и создали достаточный барьер, чтобы отгородиться от новых конкурентов и закрыть “окно” для входа других предпринимателей. 

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

Итак, перечислим данные стратегии/эффекты.

Читать далее
Total votes 19: ↑15 and ↓4+14
Comments16

Реализация сапёра в 100 строках чистого Ruby

Level of difficultyMedium
Reading time7 min
Views5.2K

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

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

В нашем случае мы проделаем это на примере старого доброго «Сапёра». Помню, как играл в него на Windows XP ещё пацаном. Если и вы разделяете аналогичные воспоминания, то приветствую вас, мои друзья-миллениалы!
Читать дальше →
Total votes 31: ↑28 and ↓3+41
Comments5

Как за 30 минут улучшить свое резюме?

Level of difficultyEasy
Reading time3 min
Views22K

Если вы читаете это, то скорее всего, поиск нового (или даже первого) места работы вызывает стресс, требования в вакансиях на HeadHunter кажутся невыполнимыми,
а свое резюме не то что не хочется никуда отправлять — есть желание никогда его не открывать.

На старте карьеры каждый испытывает все эти чувства. Давайте начнем немного менять ситуацию с последнего пункта — резюме!

Да, мы не сможем за 30 минут повысить ваш опыт работы на 3 года, но даже в банальном оформлении своего резюме многие делают (или не делают) достаточно странные вещи.

Перейдем к пункту 0...

Меня зовут Дмитрий Иванов, я старший аналитик данных компании билайн, и первое правило хорошего резюме — это простота. Пока мы не идём на позицию ТОПа или вице-президента, давайте оставим излишний формализм за пределами того PDF-файлика, который вы будете рассылать рекрутёрам.

0. Пишите просто и понятно

Не надо делать делать из мухи (3 месяца работы в универской лаборатории) слона (оформить каждый тезис вашего курсача как отдельный научный проект). 3 месяца в лаборатории = 3 месяца в лаборатории. 

Читать далее
Total votes 29: ↑18 and ↓11+13
Comments22

JavaScript: структуры данных и алгоритмы. Часть 1

Level of difficultyMedium
Reading time33 min
Views8.8K


Привет, друзья!


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



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


Код, представленный в этой и других статьях серии, можно найти в этом репозитории.


Интересно? Тогда прошу под кат.

Читать дальше →
Total votes 19: ↑17 and ↓2+18
Comments1

Docker для фронтендера. Часть 1. Зачем?

Reading time5 min
Views30K

Привет, Хабр!


Несколько месяцев назад я выступал на конференции FrontendConf 2019 с докладом Docker для фронтендера и хотел бы сделать небольшую расшифровку доклада для тех, кто больше любит читать, а не слушать.



Приглашаю под кат всех веб-разработчиков, особенно фронтендеров.

Total votes 13: ↑12 and ↓1+18
Comments26

Примеры Telegram ботов для личных автоматизаций

Level of difficultyEasy
Reading time7 min
Views63K

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

Причем это будут не прям боты, а скорее способы использования telegram-bot-api для решения разных задач.

Читать далее
Total votes 37: ↑32 and ↓5+30
Comments81

TypeScript: паттерны проектирования. Часть 1

Reading time10 min
Views23K


Привет, друзья!


Представляю вашему вниманию перевод первой части серии статей, посвященных паттернам проектирования в TypeScript.


Спасибо Денису Улесову за помощь в переводе материала.


Паттерны (или шаблоны) проектирования (design patterns) описывают типичные способы решения часто встречающихся проблем при проектировании программ.


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

Читать дальше →
Total votes 21: ↑19 and ↓2+22
Comments41

«Финансово я на самом дне. Какой бизнес мне начать?»

Reading time8 min
Views10K

Этот заголовок я взял из видеоролика американского предпринимателя Алекса Хормози, который в свои ранние тридцать перевалил за сотню миллионов заработанных долларов и теперь рассказывает, как именно он этого добился, и раздаёт бесплатные советы.

Поначалу я скептически относился к материалам Алекса, т.к. от них отдавало инфоцыганщиной, но с каждым новым выступлением (а у этого парня трудно найти что-то короче 20 минут) проникался всё большим доверием к его словам. Эту статью пишу на основе его 24-минутного видеоролика под заголовком: «I'm Broke, What Business Do I Start?» (я вставил его внутрь статьи).

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

И, если верить Алексу, та схема, которую он предлагает, буквально гарантирует мне пять первых клиентов в результате её применения. Что ж, проверим!

Итак, поехали.

Читать далее
Total votes 28: ↑16 and ↓12+11
Comments39

Стоит ли игра свеч? Кратко о Single SPA (часть 1)

Level of difficultyHard
Reading time12 min
Views5.9K

О проектировании микросервисной архитектуры с использованием фреймворка Single SPA и технологиях, связанных с его использованием.

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

Коварные утечки памяти в React: как можно обжечься на useCallback и замыканиях

Reading time9 min
Views7K
image

Я работаю в Ramblr, это ИИ-стартап, где мы строим на React сложные приложения для аннотирования видео. Недавно мне попалась сложная утечка памяти, которая возникает при одновременном использовании замыканий JavaScript и хука useCallback в React. Поскольку я вырос на .NET, мне потребовалось немало времени, чтобы разобраться в происходящем. Поэтому я решил написать этот пост и рассказать вам, чему меня научила эта ситуация.
Читать дальше →
Total votes 14: ↑14 and ↓0+22
Comments24

12 сервисов для прокачки насмотренности и поиска идей от руководителя команды дизайна Selectel

Reading time5 min
Views4.3K

Привет, Хабр! Меня зовут Алина, я руководитель отдела дизайна в Selectel. Слышали когда-нибудь, что главное в нашей работе — вдохновение? Я тоже, поэтому в этой статье расскажу, какое место на самом деле оно занимает в дизайн-процессе наряду с насмотренностью и опытом. А еще — поделюсь конкретными источниками и подсказками из практики нашей команды, которые помогают создавать крутые визуалы каждый день.
Читать дальше →
Total votes 30: ↑29 and ↓1+37
Comments1

Анимация SVG-элемента path

Reading time5 min
Views122K
Думаю многие видели обзоры игровых консолей нового поколения от Polygon (Vox Media). Это те, где консоли отрисовывались в стиле blueprint'ов:

PlayStation 4

Обзоры выглядели круто, довольно необычно и ново. О том как реализована основная фишка обзоров — SVG анимация, как сделать нечто подобное самому, и какие ещё «секретные» возможности скрывает старый добрый SVG в плане анимации элемента path — можно узнать под катом.
Читать дальше →
Total votes 64: ↑62 and ↓2+60
Comments15

Багфикс человека: как фиксить баги, которые мешают работать

Reading time7 min
Views22K

Почему у людей не получается взять — и выполнить задачу? Откуда берутся заминки, неправильные оценки и прокрастинация? Почему люди не понимают друг друга, хотя вроде бы не дураки и общаются на одном языке?


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


image
Читать дальше →
Total votes 46: ↑43 and ↓3+40
Comments48

Перейди по ссылке, и я узнаю твой номер

Level of difficultyEasy
Reading time7 min
Views48K

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

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

Но что если вы не хотите оставлять свой номер на сайте, который просто открыли? Поговорим на примере одного из таких сервисов - dmp.one. Важно: автор рекомендует открывать этот адрес во вкладке инкогнито с включённым uBlock Origin с кастомными правилами (о них ниже), иначе есть риск попадания вашего телефона в базу.

Читать далее
Total votes 134: ↑132 and ↓2+162
Comments88

Мегагайд: культура работы с Git

Level of difficultyEasy
Reading time16 min
Views32K

Привет всем! Меня зовут Юля, я фронтенд-разработчик, наставник на курсах по JS и React и организатор профессионального сообщества Tbilisi JS. В Практикуме я помогаю студентам на курсе «React-разработчик».

За время работы в разных компаниях и над разными проектами я поняла, что Git — это не только (и не столько!) знание самой технологии и конкретных команд, но и определённая культура взаимодействия, практики, подходы, договорённости. Всё это помогает участникам команды лучше понимать друг друга и работать быстрее и чётче.

Поговорим как раз об этом — о том, что формирует культуру работы с Git: начнём с конвенций именования коммитов и закончим практиками работы в пуллреквесте. В конце статьи я поделюсь полезными ссылками на интерактивные обучалки, шпаргалки и гайды.

Читать далее
Total votes 36: ↑31 and ↓5+31
Comments22

Создаем веб-сайт, будто на дворе 1999 год

Level of difficultyEasy
Reading time16 min
Views37K

Задумывались ли вы когда-нибудь о том, как жилось веб-разработчикам 20+ лет назад, когда всемирная паутина была явлением совершенно новым, а чтобы войти в неё, приходилось некоторое время слушать специфические звуковые сигналы, JavaScript и CSS воспринимались скорее как диковинка, а не как привычные средства разработки веб-сайтов, а самым популярным браузером был Internet Explorer? Что ж, вероятнее всего, нет... Но, если у вас найдется несколько свободных минут и вы захотите разобраться в очередной бесполезной штуке — эта статья вас не разочарует!

Читать далее
Total votes 65: ↑64 and ↓1+83
Comments84

Почему вам не нужна версия для слабовидящих

Reading time12 min
Views14K

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

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

Читать далее
Total votes 28: ↑27 and ↓1+33
Comments18

Чёрная магия трансформов, или об оптимизации анимаций на CSS

Reading time4 min
Views9.4K

Иногда Frontend-разработчики сталкиваются с тем, что для оптимизации производительности нужно написать волшебное свойство translateZ(0) или will-change. Анимации перестанут зависать, ничего не будет лагать и мир станет чуть ярче. ✨

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

Память в браузерах и в Node.js: ограничения, утечки и нестандартные оптимизации

Reading time32 min
Views43K

Интро: почему я написал эту статью


Меня зовут Виктор, я разрабатываю страницу результатов поиска Яндекса. Несмотря на внешнюю простоту, поисковая выдача — сложная штука: на каждый запрос генерируется своя уникальная страница, на которой в зависимости от запроса может присутствовать блок Картинок, Карты, Переводчик, видеоплеер и многие другие компоненты. Все они должны запускаться и работать в памяти обычных бюджетных телефонов, которые использует большинство наших пользователей. Браузерам должно хватать ресурсов, чтобы пользователь не видел вот такого:



На своих серверах мы должны генерировать сотни миллионов уникальных страниц в сутки — это сложнее, чем просто отдавать одни и те же ресурсы. Генерация страницы не должна быть слишком требовательной к памяти сервера.


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


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

Искусство типизации: TypeScript Utility Types

Reading time4 min
Views60K

Что вы чувствуете от познания нового? За себя скажу, что в такие моменты просветления меня переполняет неподдельная детская радость от свершившегося открытия. Жаль, что этих моментов становится всё меньше. К чему я это? Когда мне в голову мне пришла мысль о написании статьи на эту тему, я сразу вспомнил то ощущение прозрения, которое испытал в момент открытия Utility Types. Всё сразу встало на свои места, и я понял какого кусочка пазла мне всё это время не хватало. Именно о нём я расскажу далее.

Читать далее
Total votes 8: ↑6 and ↓2+4
Comments2

Information

Rating
3,673-rd
Location
Россия
Date of birth
Registered
Activity

Specialization

Frontend Developer
Senior
TypeScript
React
JavaScript
HTML
CSS
Webpack
Redux