Как стать автором
Обновить
25
0

Пользователь

Отправить сообщение

Лекции Технопарка. 3 семестр. Проектирование высоконагруженных систем

Время на прочтение3 мин
Количество просмотров73K


И снова в эфире наша постоянная рубрика «Лекции Технопарка». На этот раз предлагаем вам ознакомиться с материалами курса «Проектирование высоконагруженных систем». Цель курса — получение студентами навыков проектирования высокоэффективных программных систем.
Читать дальше →
Всего голосов 56: ↑53 и ↓3+50
Комментарии5

Лекции Технопарка. 2 семестр. Базы данных

Время на прочтение4 мин
Количество просмотров86K


Очередной пост в рамках нашей постоянной рубрики «Лекции Технопарка». В этот раз предлагаем вашему вниманию лекции, посвящённые базам данных. Цель курса — получение студентами знаний в области проектирования реляционных баз данных, эффективной работы с базами данных, оптимизации запросов и схем данных, изучение особенностей использования баз данных в проектах с высокой нагрузкой и/или использующих большие массивы данных, noSQL и его применение для решения прикладных задач в WWW.
Читать дальше →
Всего голосов 47: ↑45 и ↓2+43
Комментарии0

Как сохранить здоровье, работая за компьютером?

Время на прочтение8 мин
Количество просмотров106K
Иллюстрация

Вы заботитесь о своем здоровье?


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

Что оказалось непросто. В данной статье я расскажу о моем способе организации «правильного» рабочего дня, о том, что следует для этого делать, и где лежат грабли, на которые нельзя наступать. Тема «компьютер и здоровье» уже несколько раз поднималась на Хабре, поэтому я задумывал этот пост как статью, которую можно добавить в закладки и использовать в качестве «руководства к действию».

Читать дальше →
Всего голосов 272: ↑259 и ↓13+246
Комментарии139

HP Vertica, проектирование хранилища данных, больших данных

Время на прочтение8 мин
Количество просмотров32K
UPD: Продолжение статьи по ссылке — habrahabr.ru/company/avito/blog/322510

О чем статья

Незаметно пролетел год, как начались работы по разработке и внедрению хранилища данных на платформе Вертика.
На хабре уже есть статьи про саму СУБД Вертика, особенно рекомендую эту: HP Vertica, первый запущенный проект в РФ, ведь ее автор очень помог нам на начальном этапе. Алексей, спасибо еще раз.
Хотелось бы рассказать о том, какая методология применялась для проектирования физической структуры хранилища, чтобы наиболее полно использовать возможности HP Vertica.
Эту статью хотел бы посветить обоснованию оптимальности выбранной методологии, а в следующей — рассказать о том, какие техники позволяют анализировать данные, содержащие десятки млрд.

Постановка задачи

Рассмотрим высоконагруженный сайт крупной российской интернет-компании (теперь можно — это Авито ;)).
Деятельность компании описывается следующими цифрами: ~ 10 млн. активных пользователей, ~100 млн. просмотров страниц в день, около 1 тыс. новых объектов, размещенных пользователями на сайте в течение 1 минуты, ~10 тыс. поисковых запросов пользователей в минуту.
Грубая оценка количества действий, подлежащих сохранению в хранилище, составляет 100 млн. новых записей в сутки (~100 GB новых данных в сутки).
Т.е. при построении классического хранилища данных с отказом от стирания поступивших ранее данных, объем хранилища через 3 месяца эксплуатации составит 10TB сырых данных. Big Data как она есть.
Нужно построить хранилище, которое хранило бы не меньше 6 месяцев данных, позволяло их анализировать, визуализировать, и отставало бы от реальной жизни настолько мало, насколько это возможно (в худшем случае — отставало бы на день, в лучшем — на минуты).
Вынося сразу за скобки вопрос выбора платформы — хранилище должно работать на HP Vertica, MPP базе колоночного хранения, см. вводную статью в заголовке.
Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии10

Включение чего угодно по HTTP без заморочек c OpenWRT

Время на прочтение15 мин
Количество просмотров304K

В комментариях к статье об опыте изготовления «интернет розетки» мое внимание привлекли два комментария. Один, в котором утверждалось, что такая штука, по сути, бесполезна, показался мне несправедливым — хорошо помню, как мне однажды понадобилось, например, дистанционно «ресетить» одну хитрую штучку и думаю, что я не одинок. А вот идея о том, что можно решить подобный вопрос проще и дешевле, использовав, например, TP-LINK TL-MR3020 + OpenWRT показалась мне дельной. Я решил к тому же обойтись без разборки устройства, программирования и микроконтроллеров — короче, сделать решение как можно доступнее. И у меня это почти получилось!
Читать дальше →
Всего голосов 88: ↑84 и ↓4+80
Комментарии61

