Search
Write a publication
Pull to refresh
51
0
Глеб Арестов @arestov

User

Send message

Обучение программирования на Ruby/Python

Reading time4 min
Views37K
BASIC и Pascal давно стали стандартом при начальном обучении программиста. Для многих это первый язык со школы или первого курса университета. Однако за десяток лет ситуация практически не изменилась. Действительно ли Basic и Pascal подходят для обучения сейчас? Неужели за десяток лет не появилось ничего лучше?

Подумайте, есль ли причины использовать BASIC и Pascal кроме исторических?

В школе давно понятно — лучше давать не программирование, а основы использования компьютера. Максимум — Logo в среде типа KTurtle.

Но для первых курсов института и усиленного изучения школьников я считаю, лучше использовать Ruby и Python.

Конечно я не настаиваю учить только на Ruby. Но, например, базис дать на Ruby, а более сложное на Java/C# или С (включая управление памятью) — более правильно скажется на становлении программиста.

Далее аргументы.
Читать дальше →

Организация автоматизированного тестирования GUI

Reading time5 min
Views15K
При разработке мы стараемся покрывать наш код не только матом, но и unit тестами. Однако все покрыть тестами не всегда получается. К тому же, остается GUI, для которого написание тестов довольно трудоемкая работа. При всех этих проблемах неизменным остается требование, что каждый следующий камит в репозиторий не должен портить уже существующий функционал.

В этой статье я хочу рассказать какой инструментарий мы используем для тестирования наших desktop приложений, написанных на Qt.

Пол года назад в ходе исследования инструментов для тестирования GUI в поле моего зрения попал продукт Squish компании froglogic. Из плюсов данного решения можно отметить следующие:

  • тесная дружба Squish c классами Qt (в том числе и itemы в QGraphiscScene);
  • кроссплатформенность;
  • поддержка скриптовых языков (JavaScript, Python);
  • автоматизированная генерация текста теста;
  • удобная система запуска тестов из консоли.

Читать дальше

Yota-роутер или wimax2wifi за 15 минут

Reading time3 min
Views11K
Часто возникает необходимость быстро или недорого подключить офис к интернету. Для этих целей отлично подходит новый Московско-Питерский провайдер беспроводного интернета, Yota, публичное тестирование которого некоторые и нас успешно провалили :)

Благодаря двум людям, Олегу, сделавшему альтернативную прошивку с расширенными возможностями к роутеру asus wl-500gp http://oleg.wl500g.info/, и Xanderу проведшему реверс инжениринг и создавшему драйвер yota-модема под linux http://code.google.com/p/madwimax/, появилась возможность создания yota-роутера http://wl500g.info/showthread.php?t=17005

UPD: Данные манипуляции более не актуальны. Прошивка от Олега последней версии поддерживает Yota по умолчанию, настройка в веб-интерфейсе. Ссылка — http://code.google.com/p/wl500g/. by Paskal.

Процедура активации модема немного запутана и требует некоторых подготовительный работ, с которыми знакомы только знатоки wl-500-го. Целью данной статьи является упрощение процесса активации до трех простых этапов:
  1. подготовительный,
  2. смена прошивки,
  3. запуск скрипта активации модема.

Читать дальше →

Домашний Linux-кластер из 20-ти серверов, всего за 1000$

Reading time2 min
Views15K
Недавно появился миниатюрный Linux-сервер — «Linux сервер в виде блока питания», изготовленный на system-on-chip (SoC) Marvell Sheeva CPU 1.2GHz с ARM-архитектурой.
Этот сервер вроде бы предназначен не для конечных (домашних) пользователей, и тогда возникает вопрос: зачем было этот сервер делать в виде блока питания под обычную домашнюю розетку?
Неужто нельзя было бы сделать его в виде маленького «Лезвия» — «Blade-сервера» для серверной стойки!
Вы только представьте как вы у своего хостера, разместите в стойку маленький Marvell`овский сервер, стоимостью всего 50$. Или же сам Хостер предложит вам новый сервис — размещения вашего сайта на таком маленьком и дешевеньком, но полноценном и независимым от всех соседей, сервере!
Для не очень больших сайтов (наверно до 10 — 20 одновременных сессий, а это ~ до 10 тысяч посетителей в день) его мощности должно вполне хватать (ну может только Flash-диск хотелось бы расширить, хотя бы до 2 — 4 Gb).
А для больших сайтов, надо объединять 100-ни и 1000-чи такие маленьких Blade`ов в единый кластер (чем например Google, обычно у себя занимается).
И каждый ваш сайт тогда от ныне будет иметь «не виртуальный», а свой полноценный — сервер!!!
Читать дальше →

