Как стать автором
Обновить
9
0
Trdat Mkrtchyan @wombtromb

Frontend developer

Отправить сообщение
с помощью софта для транзакционной памяти

Звучит очень коряво. Software transactional memory, SТМ, по-русски, обычно называют программная транзакционная память. Не мог не откомментить.
Не могу говорить за сообщество, но лично за себя ответ «да, мне неудобно».
Да я тоже не про скобки, я про то, что наличие функций как обьектов первого класса дает возможность строить элегантные конструкции, которые более идиоматичны для CL, чем цепочка вызовов. Хотя, усли вызовов двое, как в примере выше, то вприцнипе, ничего страшного нет и я сам регулярно так делаю. Но если действительно цепочка вызовов — то без композиции функций очень сложно понять кто что получает и кто что ожидает получить, особенно, если arity функций не всегда равен 1.

Все пишут справа налево, так здесь принято.


Вообще, тезис сильный. Я, например, стараюсь использовать композиции и частичное применение, привыкать к неудобному — не очень полезно.
Это скорее вопрос нотации.

toCustomize( toInstall(CL_IDE) )


Тоже выглядит не особо.

Есть достаточно общее решение композиции функций. В Clojure для этого есть специальная функция ->:
(-> Common-lisp-IDE to-install to-customize)

Будучи макросом, тоже самое можно сделать и в CL.
Спасибо за статью, по своему опыту знаю, что верстка адаптивных писем та еще головная боль. К сожалению очень много нюансов всплывают только при личном опыте. И в лучшем случае еще можно установить причину проблемы. Например, не так давно сталкивались с проблемой, что приложение Mail для Mac'a слишком сильно блюрит масштабируемые изображения при алиасинге. Я даже не уверен правда это или нет. Единственное, что заставляет так думать — это то, что при сочетании условий, когда вписываемый контейнер таков, что величина масштаба изображения — целое число, то изображение не блюрится. Не могу даже вспомнить, как пришло в голову это проверить.

После такого, конечно, хочется чтобы был только plain text. Так что, всем, кто верстает email-ы могу пожелать только удачи.
Это почва для огромного количества потенциальных ошибок. Кроме того, это семантически неверно. Такое не прокатит ни в PHP, ни в Java, например.
Еще хотел добавить, что понятие типа Symbol уже имеет свою семантику в языках программирования. Гомоиконные языки имеют тип symbol, а в JS это вводит только непонятную неразбериху. Увидел заголовок, подумал, что этот тип данных как-то будет связан со структурами данных именно самого языка и будет представлять собой именно эти структуры (как символы в Лиспе, например). Но вот уж чего точно не ожидал, так то что это тип для приватных свойст. Короче говоря, как-то это нелогично очень.
Ну здрасте!

    var role = Symbol();
    var user = {
        id: 1001,
        name: 'Administrator',
        [role]: 'admin'
    };

user.role; 
// -> undefined
user.role = 'User';

Что будет если так? У user два свойства role одно публичное, одно приватное? Если да, то это опять какое-то недо-ООП.
Спасибо за перевод. То, что возвращаеться stream-объект — это круто, теперь еще один пласт API отпадает для FRP библиотек, которые поддерживают промисы.
Все бы ничего, если бы не скорость. Тем не менее, очень надеюсь на положительное развитие проекта и некоторую часть фронтовых задач уже сейчас решаю в брэкетах.
Предпочитаю с самого начала тактично объяснить заказчику, что раз уж он обратился ко мне/к нам в компанию, то пусть доверяет нашей профессиональной деятельности. Мы хороши в дизайне и разработке, а вы в продаже консервов, или чем вы там занимаетесь. В эту игру могут играть двое, и как только начинается «давайте тут кнопку зеленой, а здесь котика нарисуем, это будет стильно», сразу в ответ должны получать, — мол, «а давайте вы будете консервы свои продавать в розовых костюмах зайчиков, это бы значительно помогло бы нам сформировать имидж и бренд для компании». Конструктивная критика и креативный зуд — разные вещи.
Очень уместно с серией этих статей идет книга французского математика Жака Адамара «Исследование психологии процесса изобретения
в области математики». Пользуясь случаем рекомендую всем заинтересованным и сочувствующим.
Да, надо бы предварительно проверять чтобы в диапазоне с 37 до 40 был.
Ах, досада то какая. Все надеялся, сегодня вечером наваять сокобан в 30 строк поддавшись тренду, ан нет, опередили! Поздравляю.
Мне кстати, вот такая конструкция по душе для определения направления:

