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

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

Send message

Дженерики в TypeScript

Reading time10 min
Views145K

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

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

Перестать везде использовать тип "any"
Total votes 49: ↑48 and ↓1+52
Comments16

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

Reading time6 min
Views18K
image

Введение


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

image

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

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

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

Reading time6 min
Views4.6K


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

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

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

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

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

Reading time25 min
Views28K


О чем это


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

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

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


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


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

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

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

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

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

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

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

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

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

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

Reading time16 min
Views69K
Такой движок JS, как V8 (Chrome, Node) от Google, заточен для быстрого исполнения больших приложений. Если вы во время разработки заботитесь об эффективном использовании памяти и быстродействии, вам необходимо знать кое-что о процессах, проходящих в движке JS браузера.

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

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



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

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

Reading time7 min
Views13K
Приветствую вас, уважаемое Хабрасообщество. Привлечение и удержание клиентов – важнейшие задачи бизнеса. Поэтому хочу поделиться с вами переводом материала, написанного Робом Уоллингом. Информация окажется полезной как для стартапов, так и для тех, кто уже добился определенных результатов. .

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

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

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

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

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

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

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

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

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

Reading time9 min
Views11K
image

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

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

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

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

Ставим PHP на iPhone

Reading time2 min
Views5.3K
Сразу возникает вопрос, для чего это нужно. И сразу ответ: просто побаловаться. Но как 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
Comments82

Augmented Reality

Reading time1 min
Views3.4K
Технологии «дополненной реальности» (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
Comments25

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

Reading time1 min
Views66K
Взято отсюда специально для хабра. Возможно, в некоторых из ситуаций вы узнаете себя.

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



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



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

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

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

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

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

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

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

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

image

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

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

Reading time1 min
Views2.3K
Мною был организован опрос среди опытных SEOшников на тему сабжа. Надеюсь — оцените.

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



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

Читать дальше →
Total votes 157: ↑137 and ↓20+117
Comments99

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

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

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

Краткий обзор лучших средств для построения графиков и диаграмм.

Reading time1 min
Views3.7K
Из всех наведенных примеров мне больше всего понравился Open Flash Chart. Который я заслужено поставил на первое место. Все остальные, мне показались тоже не плохими но для работы я выбрал именно Open Flash Chart.
Open Flash Chart – FLASH компонент для построения диаграмм. Он имеет много настроек и легко взаемодействует с PHP, Perl, Python, Java, Ruby on Rails, and .Net. Также может читать данные с .txt файлов.

смотреть другие скрипты для построения графиков и диаграмм
Total votes 21: ↑21 and ↓0+21
Comments14

Эксперимент №1. Сколько орешков в тарелке?

Reading time1 min
Views6.8K
Для тех кто пропустил вчерашнее обсуждение книги «Мудрость толпы», можно ознакомиться здесь.

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

Прошу навскидку оценить сколько орешков лежит в тарелке (это не ваза) и указать это в комменте. По возможности, перед ответом, не смотрите что отвечали другие.

Когда наберется (если вообще наберется) хотябы 100 ответов, я посчитаю среднее арифметическое всех ответов и сравню с правильным ответом. Теоретически, если верить книге, и если эксперимент
не слишком грубый, средний ответ должен быть очень близким к верному. Пожалуйста, отвечайте серьезно и не пишите заведомо неправильных ответов (0, 100000, итп)



UPD: Не минусуйте, дайте состояться эксперименту ;) Для тех кто задает себе вопрос, какое отношение все это имеет к IT: почитайте, пожалуйста, ссылку на обсуждение книги

UPD: Эксперимент завершен! В тарелке было ровно 135 орешков. Хотя каждый по-отдельности давал, как правило, сильно отличающийся результат, среднее арифметическое получилось: 139.28!! Всего было 257 ответов. Дубликаты (несколько ответов от одного пользователя) и «9999999» я не считал. Результат очень интересный, будем продолжать экспериментировать. Правда, этот топик почему-то стоил мне кармы — тоже, наверное, проявление коллективной мудрости :)
Total votes 412: ↑342 and ↓70+272
Comments530
1
23 ...

Information

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