Pull to refresh
46
0
Кирилл Мурашов @xxicb

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

Дженерики в TypeScript

Reading time 10 min
Views 77K
TINKOFF corporate blog Website development *JavaScript *TypeScript *

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

Эта статья для тех, кто не использует generic-типы в TypeScript: не знают о них, боятся использовать или используют вместо реальных типов — any.

Перестать везде использовать тип "any"
Total votes 54: ↑53 and ↓1 +52
Comments 15

Визуализация генеративных алгоритмов: гифа, деревья, повторяющиеся и дифференциальные линии (на Python)

Reading time 6 min
Views 17K
Python *Algorithms *Data visualization *Graphic design *Design
Tutorial
Translation
image

Введение


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

image

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

Иногда мне удается воссоздать явление, которое я собирался создать, а иногда — нет. Чаще всего я получаю нечто интересное, даже если это не всегда то, что было задумано.
Осторожно, тяжелые красивые картинки
Total votes 73: ↑73 and ↓0 +73
Comments 6

Как вывести стартап на зарубежные рынки во время карантина: Reddit, Product Hunt, ресурсы в Латинской Америке

Reading time 6 min
Views 4.4K
Internet marketing *Start-up development


Изображение: Unsplash

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

Последние несколько лет я живу в США и активно занимаюсь изучением вариантов продвижения компаний здесь и на рынках Латинской Америки. В результате накопился определенный опыт, список полезных инструментов и подходов, которым я поделюсь в этой статье. Важный момент – все описанные действия происходит исключительно онлайн, что немаловажно в последнее время.

Материал рассчитан на руководителей проектов, которые хотят в условиях ограниченного бюджета и не очень приятных перспектив на родном рынке протестировать спрос за рубежом и, в идеале, поддержить бизнес валютной выручкой. Пост получился большой, надеюсь, будет полезно. Поехали!
Читать дальше →
Total votes 21: ↑21 and ↓0 +21
Comments 2

Краткий путеводитель по математике для иностранцев

Reading time 25 min
Views 27K
Mathematics *Popular science


О чем это


А как можно на четвёртом десятке и с аверсией к алгебре наверстать требуемый материал первых курсов университета?

Безумству храбрых поем мы песню!

Целевой аудиторией Путеводителя являются те, кто внезапно заинтересовался математикой или чувствует потребность повысить свою профессиональную эффективность, но по какой-либо причине не имеет возможности отдать несколько лет своей жизни академическому образованию. Если у вас возникла потребность разобраться, но фундаментальных знаний катастрофически не хватает, и вы чувствуете себя иностранцем в стране математики, где говорят на непонятном языке, попробуйте пройти этот путь в качестве туриста. Весь маршрут представляет собой обзорную экскурсию и рассчитан на несколько дней, максимум две недели. Для сравнения: полный академический курс составляет около пяти лет. Конечной целью предлагаемого маршрута является знакомство с принципами одного узкоспециального раздела — эллиптической криптографии. Однако до конца идти не обязательно, если этот раздел лежит вне сферы ваших интересов или вы столкнулись с серьезными трудностями или опасностями. Но, раз уж вы взяли в руки Путеводитель, всё же постарайтесь дойти хотя бы до конца раздела «Язык формул».


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


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

Читать дальше →
Total votes 83: ↑78 and ↓5 +73
Comments 35

Map-Reduce на примере MongoDB

Reading time 5 min
Views 60K
NoSQL *MongoDB *Big Data *
Sandbox
В последнее время набирает популярность семейство подходов и методологий обработки данных, объединенных общими названиями Big Data и NoSQL. Одной из моделей вычислений, применяемых к большим объемам данных, является технология Map-Reduce, разработанная в недрах компании Google. В этом посте я постараюсь рассказать о том, как эта модель реализована в нереляционной СУБД MongoDB.

Что касается будущего нереляционных баз вообще и технологии Map-Reduce в частности, то на эту тему можно спорить до бесконечности, и пост совершенно не об этом. В любом случае, знакомство с альтернативными традиционным СУБД способами обработки данных является полезным для общего развития любого программиста, так же как, к примеру, знакомство с функциональными языками программирования может оказаться полезным и для программистов, работающих исключительно с императивными языками.

Нереляционная СУБД MongoDB представляет данные в виде коллекций из документов в формате JSON и предоставляет разные способы обработки этих данных. В том числе, присутствует собственная реализация модели Map-Reduce. О том, насколько целесообразно применять именно эту реализацию в практических целях, будет сказано ниже, а пока ограничимся тем, что для ознакомления с самой парадигмой Map-Reduce эта реализация подходит как нельзя лучше.

Итак, что же такого особенного в Map-Reduce?
Читать дальше →
Total votes 66: ↑60 and ↓6 +54
Comments 8

Справочник методов console в JS

