Pull to refresh
0
0
hrenly @hrenly

User

Send message

Создание архитектуры программы или как проектировать табуретку

Reading time 25 min
Views 678K
Взявшись за написание небольшого, но реального и растущего проекта, мы «на собственной шкуре» убедились, насколько важно то, чтобы программа не только хорошо работала, но и была хорошо организована. Не верьте, что продуманная архитектура нужна только большим проектам (просто для больших проектов «смертельность» отсутствия архитектуры очевидна). Сложность, как правило, растет гораздо быстрее размеров программы. И если не позаботиться об этом заранее, то довольно быстро наступает момент, когда ты перестаешь ее контролировать. Правильная архитектура экономит очень много сил, времени и денег. А нередко вообще определяет то, выживет ваш проект или нет. И даже если речь идет всего лишь о «построении табуретки» все равно вначале очень полезно ее спроектировать.

К моему удивлению оказалось, что на вроде бы актуальный вопрос: «Как построить хорошую/красивую архитектуру ПО?» — не так легко найти ответ. Не смотря на то, что есть много книг и статей, посвященных и шаблонам проектирования и принципам проектирования, например, принципам SOLID (кратко описаны тут, подробно и с примерами можно посмотреть тут, тут и тут) и тому, как правильно оформлять код, все равно оставалось чувство, что чего-то важного не хватает. Это было похоже на то, как если бы вам дали множество замечательных и полезных инструментов, но забыли главное — объяснить, а как же «проектировать табуретку».

Хотелось разобраться, что вообще в себя включает процесс создания архитектуры программы, какие задачи при этом решаются, какие критерии используются (чтобы правила и принципы перестали быть всего лишь догмами, а стали бы понятны их логика и назначение). Тогда будет понятнее и какие инструменты лучше использовать в том или ином случае.

Данная статья является попыткой ответить на эти вопросы хотя бы в первом приближении.
Читать дальше →
Total votes 88: ↑85 and ↓3 +82
Comments 45

Еще одна история про переезд, на этот раз в Нидерланды

Reading time 7 min
Views 110K


Всем привет.
Хочу поделиться своим опытом переезда в Нидерланды.

Краткое предисловие.

Все свои 25 лет я прожил в Киеве, закончил КПИ. На 3м курсе начал заниматься веб-разработкой — пилил сайты на Джумлах — Вордпрессах, рисовал дизайны и потихоньку изучал премудрости PHP и JS. Через 1.5 года устроился в киевский филиал Anzer IT Healthcare и, после года работы там, первый раз серьезно задумался о поиске работы за границей с переездом. Тогда я видел это как успешное продолжение карьеры, еще со школьных-институтские времен, видать, въелись наставления родителей.

Итак…
Читать дальше →
Total votes 125: ↑111 and ↓14 +97
Comments 208

Как найти работу в Германии

Reading time 4 min
Views 145K

Для всех, кто просил описать как искать работу программистом в Германии, а так же для тех, кто в комментариях бездоказательно писал, что Германия далеко не лучшее место для работы, ну и для всех интересующихся написан этот пост.
Читать дальше →
Total votes 103: ↑95 and ↓8 +87
Comments 283

Переезд IT-шника в Германию: от А до Я

Reading time 20 min
Views 98K
Привет.

Germany Blue CardВ этом посте я хочу подробно рассказать о моём опыте переезда на работу PHP-разработчиком в Германию — от момента, когда есть просто желание переехать, но не знаешь что и как делать, до момента, когда уже переехал, вселился в квартиру и получил вид на жительство. Кроме того, в конце поста я приведу немного полезной информации и ссылок по переезду в некоторые другие страны.

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

Итак, если вы имеете IT-шное образование и вам интересна идея сваливания из печальной пост-совковой реальности, прошу под кат.
Читать дальше →
Total votes 211: ↑189 and ↓22 +167
Comments 163

А вы хотите программировать вверх тормашками?

Reading time 10 min
Views 34K


