Информацию о состоянии окружающей среды или, например, некоторого объекта управления можно получать, измеряя текущие значения параметров, характеризующих те или иные свойства среды или объекта. Для получения, обработки и передачи такой информации техническими средствами, значение измеряемого параметра необходимо преобразовать автоматическими измерительными устройствами в сигнал измерительной информации. Для этого реализуют информационно-измерительный канал (ИИК), как совокупность технических средств, каждое из которых будет выполнять свою определённую функцию, начиная от восприятия измеряемой величины и заканчивая получением измерительной информации в форме, удобной для восприятия человеком или для дальнейшей её обработки. И всё бы хорошо, да вот по пути следования информации на полезный сигнал y(t) измерительной информации накладывается помеха e(t) – случайная функция времени, которая может моделировать и случайную погрешность измерительного преобразователя, и электрические наводки в соединительных проводах, и случайные пульсации измеряемого параметра, и другие факторы.
Зовите меня просто — k_sashka @k_sashka
User
Ричард Хэмминг: Глава 17. Цифровые фильтры — IV
14 min
5.3KTranslation
«Цель этого курса — подготовить вас к вашему техническому будущему.»
Привет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2442 в закладки, 393k прочтений)?
Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, написанная по мотивам его лекций. Мы ее переводим, ведь мужик дело говорит.
Это книга не просто про ИТ, это книга про стиль мышления невероятно крутых людей. «Это не просто заряд положительного мышления; в ней описаны условия, которые увеличивают шансы сделать великую работу.»
Мы уже перевели 24 (из 30) главы. И ведем работу над изданием «в бумаге».
Глава 17. Цифровые фильтры — IV
(За перевод спасибо Пахомову Андрею, который откликнулся на мой призыв в «предыдущей главе».) Кто хочет помочь с переводом, версткой и изданием книги — пишите в личку или на почту magisterludi2016@yandex.ru
А сейчас мы обратимся к рекурсивным фильтрам, которые имеют следующий вид:
Из этой формулы видно, что мы располагаем значениями только с одной стороны от текущего n-ого значения. Мы используем предыдущие значения сигнала и его значение в текущий момент времени un а так же предыдущие значения полученные на выходе фильтра.
Этот классический подход является результатом того, что часто мы обрабатывает сигнал в режиме реального времени и у нас нет доступа к будущим значениям сигнала.
Вспомнив основы, мы увидим, что если бы у нас были «будущие значения», вероятно, двухстороннее прогнозирование было бы намного более точное. Тогда бы для вычисления yn мы столкнулись бы с системой, которая должна была бы моментально решать линейные уравнения — ничего страшного в век дешевых вычислений.
+11
Полезные сниппеты для Nginx конфигов
5 min
122KДоброго времени суток, уважаемые хабравчане! В Elasticweb мы негласно ратуем за Nginx и, наверное, мы одни из немногих хостингов, которые не поддерживают Apache и .htaccess соответственно. В связи с этим, большое количество обращений в тех. поддержку связано с оказанием помощи в написании конфигурационного файла для Nginx. Поэтому мы решили собрать коллекцию полезных сниппетов и коллекцию готовых Nging конфигов для наиболее популярных CMS/CMF/Фреймворков на PHP.
+88
Как превратить концепт-проект на Arduino в финальный прототип
5 min
19KTranslation
Предыстория
Некоторое время назад я описал процесс изготовления "коробки от прокрастинации" – запирающейся коробочки, в которую нужно прятать смартфон, чтобы не отвлекаться на него. По поводу статьи мне пришло следующее письмо:
Привет! Мне очень понравилась твоя коробка от прокрастинации. Я веб-разработчик, и ищу кого-нибудь, кто сможет сделать мне прототип продукта, очень похожего на описанный тобою.
Я, конечно, обрадовался. Но потом подумал: я ведь не инженер. Одно дело – играться с доской для прототипирования, а другое – изготовить коммерческий продукт. К счастью, я был не первым новичком, стремящимся стать профессионалом, поэтому где-то через месяц я изготовил рабочий прототип (Cloister), и написал текст на 4 странички с пояснениями по информации, нарытой в сети.
Здесь я хочу собрать эту информацию воедино и структурировать её. Это не будет всеобъемлющая инструкция по прототипированию – я всё-таки новичок.
Наш прототип: the MoodCube
В педагогических целях мы с вами вместе изготовим простой прототип. Лично я всегда верил в обучение через примеры. Мы разработаем контур, чтобы получить плату специально для нашего проекта. Затем мы сделаем ей корпус и stl-файлы для распечатки его на 3д-принтере.
Уникальный продукт, который мы будем делать, и который принесёт нам богатство и славу – это MoodCube. Пластиковый кубик с RGB-светодиодами на 5 из 6 сторон. Управляться он будет с пульта.
+16
Олдскул, хардкор, AY-3-8912. «Железный» чиптюн с последовательным входом
5 min
64KКлона Spectrum 128K, оснащенного музыкальным сопроцессором AY-3-8910 (YM2149F) у меня не было. Был 48K с расширенной клавиатурой и убогим блоком питания, перегревающим внутренности через час-два работы. От этого, помнится. домики посреди моря в Sim City образовывались и другие веселые артефакты. Но к делу данные воспоминания не относятся. Вдохновившись материалом tronix286, я решил восполнить пробел в ретро-образовании и склепать что-нибудь на легендарном (и при этом, легко добываемом и недорогом) чипе.
В ходе изучения различных поделок, идея сформировалась следующая: надо делать модуль с последовательным (UART) входом. Чтобы его уже можно было подключить с минимальными затратами к любому девайсу, добавляя тем самым +146 к чиптюновости. В процессе также было решено освоить пару дополнительных навыков, вроде программирования AVR и изготовления печатных плат с применением фоторезиста.
Сразу опишу результаты: модуль разработан и пиликает, побочные навыки прокачаны, грабли собраны, можно радоваться, расширять и углублять.
+40
Получаем IP-адреса HTTPS-клиентов с HAProxy (frontend) на Nginx (backend) в режимах HTTP и TCP-балансировки
3 min
56KДовольно часто требуется балансировать нагрузку между несколькими веб-серверами. При этом, как правило, необходимо, чтобы веб-приложения получали реальные IP-адреса клиентов, а не IP балансировщика.
В случае балансировки и терминации HTTP(S)-трафика на HAProxy (Layer 7 [1]) данная задача легко решается добавлением заголовка “X-Real-IP” и его обработкой на Nginx при помощи модуля ngx_http_realip_module [2]. При балансировке TCP-трафика от HTTPS-клиентов и передаче его на веб-сервера напрямую без модификации или терминации (Layer 4 [3]) добавить данный заголовок невозможно, поэтому требуется воспользоваться возможностями, предоставляемыми Proxy Protocol [4, 5, 6].
Рассмотрим оба варианта (балансировка L7 и L4) на примере выдержек из конфигурационных файлов haproxy 1.5.9 и nginx 1.6.2
В случае балансировки и терминации HTTP(S)-трафика на HAProxy (Layer 7 [1]) данная задача легко решается добавлением заголовка “X-Real-IP” и его обработкой на Nginx при помощи модуля ngx_http_realip_module [2]. При балансировке TCP-трафика от HTTPS-клиентов и передаче его на веб-сервера напрямую без модификации или терминации (Layer 4 [3]) добавить данный заголовок невозможно, поэтому требуется воспользоваться возможностями, предоставляемыми Proxy Protocol [4, 5, 6].
Рассмотрим оба варианта (балансировка L7 и L4) на примере выдержек из конфигурационных файлов haproxy 1.5.9 и nginx 1.6.2
+27
I am Groot. Делаем свою аналитику на событиях
6 min
33KВесной этого года я узнал о возможности базы данных HP Vertica создавать запросы с матчингом паттернов событий. Так называемый Events Pattern Matching хорошо ложился под задачу анализировать поведение пользователей в продуктах ivi.ru. Мы решили попробовать разобраться с воронками оплаты, с поиском проблемных мест на устройствах, глубже погрузиться в анализ трафика. Нашей команде очень нравится, как реализована аналитика у Mixpanel и Localytics (она как раз основана на событиях и их свойствах), поэтому многие идеи были позаимствованы у них.
+24
Positive bias или что общего у мирового кризиса с сорванным дедлайном
3 min
873Прошедшая неделя ознаменовалась обвалом на рынках, пессимистичной статистикой по ключевым американским показателям и всеобщими опасениями, что дальше будет хуже. Сейчас только ленивый не пишет про возможную мировую рецессию. Я как раз ленивый поэтому не буду. А напишу лучше про то, как мы раз за разом садимся в лужу в наших оценках. И неважно, что мы оцениваем — свои профессиональные качества, дедлайн проекта или курс акций. Всему виной — positive bias.
+34
Миграция с Ruby
5 min
8KУверен, что на Хабре обитает огромное число юзеров, облизывающихся при чтении описаний технологий и архитектур, используемых в молодых, динамичных и, что наиболее важно, быстрорастущих в своей пользовательской базе, компаний. К сожалению, относительно небольшое количество наших соотечественников работает в таких компаниях по всему миру, а те, кто все-таки трудится во внутренней кухне, связаны различными условиями трудовых договоров или банальным NDA, запрещающим сливать публике самые интересные подробности. Тем не менее, я лично знаю большое количество специалистов, особенно заинтересованных в высоких нагрузках и не знающих, где получить эту информацию из первых рук.
Эту проблему можно решить единственным способом — предоставить слово кому-то из менеджеров отдела разработки или любому другому человеку, занимающему адекватно высокий пост и разбирающемуся в разработке, а после — тянуть, тянуть из него все подробности. Примерно так поступили в Information Queue, опросив одного из инженеров Twitter'а — Эвана Уивера (Evan Weaver) о том, почему компания так долго развивавшаяся на «рельсах», решила переключиться на использование других технологий и какие это имело последствия.
В этом материале я буду всецело ссылаться на слова Эвана, объясняющего суть миграции и выгод, получаемых от использования JVM, в первую очередь — производительности и, все той же, масштабируемости. Но как мы узнаем чуть позже, решение было так же продиктовано желанием изолировать отдельные сервисы, а так же слегка изменить общую архитектуру продукта.
Итак, история начинается в прошлом году, когда Twitter анонсировал изменения в архитектуре бэкэнда (message queue), а так же заявил о намерении переписать Twitter Storage на Scala, а весной началась работа по переписыванию всего поискового движка. Как часть этих изменений, БД MySQL (лежавшая в основе поиска) была заменена Lucene. И, наконец, совсем недавно команда разработчиков заявила о замене Ruby on Rails в области поиска — на его место встал Java-сервер, который они сами называют Blender. Результатом этой замены стало трехкратное снижение задержки при выполнении поискового запроса.
Эту проблему можно решить единственным способом — предоставить слово кому-то из менеджеров отдела разработки или любому другому человеку, занимающему адекватно высокий пост и разбирающемуся в разработке, а после — тянуть, тянуть из него все подробности. Примерно так поступили в Information Queue, опросив одного из инженеров Twitter'а — Эвана Уивера (Evan Weaver) о том, почему компания так долго развивавшаяся на «рельсах», решила переключиться на использование других технологий и какие это имело последствия.
В этом материале я буду всецело ссылаться на слова Эвана, объясняющего суть миграции и выгод, получаемых от использования JVM, в первую очередь — производительности и, все той же, масштабируемости. Но как мы узнаем чуть позже, решение было так же продиктовано желанием изолировать отдельные сервисы, а так же слегка изменить общую архитектуру продукта.
Итак, история начинается в прошлом году, когда Twitter анонсировал изменения в архитектуре бэкэнда (message queue), а так же заявил о намерении переписать Twitter Storage на Scala, а весной началась работа по переписыванию всего поискового движка. Как часть этих изменений, БД MySQL (лежавшая в основе поиска) была заменена Lucene. И, наконец, совсем недавно команда разработчиков заявила о замене Ruby on Rails в области поиска — на его место встал Java-сервер, который они сами называют Blender. Результатом этой замены стало трехкратное снижение задержки при выполнении поискового запроса.
+58
Добродетельная мафия
11 min
2KОбсуждая Facebook, многие вещи можно назвать впечатляющими, даже по стандартам Кремниевой Долины.
Никто другой не собирал людей с такой скоростью. Можно пересчитать по пальцам компании, в которых всерьез рассматривались причины революций, а так же других социально-политических волнений. Мы наизусть знаем имена людей которые со своих юных лет возглавляют многомиллионные корпорации. Мы не найдем ни одной другой компании, кроме Facebook, про которую бы был снят полнометражный фильм, номинированный на все возможные виды Оскаров.
Поэтому нет ничего удивительного в том, что интеллектуальная мафия Facebook создала портфель из таких громких стартапов как Quora, Cloudera, Jumo, Asana, Path, а так же многих других. Все они появились на свет и достигли зрелости очень быстро, фактически — еще раньше чем случилось «самое главное» для Facebook. Как и большинство вещей которые делают Facebook уникальным местом в интернете, вышеперечисленные стартапы многим обязаны не только Цукербергу с его творением, но и времени, в котором они выросли.
Прежде чем мы пустимся в повествование важно иметь ввиду, что далеко не все компании порождают на свет т. н. «интеллектуальные добросовестные мафии». Настоящая, собранная, способная быстро реагировать на изменения в окружающей среде «мафия» как правило начинается с сообщества со-основателей, ранних наемных работников и топ-инженеров, каждый из которых прошел «боевые испытания» и обладает ресурсами, и энтузиазмом для того, чтобы финансировать чужой бизнес.
К тому же, большинство технологических компаний очень любят инвестировать «в своих». Это со-инвестирование и поддержка друг-друга позволяет оставлять все богатство «в семье». И несмотря на то что огромное количество умных людей, предпринимателей и ангел-инвесторов вышло из Google, Yahoo, eBay, Amazon и Microsoft, их гигантский бизнес не позволяет внутри зародиться «мафии» о которой мы говорим, способной катализировать в один момент и привнести в мир много нового, разного и классного.
Никто другой не собирал людей с такой скоростью. Можно пересчитать по пальцам компании, в которых всерьез рассматривались причины революций, а так же других социально-политических волнений. Мы наизусть знаем имена людей которые со своих юных лет возглавляют многомиллионные корпорации. Мы не найдем ни одной другой компании, кроме Facebook, про которую бы был снят полнометражный фильм, номинированный на все возможные виды Оскаров.
Поэтому нет ничего удивительного в том, что интеллектуальная мафия Facebook создала портфель из таких громких стартапов как Quora, Cloudera, Jumo, Asana, Path, а так же многих других. Все они появились на свет и достигли зрелости очень быстро, фактически — еще раньше чем случилось «самое главное» для Facebook. Как и большинство вещей которые делают Facebook уникальным местом в интернете, вышеперечисленные стартапы многим обязаны не только Цукербергу с его творением, но и времени, в котором они выросли.
Прежде чем мы пустимся в повествование важно иметь ввиду, что далеко не все компании порождают на свет т. н. «интеллектуальные добросовестные мафии». Настоящая, собранная, способная быстро реагировать на изменения в окружающей среде «мафия» как правило начинается с сообщества со-основателей, ранних наемных работников и топ-инженеров, каждый из которых прошел «боевые испытания» и обладает ресурсами, и энтузиазмом для того, чтобы финансировать чужой бизнес.
К тому же, большинство технологических компаний очень любят инвестировать «в своих». Это со-инвестирование и поддержка друг-друга позволяет оставлять все богатство «в семье». И несмотря на то что огромное количество умных людей, предпринимателей и ангел-инвесторов вышло из Google, Yahoo, eBay, Amazon и Microsoft, их гигантский бизнес не позволяет внутри зародиться «мафии» о которой мы говорим, способной катализировать в один момент и привнести в мир много нового, разного и классного.
+48
Программа для проектирования сайтов и интерфейсов на Айпаде
2 min
12KСегодня я хочу рассказать вам про свою программу для Айпада — СкетчиПад (ссылка в Айтюнс, сайт программы). Да, я знаю, что Айпад все еще не продается официально на территории России, но во-первых думаю многие хабраюзеры уже обзавелись этим гаджетом у «неофициальных» поставщиков, а во-вторых уверен, что здесь много пользователей из стран официальных продаж.
+35
NAS i-Stor iS607. Доработать напильником
8 min
20KКупившись на краткий обзор i-Stor iS607 и его миленькую мордочку, на прошлой неделе я его приобрел. Чувства двоякие. С одной стороны оно работает, но какой ценой, господа. Кажется, я теперь могу идти админить Linux сервера.
* NAS, или Network Attached Storage, — это такая коробочка с винтом, которая подключается к сети и тихо выполняет функции файлсервера и торенткачалки стоя в углу. Лучше специальных серверов по следующим параметрам: конечно же цена, размер, энергопотребление.
Стоит ли покупать?
Нет, если вы не гуру линуксоид и/или не любите стучать головой об стену.
Минусы.
Плюсы.
* Нагло тырю картинку из того же топика
В этом посте я хочу собрать свой опыт настройки i-Stor iS607. Ибо в интернете информации весьма мало и мне пришлось перечитать вообще все, чтобы чего-то хоть добиться. Чтобы облегчить путь братьям Хабравчанам (хоть я и не сомневаюсь, что большинство из вас успешно завершили бы этот квест самостоятельно и вероятно быстрее меня), публикую инструкцию в одном месте.
* NAS, или Network Attached Storage, — это такая коробочка с винтом, которая подключается к сети и тихо выполняет функции файлсервера и торенткачалки стоя в углу. Лучше специальных серверов по следующим параметрам: конечно же цена, размер, энергопотребление.
Коротко.
Стоит ли покупать?
Нет, если вы не гуру линуксоид и/или не любите стучать головой об стену.
Минусы.
- Стандартная прошивка iS607
умеет только… да ничего не умеет - Нестандартную прошивку надо еще найти и умудриться поставить правильную
- Техподдержки для iS607 нет как класса, 95% информации в интернете устарело и тупо не работает
- Нужно знать Linux, чтобы хоть как-то привести его в рабочее состояние
- Судя по форумам, с половиной винтов iS607 не дружит
- Также, с половиной маршрутизаторов
- Довольно слаб
- Имеет еще кучу (порой странных и непонятных) глюков
Плюсы.
- Симпатяжка
- Работает
* Нагло тырю картинку из того же топика
В этом посте я хочу собрать свой опыт настройки i-Stor iS607. Ибо в интернете информации весьма мало и мне пришлось перечитать вообще все, чтобы чего-то хоть добиться. Чтобы облегчить путь братьям Хабравчанам (хоть я и не сомневаюсь, что большинство из вас успешно завершили бы этот квест самостоятельно и вероятно быстрее меня), публикую инструкцию в одном месте.
+63
How-to install gitosis (мануал с учётом проблем возникающих при установке) + интеграция в redmine
6 min
4.3Kgitosis — программное обеспечение для хостинга Git репозиториев
Установка:
Появился скрипт авто установки пока тестируется
sudo apt-get install python-setuptools git-core -y
mkdir ~/src
cd ~/src
git clone git://github.com/sc0rp1us/gitosis-tools.git
cd gitosis-tools/gitautoinstall
sudo bash main
Дальше следуем инструкциям скрипта
Но вернёмся к статье
Для начала установим необходимые компоненты для запуска gitosis:
- Для debian & ubuntu выполните следующие команды от пользователя root
apt-get update
apt-get upgrade
apt-get install python-setuptools git-core -y
cd ~/src
git clone git://eagain.net/gitosis.git
cd gitosis
python setup.py install
Далее зайдём в учётную запись через которую будем управлять gitosis'om (назовём её gitadmin), выгрузим дистрибутив и установим его
Настройка:
Теперь нам нужно будет создать пользователя который будет владеть хранилищем(имя может быть любым, но я предпочитаю использовать просто git), к тому же на одном сервере может быть несколько аккаунтов владеющих хранилищами, такому аккаунту не нужен пароль, но необходим действующий shell иначе SSH откажется с ним работать:
P.S. вы конечно можете использовать уже существующую учётную запись, но по соображениям безопасности, крайне не рекомендуется этого делать
+3
Краткий обзор NAS i-Stor iS607
2 min
25KИмеется в наличии такой вот сетевой дисковый массив. И я решил поделиться с хабраобщественностью этой радостью. Маленький обзор.
Итак, поехали
+35
Издание собственной книги: от А до Я
7 min
3.1KПосле заметки о выходе книги «Разгони свой сайт» ко мне обратились с просьбой осветить процесс публикации собственного издания. Не скажу, что описанные ниже действия были простыми и очевидными: в ходе возникло масса вопросов, на которые я с трудом мог ответить самостоятельно, поэтому приходилось искать совета буквально везде.
Начинать надо прежде всего с того, чтобы иметь четкий замысел книги и время на ее написание. В моем случае мне очень помог тот факт, что на момент написания весь материал был уже фактически собран, и мне нужно было только его скомпоновать, перепроверить и уточнить.
Если у вас нет четкого плана изложения материала, то лучше вообще не начинать сам процесс написания. В таком случае он может стать долгим, мучительным, а результат совершенно не удовлетворит потенциальных читателей.
Предыстория
Начинать надо прежде всего с того, чтобы иметь четкий замысел книги и время на ее написание. В моем случае мне очень помог тот факт, что на момент написания весь материал был уже фактически собран, и мне нужно было только его скомпоновать, перепроверить и уточнить.
Если у вас нет четкого плана изложения материала, то лучше вообще не начинать сам процесс написания. В таком случае он может стать долгим, мучительным, а результат совершенно не удовлетворит потенциальных читателей.
+86
Переlator
9 min
20KПо ходу своей работы я сталкиваюсь с маленькими задачами, которые отнимают много времени (при решении «в лоб»). Иногда получается найти средства для быстрого решения этих задач, иногда нет. Во втором случае, чаще всего, я быстренько пишу собственные маленькие программы, которые позволяют максимально упросить решение задачи.
Недавно столкнулся с одной такой задачей. Всё чаще стала возникать необходимость перевести какой-то текст. То на иврите нужно перевести абзац, то на китайском сайте нужно было почитать обсуждение, то при написании письма зарубежным коллегам не получается перевести «хитрое» предложение — приходится обращаться к онлайн сервисам перевода («подглядеть», что подскажут). Я пользовался сервисами ПРОМТ и Google. Такой подход мне начал надоедать, и я за пару вечеров набросал контекстный переводчик, который использует сразу три сервиса от компаний: Google (Google Translator), Microsoft (Bing Translator), ПРОМТ (мобильная версия).
Уверен, что мои наработки кому-то окажутся полезными.
Эту мини-статью я разделю на две части. Первая посвящена тем, кто хочет просто установить программу и пользоваться ей. А вторая, тем только делает первые шаги в освоение разработки «под» Mac OS X и iPhone (сделали первую программа «Конвертер» по руководству от Apple, но уже имеющие желание писать коммерческое ПО).
Недавно столкнулся с одной такой задачей. Всё чаще стала возникать необходимость перевести какой-то текст. То на иврите нужно перевести абзац, то на китайском сайте нужно было почитать обсуждение, то при написании письма зарубежным коллегам не получается перевести «хитрое» предложение — приходится обращаться к онлайн сервисам перевода («подглядеть», что подскажут). Я пользовался сервисами ПРОМТ и Google. Такой подход мне начал надоедать, и я за пару вечеров набросал контекстный переводчик, который использует сразу три сервиса от компаний: Google (Google Translator), Microsoft (Bing Translator), ПРОМТ (мобильная версия).
Уверен, что мои наработки кому-то окажутся полезными.
Эту мини-статью я разделю на две части. Первая посвящена тем, кто хочет просто установить программу и пользоваться ей. А вторая, тем только делает первые шаги в освоение разработки «под» Mac OS X и iPhone (сделали первую программа «Конвертер» по руководству от Apple, но уже имеющие желание писать коммерческое ПО).
+78
Реализация быстрого импорта из Excel на PHP
3 min
68KМы продолжаем рассказывать о технологиях, используемых на нашем сервисе email-маркетинга Pechkin-mail.ru. Одной из ключевых задач любого сервиса, связанного с данными клиентов, является загрузка этих данных на сервис. Для Печкина очень важно быстро и без проблем для пользователя загружать адресные базы, содержащие email-адреса, имена, фамилии и другие дополнительные данные.
В качестве базового стандарта, используемого при импорте адресных баз, мы взяли Microsoft Excel. Объясняется это просто:
Проблему пользователей при импорте адресных баз сняли. Но тут возникает уже проблема непосредственно разработки.
Что использовать в качестве инструмента?
В качестве базового стандарта, используемого при импорте адресных баз, мы взяли Microsoft Excel. Объясняется это просто:
- это стандартный инструмент, которым на базовом уровне владеют 100% пользователей компьютеров. Более того, в бизнесе — это де-факто корпоративный стандарт и используется даже, если на рабочих компьютерах Mac или Linux.
- Практически все CRM-, CMS-, облачные или десктопные системы имеют экспорт в Excel или CSV, который простым пересохранением приводится к формату XLS или XLSX.
- Известно также, что “90% ошибок ПО сидит в полуметре от монитора”. Не в обиду будет сказано рядовым пользователям, но мы должны учитывать самый базовый уровень подготовки и тех. поддержке для объяснения достаточно сказать “Загрузите Excel-файл”, а не объяснять процедуру подготовки файла в нужном формате.
Проблему пользователей при импорте адресных баз сняли. Но тут возникает уже проблема непосредственно разработки.
+18
Цикл Дэвида Колба в жизни
5 min
71KTutorial
Если Вы часто сталкиваете в работе со следующими фразами, то это статья для Вас:
• Почему ты, не разобравшись, сделал такую ерунду?
• Хватит задавать вопросы, прочитай вот этот маленький параграф и всё поймешь! — Я прочитал, но ничего не понял, объясни по-человечески.
• А вы знаете, нам всё надо делать по другому, так как в книге Х, в главе Y, есть утверждение Z противоречащее пункту 14.5.3 нашего ТЗ.
• Когда ты уже начнешь работать? – Я проектирую систему, мне надо ещё три недели.
• У меня есть идея, как сделать нашу жизнь лучше! Вася, послушай меня, тебе надо сделать: а, б, в, г …
+16
Уроки написания утилитки на $1 000 000
4 min
197KОсенью 2008 года мы потратили две-три недели свободного от основной работы времени, чтобы написать маленькую утилитку для бэкапа баз данных (MS SQL Server и потом MySQL). Сегодня она приносит нам около $230 000 в год и можно с уверенностью говорить, что суммарно мы заработаем на ней больше $1 000 000.
Под катом я расскажу, как это получилось и какие уроки мы из этого извлекли. Вполне возможно, что нам просто глупо повезло и опыт этот целиком неверен и теории не соответствует и только навредит вашему начинанию — читайте на свой страх и риск.
+443
Как я нахожу время?
7 min
106KTranslation
На фотографии изображен автор оригинального поста, Стив Клабник, со своим отцом
Стив Клабник широко известен в кругах рубистов. Он является контрибьютором во множество Open Source проектов, в том числе Ruby on Rails, Draper, Resque, Rails API, занимается преподаванием программирования и консалтингом в рамках JumpstartLab, пишет книги, увлекается политикой и без устали пишет в свой Твиттер.
Порой создается впечатление, что не существует такого околоруби проекта, в котором он так или иначе не принимал участие.
Приезжал в Москву в рамках Rails Club Moscow 2012 с докладом о Hypermedia API и зарекомендовал себя хорошим профессионалом и очень продуктивным человеком. По слухам, он умудряется разбирать пулл реквесты в самолете, на сцене, во время выступления, и даже на групповых фото.
Я решил перевести эту статью, потому что изложенные в ней мысли заставили меня о многом задуматься. Надеюсь, Вы получите удовольствие от прочтения и, так же как и я, извлечете для себя хотя бы крупицу пользы.
Порой создается впечатление, что не существует такого околоруби проекта, в котором он так или иначе не принимал участие.
Приезжал в Москву в рамках Rails Club Moscow 2012 с докладом о Hypermedia API и зарекомендовал себя хорошим профессионалом и очень продуктивным человеком. По слухам, он умудряется разбирать пулл реквесты в самолете, на сцене, во время выступления, и даже на групповых фото.
Я решил перевести эту статью, потому что изложенные в ней мысли заставили меня о многом задуматься. Надеюсь, Вы получите удовольствие от прочтения и, так же как и я, извлечете для себя хотя бы крупицу пользы.
Мне часто задают вопрос: «Как ты находишь время?». Чаще всего речь идет об open source, иногда о книгах, изредка — о других вещах. Обычно я уклонялся от ответа чем-нибудь вроде: «Блин, не знаю, просто беру и нахожу». Но этот ответ не слишком полезен. Да и мне было интересно, смогу ли я справляться со временем еще лучше. Так что я немного порефлексировал, и вот как я нахожу время:
+91
Information
- Rating
- Does not participate
- Location
- Россия
- Registered
- Activity