Reading time 6 min
Views 33K
JavaScript *API *
Со времён систематизации методов объекта console прошло достаточно много времени, некоторые браузеры получили поддержку недостающих ранее методов. Таблица вызывает естественный интерес у разработчиков, поэтому — почему бы её не обновить, дополнив в одной статье описаниями? Github.
Читать дальше →
Total votes 44: ↑40 and ↓4 +36
Comments 12

Пишем быстрый и экономный код на JavaScript

Reading time 16 min
Views 68K
JavaScript *Programming *Client optimization *
Translation
Такой движок JS, как V8 (Chrome, Node) от Google, заточен для быстрого исполнения больших приложений. Если вы во время разработки заботитесь об эффективном использовании памяти и быстродействии, вам необходимо знать кое-что о процессах, проходящих в движке JS браузера.

Что бы там ни было — V8, SpiderMonkey (Firefox), Carakan (Opera), Chakra (IE) или что-то ещё, знание внутренних процессов поможет вам оптимизировать работу ваших приложений. Но не призываю вас оптимизировать движок для одного браузера или движка – не делайте так.

Задайте себе вопрос:
— можно ли что-то в моём коде сделать более эффективным?
— какую оптимизацию проводят популярные движки JS?
— что движок не может компенсировать, и может ли сборка мусора подчистить всё так, как я от неё ожидаю?



Есть много ловушек, связанных с эффективным использованием памяти и быстродействием, и в статье мы изучим некоторые подходы, которые хорошо показали себя в тестах.
Читать дальше →
Total votes 78: ↑72 and ↓6 +66
Comments 29

Маркетинг стартапа: Клиент, исчезнувший на дне воронки и Почему уделять слишком много внимания трафику опасно для вашего бизнеса

Reading time 7 min
Views 13K
SaaS / S+S *
Translation
Приветствую вас, уважаемое Хабрасообщество. Привлечение и удержание клиентов – важнейшие задачи бизнеса. Поэтому хочу поделиться с вами переводом материала, написанного Робом Уоллингом. Информация окажется полезной как для стартапов, так и для тех, кто уже добился определенных результатов. .

Часть 1: Клиент, исчезнувший на дне воронки

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

Читать дальше →
Total votes 30: ↑22 and ↓8 +14
Comments 9

Как мы поднимали службу доставки

Reading time 8 min
Views 42K
History of IT
imageМой небольшой рассказ о том, как развивался проект ekipazh-service.com.ua, запущенный как дополнительный заработок компании такси, а в итоге получивший инвестиции от крупного инвестиционного фонда, превратившись в основной бизнес. С какими проблемами пришлось столкнуться, как развивался сайт, и как я начинал работать с сайтом в качестве фрилансера, а в результате устроился в компанию на работу.
Читать дальше →
Total votes 97: ↑90 and ↓7 +83
Comments 41

Подключение Paypal

Reading time 7 min
Views 5.6K
Lumber room
Вобщем поставили передо мной на работе задачу организовать прием платежей в наш проект через Paypal. От меня требовалось дать все необходимые данные для настройки аккаунта (сам аккаунт настраивался другим человеком), ну и, собственно, написать скрипт, который и будет принимать данные от paypal-а и начислять деньги юзерам.

Ничего толкового по этой теме на хабре я не нашел. Пришлось разбираться со всем самому. Ниже – результаты этих разбирательств:)
Читать дальше →
Total votes 49: ↑41 and ↓8 +33
Comments 40

Как достичь профессионального вида с помощью цвета

Reading time 9 min
Views 11K
Design
Translation
image

Что заставляет дизайн выглядеть скоординированным, спланированным и профессиональным? Ответ: 'цвет'.

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

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

В этой статье мы будем делать обзор некоторых методик, чтобы достигнуть красивого сочетания цвета для Ваших проектов в сети.
Читать дальше →
Total votes 194: ↑167 and ↓27 +140
Comments 38

Ломаем каптчу Яндекса

Reading time 5 min
Views 57K
Artificial Intelligence
На прошлой неделе был топик «Ломаем капчу» — каптча там была довольно простая, но в комментариях предложили сломать каптчу Яндекса. Мне эта идея показалась интересной, и я решил попробовать.



Читать дальше →
Total votes 402: ↑394 and ↓8 +386
Comments 301

Ставим PHP на iPhone

Reading time 2 min
Views 4.8K
Smartphones
Сразу возникает вопрос, для чего это нужно. И сразу ответ: просто побаловаться. Но как 2 варианта использования:
1) Таскать сайт, который всегда с собой, чтобы кому-то показать.
2) Разработка ПО для самого iPhone в связке с PhoneGap. PhoneGap — это SDK для разработки приложений на JS с использованием акселерометра, GEO location и т.д. То есть вместо Objective C мы можем использовать JavaScript. И AJAX. И PHP/Python/Ruby.
Это будет необрезанный PHP, за единственным исключением: в виде СУБД тут может быть использован только sqlite(в том числе и через PDO).
Вот как это будет выглядеть в итоге:

