How to become an author
.NET Knowledge Base
  • All streams
  • Development
  • Administrating
  • Design
  • Management
  • Marketing
  • PopSci
Log in Sign up
163.2
Karma
0.0
Rating
38
Followers
21
Following

Dmitry Baranovskiy DmitryBaranovskiy

User

Profile

Posts 1

Comments 236

Bookmarks 3

  • Как мы отранжировали девять миллионов разработчиков на Github
    36
    DmitryBaranovskiy
    March 8, 2017 at 12:39 PM
    +13
    Это, конечно, приятно, но пролистав ту же сотню без удивления обнаружил многие несоответствия. Это как по рейтингу певцов оценивать их голосовые данные. Популярность песен и уровень вокала совсем не обязательно находятся в зависимости.

    Если твоя песня называется React, то знать что такое замыкание не обязательно.
  • 10 привычек довольного node.js разработчика
    50
    DmitryBaranovskiy
    February 24, 2016 at 06:51 AM
    0
    Присоединяюсь к совету. :)
  • Evil Icons: как мы изобретали SVG-иконки
    55
    DmitryBaranovskiy
    December 16, 2014 at 11:01 AM
    0
    Немного уточню:
    Raphaël.js был написан для трансляции SVG в VML.
    Не совсем так. Raphaël предоставлял адаптер и его API было в большинстве скопировано с SVG для удобства.
  • Продвинутое использование объектов в JavaScript
    29
    DmitryBaranovskiy
    October 28, 2014 at 11:46 AM
    0
    Ну, это в теории, а на практике багов и непоняток хватает и так, особенно в незнакомом коде.
  • Несколько интересностей и полезностей для веб-разработчика (выпуск 6)
    9
    DmitryBaranovskiy
    October 27, 2013 at 05:28 AM
    +3
    Я вообще на Хабр как бы не пишу и захожу редко, а то вдруг в карму нагадят и как дальше жить?
  • SVG.js — достойный конкурент Raphaël
    74
    DmitryBaranovskiy
    September 27, 2013 at 10:20 AM
    0
    Задача Raphaël была создать кроссбраузерное решение. А именно поддерживать IE6 и выше. Для нервных напоминаю, что это было в 2008 году. Да и сейчас IE8 живее всех живых, как бы вам и мне не хотелось бы обратного. В данном контексте не пойму о какой конкуренции идёт речь.

    Если уж вы упоминаете Raphaël в названии, да ещё и в негативном ключе, то неплохо было бы увидеть сравнительный анализ. Иначе как-то некрасиво получается, дорогой автор.
  • О личном опыте программирования в транспорте, макдональдсе и прочих людных и шумных местах
    136
    DmitryBaranovskiy
    February 23, 2013 at 04:26 AM
    0
    Истинно так. :)
  • Знакомство с SVG-графикой
    97
    DmitryBaranovskiy
    November 8, 2012 at 03:13 AM
    +2
    Raphaël назван в честь известного художника ренесанса и произносится Рафаэль. Диарезиз в название добавлен для англоязычных читателей, чтобы они не читали “ae” как один звук.

    Вообще не стоит заморачиваться, как произносит большинство, так и правильно. Мало кто поймёт у нас что «найки» и «эдоби» это на самом деле Nike и Adobe. ;)
  • JavaScript для начинающих — как учить?
    72
    DmitryBaranovskiy
    July 20, 2012 at 11:50 AM
    0
    Вы опоздали на четыре года. Всего-то.
  • Сложный SVG на клиенте и сервере
    18
    DmitryBaranovskiy
    April 7, 2012 at 04:19 PM
    0
    Было бы интересно посмотреть насколько изменится скорость отрисовки при переходе на Raphaël 2.1.0
  • Сложный SVG на клиенте и сервере
    18
    DmitryBaranovskiy
    April 7, 2012 at 04:14 PM
    +1
    SVG не тормозной, просто для определённых задач наличие DOM — это плюс, а для других — минус. И Canvas, и SVG замечательные технологии со «страшными» API.
  • Пять способов вызвать функцию
    84
    DmitryBaranovskiy
    May 27, 2011 at 06:08 AM
    0
    Действительно, был неправ. Подмена прототипа закрывает все дыры. Остаются только нативы типа Number, но ими можно пренебречь. :)
  • Пять способов вызвать функцию
    84
    DmitryBaranovskiy
    May 27, 2011 at 05:39 AM
    0
    Что оно? И что такое «примитивные объекты»?
  • Пять способов вызвать функцию
    84
    DmitryBaranovskiy
    May 27, 2011 at 05:18 AM
    0
    Ну я могу написать функцию которая будет по разному себя вести в зависимости от того как она вызывается, как конструктор или как функция.

    Я к тому, что решение хорошее, но небезупречное. Это как if (a instanceof Array), в большинстве случаев сработает…
  • Пять способов вызвать функцию
    84
    DmitryBaranovskiy
    May 27, 2011 at 03:45 AM
    0
    String? Number? Boolean? :)
  • Пять способов вызвать функцию
    84
    DmitryBaranovskiy
    May 26, 2011 at 05:58 AM
    0
    Извиняюсь, неправильно понял.
  • Пять способов вызвать функцию
    84
    DmitryBaranovskiy
    May 26, 2011 at 05:56 AM
    0
    Тем не менее, это всё равно hack который не сработает для «нативных» конструкторов.
  • FAQ по JavaScript: задавайте вопросы
    215
    DmitryBaranovskiy
    May 25, 2011 at 05:22 AM
    0
    Может так и можно, не уверен, но конкретно GMail GWT не пользуется. А Wave, в свою очередь, пользуется. Я просто уточнил.
  • FAQ по JavaScript: задавайте вопросы
    215
    DmitryBaranovskiy
    May 25, 2011 at 05:05 AM
    0
    Не наливают, вот и не пью.
  • FAQ по JavaScript: задавайте вопросы
    215
    DmitryBaranovskiy
    May 25, 2011 at 04:40 AM
    0
    gmail использует Google Closure, а не GWT.
  • FAQ по JavaScript: задавайте вопросы
    215
    DmitryBaranovskiy
    May 25, 2011 at 03:50 AM
    0
    Не надо на меня рассчитывать. Я не специалист по ExtJS.
  • Пять способов вызвать функцию
    84
    DmitryBaranovskiy
    May 24, 2011 at 09:52 AM
    +2
    Какого метода?
    Говорить, что всё объекты — это то же самое что говорить, что киты и дельфины это рыбы. Так оно может и проще рассуждать, только это неправда и в приведённом вами коде это явно видно.
  • Пять способов вызвать функцию
    84
    DmitryBaranovskiy
    May 24, 2011 at 09:38 AM
    0
    Примитивы может и не нужны, во многих языках их нет и всё в порядке. Стоит понимать разницу между примитивами и объектами и не валить всё в одну кучу.
    Обратите внимание, что даже null и undefined могут быть сведены к Number. Это дает нам полное право утверждать, что всякая структура данных выражается числом. То же верно и про строку и про boolean.

    {valueOf: function () { return 6; }} / 2 === 3

    это то же самое что

    «habr».length === 4

    оператор преобразовал значение в нужный нам тип чтобы разделить его на два или взять свойство length.
  • Пять способов вызвать функцию
    84
    DmitryBaranovskiy
    May 24, 2011 at 09:25 AM
    0
    Никак :(
  • Пять способов вызвать функцию
    84
    DmitryBaranovskiy
    May 24, 2011 at 09:21 AM
    0
    В последнем предложении вы что-то намудрили…
  • Пять способов вызвать функцию
    84
    DmitryBaranovskiy
    May 24, 2011 at 05:02 AM
    +2
    Чем не угодил valueOf()? Проблема в том что object → boolean всегда true.
  • Пять способов вызвать функцию
    84
    DmitryBaranovskiy
    May 24, 2011 at 05:00 AM
    0
    Примитивы преобразуются в объекты с помощью дот-оператора, а объекты преобразуются в примитивы при помощи операторов +, -, <, >, !, etc.

    Говорить, что всё в JS объекты (или преобразуются в объекты) — это всё равно что говорить что всё числа (или преобразуются в числа).

    Не смущайте новичков.
  • Пять способов вызвать функцию
    84
    DmitryBaranovskiy
    May 24, 2011 at 04:40 AM
    +4
    Самый короткий это >0
    console.log(new Boolean(false) > 0);
  • Разработка мультитач веб-приложений
    14
    DmitryBaranovskiy
    April 29, 2011 at 03:30 AM
    +1
    Sencha Touch не стоит ни копейки. www.sencha.com/products/touch/license/
  • Визитка — прямой канал коммуникации
    233
    DmitryBaranovskiy
    April 7, 2011 at 03:50 AM
    0
    Так оно и есть сейчас. Буквально через неделю после того как отдал визитки в печать сменил адрес на доменный.
  • Визитка — прямой канал коммуникации
    233
    DmitryBaranovskiy
    April 6, 2011 at 01:07 PM
    +7
    HTML не язык программирования. Но первая визитка всё-таки программиста ;) Просто визитка с JSON-ом смотрелась как-то скучнее.
  • Визитка — прямой канал коммуникации
    233
    DmitryBaranovskiy
    April 6, 2011 at 12:56 PM
    +23
    Кстати, я всё-таки программист. ;)
  • Оператор запятая
    49
    DmitryBaranovskiy
    April 6, 2011 at 02:06 AM
    0
    Вот как полезно писать «забавные» твиты, оказывается. :)
  • Опасности необязательных аргументов в JavaScript
    67
    DmitryBaranovskiy
    March 3, 2011 at 12:46 AM
    0
    Немного резко, но в целом я согласен. Проблема высосана из пальца.
    ["1", "2", "3"].map(parseInt) работает не так как кому-то ожидалось. А ["1", "2", "3"]["0", "1", "2"] работает ещё более непредсказуемо. И что? Если вы пользуетесь методом не зная как он работает, то это не проблема языка — это ваша проблема.
  • jCanvaScript: JavaScript библиотека для работы с html5 canvas
    78
    DmitryBaranovskiy
    February 21, 2011 at 09:36 AM
    0
    Вот только SVG в десять раз тормознее, чем Canvas на определённых задачах. А на других задачах всё с точностью до наоборот. Давайте действительно, без фанатизма.
  • jCanvaScript: JavaScript библиотека для работы с html5 canvas
    78
    DmitryBaranovskiy
    February 21, 2011 at 06:04 AM
    0
    Я понимаю, что вас задолбали, но это не повод отвечать столь агрессивно на довольно-таки невинные вопросы:
    «Вот только SVG в десять раз тормознее, чем Canvas»
    «SVG — тормозилово.»
    «Демонстрация убогости платформы.»

    (Не нужно так полагаться на тест Камерона. Можно создать тест при котором SVG и Canvas покажут противоположные результаты.)

    и отдельное спасибо за
    «Но лично у меня (Raphaël) ассоциируется только с зависшим браузером.»
  • jCanvaScript: JavaScript библиотека для работы с html5 canvas
    78
    DmitryBaranovskiy
    February 21, 2011 at 02:03 AM
    –1
    Не надо сравнивать яблоки и апельсины. Сравните задачи и решения. Какую задачу решает библиотека А? Если уже есть библиотека Б, которая решает ту же задачу, то как А решает её лучше?

    Не надо опускаться до «обсирания» чужой работы. Люди, реализующие SVG тэг <animate> в браузерах, не заслуживают этого.

    И ещё, когда спорите о скорости, не забывайте, что IE6 всё ещё живее всех живых. ;)
  • Comment from a drafted post.
  • Всё, что надо знать о точке с запятой
    84
    DmitryBaranovskiy
    January 11, 2011 at 02:56 AM
    0
    В данном случае ~~ вообще бессмысленнен, но самое главное, что
    parseInt("12px") → 12
    ~~"12px" → NaN
    
    var o = {toString: function(){return "5";}, valueOf: function(){return 3;}};
    parseInt(o) → 5
    ~~o → 3

    Я просто придираюсь к словам. Уверен, что вы понимаете разницу, но не нужно смущать тех, что не понимает.
  • Всё, что надо знать о точке с запятой
    84
    DmitryBaranovskiy
    January 11, 2011 at 02:34 AM
    0
    ~~ не равносильно parseInt, а так всё правильно.
  • ← here
  • there →
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

Info

  • Rating 5,910–th
  • Date of birth December 6, 1978
  • Activity 7/3/20, 10:57 AM
  • Registered November 20, 2006

Your account

  • Log in
  • Sign up

Sections

  • Posts
  • Hubs
  • Companies
  • Users
  • Sandbox

Info

  • How it works
  • For Authors
  • For Companies
  • Documents
  • Agreement
  • Terms of service

Services

  • Ads
  • Subscription plans
  • Content
  • Seminars
  • Megaprojects
© 2006 – 2021 «Habr»
Language settings
About
Support
Mobile version
Language settings
Interface
Content