С приходом .Net Core у нас появилась прекрасная возможность не только запускать наш код на разных ОС, но и тестировать его на разных ОС. А что может быть лучше Docker при работе с разными ОС?
Притыкин Вячеслав @DanAmir
User
Создание архитектуры программы или как проектировать табуретку
25 min
690KВзявшись за написание небольшого, но реального и растущего проекта, мы «на собственной шкуре» убедились, насколько важно то, чтобы программа не только хорошо работала, но и была хорошо организована. Не верьте, что продуманная архитектура нужна только большим проектам (просто для больших проектов «смертельность» отсутствия архитектуры очевидна). Сложность, как правило, растет гораздо быстрее размеров программы. И если не позаботиться об этом заранее, то довольно быстро наступает момент, когда ты перестаешь ее контролировать. Правильная архитектура экономит очень много сил, времени и денег. А нередко вообще определяет то, выживет ваш проект или нет. И даже если речь идет всего лишь о «построении табуретки» все равно вначале очень полезно ее спроектировать.
К моему удивлению оказалось, что на вроде бы актуальный вопрос: «Как построить хорошую/красивую архитектуру ПО?» — не так легко найти ответ. Не смотря на то, что есть много книг и статей, посвященных и шаблонам проектирования и принципам проектирования, например, принципам SOLID (кратко описаны тут, подробно и с примерами можно посмотреть тут, тут и тут) и тому, как правильно оформлять код, все равно оставалось чувство, что чего-то важного не хватает. Это было похоже на то, как если бы вам дали множество замечательных и полезных инструментов, но забыли главное — объяснить, а как же «проектировать табуретку».
Хотелось разобраться, что вообще в себя включает процесс создания архитектуры программы, какие задачи при этом решаются, какие критерии используются (чтобы правила и принципы перестали быть всего лишь догмами, а стали бы понятны их логика и назначение). Тогда будет понятнее и какие инструменты лучше использовать в том или ином случае.
Данная статья является попыткой ответить на эти вопросы хотя бы в первом приближении.
К моему удивлению оказалось, что на вроде бы актуальный вопрос: «Как построить хорошую/красивую архитектуру ПО?» — не так легко найти ответ. Не смотря на то, что есть много книг и статей, посвященных и шаблонам проектирования и принципам проектирования, например, принципам SOLID (кратко описаны тут, подробно и с примерами можно посмотреть тут, тут и тут) и тому, как правильно оформлять код, все равно оставалось чувство, что чего-то важного не хватает. Это было похоже на то, как если бы вам дали множество замечательных и полезных инструментов, но забыли главное — объяснить, а как же «проектировать табуретку».
Хотелось разобраться, что вообще в себя включает процесс создания архитектуры программы, какие задачи при этом решаются, какие критерии используются (чтобы правила и принципы перестали быть всего лишь догмами, а стали бы понятны их логика и назначение). Тогда будет понятнее и какие инструменты лучше использовать в том или ином случае.
Данная статья является попыткой ответить на эти вопросы хотя бы в первом приближении.
+82
Каково оно учить JavaScript в 2016
10 min
348KTranslation
— Эй, я получил новый веб-проект, но, если честно, я не занимался веб-кодингом в течение нескольких лет, и я слышал, все немного поменялось. Ты же самый современный веб-разработчик, правда?
— Это теперь называется Front-End инженер, но да, я — именно он. Я работаю с вебом в 2016. Визуализации, музыкальные плееры, летающие дроны, которые играют в футбол, все что угодно. Я только что вернулся из JsConf и ReactConf, так что я знаю новейшие технологии для создания веб-приложений.
— Круто. Мне нужно создать страницу, которая отображает последние действия со стороны пользователей, так что мне просто нужно получить данные от REST и отобразить их в какой-то фильтруемой таблице, ну и обновлять её, если что-то изменится на сервере. Я думал, может быть, использовать JQuery для извлечения и отображения данных?
— О, Мой Бог! Нет! Никто больше не использует JQuery. Ты должен попробовать React: это — 2016!
+216
Собеседование на программиста в Amazon
7 min
127KTranslation
Представляю вашему вниманию перевод своей статьи Amazon software engineer interview, изначально опубликованной на английском на sobit.me.
Не так давно со мной связался технический рекрутер из Amazon. Компания организовывала трехдневное онсайт собеседование по найму программистов в их берлинский офис.
Весь процесс, начиная с того, как со мной связались, и заканчивая подписью контракта, занял около двух месяцев. Я хотел бы поделиться опытом, как все прошло, и что, на мой взгляд, помогло мне получить работу.
Если я не упомянул чего-то важного в статье, спрашивайте в комментариях. Постараюсь ответить максимально подробно.
+53
Анализ результатов выборов в Госдуму. Готовимся к голосованию 2016 года
3 min
35KВыборы в Государственную думу только осенью, но мы уже начинаем готовиться. Если повторится история 2011 года, будет очень интересно. Наверное, многие помнят, как сразу после тех выборов появилась куча статистических исследований, намекающих на фальсификации и как все узнали, как выглядит распределение Гаусса. Я хотел бы рассказать, где искать данные про выборы и как с ними работать. Кроме хорошо известных графиков я покажу некоторые другие прикольные картинки, которых раньше в паблике не видел. Так, например, выглядит распределение голосов за Единую Россию по стране, хорошо видны регионы с максимальной поддержкой партии власти — Северный Кавказ и Татарстан:
Есть такой замечательный сайт izbirkom.ru. Его здесь даже недавно упоминали в контексте, что, типа, на него потратили слишком много денег. Но лично мне не жалко, сайт прекрасный:
Есть такой замечательный сайт izbirkom.ru. Его здесь даже недавно упоминали в контексте, что, типа, на него потратили слишком много денег. Но лично мне не жалко, сайт прекрасный:
+52
40 великолепных QR-кодов
1 min
193KQR-коды — новый тип штрих-кодов, который содержит в себе информацию, но они выглядят смертельно скучно. Однако, благодаря талантливым дизайнерам, они могут превратиться в настоящее искусство.
Осторожно, под катом очень много картинок.
Осторожно, под катом очень много картинок.
+70
Операция «посредник» или доставка товаров из США — проще, надежнее, дешевле
5 min
96K Все мы знаем, что большинство гаджетов дешевле купить в США, чем у нас на родине, и особенно это относится к различным новинкам, цены на которые у нас просто взлетают к небесам! Так же всем известно, что самые «вкусные» предложения на eBay и в интернет магазинах США обычно имеют доставку US only и соответственно не доступны для нас. В этой статье я попытаюсь рассказать про еще один способ исправить это недоразумение. Конечно все более-менее опытные интернет-покупатели знают о посредниках, которые предоставляют услугу mail forwarding — тоесть пересылку посылок. Происходит это так — вы заказываете доставку товара на адрес в США, который вам выдал посредник, он получает посылку и пересылает ее вам, беря за это небольшую комиссию. Известные посредники это Shipito, Ebaytoday, Бандеролька и т.д. их достаточно много и все они предлагают набор услуг — пересылка, объединение нескольких посылок в одну, наоборот — разделение крупной посылки на несколько мелких и тд. Берут обычно фиксированную плату за каждую посылку + оплату за дополнительные услуги. Стоимость самой пересылки обычно рассчитывается по тарифам USPS и этой же службой отправляют посылку вам. Я же хочу рассказать про еще одну компанию — Meest.us, которая осуществляет пересылку посылок (среди различных других услуг) но в принципе ее работы есть некоторые интересные особенности.
+36
+173
Интервью с Грейс Хоппер
1 min
17KНа Хабре о ней уже вспоминали: контр-адмирал ВМФ США, один из создателей первого американского компьютера MARK-I, автор первого в мире компилятора, разработчик языка программирования COBOL, изобретатель термина "баг" в его нынешнем понимании и просто талантливый человек Грейс Хоппер. А еще в её честь назван эсминец и учреждена премия, которую в своё время получили Кнут, Возняк, Столлман, Страуструп и прочие достойные люди.
Я взял на себя смелость сделать русские субтитры к интервью с Грейс, взятом у неё в возрасте 80 лет, когда она уже ушла со флота и работала на частную компанию. Грейс рассказывает о своей карьере, шутит о президентах и поясняет кой-какие термины. Дай Бог каждому за свою жизнь совершить хоть половину сделанного ею и сохранить к столь почтенному возрасту такую трудоспособность и ясность мысли.
(Кто не в курсе — субтитры включаются и настраиваются кнопкой «СС»)
P.S. Ютюб в некоторых странах рассказывает, что видео не доступно. Но вот например с американским ВПН — работает (и видео и субтитры).
Я взял на себя смелость сделать русские субтитры к интервью с Грейс, взятом у неё в возрасте 80 лет, когда она уже ушла со флота и работала на частную компанию. Грейс рассказывает о своей карьере, шутит о президентах и поясняет кой-какие термины. Дай Бог каждому за свою жизнь совершить хоть половину сделанного ею и сохранить к столь почтенному возрасту такую трудоспособность и ясность мысли.
(Кто не в курсе — субтитры включаются и настраиваются кнопкой «СС»)
P.S. Ютюб в некоторых странах рассказывает, что видео не доступно. Но вот например с американским ВПН — работает (и видео и субтитры).
+69
Остановите крушение плана проекта — вы эксперт
3 min
771Translation
Представьте. Сейчас 22:30 и самолет готовится к вылету на большое расстояние. В кабине самолета пилот и первый помощник пилота заняты проверкой систем самолета перед вылетом. Они сверяются с прогнозом погоды, проверяют уровень топлива и целый ряд технических индикаторов и показателей. Они начинают подготавливать детальный маршрут полета.
Вдруг генеральный директор авиакомпании врывается в кабину.
+67
Невозможная задача
5 min
3.1KСлучалось ли Вам когда-нибудь работать над невозможной задачей? Не над просто трудной, скучной или длительной, а над реально невозможной? Помните ли Вы свои ощущения?
Начинается обычно всё не так уж плохо: начальство просто выдаёт очередную задачу. Это уже не первая Ваша задача, за плечами уже есть пару законченных проектов и ничто, на первый взгляд, не вызывает страха. Звучит задача странновато, но ведь Вы еще глубоко не вникали, да и начальство ведь — не дураки, так что Вы киваете головой и идете разбираться.
+126
+192
Много книг, хороших и разных
20 min
96KМой список книг, которые мне хочется прочесть, изрядно вырос, спасибо топику “запасаемся на зиму”. Под катом вы обнаружите список книг, составленный по комментариям в том топике.
+109
Расписание выхода статей на Хабре (на любую неделю)
2 min
22KПонедельник
Вторник
- Новости: ученые изобрели машину времени, вышел новый ноутбук толщиной 80 нанометров, Google покупает Microsoft, Facebook увольняет 1000 программистов.
- Вылез стартап. Попиарился, лёг под хабраэффектом, встал, собрал замечания, поблагодарил, пропал навсегда.
- Вышла новая версия третьего слева линукса. Качать срочно.
- Я негодую — счет за телефон оператор округлил до кратности числу Пи.
Вторник
- Опровержение новостей: ученые изобрели всего-лишь более точные часы, 80 нанометров — это техпроцесс, а не толщина ноутбука, Google покупает какой-то стартап, который отказался купить Microsoft, Facebook набирает 5000 программистов.
- Начало холивара, модного на этой неделе (чай vs кофе, бинокль vs подзорная труба, черное vs белое)
- Очень важный технический ресурс (ЖЖ, порнолаб, Sony Network) взломан (заДДОСен, конфискован УБОПом). Паника и отчаяние.
+404
Как устроен Forex и нужен ли он
8 min
375KКогда речь заходит о фондовом рынке и торговле на бирже, первое, что приходит на ум многим людям – это форекс. Действительно, реклама этого вида инвестиций (хотя таковыми операции на этом рынке можно назвать с натяжкой) проникла во многие сферы нашей жизни – успешные трейдеры, которые зарабатывают тысячи долларов параллельно с основной работой или лежа на пляже, смотрят на нас и с плакатов в вагонах метро, и с баннеров в Сети. Между тем, здесь все далеко не так просто.
+186
ASP.NET MVC. Урок 0. Вступление
2 min
783KTutorial
Я пишу сайты на asp.net mvc. В этих 16 главах я хочу рассказать, как я это делаю. Это некий учебник-справочник всех тех знаний, которые я накопил в течение трех лет.
ASP.NET MVC я люблю потому что:
Почему именно asp.net mvc
ASP.NET MVC я люблю потому что:
- Это .net. Я знаю .net и С#.
- Это компилируемый код.
- Это не ASP.NET WebForms, я работаю с html-кодом.
- Используется MVC-паттерн.
- Visual Studio – самое популярное средство разработки, в котором есть IntelliSense.
- Отличные инструменты отладки.
+140
Оптимизируем производительность JavaScript для V8
6 min
28KTutorial
Translation
Предисловие
Дэниел Клиффорд сделал на Google I/O прекрасный доклад, посвященный особенностям оптимизации кода JavaSсript для движка V8. Дэниел призвал нас стремиться к большей скорости, тщательно анализировать отличия между С++ и JavaScript, и писать код, помня о том, как работает интерпретатор. Я собрал в этой статье резюме самых главных моментов выступления Дэниела, и буду обновлять её по мере того, как движок будет меняться.
+71
Принцип цикады и почему он важен для веб-дизайнеров
6 min
232KTranslation
Пару лет назад я прочитал интересные факты о жизненном цикле периодических цикад. Обычно мы не видим вокруг себя много этих насекомых, потому что бóльшую часть своей жизни они проводят под землёй и тихо сосут корни растений.
Однако, в зависимости от вида, каждые 7, 11, 13 или 17 лет периодические цикады одновременно массово вылезают на свет и превращаются в шумных летающих тварей, спариваются и вскоре умирают.
Хотя наши странные цикады весело уходят в иной мир, возникает очевидный вопрос: это просто случайность, или числа 7, 11, 13 и 17 какие-то особенные?
Однако, в зависимости от вида, каждые 7, 11, 13 или 17 лет периодические цикады одновременно массово вылезают на свет и превращаются в шумных летающих тварей, спариваются и вскоре умирают.
Хотя наши странные цикады весело уходят в иной мир, возникает очевидный вопрос: это просто случайность, или числа 7, 11, 13 и 17 какие-то особенные?
+668
Непутевые заметки о ASP.NET MVC. Часть 1 (и единственная)
11 min
41KВ последнее время на Хабре часто начали появляться статьи о ASP.NET MVC. Однако в этой статье я бы хотел сделать несколько заметок по поводу построения приложений на вышеприведенном фреймворке: минимальный набор NuGet-packages (без которых грех начинать работу), логирование, подводные камни при использовании стандартных membership-, profile- провайдеров. И, напоследок, почему Web API из MVC 4 — то, что так долго мы все ждали.
+36
Подборка CSS3 меню
1 min
15KПод катом находится сравнительно небольшая подборка СSS3 и СSS3+JQuery меню. Некоторые из них уже могли встретится пользователям на просторах Интернета, некоторые-нет. Весь обзор представлен в виде скриншотов и демо-ссылок, а также ссылок на закачку сырцов, там, где это возможно.
+4
Information
- Rating
- Does not participate
- Location
- Днепр, Днепропетровская обл., Украина
- Date of birth
- Registered
- Activity