И еще: вместе с PHP можно установить Python и Ruby. А тут уж и до Django недалеко(не знаю насчет ROR).
Приступим к установке.
Читать дальше →
Total votes 115: ↑100 and ↓15 +85
Comments 82

Augmented Reality

Reading time 1 min
Views 3.3K
AR and VR
Технологии «дополненной реальности» (augmented reality) еще могут быть и сыроваты для «серьезных» приложений, но в развлекательных, образовательных и рекламных целях их уже активно используют. Благодаря чему у нас есть, чем развелчься в остаток рабочего дня в пятницу.



Например, GE Energy на своем сайте, посвященном энергосберегающим решениям Smart Grid, предлагает две «игрушки» с использованием augmented reality.

Если у вас есть под рукой вебкамера и принтер, то нужно просто:
(1) зайти на сайт Plug Into the Smart Grid
(2) распечатать страницу с «цифровой голограммой»
(3) открыть одно из двух приложений:
Wind Turbine
Solar Power
(4) разрешить флэшу использовать камеру и микрофон
(5) показать страницу камере (в случае с ветряком — можно еще подуть в микрофон)

Ну а если вебкамеры нет — то можно просто посмотреть ролик:
Читать дальше →
Total votes 57: ↑54 and ↓3 +51
Comments 25

Как веб-дизайн катится прямо в Ад

Reading time 1 min
Views 54K
Web design *
Забавный и весьма жизненный комикс Мэтью Иннмана «How a web design goes straight to Hell» уже несколько раз упоминался на Хабрахабре в разных топиках, и наверное многие хабралюди уже с ним знакомы. Мы с моей коллегой, Юлей Лисевич (у нее пока нет акаунта на Хабре) решили сделать его перевод на русский язык. Зачем? Те, кому ежедневно приходится сталкиваться с ситуациями, подобными описанным в комиксе, смогут показать его заказчикам. Возможно это поможет им найти общий язык. :) Итак…

Как веб-дизайн катится прямо в Ад
Читать дальше →
Total votes 427: ↑389 and ↓38 +351
Comments 169

Жизнь разработчика (в картинках)

Reading time 1 min
Views 64K
Website development *
Взято отсюда специально для хабра. Возможно, в некоторых из ситуаций вы узнаете себя.

Когда я показываю босу, что окончательно пофиксил баг



Когда проджект-менеджер входит в офис



Читать дальше →
Total votes 884: ↑700 and ↓184 +516
Comments 132

Правило пирамиды

Reading time 5 min
Views 9K
Copyright
Правило пирамидыУ вашего нового сайта современный актуальный дизайн. Пуленепробиваемая верстка. Хрустально чистый код, способный в легкую держать 50 000 уников. Осталось только написать ясные и четкие тексты.

Это правило поможет вам. Не смотря на то, что оно простое, оно очень эффективно.

Стив Круг и Якоб Нильсен учат нас: если пользователь быстро не понял, нужна ли ему информация – он уйдет. Текст будет прочитан очень бегло, буквально одно-два предложения.

Как правильно составить текст для сайта? Что поставить вперед, а что приберечь на потом? Когда я впервые задался этим вопросом, мой отец, в прошлом журналист ТАСС, рассказал о правиле пирамиды. Его, в свое время, научили коллеги из BBC (Би-би-си, а не вэ-вэ-эс, если что).
Правило пирамиды и примеры
Total votes 170: ↑162 and ↓8 +154
Comments 55

Бизнес, который переживет кризис или новый взгляд на соц. сети

Reading time 9 min
Views 712
Lumber room
Предисловие: Вчера встречался с одним замечательным человеком, который попросил опубликовать его статью.
Цель: оценка и проверка реакции…

image

Читать дальше →
Total votes 107: ↑72 and ↓35 +37
Comments 72

Важность факторов, влияющих на ранжирование сайта в Яндексе

Reading time 1 min
Views 2.1K
Search engine optimization *
Мною был организован опрос среди опытных SEOшников на тему сабжа. Надеюсь — оцените.

Факторы с важностью по 10-и бальной шкале в картинках (чем больше — тем важнее):



Остальные графики спрятал под кат.

Читать дальше →
Total votes 161: ↑139 and ↓22 +117
Comments 99

Макинтош без мышки

Reading time 3 min
Views 16K
Software
Статья будет больше интересна маководам, особенно начинающим. Надеюсь, что кому-нибудь пригодится. Будет ещё и вторая часть про ввод текста, если эта понравится.

Мышь компьютерная — такой удобный девайс для тырканья в разные элементы интерфейса, но тыркать в них можно и без помощи мыши. Кстати, иногда это гораздо удобнее, чем перемещать руку с клавиатуры на мышь и обратно. Достаточно запомнить нужные комбинации клавиш и научить себя их использовать.
Попробуйте, и будет вам щасте
Total votes 92: ↑76.5 and ↓15.5 +61
Comments 61

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity