• Как исправить ошибку "TS2769: No overload matches this call." при dispatch асинхронного экшена?

    @Raey Автор вопроса
    Вроде разобрался. Нужно было задать корректные типы в вызове applyMiddleware (у меня это вообще не было сделано).
    Вот пример:
    const store = createStore(
      rootReducer,
      composeWithDevTools(
        applyMiddleware(
          thunk.withExtraArgument(api) as ThunkMiddleware<
            GlobalState,
            AllReduxActions,
            AxiosInstance
          >,
        ),
      ),
    );


    А вот где посмотрел: https://github.com/reduxjs/redux-thunk/blob/master...
    Надеюсь, будет кому-нибудь полезно.
    Ответ написан
    Комментировать
  • Какие русскоязычные аналоги Хабр существуют?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Вас никто не заставляет читать все хабы. Подпишитесь на интересные, и читайте только их.

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

    Могу сказать, как поступил я на примере Тостера. Я выделил разные параметры вопросов, и теперь могу их фильтровать программно в автоматическом режиме: об интересных вопросах мне приходят уведомления, скучные я вообще не вижу, а остальные я могу смотреть или не смотреть в свободное время, в зависимости от настроения. Для Хабра, возможно, тоже стоило придумать что-то подобное, но я там не зависаю настолько, чтобы такое решение себя окупило по времени.
    Ответ написан
    5 комментариев
  • Что можно почитать по svg?

    @jxdoe6ff
    Для начала можно
    https://developer.mozilla.org/en-US/docs/SVG/Tutorial
    или
    www.w3schools.com/svg
    Там всё разжёвано до мелочей, особенно у мозиллы, они в html.
    Довольно подробный учебник в pdf:
    www.w3.org/2002/Talks/www2002-svgtut-ih/hwtut.pdf
    и не бойтесь читать тьюториал на английском, базовых знаний достаточно, чтобы всё понять, а если нет, заодно и английский подтянете.
    Ответ написан
    Комментировать
  • Почему mithril, vue, virtual-dom быстрее react?

    @lega
    Тесты замеряют разные действия, где-то добавление, где-то изменения, одни фреймворки быстрее в одном, другие в другом, отсюда и разные результаты.
    Ещё сами тесты вызывают сомнения, например в первом тесте у Angular.js приделан setTimeout что-бы не делать перерисовку на каждой итерации + при этом сам тест запускается не асинхронно - это "читерство".
    А при выполнении теста с React у меня браузер дергается (видимо из-за особого контента который выводится) - это бъёт по производительности, - возможно это было нарочно сделано. Так же каждый последующий тест работает в поле где есть "мусор" от всех предыдущих тестов - это тоже может снижать цифры.

    Тут есть хабра-тест (сделанный пользователями с хабра), он более менее причесан, тестирует добавление/изменение, но тут React тоже не блещет, возможно React хорош в каких-то специфических случаях, хотя я видел много бенчмарков с React, и он нигде не имел особого преимущества.

    PS: Если вас не затруднит, не могли бы вы сюда добавить mithril или vue для сравнения.

    Дополнил про React
    Я особо не копал React, у меня такие мысли - они реализовали виртуальным DOM который максимально эффективно превращает один кусок документа в другой, проблема в том что на практике это не нужно - в других фреймворках делают просто сокрытие одного куска и показ другого куска - и это работает быстрее, чем перестройка DOM. Так же я слышал заявления, что React работает быстрее за счет того что они не делают чтения из DOM - видимо они сравнивают с jQuery (и vanilla js), т.к. в других MV* фреймворках, чтения из DOM делаются не часто (или только на стадии инициализации).
    Ответ написан
    Комментировать
  • Почему исчезли автор и его статья про возврат Windows при покупке компьютера?

    @alivanich
    По поводу топика — извините, я тогда хотел по горячим следам написать, но напугался суровости хабры, а сейчас уж и подавно. Слишком тоталитарная секта, так что опишу в комментарии.
    Да и уж время прошло, не помню детали, но помню общий алгоритм.
    0. Позвонил в техподдержку самсунга (до покупки), спросил, что мне сделать, чтобы вернуть деньги за винду. Мне сказали, что покупаете в любом магазине и несёте в сервис-центр, где вам удаляют винду.

    1. Купил ноут в плеерру (23.07.12), курьер мне его привёз, я его проверил не включая (то есть проверил просто факт наличия всего и серийные номера). Ноутбук не включаем, установку винды не запускаем.

    2. Сразу отвёз в авторизованный сервис центр. Ко мне ближайший был 3G (примерное название) недалёко от метро Новые Черёмушки в Москве. Там мне не были рады и вообще хмуро отнеслись. По всем признакам я понял, что они знают про эту процедуру, но я первый. Однако в формализм играть не стали и согласились сделать всё сразу, так что даже повторно ехать не пришлось. Выдали через часик заключение о правильном удалении винды. То есть ноут готов для любых манипуляций.

    3. Дальше я сам не спешил и только 6.08.13 написал в техподдержку самсунга (что спросил — не вспомню, а копию на почту не прислали, но по ответу вполне можно примерно догадаться). Мне миленько ответили (ссылка из письма до сих пор актуальна и полезна):
    «Добрый день.

    Готовы компенсировать Вам стоимость операционной системы.

    Ознакомьтесь пожалуйста, с информацией по ссылке (http://www.samsung.com/ru/support/compensation/CompensationforWindowsOS.html) заполните Заключение — указав все необходимые реквизиты и отправьте нам заказным письмом.

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

    Просим корреспонденцию в адрес компании направлять по адресу: 117105, МОСКВА, А/Я 4, ООО «СРСС» Кургановой Н.Ю.»

    4. Отправил по указанному адресу заказным письмом заявление с указанием реквизитов (обычные банковские реквизита от счёта, к которому привязана карточка. Банк был или авангард или ткс, не важно абсолютно.

    5. Через неделю (а может две) получил деньги на счёт. Всё!
    Ответ написан
    3 комментария
  • Разница между call и apply

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Разница в этих двух функциях лишь в том, что apply принимает массив аргументов, тогда как в call принимаются аргумменты списком. В каких-то бенчмарках наблюдал картину что call незначительно но быстрее apply. Но оба они намного медленнее прямого вызова функции.
    Ответ написан
    2 комментария
  • Каково Ваше мнение при выборе ультрабука?

    Очень много что-то нареканий на ультрабуки Asus. Я бы не стал рисковать.
    Сам выбрал около года назад Macbook Air 13". Сейчас если бы встал выбор, то скорее всего снова взял его.
    Убунту 13.04 встает без проблем на него, всё работает и очень шустро, хотя энергосбережение надо донастраивать.
    Разрешение типа FHD на такой маленькой матрице создает лишь оверхед, реальной пользы мало, а под виндой так вообще ад с мелким шрифтом. Так что 1400х900 — вполне оптимальное. Единственный минус у Ээра TN+film, а не IPS. Но тем не менее откалиброванный и вполне сносный.
    Ответ написан
    8 комментариев
  • Принцип механизма цикла в javascript for in или jquery each?

    @rozhik
    и в это время срабатывает событие javascript однопоточный, по этому в «это время» ничего не может произойти снаружи (то-есть только внутри цикла).
    Ответ написан
    2 комментария
  • Закон Деметры. Нужен ли?

    everzet
    @everzet
    Допустим вы хотите купить молоко:

    дом->лестница->машина_Opel->магазин->кассир_Люба->купить_молоко();

    Так как вы уважающий себя software developer который не видит смысла в законе Деметры, вы это скорее всего напишете в 10 разных местах системы.

    2 недели назад вы продали свой Opel и купили BMW. Вы теперь должны в 10 разных местах поменять код на:

    дом->лестница->машина_BMW->магазин->кассир_Люба->купить_молоко();

    Теперь, допустим вы начали переживать об экологии и хотите ездить за молоком не на машине, а на велосипеде. Вы теперь должны в 10 разных местах поменять код на:

    дом->лестница->велосипед->магазин->кассир_Люба->купить_молоко();

    Через пару дней Любу уволили и на работу взяли нового кассира Клаву? Меняем в 10 разных местах код на:

    дом->лестница->велосипед->магазин->кассир_Клава->купить_молоко();

    Через другую пару дней в вашем доме поставили лифт и вы не хотите бегать по лестнице за молоком? Меняем в 10 разных местах код на:

    дом->лифт->велосипед->магазин->кассир_Клава->купить_молоко();

    Мораль: этих всех замен можно мыло бы избежать, если бы для покупки молока вы использовали абстракцию:

    магазин->купить_молоко();
    Ответ написан
    8 комментариев
  • Чем хуже ноут по сравнению с десктопом?

    Имхо, основной недостаток нормальных (приличное железо, экран 17+ FullHD) ноутбуков — сам форм-фактор. Экран жестко связан с клавиатурой, плюс перед клавиатурой тачпад. Хочешь экран подальше поставить — клавиатура будет совсем далеко. Хочешь поближе клавиатуру поставить (на край стола, например, или на колени) — за ней экран «поползет», да тачпад мешать будет. А уж расположить клавиатуру под горизонтальным углом к экрану вообще невозможно.

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

    Ocelot
    @Ocelot
    Увы, нет. Только опубликовать заново, потреряв все комментарии и рейтинг.
    Ответ написан
    2 комментария
  • Как правильно работать на oDesk?

    Ubran_Hera
    @Ubran_Hera
    Начинал ~2 года назад (август/сентябрь) на oDesk (это была не первая моя попытка), выставил 14..15 баксов, без портфолио и истории. Первый заказ был получасовой, на 7 баксов, практически случайный (от новичка) — немного напортачил, но всё исправил, потратил времени в разы больше, но добился положительного отзыва.
    Общение сразу пошло через Skype и электронную почту, оплата — через PayPal. Это против правил, но так предложил заказчик.

    Затем оказалось, что работы у него непочатый край. До Нового Года переделывал маленькие сайтики (бизнес-проекты одного и того же человека). Взял меньшую плату, но повысил себе статистическую «среднюю ставку».

    Самое сложное было в графике и работе из дома — жена (девушка) не подходила ко мне когда я говорил по Skype/SIP, но в остальные моменты очень мешала и сбивала с толку. Ещё обижалась, что я ничего не делаю по дому и ложусь спать/встаю с разницей 3..4 часа по отношению к ней — одна комната, горящий монитор, гудящий вентилятор и т.д. Очень сложно было когда мы оба заболели (простуда).

    В итоге я понял, что никак не могу в таком режиме работать дольше 2 недель (у меня ещё есть постоянная работа в телекоме по сменному и практически ненормированному графику), а потом требуется месяц (!) отдыха. С девушкой пришлось расстаться, меня постигло разочарование во фрилансе на следующий год, когда я за месяц заработал сумму порядка $2000, но ни разу не покатался на велике (это был июль) и не побывал на природе/на пляже.

    Шашлык и вино действительно хоть каждый день и стойкое желание переехать куда-нибудь в англоязычную Канаду (тем более, что часто звали). Ставка на почасовые заказы сейчас 20..35.
    Иногда чувствую себя зомби (3 часа сна два дня подряд, потом 12 часов и всё равно не выспался, 6 часов, опять 2 дня по 3 часа, потом 14..15 на выходных).

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

    Success story неполная — не даю ссылки на профиль (у меня их несколько, в т.ч. приходилось заказывать самому у себя, но это оказалось ненужной глупостью). Так что не просите — за треть проектов, особенно первых ужасно стыдно, при том, что посмотрев на некоторые из них клиенты просят «и мне так же сделай», причём никогда не угадаешь заранее что может понравиться.

    Единственное, что радует — UK, CA, NZ, US AU — WeekEnd для них — это святое. На душе легко и спокойно с 3 утра субботы до 15:00 понедельника.
    Но бывает, что заказчик шлёт мне в полседьмого утра письмо с вопросом «Как продвигается наш проект» в 6:30 утра по его часовому поясу.

    С точки зрения разработки хорошо, что разделение testing/development/working environment очень чёткое и всегда есть время откатиться — начинаю обычно в час ночи и заканчиваю полпятого утра по их TimeZone, на живом, боевом сервере никогда не экспериментирую.

    Ну и по поводу каналов в Интернет — у меня 2 FTTx и 3 «свистка» — иногда так медленно заливается на хостинг, что приходится вспоминать командную строку и перепробовать их все.

    Зато индусы иногда вымораживают своим менталитетом, даже при хороших ставках.

    Ну и естественно, я стал замечать за собой НЕНАВИСТЬ к нашим местным наебизнесменам-работадателям, которые предлагают оклады 15..22 тыс. руб./мес. работникам с образованием и опытом, особенно после того, как устроившись в одну из местных фирм-конкурентов «тайным покупателем», вернее разработчиком (чтобы посмотреть workflow, т.к. это довольно успешный бизнес-проект с большой клиентской базой) увидел тот же Job Offer с oDesk, но очень плохо, безграмотно переведённый топ-менеджером компании в редких перерывах между поездками на дайвинги.

    В «малый бизнес» я тоже пытался уйти — очень сильная конкуренция, ценовая со школотой. Потом оказалось, что это ещё не главная проблема — рынок заказчиков всё равно растёт быстрее рынка исполнителей. Главная проблема — это чудовищная пропасть между опытом заказчика — НЕ ЗНАЮТ ЗАЧЕМ ИМ ИНТЕРНЕТ И НЕ ЗНАЮТ ЧЕГО ХОТЯТ и… ПОЛНЫМ ОТСУТСТВИЕМ ЖЕЛАНИЯ ПЛАТИТЬ профессионалам.

    Ещё поразило соотношение между уровнем разработчиков и наглостью в сочетаниями с понтами у менеджеров компаний-конкурентов. Не знаю кого винить — Фурсенко, или сразу Вашингтонский кагал, но пока встречался с потенциальными заказчиками (сейчас только телефон, а лучше -электронная почта) по три раза на дню бывал в ситуации, когда выплеснув на меня ушат откровенной технической ахинеи дядя-Вася-на-джипе на вопрос «Где вы нашли эту чушь?» начинал быковать в духе «Это мне сказали девушки в конторе ИП XYZ, А У НИХ ВСЁ ЧЁТКО, ВЕДЬ У НИХ САМ ИВАН МОИСЕИЧ ЗАКАЗЫВАЕТ САЙТЫ!»

    Короче oDesk — единственный шанс для заМКАДья, кроме восстания конечно.
    Ответ написан
    8 комментариев
  • Какие производители DVD±RW считаются более надёжными, а какие стоит избегать?

    Killy
    @Killy
    В своё время весьма полезный опыт был — как отличить болванки (эрки) производства Taiyo Yuden среди тех, что продавались у нас под маркой Verbatim (серия Verbatim Pastel в slim-боксах, например, шла от TY). Ещё можно было японские Panasonic найти — но только минусовые.
    Следом по качеству шли те, что произведены на заводах MCC (Mitsubishi Chemical Corporation).
    Остальное как надёжное хранилище не рассматривалось. И логотип на коробке ничего не значит. Verbatim могли нарисовать на своих коробках знак «Data Life Plus», но если сами диски шли с индийских заводов, то быстро дохли.

    С RW у меня другая история — более простая. Всегда покупал только TDK. Они весьма успешно скрывали, где именно произведены болванки, но при этом обеспечивали стабильно высокое качество. Ни один из десятка DVD+RW я за годы эксплуатации так и не успел убить.

    Хотел посоветовать именно TDK, но мой опыт, скорее всего, устарел. Сейчас вдруг обнаружил, что TDK, похоже, продали лицензию на производство накопителей компании Imation в 2007 году.
    Ответ написан
    1 комментарий
  • Что делать, когда временные затраты больше дохода?

    holyorb2
    @holyorb2
    1. Не берусь делать на неизвестных движках сайты. Т.е. я много лет назад выбрал всего 2 движка MODx и Drupal и делаю только на них (собственно МОДх практически не использую), если есть заказ на другую CMS я не берусь за заказ и обьясняю заказчику разницу в CMS, но не в коем случае не перетягиваю заказчика на Друпал.

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

    3. Стоимость сайтов определяю не я, а рынок. Т.е. я примерно знаю что магазин минимально стоит 500$, поэтому я читаю ТЗ и дальше варьирую стоимость с учетом дополнительных требований от заказчика, но меньше 500$ она будет только как редкое исключение. Рассказы заказчика что где-то там дешевле, на меня не действуют, я заказчика не держу, если где-то там дешевле, то рынок открыт, пусть идет куда-то туда.

    4. С приходом опыта появились несколько источников заработка, поэтому сейчас я тоже беру заказы которые стоят дороже чем я беру с заказчика — по причине, что мне интересно :) Мне заранее известно что заказ мне в минус, но я знаю что я здесь получу дополнительные знания, а это большой плюс в копилку опыта.
    Ответ написан
    2 комментария
  • Как монетизировать каталог плагинов JS (в основном jQuery)?

    Sect0R
    @Sect0R
    Full Stack Developer
    Я думаю лучше сделать:
    1. Платный архив всего сайта (демки+ссылки)
    2. Интеграция плагинов в сайт
    3. Рекламу свою (разработка сайтов с использованием jquery)

    и всё.
    Ответ написан
    Комментировать
  • Почему Линус не любит C++?

    @lesha_penguin
    <Мысль_вслух>Если существует специальный «ад для говнокодеров», то наверняка, одним из самых жестких наказаний в нем была бы отладка того говнокода, который, который в С++ получается по принципу «делается более просто и изящно».</Мысль_вслух>

    Если начинать «от сотворения мира»:

    1) Как известно C++ был был придуман Страуструпом, мы не будем умалять его «ученные регалии» (ученных-то наград куча, но они по сути единственное чего «добился человек», кстати, 90% прямо или косвенно за c++). Однако, заметим, что Страуструп — как раз есть пример «чистого теоретика» (в отличии от «практика»-Торвальдса), т.е. является человеком за свою жизнь не принимавшим участия в разработке ни одного серьезного реального программного проекта. По сути компилятор c++ — единственное более-менее практическое дело в его жизни. Соотвественно о том с какими проблемами приходится сталкиваться в реальном «software development-е» с «высоты его ООП-теорий» он имеет весьма посредственное представление.

    2) Как верно заметили, в упомянутой статье, изначально это был как раз «Це с классами», т.е. изначально НЕ БОЛЕЕ ЧЕМ «академическая» попытка навернуть на C отдельные элементы «обьектности» (типа, Smalltalk обьектный, а давайте попробуем сделать такое на более низком уровне). Кстати, могу Вам сказать, что с C++ я впервые познакомился в 80-90е годы, когда языком «ученной среды» был Фортран, языком «системщиков» Си, а для обучения «всех непрофильных специальностей» основам программирования использовались Basic и Pascal. Да, но правда «тогдашний C++ 80» отличался от нынешнего — он реально производил впечатление «просто прикольной поделки» (на память помню, что например, тогда не было и половины привычного функционала например таких вещей как всяких «reinterpret_cast-ов» или namespac-ов.). Кстати, да… барабанная дробь… НЕ БЫЛО STL!!!

    3) Наверное Страуструповский «Це с классами», наверное так бы и остался в списке «прикольных поделок» в аналах истории, если бы не одно обстоятельство: «ВНЕЗАПНО» произошел «софтверный бум», соотвественно: a) «элитных» «олдскульных» программистов стало резко не хватать b) «требования к качеству софта» резко упали c) понадобилось средство для генерации достаточно низкоуровневого «говнокода в промышленных масштабах». И как ни странно, (ага, угадали, именно с появлением в C++ STL-я) C++ так и не избавившись от своих «академических болячек» был брошен в пучину «мейнстрима».

    4) Вам говорят истинную правду, когда говорят, что «C++» это маркетинговое название для «Це с классами». Да, это так. И можно сказать, к великому сожалению, он нашел свою рыночную нишу. (Сейчас любой дурак может легко «освоить C++ за 21 день (с бустом и стлем)», при этом не умея даже внятно ответить на простой вопрос «Если ты такой умный, обьясни тогда почему, c$k@, у тебя программа течет по памяти и падает», (про такие «неполиткорректные вопросы», как «зачем писать 100 строк на то, что пишется в две-три», мы вообще тактично молчим, а то, мало ли, может у человека «сдельная зарплата» за количество строк ;) ), зато с видом крутого Беара Грилса можно обсуждать такие «высокие материи» как «Паттерны» и «чистый ООП»).

    5) И к самому большему сожалению, в некоторых случаях альтернативы нет. Да, Я еще не встречал ни одного программиста, который в действительно реальной разработке софта активно использовал бы C++ и при этом от него бы не плевался. У C++ есть «Огромный ПЛЮС» — Его Мультипарадигменность! По-сути это его единственный плюс, позволяющий «не уйти в дебри» (типа попыток запихнуть «main()» в обьект только ради «идеи чистого ООП»)!

    6) А теперь, после такого «исторического» вступления еще раз перечистайте внимательно письмо Торвальдса, высказывание человека который лучше многих «теоретиков чистого ООП» знает как это оно «на собственной шкуре» разрабатывать сложные системы, и комментарии от хабраюзеров, которые «на живой практике» знают «почем фунт лиха» в топике. Под большинством утверждений я лично бы поставил свою подпись золотыми буквами.
    Ответ написан
    5 комментариев
  • Выбрать ноутбук?

    Sterhel
    @Sterhel
    Поддержу комментатора выше, посоветую Thinkpad Edge 125.

    По экрану — подходит на все сто, и разрешение, и матовый.

    Батарейку у меня держит до 9 часов офисной работы, до 6 — мультимедиа.

    Летом на Горбушке в фирменном магазине Lenovo стоил 17+.

    Как раз около полутора кг и весит.

    Железки — ставил я на него WoT ради интереса. Минимальные тянет.
    Ответ написан
    3 комментария
  • Как вы жили до «бума» социальных сетей?

    @edogs
    Интернет по сути родился из социальных сетей, «бум» особо ничего не изменил по сути, кроме вида представления информации.
    Достаточно вспомнить фидонет — сообщения, группы, фио, адреса, рассылки, подписи — весь функционал был уже тогда. Суть не менялась, менялись названия и форматы публикации и доступа. Конференции — тот же фидонет, только в реалтайме. Форумы — та же ерунда что конференции, только формат представления информации другой и больше упора на профили. Блоги — то же что и форум, только формат представления информации другой снова и больше упора на юзеров. Вконтактики — то же что и блоги/форум, только на первое место профили пользователей выпячены, и все сильно сепарировано.
    Ответ написан
    1 комментарий
  • Упражнения для начинающих

    Keenest
    @Keenest
    А я посоветую взять методичку по программированию для 1го курса (паскаль, си — неважно) и делать лабораторные работы по порядку — математические вычисления, ветвления, циклы, массивы, объекты и так далее — уверен, выполнение пары-тройки десятков типовых задач здорово помогут.
    Удачи!
    Ответ написан
    9 комментариев