Search
Write a publication
Pull to refresh
0
@lazy007read⁠-⁠only

User

Send message

Десять правил спокойной разработки

Reading time2 min
Views51K

Введение


Современный темп разработки ПО просто поражает своей скоростью. Функционал всегда «нужен вчера». Зачем? Конкуренция — обойдут, обгонят. Времени тестировать нет, надо отгружать функционал, надо, надо, надо.

На помощь командам разработки приходят практики, методологии, подходы и четкие регламенты. Попробую сформулировать в виде десяти правил концепцию «спокойной» разработки. А она то вынудит использовать современные методологии разработки ПО. И заказчик спокоен, и нервы свои целы. Profit!
Читать дальше →

Лекция №02: MSP430. Города и регистры

Reading time11 min
Views30K
Примечание переводчика: Не так давно, мне пришел заказанный мною LaunchPad. Единственное что мне тогда хотелось, это сразу же начать мигать светодиодиками. Так я столкнулся с первой проблемой — у меня Linux. Почитав про основные IDE для разработки под эту платформу, я понял, что ничего хорошего мне тут не светит. А использовать Energia, просто напросто не позволяла религия. Имею привычку(не знаю, хорошую или нет) не работать с подобными инструментами «повышенной абстракции» пока не изучу подноготную того с чем работаю. Поэтому, Energia быстро отсеялась из возможных вариантов. Осталось только одно — собрать тулчейн gcc-msp430, включающий в себя все необходимое. Ноутбук у меня очень слабый, поэтому собирался этот тулчейн аж полдня. Что никак не радовало меня, так как я уже хотел МИГАТЬ. Когда собрал, столкнулся со следующей сложностью. Очень мало русскоязычной литературы и справки по этому микроконтроллеру. Что-то поспрашивал среди хабровчан, что-то кое-как смог вытащить из примеров кода от TI, но проблема оставалась — я слабо понимал все то что делаю. Продолжалось это ровно до тех пор, пока я не набрел на один замечательный англоязычный блог в котором хоть и на английском языке, но довольно доступно объяснялись все основы. Его я и принялся читать и переводить. Признаюсь честно, перевод я этот писал не столько для хабры, сколько для себя, чтобы на все 100% понять изложенный материал. Сказать что понял все на 100% — немного соврать. Скажу честно — от электроники я далёк, на момент получения лаунчпада я обладал нулевыми знаниями в этой сфере. Поэтому некоторые моменты перевода, могут, наверное, заставить плакать кровавыми слезами более серьезных разработчиков. К примеру — Vcc и Vss или PxREN. Идею я понимаю, но я сомневаюсь что перевел технически грамотно. Тем не менее, переводить я старался так, чтобы было понятно такому же нулю как я. В общем, если что — не обессудьте. Как мог. Кроме того, в переводах есть абзацы которые написаны чисто от себя, чтобы немного более подробно разжевать материал.
Ах да, начал переводить с лекции 02, так как в первой «Вводной» лекции содержится слишком много воды, которой и так море и на просторах хабры, да и вообще интернета. Мы же хотим сразу же работать, а не читать о том, как хорошо поступили TI выпустив дешевые LaunchPad'ы.
Читать дальше →

Производительность в Python. Легкий путь

Reading time2 min
Views76K
Всегда знал, что одно из достоинств Python — возможность переписать самые тормозные куски кода на Си и увеличить быстродействие программы до недостижимых интерпретируемым языкам высот. Но сам ни разу не пробовал, т.к. считал что это слишком сложно. После прочтения этой статьи больше так не считаю.

Программисты знакомые с ctypes врядли найдут тут что-то интересное, новичков же прошу под кат.
Читать дальше →

Создание регулярного отчета по журналу событий Windows

Reading time7 min
Views23K
Необходимость мониторинга журнала событий Windows не вызывает сомнений. На эту тему регулярно появляются статьи, в том числе и на Хабре. Однако, почему-то все примеры сводятся к мониторингу заранее определенных EventID. В своей утилите WinLogCheck я выбрал другой путь — получить отчет по EventLog, исключив события, которые регулярно появляются и не представляют для меня интереса.
Читать дальше →

OLinuXino A13: миниатюрный open-source компьютер за $60

Reading time1 min
Views41K


Болгарская компания Olimex на днях представила мини-ПК, который получил название OLinuXino. На первый взгляд, OLinuXino очень похож на своего «коллегу», Raspberry Pi. Но у болгарского мини-ПК более быстрый процессор, больше портов, плюс весь этот проект полностью соответствует стандарту open-source, включая как железо, так и программное обеспечение.

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

Создание «островка сетевой свободы» на основе VPS за 30 минут

Reading time4 min
Views155K
В связи с вступлением в силу нашумевшего закона 149-ФЗ у многих хабравчан возник вопрос: а что будет дальше? Неужели в России появится аналог Великого Китайского Фаервола, который будет блокировать всё и вся? В данном туториале я хотел бы рассмотреть один из самых эффективных и безопасных способов обеспечения себе свободы информации — собственный VPS сервер, находящийся далеко за границей и связанного с вами с помощью зашифрованного VPN туннеля. В отличие от tor или i2p конфиденциальность передаваемой информации гарантированна, вряд ли кто-то будет пытаться расшифровать ваши данные или устраивать рейд на заграничный сервер (если конечно вы не хакер мирового масштаба).
Читать дальше →

Преимущества произвольных тегов, или как я отказался от HTML разметки

Reading time6 min
Views41K
Уже какое то время использую/разрабатываю библиотеку MaskJS. Вначале использовал её только как движок для шаблонов, а со временем, она полностью заменила HTML. В статье расскажу какими преимуществами обладает компонентный подход в разработке приложений и данная реализация в частности. Если выделить по-пунктам, то мы получим приблизительно такой список:
  • Скорость
  • Обработчики тегов
  • Пре- и Пост-процессоры
  • IoC
  • Изоляция/Декомпозиция
  • Разметка — Модель — Код — Стили

Более подробно о самой библиотеке и примеры можете посмотреть здесь — libjs/Mask, a исходники тут — github/Mask
Читать дальше →

Qt SDK 4.8 статическая сборка проекта

Reading time2 min
Views31K
image
В данном уроке я расскажу в картинках как собрать приложение статически/провести статическую линковку/ отучить ваш *.exe от библиотек Qt — кажется это всё одно и тоже по своей сути

Вступление:

Лично я всё проделывал со свеженькой на данный момент Qt SDK с сайта Nokia( Qt 4.8 и SDK 1.2.1)
Сам я полный нуб в Windows, так как всё жизнь сижу на Linux, так что всё сопровождается картинками, для таких же нубов в винде, как я сам.

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

Два безумных способа допиливания микросхем

Reading time3 min
Views127K
— Атом состоит из ядра и электронов, которые находятся вокруг него.
— А что находится между ядром и электронами?
— Ну… Как что? Воздух!
Подобно атому, корпус микросхемы состоит в основном из воздуха пластмассы, а непосредственно полупроводниковый кристалл занимает небольшую часть. Значит, в теории, можно удалить большую часть корпуса, оставив чип работоспособным.

В теории — да. А на практике?

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

О разных командных оболочках Linux и Unix

Reading time6 min
Views88K
imageНаверняка почти все читатели Хабра знают оболочки sh и bash. Так же большинство из нас что-то слышали про zsh и tcsh. Однако на этом список существующих оболочек не заканчивается. Условно можно разделить их на три группы:

  • Клоны Bourne shell (bash, zsh)
  • C shell (csh, tcsh)
  • Базирующиеся на популярных языках программирования(psh, ipython, scsh)
  • Экзотические, специфические и все остальные

О наиболее интересных из них и пойдет речь.
Читать дальше →

Классный оконный менеджер — Awesome WM

Reading time4 min
Views168K
imageЗдравствуйте! Прочитав недавно статью про оконные менеджеры в Linux, мне захотелось рассказать всем о менеджере, который был там упомянут — «awesome».
Это тайлинговый windows manager для unix (linux, freebsd, openbsd, netbsd).
Читать дальше →

Первый опыт в исследовании вредоносного ПО под Microsoft Windows

Reading time4 min
Views9.1K

Введение


Многие наверняка знают это чувство опасения за свою флешку, подключая ее в «чужой» компьютер. Тем более, если нельзя посмотреть что происходит в операционной системе этого компьютера из-за прав пользователя, да и сам этот компьютер «публичного доступа» ( аудитория в учебном заведении). И еще более паршивое чувство, когда опасения оправдываются: помимо записи на флешку, вирус некоторым образом модифицирует данные на ней, притом криво.
С этим столкнулся и я. А заполучив образец вируса на подставную флешку, решил разобраться, что еще он делает и в чем вообще заключается суть его работы, а главное – как изгнать эту заразу с компов и «зараженных» флешек.
Статья будет полезна тем, кому интересна область анализа ПО, независимо от квалификации и навыков (специалисты могут в комментарии написать о своем опыте).

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

Лучший интерфейс — отсутствие интерфейса

Reading time7 min
Views124K
“Atmadm” 
Раньше наша работа была кошмаром из нагромождения букв.
“chkntfs”
“dir”



Тогда, в 1984, адаптировав Ксерокс ПАРК ВИМП, Эпл забросила нас вперед на целый галактический прыжок вдаль от этих ужасных командных строк ДОСа, в мир графических пользовательских интерфейсов [ПИ].


Эпл Лиза

Мы словно прозрели. И позже, десять лет спустя, когда мы смогли касаться Палм Пилот вместо того чтобы перемещать мышь, мы были впечатлены еще больше. Но сегодня наша любовь к цифровым интерфейсам вышла из-под контроля.
Что же случилось?

Проблемы удаленной работы дома и пути их решения

Reading time6 min
Views218K
Стоит мне где-то упомянуть, что работаю дома, как в ответ зачастую слышатся завистливо-шутливые реплики в духе «хорошо тебе, сидишь дома, ничего не делаешь и деньги получаешь». В зависимости от настроения и собеседника, приходится либо отшучиваться, либо в сотый раз пояснять, что работаю я не меньше офисных собратьев и что проблем в удаленной работе хватает. В данной статье, как раз, хотелось бы коснуться тех из них, с которыми мне довелось столкнуться в своей практике и поделиться способами их решения.

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

Здесь не затронуты непосредственно «бизнес-вопросы»: способы поиска заказчиков, работы с ними, ценообразование и тому подобное. Акцент – на то, как организовать свою работу дома, побороть лень и не потерять при этом физическое и душевное здоровье.

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

Cubieboard — достойный соперник Raspberry Pi

Reading time1 min
Views212K
Мини-компьютеры стремительно занимают свою нишу на рынке хай-тек устройств. Не успела отгреметь кампания «Raspberry Pi», а на дистанцию стали выходить другие интересные и недорогие решения. Tom Cubie, инженер из Китая, решил сделать свой вариант малобюджетного ARM-компьютера, умещающегося на плате размером 6 на 10 сантиметров.


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

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

Reading time2 min
Views14K
Довольно часто возникает ситуация, когда надо быстренько запустить пару запросов к MySQL базе у клиента на сервере. При этом есть только FTP и параметры соединения с СУБД. Самый простой выход — загрузить туда phpMyAdmin, ну а дальше дело техники. Обычно все это проиcходит на фоне того, что у клиента уже установлена какая-то CMS — WordPress, Drupal, Joomla…

Я люблю простые, красивые и удобные вещи. Я тепло отношусь к phpMyAdmin но в 90% моих Use Cases мне он не нужен. Нужно что-то простое. В идеале такое, что можно просто залить на сервер и открыть в браузере — не настраивая.

Пара вечеров и пакет готов.
Читать дальше →