Почему иногда надо бить себя по рукам?

Время на прочтение8 мин
Количество просмотров28K
Доброго дня. Меня зовут Илья и я — перфекционист.

Одна из главных проблем большинства стартаперов состоит в том, что они так и не становятся стартаперами: они просто не в состоянии закончить свой первый проект. Схожие трудности испытывают некоторые фрилансеры — у них не всегда выходит закончить проект в срок.

У этих проблем есть общее достаточно тривиальное решение. Но никто не решается отказаться от идеальности своего кода и вместо того, чтобы получить завершённый проект, обычно делают проект мечты.

Месяц назад наша команда, состоящая из полутора дизайнеров и полутора кодеров взяла первое место на региональном чемпионате по скоростной разработке игр. На разработку давалось всего 48 часов. Двое суток, целиком состоящих из кофе и нервов дали итогом самый завершённый из проектов конкурса. Я расскажу вам, что мне пришлось сделать с собой и своим желанием написать идеальный код, который не страшно будет показать людям.
Читать дальше →
Всего голосов 50: ↑41 и ↓9+32
Комментарии18

Как из болота вытягивать ITшника или об общении в стрессовых ситуациях

Время на прочтение21 мин
Количество просмотров274K

Неприятности случаются… Неожиданно плохой фидбек, проблемы с заказчиком или коллегами, не повысили зарплату, странные баги, внезапный овертайм или закрытие проекта — подобные события запускают цепочку реактивных реакций:

  • Нет, тут есть ошибка -> сами гады -> а может все не так и плохо -> ппц -> ладно, давай выкручиваться

В этой цепочке человек ведет себя реактивно, предсказуемо… и, часто, совершает глупости. Это напоминает машину состояний, входом в которую являются неожиданное событие. Состояния машины — цепочка психологических защит: отрицание, гнев, торг и депрессия, а выход — принятие новой информации.
Из подобных состояний часто приходится вытаскивать коллег, заказчиков, и себя самого.
Под хабракатом, кроме описания этапов, есть ответы на вопросы:

  • Как узнать каждое состояние и предугадать следующее?
  • Как помочь выйти себе и собеседнику из цепочки?
  • Что не делать, чтобы не усугубить ситуацию?
Читать дальше →
Всего голосов 199: ↑186 и ↓13+173
Комментарии88

Компактное складное рабочее место для ноутбука «своими руками»

Время на прочтение4 мин
Количество просмотров214K
В этой статье-инструкции я хочу рассказать, об одном из вариантов создания рабочего места дома, когда удобное место хочется, а для стола свободного пространства нет (или не хочется его занимать).



Как же это сделать всего за пару часов времени и вменяемые затраты я и хочу рассказать и показать на собственном примере.

Этот вариант в первую очередь будет инетресен людям, работающим дома (полностью или частично) и не имеющим нормального рабочего места или желающим увеличить свободное пространство в комнате заменив громоздкое старое рабочее место на такое компактное
Читать дальше →
Всего голосов 145: ↑129 и ↓16+113
Комментарии141

Как сделать электродвигатель за 15 минут

Время на прочтение4 мин
Количество просмотров70K
Всегда интересно наблюдать за изменяющимися явлениями, особенно если сам участвуешь в создании этих явлений. Сейчас мы соберем простейший (но реально работающий) электродвигатель, состоящий из источника питания, магнита и небольшой катушки провода, которую мы сами и сделаем.
Читать дальше →
Всего голосов 110: ↑93 и ↓17+76
Комментарии38

Простой файловый хостинг на Google App Engine

Время на прочтение5 мин
Количество просмотров11K
Наверняка каждый из вас в своей жизни находил удобный для себя файловый хостинг, а через какое-то время обнаруживал, что на нем от количества рекламы начинают болеть глаза, условия уже далеко не такие лояльные и вообще пора бы уже найти что-то новое. Вариантов дальнейших действий два — или найти новый, пока еще не раскрученный файлообменник и использовать его, пока он не испортится, или организовать собственное решение. Для второго варианта, в свою очередь, можно приобрести хостинг (придется правда набить шишек, пока не найдется добросовестный хостер с качественными услугами) или воспользоваться облачным сервисом.

Довольно интересной находкой оказался PaaS-хостинг от Google — Google App Engine (далее GAE), который дает возможность хранить до 5 Гб файлов при 1 Гб входящего и 1 Гб исходящего трафика в день, и кроме всего прочего, в нем используется модель High Replication, то есть ваши данные будут хранится сразу на нескольких серверах по всему миру!
Особенностью GAE является несколько нестандартный интерфейс для работы с файлами, поэтому я и сделал собственный сервис, о чем расскажу в данной статье.
Читать дальше →
Всего голосов 34: ↑32 и ↓2+30
Комментарии44