{ //e- mouse event
            x : e.keyCode % 2 ? e.keyCode - 38 : 0, 
            y : !(e.keyCode % 2) ? e.keyCode - 39 : 0 
}
Еще хотел добавить, что когда мне приходится пользоваться такой вещью как направление движение чего-то в двухмерной системе координат, я чаще всего пользуюсь такой конструкцией:

function getDirection(e){ //здесь е - mouse event
      return {
            x : e.keyCode % 2 ? e.keyCode - 38 : 0, 
            y : !(e.keyCode % 2) ? e.keyCode - 39 : 0 
      } 
}

На выхлопе получаю объект вида {x:1,y:0}, что означает, положительный сдвиг по оси абсцисс и нулевой сдвиг по оси ординат. Очевидно, что область значений x,y — это {-1,0,1}. Так потом удобнее вычислять и репозиционировать объекты, которые двигаются.
Заметил пару багов. При ширине окна меньше контейнера (950px) при горизонтальном повороте происходит сдвиг документа в Хроме и скролл по горизонтали в Firefox (походу не захватываются keypress евенты браузера). Медленный отклик из-за чего трудно играть. И да поддержку автора постом выше, при быстром развороте кролик съедает свою голову игра заканчивается. В любом случае спасибо за пост, отложу в коллекцию, давно хотел заняться изучением canvas'a.
Спасибо за пост, заинтересован этой темой. Подписался на курс.
Справедливо, но с небольшой оговоркой. Кинокомпании тоже имеют срок жизни, их продукт имеет срок окупаемости и срок рентабельности. Различие между кино и книгами сводиться к разнице во времени жизни прибыльной продукции. Издательства могут получать деньги с книги тоже какое-то длительное время, обычно, меньшее чем киноиндустрия. Я понимаю, что качая фильмы, пусть и 40-х годов, я лишаю прибыли (хоть и малой) уже не авторов, сценаристов, монтажеров, режиссеров и т.д., а кинокомпании, которые некогда сделали это кино. Но с другой стороны, я убежден, что невозможность получать деньги с того, что мы сделали когда-то давно подталкивает к новому творчеству и созиданию. В противном случае все силы уходят на то, чтобы не лишиться доходов с некогда произведенных трудов (особо неприятно это, когда борьбу за доходы ведут те, кто к самому продукту не имеют ни малейшего отношения).
Я давно не хожу в кино, потому что я старый пердун и могу смотреть только то, что вышло до 2000 года. И для меня проблема кроется в том, что какие-то дяди защищают авторские права людей, многие из которых уже давно почили смертью достойных. Трудно не гневаться, когда мне кто-то пытается доказать, что если я смотрю кино бесплатно, то наношу ущерб производителям, особенно, если эти производители в лучшем случае уже не помнят, что когда-то такое снимали, а в худшем уже мертвы.
Я понимаю, что закон актуален, если касается актуального. Но тут проблема в том, что он касается вообще всего. В разных странах разный срок жизни авторских прав, но в целом он уж очень большой. Меня не напрягает платить автору, мне нормально платить за билет в кино. Но мне не нормально платить неизвестно кому, чтобы посмотреть фильмы 50-летней давности, когда на реальных авторов это никак не повлияет.
Это правда удобнее, но главное считаю должна быть предсказуемость системы. Если система предсказуема, то пользователю проще принять мгновенные изменения. Я не удивлюсь, если ссылка «наверх» меня мгновенно перебросит наверх. Меня гораздо больше пробесит, если ссылка «наверх» меня медленно протащит по всей странице. А если это умная ссылка, то она вычислит длину страницы и перетащит с необходимой скоростью, чтобы я остался удовлетворенным, в лучшем случае она, конечно, еще опознает мой браузер и решит стоит ли грузить его такими задачами или не стоит, и так далее. Все хорошо в меру.
1

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность