Search
Write a publication
Pull to refresh
36
0
Бабинин Антон @Kyborg2011

Full Stack Web Developer

Send message

Что нужно знать про арифметику с плавающей запятой

Reading time14 min
Views1M


В далекие времена, для IT-индустрии это 70-е годы прошлого века, ученые-математики (так раньше назывались программисты) сражались как Дон-Кихоты в неравном бою с компьютерами, которые тогда были размером с маленькие ветряные мельницы. Задачи ставились серьезные: поиск вражеских подлодок в океане по снимкам с орбиты, расчет баллистики ракет дальнего действия, и прочее. Для их решения компьютер должен оперировать действительными числами, которых, как известно, континуум, тогда как память конечна. Поэтому приходится отображать этот континуум на конечное множество нулей и единиц. В поисках компромисса между скоростью, размером и точностью представления ученые предложили числа с плавающей запятой (или плавающей точкой, если по-буржуйски).

Арифметика с плавающей запятой почему-то считается экзотической областью компьютерных наук, учитывая, что соответствующие типы данных присутствуют в каждом языке программирования. Я сам, если честно, никогда не придавал особого значения компьютерной арифметике, пока решая одну и ту же задачу на CPU и GPU получил разный результат. Оказалось, что в потайных углах этой области скрываются очень любопытные и странные явления: некоммутативность и неассоциативность арифметических операций, ноль со знаком, разность неравных чисел дает ноль, и прочее. Корни этого айсберга уходят глубоко в математику, а я под катом постараюсь обрисовать лишь то, что лежит на поверхности.
Читать дальше →

Как оформить своё дело (в Украине)

Reading time7 min
Views11K
В этом посте я написал длинный текст о том как:
  • оформиться в Украине
  • стать физическим лицом-предпринимателем
  • платить единый налог
  • упростить себе жизнь при помощи интернет отчётности

Я описываю свой личный опыт. Простите за возможные ошибки. Навеяно этим постом
Исходные данные такие: Украина, удаленная работа с иностранным заказчиком, разработка сайтов.
Читать дальше →

Самый страшный код в моей жизни

Reading time3 min
Views9.4K
Большинство проектов, над которыми работал, довольно быстро стираются из памяти. Но некоторые запоминаешь по гроб жизни. О таком дальше и пойдет речь.

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

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

AndroidDev #1. Создаем файловый менеджер

Reading time10 min
Views71K


Android — перспективная и динамично развивающаяся операционная система. И многие программисты хотят научиться программировать приложения для OS Android, но беглый поиск структурированных материалов в сети Интернет и, в частности, Рунете, приводит их в ступор. Действительно, до сих пор существует проблема поиска обучающих статей (особенно на русском языке) по разработке приложений для этой весьма популярной операционной системы.
Ну, что ж, будем потихоньку улучшать данную ситуацию при помощи Хабра.
Сразу предупрежу, что материалы предназначены для тех, кто не имеет опыта разработки приложений для Android, но очень-очень хочет этот опыт приобрести.

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

Perl 23 года с нами

Reading time1 min
Views622
image
Языку Perl исполнилось 23 года. В честь этого с 1 по 24 декабря разработчики языка Perl организовали марафон, в рамках которого на страницах блога каждый день один из разработчиков делился какими-то практическими навыками, демонстрирующими те или иные возможности Perl 6.
Завершила марафон статья Ларри Уолла, в которой он подвел итоги 23-летней истории языка Perl.
Поздравляю всех разработчиков использующих этот замечательный язык.

Простой пример выполнения HTTP-запроса к web-сервису и разбор XML-ответа

Reading time3 min
Views52K
Привет всем хабровчанам!

Сразу хочу сказать, что, хотя тема не «Hello world», но рассматриваемая задача довольно проста и приведена здесь на Хабре скорее в качестве средства экономии времени для разработчиков, которым, возможно, надо будет поработать с XML-ответами от web-сервисов. Для XML-разбора я использовал DOMparser (я знаю и про SAXParser, конечно) как это привычно для меня в PHP.

У Приватбанка (Украина) имеется API, с которым можно ознакомиться здесь. После изучения его становится ясно, что сервис достаточно информативный и было бы удобно иметь на мобильном устройстве средство общения с ним. Посмотрим как можно опросить этот сервис и получить такую избитую, но иногда полезную информацию как актуальный курс валют. После прочтения топика, в принципе, не составит труда написать и другие полезные функции.

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

Амазонки мобильного мира

Reading time2 min
Views33K
Всем привет,