Искусственный интеллект в CAM-системах, для решения задач автоматизации процессов создания управляющих программ

Время на прочтение5 мин
Количество просмотров9K
Хорошо изучив хабр – встретил много интересных решений, построенных на нейронных сетях.
Также нашел редкие топики по тематикам САПР, а именно CAD/CAM системам, что навело на мысль: «а почему бы не написать о своих разработках и мыслях сюда?». Ведь здесь приличное количество специалистов, программистов и просто толковых людей. А в научных и профессиональных кругах на моем местном уровне — обсудить тонкости по данной тематике практически нереально. По-крайней мере поиски разработчиков подобного ПО с целью общения у меня не увенчались успехом и они по сей день не прекращаются.

image

Уже несколько лет, я занимаюсь изучением систем искусственного интеллекта (ИИ), а основная рабочая деятельность плотно связывает меня с CAD/CAM-системами и оборудованием с ЧПУ (числовым программным управлением).
Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии18

Сканируем в 3D с помощью фотоаппарата или 123D Catch

Время на прочтение3 мин
Количество просмотров132K
В современном мире трехмерные технологии стали очень популярны. 3D стремительно и разнообразно входит в жизнь даже обычного человека. Начиная от 3D телевизоров, 3D сканеров и даже принтеров. Хотя последние два устройства в большей степени пока доступны только специалистам. Но технологии не стоят на месте. Появляются трехмерные принтеры стоимостью около $2000, что уже приближает время, когда они появятся, если не у каждого школьника/студента на столе, то как минимум, у каждого инженера или дизайнера. Что касается методов получения трехмерной модели с реального физического объекта, то тут тоже не все однозначно. Требуются наличие либо дорогостоящего лазерного сканера, либо можно попытать счастье с помощью лазерного строительного уровня, веб-камеры и специального программного обеспечения. Наличием всех этих вещей тоже не может похвастаться абсолютно любой человек.
Однако есть очень простой способ “сканировать” объект в 3D модель, используя обычный цифровой фотоаппарат. Как это сделать? Об этом и пойдет речь далее.
Читать дальше →
Всего голосов 136: ↑133 и ↓3+130
Комментарии59

Микроэлектроника – мотивации псто

Время на прочтение8 мин
Количество просмотров50K
image

Дисклаймер


Мне нравится заниматься микроэлектроникой. Причем я даже не уверен, что я правильно использую слово «микроэлектроника» — может быть, я занимаюсь совсем не ей. Может быть я занимаюсь схемотехникой. Или программированием. Или программированием микроконтроллеров. Или сборкой электронных устройств. Или еще бог знает чем. Но для себя то, что я делаю, я называю микроэлектроникой – мне лень пойти почитать определение и сопоставить с тем, что я делаю — да простят меня сведущие и, возможно, обидевшиеся.
Несмотря на то, что я занимаюсь микроэлектроникой и уделяю этому занятию достаточно много времени на протяжении почти трех лет – я все еще начинающий с массой больших пробелов в знаниях. Но кое-что у меня получается и я стараюсь разобраться в вопросах, в которых все еще не разбираюсь.
Решил я написать этот пост потому, что вижу с одной стороны большой интерес к «ардуино-постам», трепет при виде мигающего светодиода, а с другой стороны какой-то непонятный мне страх самостоятельно взять и сделать что-то. Ребята, от страхов нам надо избавляться.
Читать дальше →
Всего голосов 208: ↑192 и ↓16+176
Комментарии92

Сетевая игра на bash: шахматы

Время на прочтение5 мин
Количество просмотров8.5K
Я давно хотел написать какую-нибудь сетевую игру на bash, причём желательно, чтобы управление было удобное, с клавиатуры, обычными курсорным клавишами. Вообще, тема интерактивного взаимодействия в bash глубже, чем «введите число, нажмите „Enter“» не раскопана. Мне пришлось всё изобретать и исследовать самостоятельно. Я очень старался найти что-то похожее по уровню интерактивности, но не нашёл.

Поскольку тонкости управления с клавиатурой съели очень много моего времени, я не стал заморачиваться с тонкостями совместимости, поэтому игра тестировалась только под Mac OS X, есть ненулевая вероятность, что она заработает и под Linux и уж точно её можно допилить там до рабочего состояния.

Для работы игра требует наличия nc (aka Netcat) и терминала с поддержкой 256 цветов (под Mac OS рекомендую iTerm2). При наличие интереса к игре, допилю до терминала на 16 цветов и /dev/tcp. Кстати начал выкладывать все свои шел-поделки на ГитХаб.