Представляем десятое измерение

Reading time1 min
Views6.3K
imageЛюбители квантовой физики и сайта TED.com наверняка слушали доклад Брайна Грина про теорию суперструн, в котором упоминалось, что данная теория будет работать только при наличии целых 11 измерений!

Эх… А ведь нам даже четвертое-то измерение представить довольно трудно, а вы про какие-то десять говорите… Но, несмотря на это, мы попытались перевести и переозвучить видеоролик, который интересно и доходчиво объясняет, как же можно представить себе аж десятое измерение!

Читать дальше →

Запись внутреннего семинара Reaxion Teamwork: «как не лузить задачи, или хотя бы не получать за это»

Reading time3 min
Views1.6K
Подкаст: Как не лузить задачи, или хотя бы не получать за это

Warning: Разговариваю я матами, впечатлительным не слушать. Самолюбование. Слова-паразиты.

Разговор состоит из 3 больших частей
— daily activities
— weekly activities
— кто мы есть такие и чего хотим

Разные части будут интересны разным людям.
Хардкорные методы работы с почтой не будет особо интересны простым сотрудникам или уже крутым менеджерам.

Тезисы Общая часть
— нужно система для контроля инфы «задачи, запросы, встречи, почта»
— система должна дать вам спокойствие, вы уверены что делаете самое важное, вы ничего не забыли
— тайм-менеджмент, «увеличить скорость» это не суть того что вам нужно



Читать дальше →

Веб-дизайн: женский и мужской взгляд — небольшой эксперимент

Reading time2 min
Views5.7K
Недавно столкнулся с такой ситуацией: разрабатывал дизайн для сайта одной фирмы, было представлено 3 варианта. Как часто бывает, мое мнение не совпало с мнением заказчика, выбрали макет, который мне нравится меньше других. К подобным ситуациям я уже привык — всегда следую золотому правилу «клиент всегда прав», однако все равно был несколько удивлен.

Я просто из любопытства решил сделать небольшой соцопрос по поводу трех разработанных дизайнов — создал пост в своем блоге на Я.ру с просьбой выбрать понравившийся вариант. Результаты меня, мягко говоря, удивили:
Читать дальше →

Тим О’Рейли. Работа, которая имеет значение: основные принципы

Reading time7 min
Views10K

Work on Stuff that Matters: First Principles


опубликовано 11 января 2009 года

Я потратил много времени в прошлом году, убеждая людей заниматься работой, которая имеет значение. Это вызвало множество вопросов, что ж за работа это может быть. Мне не очень хотелось отвечать на эти вопросы, потому что для каждого человека будет свой ответ. Я решил, что хорошо бы начать новый год с того, чтобы сформулировать несколько принципов, помогающих вам осмыслить эту проблему для себя лично.

Но прежде всего я хочу прояснить, что «работа, которая имеет значение» не подразумевает только некоммерческие проекты, благотворительность или иную форму «добрых дел». Некоммерческие проекты часто означают хорошее дело, и люди с техническими способностями могут внести важный вклад, но очень важно выбраться за пределы этих рамок. Я абсолютно убеждён в социальной ценности бизнеса, который ведётся правильно. Нам нужно создать экономическую систему, в которой общественно значимые проекты автоматически и гарантированно получают вознаграждение, а не основанную на благотворительных организациях, финансируемых по доброте сердечной.
Читать дальше →

SOCKS через SSH — не только для ICQ

Reading time1 min
Views32K
Сегодняшние проблемы с аськой напомнили об одном простейшем способе запуска SOCKS-прокси. Многие этот способ знают, но подозреваю, что не все, поэтому решил поделиться.

Итак, что нужно:
a) SSH-клиент (любой, под Linux или под Windows, главное, чтобы он позволял задавать нужные нам параметры, под Windows вполне подойдет putty)
b) Доступ на любой сервер по ssh (в случае с аськой помогает любой буржуйский хостинг).

Читать дальше →

