Pull to refresh
30
0
Дмитрий Новиков @dmitriy_novikov

Lead Javascript Developer

Send message

Да, тут могут быть разные точки зрения. Но я не хочу увлекаться софистикой) Typescript твердо убежден что "Type '{ foo: string, baz: string }' is not assignable to type 'Foo'."

Посмотрю, что это такое, спасибо)

Да вот даже эти примеры из ридми на гитхабе:


export const add = createStandardAction('todos/ADD').map(
  (title: string) => ({
    payload: { id: cuid(), title, completed: false },
  })
);

const add = createCustomAction('todos/ADD', type => {
  return (title: string) => ({ type, id: cuid(), title, completed: false });
});

Понятно, что ко всему можно привыкнуть, но зачем?

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


const ACTION_WITH_FOO = 'ACTION_WITH_FOO' as 'ACTION_WITH_FOO';

Тут напрямую, жестко задается литеральный тип. Но это как-то совсем некрасиво, на мой взгляд.

Если в вашем проекте используется typescript — то однозначно стоит. Если нет — то можно задуматься об этом) Строгая типизация поможет избежать большого количества ошибок, а внедрять ее в целом несложно. Ну а конкретно про «as const» подробно можно почитать здесь.
Спасибо за замечание, учтем)

Да, мы попробовали typesafe-actions перед тем как искать собственное решение, но он не понравился нагромождением своих оберток. Если в экшене кроме типа есть еще какие-то поля с данными, то это становится уже трудно читать. А свежий TS позволяет просто написать as const и всё.

Прочитал книгу полностью. Книга крайне полезная, но читается очень тяжело. Много повторений, много воды, очень много рассказов в стиле «я, автор, такой прекрасный-распрекрасный, добился величайших успехов в жизни бла-бла...» В общем, в стиле Карнеги написано) Эдакий самогипноз для тех, кто понял что надо что-то поменять в своей жизни, но пока не понял как.
p.s.: это мое личное мнение после прочтения книги, не судите строго)
Госбанк — это не про технологии, удобство и юзабилити.
Когда в отделении ВТБ24 тебе говорят «давайте вы сейчас залогинитесь в своем интернет-банке на нашем компе и сделаем то-то и то-то», а потом просто закрывают вкладку без логаута — это как, про удобство? про безопасность?
Когда мобильное приложение работает через раз, а продолжительными периодами вообще не работает — это про технологии?
Когда чтобы продлить страховку, чтоб не подняли проценты по ипотеке нужно сходить в отделение, поторчать на двух горячих линиях, дождаться чтоб тебе посчитали вечно занятые специалисты работающие с понедельника по четверг, и после этого самому уведомлять банк по email, что страховка продлена — это про юзабилити? про диджитал?
Тут даже отзыв на banki.ru бесполезно оставлять, оценка около 1 что у ВТБ, что у ВТБ страхования.
Прошу прощения, бомбит страшно от такой «работы». От такого «технологичного банка».
Я так понимаю, автор немножко «отрерайтил» урок от самого socket.io: http://socket.io/get-started/chat/
Socket.IO's «Hello world» is a chat app in just a few lines of code.

И, мягко говоря, непонятно, чем решение автора лучше кода от socket.io.
Хотя, справедливости ради, надо заметить что у них есть досадная ошибка — в jquery-коде они не оборачивают назначение событий в $(function (){, поэтому отправка формы срабатывает не так как надо, и с этим моментом приходится разбираться самому. Автор статьи этого избежал.
а точнее:
 <img src={this.props.src} />


я считаю такие примеры удачными для обучения — когда не просто скопипастил и заработало, а посидел, подумал, что-то поправил — и заработало:)
Даже над напольными вентиляторами, которые рядом стоят.
Чтоб те раскачивались и падали на стол, уничтожая важные документы.
Вот примерно так?:)

Сразу вспоминается Dear Esther — тоже красивые пейзажи(на движке Half-Life 2), интригующий сюжет, и почти полное отсутствие геймплея. Но душевная игра, интересная.
у меня, на резюме программиста, в целом терпимый список получился, хоть и не без явных «промахов»:

Front-end разработчик (JavaScript/HTML/CSS)
Web-программист
Web-дизайнер
Frontend-разработчик (Черногория)
Копирайтер
Контент-менеджер
Ведущий javascript / фронтенд разработчик
Верстальщик-программист JavaScript
Менеджер проекта (управление полным циклом интернет-проекта)
Интернет-маркетолог
Старший специалист по сбору данных (С#)
Инженер по тестированию
SMM-маркетолог
Senior Java Developer
Фронтенд-программист (JavaScript и SQL)
Android developer
Ассистент программиста .NET/WEB
Руководитель отдела разработки (Microsoft Dynamics CRM) в Нижнем Новгороде
PHP developer (Montenegro)
Разработчик back-end на С++
Да, я знаю, что на самой первой картинке не Ferrari, а Porsche.

И все-таки это Ferrari.
Ferrari F360



В общем, какой-то двойной факап.
Интересно, когда люди поймут, что тот рекламный говнотреш, что прокатывал на мегамозге (потому что его никто никогда не читал), не прокатывает на хабре?
Мне даже уже начинает казаться, что статьи типа «пособие для новичков в CSS» или «консольные крестики-нолики на PHP» — вполне себе формат хабра и минусуются не совсем заслуженно, на фоне вот этого вот всего. Они хотя бы чуть-чуть в тематику сайта вписываются.

Information

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