Search
Write a publication
Pull to refresh
44
0
Александр Борисов @aishek

Fullstack-разработчик, Team Lead, CTO

Send message

Что должен знать о времени каждый программист

Reading time3 min
Views100K

Некоторые замечания о времени

  • UTC: время на нулевом меридиане называется Всемирное координированное время, Universal Coordinated Time. Несовпадение акронима было вызвано необходимостью универсальности его для всех языков.
  • GMT: ранее вместо UTC использовалось среднее время по Гринвичу (Greenwich Mean Time, GMT), так как нулевой меридиан был выбран так, чтобы проходить через Гринвичскую королевскую обсерваторию.
  • Прочие часовые пояса могут быть записаны как смещение от UTC. Например, Австралийское восточное стандартное время (EST) записывается как UTC+1000, то есть время 10:00 по UTC есть 20:00 по EST того же дня.
Читать дальше →

Жадные алгоритмы

Reading time4 min
Views207K
ДеньгиДоброго времени суток, хабр! Сегодня я бы хотел рассказать про жадные алгоритмы.

Есть много методов решения тех или иных задач: динамическое программирование, перебор. Не менее известными и довольно распространенными являются жадные алгоритмы.

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

Влияние внутренней оптимизации на успешное продвижение сайта в поисковых системах. Часть 1

Reading time7 min
Views16K
Данная статья рассказывает о том, как важно проводить комплексную внутреннюю оптимизацию сайта и что нужно сделать для того, чтобы обеспечить успешное продвижение веб-ресурсов в поисковых системах. Выполненная в соответствие со всеми требованиями поисковиков оптимизация будет являться гарантом хорошей видимости сайта в результатах поиска и, как следствие, стабильного потока целевых посетителей.

Статья рассчитана, прежде всего, на людей, которые занимаются или планируют заняться созданием и продвижением сайта в Интернет, но не знают с чего начать и как вообще все делать правильно. Я расскажу про самые основные шаги, которые нужно совершить в начале пути.
Читать дальше →

Бесплатные образы Windows для тестирования сайтов в Internet Explorer

Reading time1 min
Views19K
14 мая Microsoft обновили набор образов для тестирования сайтов в Internet Explorer.

Теперь под Windows XP остался только IE6.
IE7 есть под Windows Vista.
Также добавили образы Windows 7 c IE8 и IE9.
Читать дальше →

Вы НЕ инженер-программист!

Reading time3 min
Views36K
От перев.: Думаю, практически каждый разработчик читал произведение искусства под названием «Если бы программисты строили дома». В этом юмористическом рассказе проводится параллель между строительством и разработкой ПО. Неожиданно! Понятно, что в каждой шутке есть доля правды. И вот спустя годы я наткнулся на другое сравнение. Мне оно показалось более точным, поэтому я решил перевести его на русский и поделиться с сообществом.

Познать дзен садоводства!

Пять бесплатных инструментов для выбора цветовой схемы сайта

Reading time2 min
Views234K
Один из самых важных факторов при создании уникального и узнаваемого дизайна — цвет. Грамотный выбор цветовой схемы может определить успех или провал сайта. Когда посетитель бросает первый взгляд на веб-страницу, то выбранные вами цвета посылают ему мгновенное сообщение об этой странице. К счастью, существует много инструментов, которые помогут выбрать правильную цветовую схему. Вот пять лучших из них.
Читать дальше →

Принцип цикады и почему он важен для веб-дизайнеров

Reading time6 min
Views236K
Пару лет назад я прочитал интересные факты о жизненном цикле периодических цикад. Обычно мы не видим вокруг себя много этих насекомых, потому что бóльшую часть своей жизни они проводят под землёй и тихо сосут корни растений.

Однако, в зависимости от вида, каждые 7, 11, 13 или 17 лет периодические цикады одновременно массово вылезают на свет и превращаются в шумных летающих тварей, спариваются и вскоре умирают.

Хотя наши странные цикады весело уходят в иной мир, возникает очевидный вопрос: это просто случайность, или числа 7, 11, 13 и 17 какие-то особенные?
Читать дальше →

Скрипты в Photoshop

Reading time2 min
Views34K
Есть такой малоизученный дизайнерами функционал в фотошопе как скрипты.
Многие пользуются Actions, но для написания настоящих jsx скриптов нужны хотя бы базовые познания в JS, VBS или AppleScript.

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


Как решить задачу?
1) Сесть и ручками наструячить 50 заголовков, копируя текст из текстовичка, настраивая размер и сохраняя файлы.
2) Создать скрипт:)
Читать дальше →

Делаем консоль чуточку удобнее

Reading time4 min
Views7.3K
Практически все Javascript-программисты пользуются консолью в браузерах. Консоль встроена в Хром, Оперу, IE и устанавливается с Firebug в Фоксе.
Но у неё есть пару неудобств, которые можно очень легко исправить. Это:
  • Ошибки, когда консоль не определена
  • Невозможность использовать вне контекста
  • Невозможность отключить во время production
  • некроссбраузерность

Исправим эти проблемы легко и быстро!

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

Как подружить Yandex карты с Google и OSM?

Reading time7 min
Views25K


Есть у меня проект, который работает на основе карт от Яндекса. Выбрал я их потому, что там документация на русском, хорошее качество карт наших городов и приятный интерфейс. Позже, как оказалось, еще и большие возможности.
И вот я заметил, что некоторые места Яндекс спутник показывает в слишком маленьком масштабе, что не годиться для построения маршрутов.
Изначально, я сделал два отдельных файла со скриптами, в одном из которых – была логика работы с Яндексом, а во втором – с Google. Переключение происходило в профиле и действовало на весь сайт, а вся работа с картами на сайте была в псевдокоде(прокси).
Esosedi.ru использовали как раз такой подход с переключением карт, но без перезагрузки. Однако такой вариант мне не подходил потому, что используются маркеры и ломанные линии, к тому же вести два разных файла трудно.