Сетевые шахматы на Bash


Так как игра сетевая, у неё требуется указать два параметра, о которых она расскажет, если её запустить без них. Первый — адрес машины противника, второй — порт. Порт выбирается одинаковым на обеих машинах. Игру можно запустить и на одной машине, в двух консолях (на скриншоте как раз такой случай).

Играть просто — в каждый момент времени активна только одна доска (на скриншоте — правая, у неё буквы и цифры вокруг доски ярче), на активной доске курсор двигается курсорными клавишами — ←, →, ↑ и ↓, взять фигуру и поставить её на доску — по клавише пробела или Enter. Как только вы поставили фигуру на доску, ход переходит к сопернику. «Съесть» фигуру соперника проще простого — достаточно поставить свою фигуру на чужую. В игре есть защита — нельзя «съесть» свою фигуру.

Ничего помимо этого в игре нет — не производится правильность контроля ходов, нет проверки на завершение игры, можно даже ходить фигурами соперника. Было очень сложно придумать как обрабатывать нажатия в shell, так что остальное сделать я просто не успел, не поместилось в формат «игрушка за вечер».

Я постарался снабдить свой код комментариями и писать достаточно структурировано, чтобы можно было разобраться как всё работает самостоятельно.

Читать дальше →
Всего голосов 174: ↑173 и ↓1+172
Комментарии46

Time Lapse Photo Motion на Samsung NX100

Время на прочтение1 мин
Количество просмотров18K
Одна из самых крутых штук, которые делает NX100, — это замедленная фотосъемка (по-английски time lapse photo motion), позволяющая создать иллюзию большей скорости происходящих процессов. Чтобы понять, как это и как это делается, посмотрите этот очень красивый ролик с видами вечерней Москвы от оператора Samsung Russia Романа Лесового. Помимо прочего Роман еще подробно рассказал и показал, как это видео монтировалось в Adobe After Effects.


Читать дальше →
Всего голосов 74: ↑50 и ↓24+26
Комментарии88

FPV

Время на прочтение4 мин
Количество просмотров135K
Эта статья для тех, кто с детства мечтает летать как птица. Сразу оговорюсь, в реале Вы не полетите, но чувства будут очень близки. Итак, речь идет о FPV (first person view)-полетах. FPV — это новое движение в авиамоделизме, его суть заключается в управление моделью самолета через установленную на борту камеру. Картинку с борта самолета Вы получаете в реальном времени и видите через очки “виртуальной реальности”. Также, на очках установлен датчик поворота головы и камера на самолете поворачивается вслед за поворотами Вашей головы. У вас появляется неподдельное ощущение реального присутствия. А самолетом Вы управляете по радио каналу. Со стороны это выглядит примерно так:


А вот как выглядит изнутри:

Читать дальше →
Всего голосов 258: ↑255 и ↓3+252
Комментарии165

минилинукс

Время на прочтение3 мин
Количество просмотров8.2K
Лирическая часть

Кто из нас в детстве не разбирал игрушки, чтоб посмотреть, что же там такое внутри. Я не был исключением. Прошло всего несколько лет, и одной из игрушек стал линукс. Из абстрактного желания «сломать и посмотреть» оно формализовалось в несколько вполне конкретных задач, одной из которых стала найти некую отправную точку — минимальное нечто, которое бы грузилось и давало шелл. Пару раз я начинал собирать lfs, но до конца так и не дошел. Прочел несколько статей про разработку embedded, но там все было чересчур серьезно и по-взрослому: после предложений сооружать окружение для кросс-компиляции под различные архитектуры и удаленной отладки в панике отключал интернет. Пересмотрел несколько mini-livecd, но все они или мегадревние (ядро 2.4 и ниже) или обязательно с графикой и DE, что никак не вписывалось в мое представление об идеальном минидистре для опытов.
И вот не так давно я случайно узнал, что то, что я ищу, называется initramfs и лежит у меня под носом.
Читать дальше →
Всего голосов 93: ↑92 и ↓1+91
Комментарии47

Путешествуя по плате

Время на прочтение2 мин
Количество просмотров41K
   Обычно IT-шные flash-игры мне не нравятся тем, что в них, как правило, ничего айтишного на самом деле нет — так, завлекалочки, сделанные на коленке. Но к новой игре "Гонки роботов на плате" от Intel это не относится — там закручено так, что я даже немного расстроился от уровня собственных познаний ) Впрочем, игра больше для программистов и администраторов, нежели для таких бездельников, как я.

image

Читать дальше →
Всего голосов 122: ↑85 и ↓37+48
Комментарии43

Информация

В рейтинге
Не участвует
Откуда
Германия
Зарегистрирован
Активность