Методичка по работе с клиентами. Для начинающих менеджеров веб-студий

Reading time6 min
Views25K
(2008 год, письмо старшего менеджера веб-студии — младшему)
( профи вряд ли найдут что-то новое, молодым будет интересно)
Привет. Вот краткая инструкция, основанная на личном опыте. Так сказать, курс молодого бойца.
наша задача — заработать как можно больше денег, при минимальных телодвижениях.

Итак, получили письмо от клиента


обычно есть следующие варианты
  1. клиент явно перспективный и обратился «выборочно» именно к нам — есть большая вероятность, что переговоры будут удачными — тогда лучше сразу набивать стрелку и устанавливать личный контакт и все выяснять на месте. Хотя, границы бюджета лучше выяснить в любом случае.
  2. клиент интересный, но многое неясно из его письма ( нет ТЗ, нет бюджета, он написал в несколько студий, сайт потенциально сложный, сайт неинтересный и тд. ). Тут важно прислать ему БРИФ на заполнение, выяснить сроки и бюджет. Согласовать бюджет сроки — уже потом встречаться в случае, если все устраивает.
  3. Письмо подозрительно короткое и не «пахнет интересом». Например, «нужен обувной интернет-магазин, сколько стоит? Как быстро сделаете? Виталий» — тут вряд-ли чтото выгорит + вероятно это пробивон по ценам от конкурентов.
    В этом случае — цену говорим в полтора раза дето дороже, интересуемся «укладываемся ли мы в их бюджет» в положительном случае — можно встречаться. Иначе — скорее всего трата времени.

Читать дальше →

«Как работает левитация в условиях сверхпроводимости (видео)» + напоминание о конкурсе научных видео

Reading time1 min
Views1.7K
Представляю Вашему вниманию видео о новых технологиях, которые могут коренным образом изменить наши привычные представления о транспортных средствах! Будущее с его машинами и поездами “на магнитной подушке” — уже рядом! :)

магнитная левитация

Читать дальше →

Безразмерная разметка с помощью relative (без float)

Reading time2 min
Views4.1K
Навеянно этой темой.
Пример, как это работает.

1. Введение


Представим, мы имеем класс relative, внутри которого имеется текст, и не задаём ему width:
#bar{
position:relative;
border:5px solid #00FFFF;
padding:10px;
height:200px;
}
мы получим резиновый блок:
<div id="bar">
text
</div>


При этом, блок обладает неизменными padding+border и резиновым width, таким, что width_px+padding_px+border_px = 100%.
Для absolute блоков, такой трюк не прокатывает.
Читать дальше →

Абсолютный минимум для новой жизни

Reading time2 min
Views883
Психологи утверждают, что молодой, энергичный и амбициозный человек (а других вряд ли станут рассматривать на должность менеджера проекта) “выдерживает” на одном рабочем месте не более 5-6 лет. А для некоторых психологических типов этот срок составляет 2-3 года. Практический опыт чаще всего подтверждает эту позицию. Далее менеджеру проектов требуются новые перспективы, причем далеко не только финансовые.

Переход менеджера на новую работу — серьезный поступок, требующий взвешенного решения и тщательной подготовки. Ведь, как правило, есть что терять на том месте, где вы уже работаете. Одновременно, на новом месте всегда ждет риск. Работа менеджера проекта сродни работе футбольного тренера. Так же как и в футболе, в провале проекта будет виноват его менеджер, какими бы “объективными” ни были обстоятельства поражения. Обстоятельства надо изучать заранее и обсуждать их со своим, пока еще будущим руководством.

Главное что надо понять, прежде чем согласиться заняться проектом, это что от вас хотят и что вы сможете сделать. Понять все на 100% вряд ли удастся, но разобраться необходимо. В конце концов, представляя объем работы, легче торговаться изза зарплаты и бонусов. Предлагаю свой список, “Абсолютный минимум” шагов, которые надо предпринять до того, как сказать “да” и выйти на работу в новую команду. Ответьте “да” или “нет” на следующие вопросы:

1. Представляете ли вы себе структуру компании?
2. Знаете ли кому будете подчиняться и с кем будете взаимодействовать внутри компании?
3. Одинаково ли понимаете с вашим будущим руководством роль менеджера проекта?