И вот я решил поискать другой вариант.
Читать дальше →

#404fest: Секция Организация работы

Reading time2 min
Views9K
Мой коллега Егор Гилев yegorg очень хорошо разбирается в вопросах организации работы, но плохо понимает в вопросах кармы на Хабре. Поэтому он попросил меня запостить его пост про его секцию на #404fest:

imageНа прошедшем осенью Фестивале 404 была секция, посвященная вопросам организации работы, управления командами и развития бизнеса. Все доклады были записаны на видео и мы рады предложить их вашему вниманию.

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



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

Где спряталась логика?

Reading time4 min
Views4.4K

Вопрос


Очень часто при обсуждении программ употребляется термин «логика» или «бизнес-логика».
Например:
  • (о юнит-тестах) не обязательно добиваться стопроцентного покрытия кода тестами, достаточно тестировать лишь логику.
  • (о веб-приложениях) контроллер не должен содержать никакой бизнес-логики, а должен только вызывать методы других классов
  • В слое VIEW (то есть в JSP-файлах) не должно быть бизнес-логики


Так вот, кто скажет мне, что такое «логика»? Надо ли понимать под этим любой IF в коде? Но разве бывает код без IF'ов? Или (бизнес-)«логика» означает любую информацию, которая исходит от клиента? Но разве можем мы на деньги клиента делать что-то, чего он не заказывал? Не можем. Стало быть, весь наш код — это целиком «бизнес-логика» от клиента. Вот поэтому я никогда не мог понять, что же такое эта чёртова логика.

Ответ:

Введение в Cappuccino

Reading time10 min
Views5K
Фреймворк Cappuccino – уникальная технология, позволяющая создавать веб-приложения десктопного качества. Он абстрагирует DOM и вместо него предоставляет Cocoa-подобный API. Вместо того, чтобы возиться с CSS-версткой и кроссбраузерными проблемами, вы используете интерфейсы, специально созданные для разработки приложений, а не статических страниц, интерфейсы, взятые с платформ Mac OS X и iOS.

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

Алло, мы ищем спикеров!

Reading time2 min
Views5.4K
У нас в компании есть полезная привычка — внутренние семинары. На них мы узнаем друг от друга разные интересные вещи, такие как: TDD, GIT, зачем нужны визитки и даже про навыки эффективной презентации.



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

Минуточку, а зачем это вам?

Настоящие online, offline события

Reading time5 min
Views3.8K
С появлением online, offline событий многие разработчики, особенно мобильных веб-севисов возложили на них большие надежды. Казалось бы online, offline говорят нам когда у пользователя есть доступ к интернету, но на самом деле это далеко не так. Подробности их поведения когда-то давно описал Резиг в своем блоге.



Кратко — online, offline сигнализирует нам, что пользователь вручную переключился в оффлайн либо у него нет ни одного соединения с сетью. Фактически эти 2 события бесполезны в том виде в котором они представлены — я не знаю кто будет вручную переключать таб в режим онлайн/оффлайн, и с сетевыми подключениями тоже все плохо. Ну и, конечно, доисторические бразуеры не знают эти события.

Под катом элегантное и 100% кросбраузерное решение, позволяющее получить настоящие online, offline события.
Читать дальше →

Масштабирование нагрузки web-приложений

Reading time6 min
Views61K
С ростом популярности web-приложения его поддержка неизбежно начинает требовать всё больших и больших ресурсов. Первое время с нагрузкой можно (и, несомненно, нужно) бороться путём оптимизации алгоритмов и/или архитектуры самого приложения. Однако, что делать, если всё, что можно было оптимизировать, уже оптимизировано, а приложение всё равно не справляется с нагрузкой?
Читать дальше →

Про фрилансера Ивана и как он не вставал с дивана

Reading time6 min
Views49K
Совсем недавно мы писали о том, как сдавать жилье в аренду, не навлечь на себя гнев государства и не вылететь при этом в трубу, используя простые практические советы по оптимизации налогообложения, рациональный подход и электронного бухгалтера «Эльбу».

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

Вдохновение для юнит-тестов

Reading time4 min
Views7.5K
Много слов сказано о достоинствах юнит-тестов (TDD, BDD — в данном случае неважно), а также о том, почему люди всё-таки их не используют.

Но я думаю, что одна из главных причин заключается в том, что люди не знают, с чего начать. Вот прочитал я статью про юнит-тесты, понравилось; решил, что надо бы когда-нибудь попробовать. Но что дальше? С чего начать? Как придумывать все эти требования, как называть тест-методы?

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

Об этом и пойдёт речь:
откуда брать вдохновение.

Rails: Хватит отмазываться, начинаем BDD-ить!

Reading time9 min
Views32K

Кто здесь?


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

11:24:21 PM Michael: ну хз, надо пробовать
11:24:24 PM Michael: наверное так лучше
11:24:27 PM Michael: даже я думаю наверняка
11:24:36 PM Michael: но пока меня че-то останавливает
11:24:38 PM Michael: лень наверное :)

Знакомо? «Не хочется разбираться? Нет времени?» Тогда читаем дальше. В статье расскажу, как настроить свое любимое рельсовое окружении на разработку с подходом BDD и начать новую жизнь (опционально).
Поехали!

Information

Rating
Does not participate
Location
Тверь, Тверская обл., Россия
Date of birth
Registered
Activity