В завершающий день такой продолжительной рабочей недели хотим поздравить вас с наступающим праздником — 8 марта! Мы не смогли не воспользоваться таким замечательным поводом, и решили рассказать вам о самых влиятельных и успешных женщинах в мире мобильных и интернет-технологий, настоящих воительницах индустрии.

Марисса Майер, Google.
Вице-президент по поисковым продуктам и удовлетворенности пользователей.

image

Марисса возглавляет направление по управлению самым главным в Google проектами — поисковыми. В ее ведении находятся запуски, связанные с основными сервисами компании: веб-поиск, Картинки, Новости, Книги, Карты Google, Google Планета Земля, Панель инструментов и другие. Она пришла в команду в 1999 году и была первой девушкой-инженером. Кроме этого, Марисса долгое время читала популярные лекции по программированию в Стэнфордском университете.
Читать дальше →

По колено в г… коде

Reading time2 min
Views10K
по колено в Си++
Я по роду своей деятельности много и часто медитирую над разнообразнейшим C++ кодом. И, как говорится, у меня накопилось. Не могу больше нести это в себе. Извините, сейчас и с вами поделюсь.

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

Pretty Painter – мое первое приложение под Android

Reading time5 min
Views17K
Pretty Painter


Всем привет! Хотелось бы поделиться с вами своим опытом создания первого приложения под Android. И если вы уже давно присматриваетесь к этой платформе, но все еще почему-то не решаетесь начать разрабатывать свои приложения, то, я надеюсь, мой топик подтолкнет вас к этому. Под катом пять причин почему не нужно сомневаться и пора действовать и еще несколько интересных моментов.
Читать дальше →

Что нам сулит новая модель развития html5

Reading time5 min
Views3.4K

Думаю, многие из вас уже знают, что WHATWG перешёл к безверсионной модели развития.
В комментах началась паника по поводу «что теперь будет?». Паника — необоснованная, а решение — очень логичное и учитывающее современные реалии.
Я постараюсь объяснить, что всё это сулит. Доступно и кратко.

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

Простой щелчок кнопки

Reading time4 min
Views83K
Совсем недавно я написал пост, в котором выражал свое желание перейти от разработки для Windows Phone 7 к программированию под Android. К сожалению, некие внешние обстоятельства затормозили этот процесс и изучение идет не такими быстрыми темпами как хотелось бы. Но тем не менее желания не убавилось и скоро смогу уделить больше времени для Android.
А сегодня хочу рассказать о такой заурядной вещи, как обработка щелчка кнопки. Статья предназначена для новичков и будет говорить об очевидных вещах, но мне она стоила одной ночи.
Читать дальше →

Простое использование AsyncTask и ProgressDialog в Android

Reading time5 min
Views30K
image

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

Android содержит массу способов для организации данного подхода, но одним из самых удобных можно признать использование AsyncTask и ProgressDialog.

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

Немного пятничной радости на CSS3

Reading time2 min
Views16K
image

Вот решил принести немного пятничной радости, продемонстрировать силу CSS3 и поднять настроение тем, у кого Internet Explorer. Смотреть тут.

Ну а если интересно — как я это сделал, то…
под катом - кусочек рецепта

Чек-лист вёрстки. Что можно отдавать клиенту, а что надо переделывать

Reading time20 min
Views317K
Идеальная вёрсткаВы PM. Как узнать – готова ли вёрстка к реальному использованию?
Вы заказчик. Как убедиться, что работа выполнена качественно?
Как оценить качество вёрстки?

Когда я стал тим-лидом, а позже PM, передо мной стала задача проверять вёрстку наших проектов. Нужно было выработать формальные, легкопроверяемые критерии, соответствие кода которым, должно было давать некую гарантию, что не будет факапов и ни клиент, ни программеры не сказажут потом “WTF?”.

Клиенту неважно насколько красив ваш код, но ему важен результат. Качественный код нужен фирме, т.к. он надёжней и в будущем его будет легче поддерживать.

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

Итак что же это за список?

Краткая версия теперь доступна на html5checklist.com (github), где можно вносить pull-request'ы.