Всем добрый вечер/день/утро, кому, что ближе в данный момент. Давненько читаю данный ресурс и всегда с особенной любовью относился к статьям, которые так или иначе мотивировали меня, заставляли задуматься и подталкивали что-нибудь изменить в моей жизни. Поэтому, решил попробовать вдохновить или так сказать, морально помочь тем, кто чего-то хочет, но, как и все нормальные люди сомневается. А конкретно рассказать о моей иммиграции в страну Оззи. Сразу оговорюсь, тем кто любит писать что-то вроде: «многобукв»,«неосилил»… заранее приношу извинения, потому как сам «многобукв» люблю, а когда не люблю иду в твиттер, чего и Вам советую.
Читать дальше →
Total votes 142: ↑124 and ↓18 +106
Comments 156

Гаджеты для бега: от простого к очень простому

Reading time 6 min
Views 203K
На Хабре уже не раз и не два обращались к теме поддержания физической формы, для такой профессии как айтишник, админ и тому подобные властители неведомого серверного оборудования.
Были темы и просто о пользе бега, со стандартной теоретической подготовкой, и о маленьком, но хитром специальном устройстве от Nike, украшающем беговой процесс. Однако нас, как людей технических до мозга костей, интересует иное: можно ли в процессе беговой тренировки, использовать всю мощь технического прогресса для достижения максимальных результатов?
Поэтому данная статья больше перекликается с давним описанием: нескольких беговых девайсов, с учетом прошедших лет и текущего положения дел в области приборов для спорта и бега.
Все, что описано в статье, испытано на собственном опыте, все скриншоты и результаты взяты из личных данных.

Исходные данные: один условный «айтишник», перешагнувший рубеж 30 лет, и 90 кг.
Необходимо: заинтересовать техногика простыми тренировками, помогающими сохранить физическую форму, сбросить вес и укрепить сердце.


А теперь встали и пошли на тренировку!
Total votes 55: ↑52 and ↓3 +49
Comments 179

Быстрый старт первого проекта в Windows Azure. Веб-сайты. Методы развертывания

Reading time 5 min
Views 8.1K
Разработчику для развертывания веб-сайта в Windows Azure Web Sites доступны следующие опции развертывания: Visual Studio Web Deploy, GitHub, FTP, Team Foundation Services (TFS), Microsoft WebMatrix. Развертывание с использованием FTP было описано в части 2 данного цикла, поэтому в данной части будут описаны все остальные опции.
Первые пять частей цикла доступны по ссылке, 6-я — здесь. Это — заключительная часть цикла.

Читать дальше →
Total votes 23: ↑19 and ↓4 +15
Comments 1

Бизнес — модель

Reading time 2 min
Views 16K
Друзья,

я бы хотел с Вам поговорить об одной модели бизнеса, которая последнее время в России (ибо, например, в США уже давно) набирает обороты.

Назовем ее One month — one shop — OMOS.

Читать дальше →
Total votes 48: ↑31 and ↓17 +14
Comments 77

Операция «посредник» или доставка товаров из США — проще, надежнее, дешевле

Reading time 5 min
Views 96K
Все мы знаем, что большинство гаджетов дешевле купить в США, чем у нас на родине, и особенно это относится к различным новинкам, цены на которые у нас просто взлетают к небесам! Так же всем известно, что самые «вкусные» предложения на eBay и в интернет магазинах США обычно имеют доставку US only и соответственно не доступны для нас. В этой статье я попытаюсь рассказать про еще один способ исправить это недоразумение. Конечно все более-менее опытные интернет-покупатели знают о посредниках, которые предоставляют услугу mail forwarding — тоесть пересылку посылок. Происходит это так — вы заказываете доставку товара на адрес в США, который вам выдал посредник, он получает посылку и пересылает ее вам, беря за это небольшую комиссию. Известные посредники это Shipito, Ebaytoday, Бандеролька и т.д. их достаточно много и все они предлагают набор услуг — пересылка, объединение нескольких посылок в одну, наоборот — разделение крупной посылки на несколько мелких и тд. Берут обычно фиксированную плату за каждую посылку + оплату за дополнительные услуги. Стоимость самой пересылки обычно рассчитывается по тарифам USPS и этой же службой отправляют посылку вам. Я же хочу рассказать про еще одну компанию — Meest.us, которая осуществляет пересылку посылок (среди различных других услуг) но в принципе ее работы есть некоторые интересные особенности.
Читать дальше →
Total votes 52: ↑44 and ↓8 +36
Comments 59