4. Видит ли ваше будущее руководство перспективы ваших проектов через год?
5. Владеете ли вы методами и инструментами управления проектами, которые применяются в компании?
6. Знаете ли вы как принято документировать проект в компании?
7. Для каждого порученного вам проекта существует документация?
8. Для каждого порученного вам проекта существует план работ?
9. Существует ли отдел контроля качества?
10. Ознакомились ли вы со списком ошибок по вашим проектам в системе багтрекинга?
11. Ознакомились ли вы с резюме каждого участника вашей будущей команды?
12. Знакомы ли вы с лидером вашей команды?
13. Ознакомились ли вы со списком требований к проектам?
14. Ознакомились ли вы с общей архитектурой каждого из ваших будущих проектов?
15. Знаете ли вы заказчика вашего проекта?
16. Существует ли представитель заказчика?

17. Знаете ли вы кто был предыдущим менеджером проекта?
18. Знаете ли вы кто должен передать вам дела по проектам?

Список получился длинным, но я скорее соглашусь добавить еще пунктов, чем что то выкинуть. На все вопросы можно ответить “да” или “нет” и подсчитать количество положительных ответов. Сколько вам нужно положительных ответов чтобы согласиться на новые проекты — выбирайте сами. Тут многое зависит от индивидуального темперамента и от предлагаемой компенсации. Да много еще от чего зависит.
Чтобы ответить на все вопросы, надо серьезно поработать и изрядно потратить времени. Не всегда это время есть, особенно когда на переговоры приходится ездить в другой город. Если вы получите утвердительный ответ на все 18 вопросов, вы имеете отличные шансы на успех. Вопросы 2,3, 13, 15, 16 являются наиболее критичными, и, в случае отрицательного ответа хотя бы на один из них, надо очень осторожно давать согласие на новую работу. В этом случае вы исключительно рискуете.

Удачного старта!

Favicon для любого сайта в PNG

Reading time1 min
Views8.2K
Уже в нескольких проектах была необходимость показывать иконки для различных доменов (например, рядом с какой-нибудь ссылкой). Для этого был написан на PHP механизм, добывающий по требованию иконку со страницы по некоторому набору правил (так же, как её добывают браузеры), конвертирующий картинку в png и сохраняющий в специальном месте. Периодически эти иконки обновлялись.

После того, как я в третий раз скопировал этот механизм в очередной проект, я решил создать для себя (и других) сервис, который отдавал бы по запросу иконку в формате png для любого домена. Но ему не суждено было родиться, потому что я случайно наткнулся на аналогичную функциональность, реализованную гуглом. Достаточно набрать адрес www.google.com/s2/favicons?domain=habrahabr.ru и получишь сконверченую в PNG иконку этого домена. Решил, что многим это будет полезно — используйте :)

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

jQuery для начинающих

Reading time9 min
Views515K
jQuery Logo

jQuery — это замечательный JavaScript Framework, который подкупает своей простотой в понимании и удобством в использовании. Но изучение надо с чего-то начинать, и лично моё мнение — лучше всего начинать с наглядных примеров, и они далее…

Читать дальше →

Защита флэшки от Autorun-вирусов.

Reading time3 min
Views65K


     Доброго времени суток, уважаемый хабра–читатель. Я работаю в университете, в лаборатории вычислительной техники. Администрируем около сотни компьютеров. Перед нами встала проблема защиты от Autorun–вирусов на флэшках. Естественно у нас отключен автозапуск в Windows, однако нужно было защитить сами флэшки, чтобы работник дома, вставив рабочую флэшку, не заразил свой компьютер. Под катом решение проблемы.
Итак, примемся за дело...

Эстетика штрих-кода

Reading time1 min
Views5.7K
Мужик из Австралии слепил онлайн-генератор QR Code, в который можно органично поместить собственный текст. Генератор позволяет выбрать место расположения текста, его цвет, а также указать другие подробности, которые порадуют дизайнера.

Несмотря на, казалось бы, ограниченные оформительные свойства двухмерных штрих-кодов, в умелых руках они вполне способны превратиться в самостоятельный эстетический объект. Взять хотя бы нашумевшую ёлочку Тёмы Лебедева.

Далее, хочу привести в пример, как к подобной задаче подошли BBC, Adidas и Microsoft.

Читать дальше →

Information

Rating
Does not participate
Date of birth
Registered
Activity