История обновлений:
  • 2015/08/11: Актуализировал рекомендации по оптимизации скорости загрузки. Добавил требование поддержки Retina. Дополнил «19. Мелочи» требованием что изображения должны масштабироваться в зависимости от размера окна.
  • 2015/08/10: актуализирован список исключений для CSSLint
  • 2015/07/29: актуализирован пункт №13 «плохо»/«хорошо»
  • 2015/04/08: добавлено требование использования препроцессоров и рекомендация использования систем сборки
  • 2013/04/25: добавлены анализаторами качества кода: CSSLint и JSHint, указан сайт подбора css font stack (спасибо @fliptheweb), мелкие уточнения (работу интерактивных элементов страницы, что не пропадает фон на высоких разрешениях, не должно быть пустых презентационных блоков, при проверках контента — пробовать удалять заголовки, менять местами блоки)
  • 2013/04/24: добавил пункт об минимизации каскада (БЭМ-техники, MCSS, SMACSS), необходимости вписывания в экран моб. устройства, заменил ссылку на проверочный текст отображения стандартного html на код с normalize.css, поправил пример где в рекомендации встречался длинный каскад, упомянул про Opera на Presto и новый уровень семантики — в именах классов BEM.
  • 2012/04/12: отсортировал пункты проверки в порядке важности, выделил главные, дополнил статью подробностями
  • 2011/12/07: дополнил согласно доклада на WSD Минск'2011.
  • 2011/07/19: добавлено про повышение надёжности вёрстки благодаря html5-тэгам, про необходимость favicon/apple-touch-icon, отсутствие багов при ресайзе textarea
  • 2011/06/15: добавил пояснения какие ошибки валидации допустимы, рассказал про отсутствие официальной кнопки «HTML5 Valid» и про официальное лого HTML5 на сайте.


Далее с примерами - как проверить html, даже если вы ничего не понимаете в вёрстке.

Репозиторий XCP переехал на github

Reading time2 min
Views960

В блоге зена анонсировали переезд нестабильной ветки XCP на github.

Чтобы понять значимость этого события, нужно понять историю Xen Cloud Platform. Компания Xensource, основанная автором Xen'а развивала опенсорсную версию гипервизора и две независимые ветви его «обвязки»: xend и xapi. Xend шёл под свободной лицензией (и входит в состав большинства дистрибутивов), а xapi был «сердцем» платной (и весьма дорогой) платформы для виртуализации XenServer. Через некоторое время покупки Xensource Citrix'ом была опуликована опенсорсная версия xapi (GPL), лёгшая в основу Xen Cloud Platform.

Версия формально была в открытом доступе, но фактически, её разработкой занимались только сотрудники Citrix, так как только у них был доступ к репозиторию, а механизма приёма патчей от сторонних разработчиков толком не было.

И вот, переезд на github с первыми коммитами со стороны не сотрудников цитрикс. Собственно, именно в этот момент XCP становится по-настоящему открытой платформой для построения облачных систем.

Ключевые отличия xapi по сравнению с xend'ом:
Читать дальше →

HTML5 Camp: опубликована окончательная версия программы мероприятия

Reading time1 min
Views4.7K
image

Привет, Хабр!

Очень приятно отметить тот факт, что конференция вызвала большой интерес — регистрацию пришлось закрыть через два дня после начала. Жаль, что многим желающим пришлось отказать, но для них мы постараемся сделать как можно более качественную и содержательную онлайн трансляцию, которую можно будет посмотреть 17 февраля в 10:00 (мск) прямо на Хабре. В этот раз мы больше не заставим вас в перерывах смотреть скучную заставку – паузы мы заполним интервью с участниками конференции.

Теперь поговорим о новостях. Окончательно утверждена программа мероприятия. Свое участие подтвердили JoyBits Ltd., авторы одного из самых популярных приложений для Windows Phone 7. Николай Котляров расскажет об опыте перевода Doodle God в HTML5.

Для разминки перед мероприятием предлагаю пройти тест на знание стандартов. Тем более там еще и призы дают.

Под катом полная программа мероприятия
Читать дальше →

MWC 2011 Обзор новостей

Reading time3 min
Views539

Mobile World Congress 2011 открылся и уже представлено много новинок. Еще до первого анонса мы были наслышаны о большинстве из них. Теперь настало время посмотреть, что было правдой, а чего мы и вовсе не ожидали!

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

Чем порадовать любимую 14 февраля

Reading time2 min
Views109K
Видимо немного поздно этот топик оказался здесь, но всё же лучше поздно, чем никогда. Завтра замечательный праздник — День всех влюбленных. Чтобы удивить свою любимую, была проделана (аж почти два раза) вся работа, описанная в этом топике.



(Осторожно, много изображений!)

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

Инструменты для форматирования CSS-кода

Reading time3 min
Views60K
Любите ли вы свой CSS-код так, как люблю его я? Если да, то, несомненно, стремитесь к тому, чтобы он не только хорошо себя вёл и чувствовал, но и приятно выглядел.
Надеюсь, что инструменты, описанные ниже, помогут вашему коду приблизиться к идеалу.
Читать дальше →

Information

Rating
Does not participate
Location
Херсон, Херсонская обл., Украина
Date of birth
Registered
Activity