Пример использования Google Places

Reading time 5 min
Views 30K

О сервисе


Побывав на мероприятии Google Developer Day 2011, узнал о новом сервисе Google places (в русском варианте «Google Адреса»).
Интересную лекцию об этом прочел колоритного вида сотрудник Mano Marks.
Эта служба представляет возможность поиска различных объектов (POI), находящихся в окрестностях заданной точки. Хочу рассказать о примере практического использования сервиса.
Читать дальше →
Total votes 21: ↑17 and ↓4 +13
Comments 9

Введение в jQuery Mobile

Reading time 6 min
Views 24K

Введение в jQuery Mobile


Мобильная стратегия jQuery может быть легко объяснена — это внедрение пользовательского JavaScript в наиболее часто используемые браузеры на мобильных платформах.
Основной ценностью нашего подхода является широкий спектр платформ, поддерживаемых jQuery Mobile. Мы прилагаем все усилия, что бы jQuery поддерживал все мобильные браузеры, по крайней мере занимающие номинальную долю рынка.
Что бы обеспечить широкую поддержку, все страницы в jQuery Mobile построены на чистом HTML, это обеспечивает совместимость с довольно многими web-ориентированными устройствами. В устройствах, которые интерпретируют CSS и JavaScript, jQuery Mobile применяет прогрессивные методы, что бы ненавязчиво преобразовать семантические страницы используя богатый интерактивный опыт и мощь Query и CSS. Стандарты доступности активных интернет-приложений, таких как WAI-ARIA тесно интегрированы во всей структуре для оказания поддержки для чтения с экрана.
Читать дальше →
Total votes 30: ↑18 and ↓12 +6
Comments 21

24 способа, увеличивающих вероятность индексации сайта

Reading time 6 min
Views 7.8K
Далеко не все поисковые сервисы быстро и эффективно индексируют новый ресурс в Интернете. «Зубры» типа google или yahoo все схватывают на лету, надо просто немого подождать. При этом объем проиндексированного контента у них достаточно высокий. Множество поисковиков рунета (rambler, aport, altavista), а также майкрософтовские livesearch и msn тоже сами индексируют новый сайт.
Проблемы иногда возникают с индексацией в mail.ru, и его детище gogo, а также с Яндексом. Из индекса Яндекса сайты иногда пропадают, число проиндексированных поисковиком также часто меняется.
Cледует также отметить, что индексировать то может и индексируют поисковики, но если проиндексированная страница будет находиться на 10ой странице поиска, то вряд ли на нее кто-то перейдет. Разве что самый упорный. Поэтому особенно актуален вопрос именно эффективной индексации. О ней и вообще об индексации пойдет речь. Так как ориентация статьи сделана в основном на русскоязычный сегмент Интернета, то акцент слегка смещен в сторону Яндекса.
Читать дальше →
Total votes 36: ↑28 and ↓8 +20
Comments 18

Игровая приставка на базе Android. Подробный мануал

Reading time 4 min
Views 111K
Не так давно один мой знакомый, приобретя себе китайскую консоль (инфо и инфо) на Android 4.0 и установив эмулятор PS1, не мог не поделиться со мной таким «счастьем». Такая возможность использовать свое Android устройство сильно заинтересовала и я решил не только испытать все прелести эмулятора на своем смартфоне, но и пойти немного дальше…

Проблемы и трудности, с которыми я столкнулся, а также подробное иллюстрированное руководство по настройке эмулятора, смартфона и подключению к нему геймпада под катом.
Читать дальше →
Total votes 60: ↑57 and ↓3 +54
Comments 36

Дания: страна победившего здравого смысла

Reading time 5 min
Views 129K
Вот уже полгода, как я живу в Копенгагене, столице Дании. В этой статье я хочу показать, почему я считаю эту страну королевством адеквата.

