Пользователь
Что взять за основу React приложения
Каждый раз начиная писать React приложение, вы так или иначе выберите какой-то вариант:
- копи-паст вашего предыдущего проекта
- какой-то бойлерплейт или даже генератор (типа Yeoman)
- готовый фреймворк не требующий конфигурации
- пишете сами все с нуля
Каждый из способов имеет свои сильные и слабые стороны, как на длинной, так и на короткой дистанции.
Некоторые решения скрывают сложность в начале, позволяя сделать быстрый старт. Это что-то вроде решения под ключ, но в результате такие решения могут оказаться недостаточно гибкими и сложными в подстройке. С другой стороны, в начале все может казаться слегка монструозным и неповоротливым, и чтоб начать нужно немного повозиться, но зато потом преимущества станут очевидными. Всегда есть возможность сделать все с нуля, ровно так, как хочется, но в таком случае Вы будете отвечать за бесчисленные аспекты и Вам потребуются очень глубокие знания во всех участвующих технологиях.
Упрощаем универсальное/изоморфное приложение на React + Router + Redux + Express
На Хабре уже было предостаточно статей про то, как делать универсальное (изоморфное) приложение на стеке React + Redux + Router + Koa/Express (Google в помощь), однако я заметил, что все они содержат повторяющийся код для серверного рендеринга. Я решил упростить задачу и выделить этот общий код в библиотеку, так и появился на свет Create React Server, работает примерно так:
import Express from "express";
import config from "./webpack.config";
import createRouter from "./src/createRouter";
import createStore from "./src/createStore";
import {createExpressServer} from "create-react-server";
createExpressServer({
createRouter: (history) => (createRouter(history)),
createStore: ({req, res}) => (createStore()),
port: 3000
}));
Предлагаемый способ может сэкономить силы и избавить от копи-паста. В самом подходе нет чего-то принципиально нового, и для более глубокого понимания можно почитать официальную документацию, а также статьи по ссылкам выше. Далее я постараюсь кратко изложить суть серверного рендеринга и необходимые подготовительные этапы.
«Меньше некуда»: ученые из IBM сохранили информацию в атоме
Работа с CouchDB на примере JavaScript приложения «Todo List»
Почему все виртуальные помощники — женщины?
Вы замечали, в нашем мире все так устроено, что везде можно найти плюсы и минусы, черное и белое, мужское и женское? Понятно, что на Хабре 76,1 процентов мужчины, поэтому, если вы испытываете жесткий антагонизм к тематическим постам, можете смело дальше не читать. Под катом много картинок и пара любопытных историй о том, почему современные виртуальные помощники говорят женскими голосами.
Квантовый компьютер: от мечты к реальности
Самый большой серно-натриевый аккумулятор
На фотографии — самый большой в мире серно-натриевый аккумулятор под названием БОБ (big-old battery), который выполняет роль резервного источника питания для Пресидио. Он может хранить 4 мегаватта в течение восьми часов.
Строительство обошлось в $25 млн, тогда как прокладка новой линии электропередачи стоила бы почти вдвое дороже.
via Popular Science
Утекший роадмап HTC раскрывает тайны гигагерцевого Android'а
Итак, вся продуктовая линейка HTC будет разделена на несколько категорий:
- Design / Lifestyle — смартфоны, ориентированные на молодежный сегмент рынка: HTC Legend, HTC Salsa.
- Social — молодежные смартфоны, ориентированные на тесную интеграцию с социальными сетями (Twitter, Facebook, Flickr): HTC Tide, HTC Buzz.
- Performance — смартфоны, у которых тысячи лошадей под капотом: HTC Bravo.
- Productivity — смартфоны на Windows Mobile, расчитанные на бизнес-сегмент: HTC Photon, HTC Trophy, HTC Tera (римейк Touch Pro2).
По словам Эльдара Муртазина, в данном роадмапе отсутствует пара ключевых аппаратов HTC, как, например, HTC Espresso, или 10 дюймовый Tablet HTC Halo под управлением Android'а.
Перейдем к описанию самого ожидаемого смартфона на Хабрахабре.
Электричество из воздуха
Мертвые с косами. И тишина…
Недавно я публиковал статью о выборе современного монитора, которую хабрапользователи довольно высоко оценили. Это дало вдохновение для второй части. Как и в прошлый раз, прошу не рассматривать статью как нечто академическое, просто мне хотелось поделиться информацией, на сбор которой ушло много времени.
Я задался целью собрать из комплектующих максимально тихий системный блок, при этом надежный и быстрый, для комфортного кодирования HD-видео. Вот как это было.
Корпус
Компьютерный корпус — это всего лишь коробка, более или менее прилично выглядящая. Однако, если уделить внимание шумоизоляции, удобству сборки и эффективности охлаждения, то все не так очевидно. Для большей гибкости я рассматривал корпуса без блока питания, т.к. уже заранее выбрал один из самых тихих БП (см. ниже).
Сразу скажу, что получилось дорого. Я выбрал корпус Antec P182 (на фото выше). Без блока питания они выпускают несколько моделей. Наиболее известные серии — P182 и P190 (сильно дороже). Есть еще довольно маленький корпус без БП NSK4000, но в небольших корпусах охлаждение менее эффективно и требует более шумных вентиляторов.
Наряду с Antec я почитал про корпуса Lian-Li. Они оригинальны тем, что сделаны из чистого алюминия. Выглядят очень стильно и сделаны с высоким качеством. Но в России распространены еще меньше, чем Antec.
Можно было, конечно, найти много хороших корпусов среди более дешевых. Что мне понравилось в Antec?
IE8 Beta 2
Нововведения по сравнению beta 1 есть, и их достаточно: цветные табы, inPrivate Browsing, новый внешний вид, улучшенное быстродействие, восстановление сессий, Compatibility View и т.д. Лучше увидеть самому, чем читать кучу обзоров ;)
Версию именно для вашей ОС (поддерживается только Windows) и на нужном вам языке (к сожалению, русского нет) можно выбрать здесь.
Как рекламироваться в Google Adwords
Что надо сделать до начала работы с Адвордс?
- Завести карточку для оплаты в Интернет и узнать в банке ее CVV-код. Положить на нее некоторую сумму, например, $50.
- Очень полезно почитать справку по Adwords.
Регистрация в Адвордс и настройка платежной информации
Зайдите на http://adwords.google.com и зарегистрируйтесь.
Если у Вас уже есть почтовый ящик на Gmail, то лучше указать его в качестве логина. Если нет — укажите любой другой действующий email.
Настройте платежную информацию. Зайдите на вкладку Оплата — Настройки платежных данных. Выберите основной способ оплаты (для Украины я выбираю постоплату по кредитной карте и пишу транслитом имя, фамилию, адрес в том виде, как они заполнены в банке при получении кредитки, дату окончания срока карты и ее CVV-код).
Подбор ключевых слов
Допустим, Вы занимаетесь страхованием автомобилей.
Продолжение статьи здесь
Как получить больше клиентов за малые деньги
Заменяем стандартный элемент input file
Хостеры развлекаются
.
Что ж, ничего нового, но в долгу не останемся. Поэтому уже готов наш ответ ПетерХосту
DrugMe.ru: медицинский Веб 2.0
Участники сети DrugMe.ru могут вести персональные блоги, записывая в них мысли на любую связанную со здоровьем тему. Могут знакомиться с информацией из каталога, который включает в себя снабженный пользовательскими отзывами перечень больниц, клиник и имен врачей. Сейчас в каталоге находятся только московские учреждения и специалисты, но по мере развития в планах охватить все регионы страны.
«Социальные сети – один из приоритетных векторов развития интернет-проектов «Финама», — говорит Сергей Михеев, руководитель блока «Интернет-проекты» холдинга. – В ближайшее время мы планируем представить несколько новых сайтов, относящихся к этому сегменту. Думаю, E-generator.ru войдет в число их основных разработчиков».
Чтобы узнать о DrugMe.ru подробнее, мы связались с Евгенией Кронберг, руководителем этого проекта.
Оффлайн: Записки старого виртуала
Семья запинговала до полного ДДОСа – пришлось ехать в Белоруссию к родственникам. Еду в поезде. Ноутбук с собой, но интернета нет. Кругом полный оффлайн. Чувствую себя немного не в своей тарелке. Для успокоения решил представить, что я как Жак Ив Кусто, только не под водой, а в оффлайне. Становится легче…
Разработка через жалобы
1. Проведите крайне подробное исследование всего, связанного с вашей тематикой. Успехи: в чем они ошиблись? Провалы: что они сделали правильно? Никто не должен знать об этой теме больше вас. У вас должна быть осмысленная история, в которую вы верите и, что еще более важно, в которую могут поверить другие.
2. На основании исследования соберите команду и сделайте минимально жизнеспособный продукт, который будет делать что-то полезное. Если вам нужно начальное финансирование, самое время найти его — надеюсь вы выполнили все указанное в шаге 1 очень хорошо и возможно еще и знамениты, а в идеале еще и успешны, в противном случае вы в заднице.
3. Начните использовать этот продукт вместе со всей командой, каждый день, весь день. Это не просто разработка: это вся ваша жизнь. Если вы не живете разрабатываемой программой каждый день, целый день… проект неизбежно ждет плачевный исход. И, честно говоря, если мне приходится вам это объяснять, то знаете что? Вы в заднице.
Репликация из OLTP в OLAP базу данных
Обычный подход к репликации — это синхронный или асинхронный перенос бинарного лога с одной базы данных (мастер) на другие (слейвы). В бинарном логе строго последовательно записываются все операции, которые модифицируют данные. Если его «проиграть» на другой системе с той же начальной точки, то должно получиться точно такое же состояние данных, как и на исходной. «Проигрывание» происходит по одной операции или по одной транзакции, то есть очень маленькими кусочками.
Этот подход плохо работает с OLAP-специфичными, и особенно, колонко-ориентированными базами данных, которые хранят данные физически не по строкам, а по колонкам. Такие базы данных оптимизированы на запись, чтение и сортировку больших массивов данных, что типично для аналитических задач, но не на маленькие операции на единичных записях, потому что любая операция затрагивает много колонок, которые физически хранятся в разных файлах (а иногда и разных дисках). Хуже всего обстоит дело с изменением данных. Конечно, все базы данных поддерживают стандарт SQL и оператор UPDATE, но на физическом уровне он, как правило, транслируется в то, что обновляемая запись помечается как удаленная, а вместо нее вставляется измененная копия. Потом, когда-нибудь, «сборщик мусора» перетрясет таблицу и удаленные записи удалятся навсегда. Помимо плохой эффективности, отсюда следует, что частые удаления и обновления приводят к «засорению» базы данных, что снижает ее производительность в том числе и на чтение.
Роберт предложил, как мне кажется, новый, хотя и естественный подход к решению проблемы репликации данных для таких случаев. Бинарный лог преобразуется в последовательность частично упорядоченных множеств операций типа DELETE/INSERT для каждой таблицы, причем, так слово «множество» подразумевает, что «одинаковые» в некотором смысле операции достаточно сделать один раз. Поясню чуть подробнее.
Информация
- В рейтинге
- Не участвует
- Откуда
- San Mateo, California, США
- Зарегистрирован
- Активность