Блог на node.js

Reading time1 min
Views13K
Вышла ноль пятая версия mvc фреймворка Autodafe для node.js. Код стало писать удобнее, кода теперь писать нужно меньше, ещё меньше. Скоро код писать не надо будет совсем, достаточно будет лишь подумать о нём.

Пример действия контроллера, которое совершает два асинхронных запроса к базе данных, компанует вьюшку index.html и отправляет ее клиенту (при этом отлавливая и обрабатывая все ошибки):

Site.prototype.index = function( response, request ){
  response.send({
    topic : this.models.topic.With( 'author', 'comments.author' ).find_by_pk( request.params.topic_id ),
    news  : this.models.news.find_all()
  });
}


Написаны подробные статьи про тонкости работы с контроллерами, авторизацию пользователей и работу с URL адресами.

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



За хабракатом только комментарии

Завершён перевод книги «Pro Git»

Reading time1 min
Views198K
Что может быть лучшим подарком на день знаний для программиста? Конечно, полезная книга ;) Поэтому команда переводчиков «Pro Git» поднапряглась и доделала перевод книги на русский язык.

«Pro Git» — это довольно обширная обучающая книга о Git от Скотта Шакона — активного участника разработки проектов Git и GitHub. Автор рассматривает в тексте всевозможные аспекты работы с Git'ом, начиная с установки программы и базовых принципов работы децентрализованных систем контроля версий, и заканчивая рассмотрением внутреннего устройства Git'а и созданием валидных объектов в базе Git'а собственными руками. Несмотря на довольно обширный материал и затрагивание довольно специфических тем, книга написана довольно простым языком, содержит массу примеров и иллюстраций, и поэтому должна быть понятна и новичкам, только начинающим знакомиться с системами контроля версий.

Последняя версия перевода книги доступна в форматах pdf, epub, mobi.
Также доступна онлайн-версия перевода, но она, к сожалению, не обновлялась с мая.
Читать дальше →

Аналог игры «Жизнь» — Evo

Reading time5 min
Views27K
Приветствую вас, хабражители!

Недавно прочитал статью про игру Жизнь, и вспомнилось мне, что я в мае этого года начинал писать свой проект подобной направленности. Только вот интерес к нему за рутиной работы быстро угас, хотя написано было немало. И сейчас, вдохновлённый этой статьёй, я взял этот проект с пыльной полки и добавил несколько фич, о которых расскажу далее.
Вкратце, мой вариант имеет следующие условия:
  • жизнь развивается на поле 256*256 клеток;
  • на поле могут размещаться объекты трёх типов: живность, пища(назовем её травой) и камень (препятствие);
  • живность представляет собой фактически модифицированную машину Тьюринга, если точнее, то это больше похоже на Автомат с магазинной памятью, т.е. живность является «процессором», выполняющим свой «генетический» код;
  • живность имеет возможность совершать определенные действия (двигаться, есть, размножаться (пока только клонированием, мутации будут со дня на день, скрещивание в перспективе)), отдавая соответствующие команды;
  • наступив на траву, живность её вытаптывает;
  • для поглощения еды надо дать команду «Ешь в этом направлении!», находясь в соседней клетке;
  • живность имеет память, что позволяет строить циклы, условия и т.п., т.е. полная по Тьюрингу (поправьте меня, если не прав!), объем памяти неограничен;
  • живность может складывать и вычитать значения в уме, разрядность ограничена одним байтом;
  • существует возможность реализации генетических алгоритмов (пока не реализовано).
Кому интересны подробности, прошу под кат!

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

Проект выходного дня: Имперский марш на сервоприводах и MSP430

Reading time3 min
Views100K
Ладно. Все началось с того, что я заказал сервы. Думал что это одна большая, а оказалось, что 5, но маленьких. Нужный мне груз они не потянули, но раз что-то есть в закромах родины, значит это что-то надо применить.

Сыграем на них мелодию!

Information

Rating
Does not participate
Registered
Activity