«Доверяй, но проверяй» — это про Данию.
Читать дальше →
Total votes 237: ↑206 and ↓31 +175
Comments 805

Руководство для маленьких, или как Василий Бубликов стал начальником

Reading time 6 min
Views 5.5K
Что из себя представляет руководство на самом деле, или каким оно должно быть?
К сожалению в наших реалиях хороший руководитель — большая редкость. Возможно, некоторые мысли помогут некоторым «свежеиспеченным» руководителям не наступить на старые ржавые грабли. Тем кто не связан с руководством — поможет понять в чем заключается работа руководителя. А, умудренные руководящим опытом, я надеюсь, выскажутся в комментариях, и поделятся своим опытом.

В этой статье не пойдет речи об организации процессов. Здесь будет затронута только тематика рабочих взаимоотношений.
Читать дальше →
Total votes 60: ↑51 and ↓9 +42
Comments 81

Выравниваем блок по центру страницы

Reading time 5 min
Views 964K
Очень часто стоит задача выровнять блок по центру страницы / экрана, да ещё и так, чтобы без ява-скрипта, без задания жёстких размеров или отрицательных отступов, ещё чтобы и скроллбары работали у родителя, если блок превышает его размеры. В сети ходят достаточно много однообразных примеров как выровнять блок по центру экрана. Как правило большинство из них основаны на одних принципах.
Читать далее
Total votes 69: ↑51 and ↓18 +33
Comments 49

Ractive.js — бриллиантовый век web-разработки

Reading time 12 min
Views 50K
Как утверждает сама команда разработчиков, Ractive.js — это библиотека для разработки динамичных web интерфейсов, благодаря которой в мире web-разработки наступит расцвет: всем выдадут бонусы в 100%, холивары «кто круче» отступят в сторону, а разработчики, которые пишут интерактивные, динамичные сайты наконец то перестанут покрываться сединой и материться.

Короче, наступит бриллиантовый век веб-разработки.

Начиная очередной проект, прежде чем начать писать Backbone код (фу-фу-фу), решил применить это чудо в проекте (бриллианты!). А так как погуглив похабрив я понял, что на хабре всего одна статья о Ractive.js, нужно устранить эту несправедливость и заодно написать о том, правда ли нам всем свалится вагон счастья и будет ли вообще кто-то доволен. Ведь пообещать «диамантовый век» — это одно (каждые 4 года из телеков слышим), а сделать — совсем другое.

Под катом рассмотрю, что такое и как работает Ractive.js, и подробно распишу продакшн задачу с полной реализацией и описанием, чем это всё грозит уже всем нам.
Читать дальше →
Total votes 49: ↑39 and ↓10 +29
Comments 53

Параллакс на чистом CSS

Reading time 4 min
Views 168K
В этой статье показывается, как с помощью CSS трансформаций и махинаций с 3d сделать параллакс-эффект на сайте на чистом CSS.

Параллакс почти всегда создаётся с помощью JavaScript и, чаще всего, получается ресурсоёмким, из-за вешания листенеров на событие скролла, модификации DOM напрямую и срабатывания ненужных перерисовок и перестановок. Всё это происходит асинхронно с потоком, в котором браузер рендерит страницу, из-за чего скролл начинает подтормаживать, а картинка рваться на части. Более правильные реализации параллакса отслеживают скролл и используют отложенные обновления DOM с помощью requestAnimationFrame. Получается качественной другой результат, но почему бы вообще не избавиться от JavaScript?
Читать дальше →
Total votes 59: ↑54 and ↓5 +49
Comments 48

Учеба за границей: Вьетнам

Reading time 6 min
Views 42K


Некоторое время назад на хабре были весьма популярны статьи об обучении за границей, но так уж получилось, что все статьи были в основном про варианты в «первом мире»: Европа, Америка, Япония. Однако, я думаю, что существуют много интересных вариантов и в других странах.

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

Однако, первое, что хочу сказать, разумеется, это то, что обучение происходит в Австралийском университете на английском языке. Учить вьетнамский вам не потребуется.
Читать дальше →
Total votes 31: ↑31 and ↓0 +31
Comments 18

Information

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