Как стать автором
Обновить
1
0

Пользователь

Отправить сообщение

Микросервисные паттерны проектирования

Время на прочтение6 мин
Количество просмотров96K
Здравствуйте, Хабр!

В ближайшее время читайте пост о русском переводе долгожданной книги "Создание Микросервисов" Сэма Ньюмена, которая уже отправилась в магазины. Пока же мы предлагаем почитать перевод статьи Аруна Гупты, автор которой описывает самые интересные паттерны проектирования, применимые в микросервисной архитектуре
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии7

Оттачиваем мастерство работы в консоли

Время на прочтение3 мин
Количество просмотров64K
После того, как у меня появился новый монитор на рабочем месте, я начал новую итерацию улучшения своего «безмышечного» (mouse-less, прим. пер.) опыта. Вы же знаете, что это значит, не так ли? Это значит, что каждый раз, когда вы беретесь за мышку, убирая руку с клавиатуры, вы тратите немного времени и энергии. Если вам нужно набирать много текста (а я много пишу кода), это становится существенным.

Так же существует следующий уровень «безмышечного» опыта, когда вы стараетесь избежать труднодоступных клавиш, например Delete, Backspace, Escape или даже Enter.

Если вы держите руки в стандартной позиции для 10-пальцевой слепой печати, более удобно нажать Ctrl-m вместо того, чтобы тянуться мизинцем к энтеру.

image
Читать дальше →
Всего голосов 68: ↑65 и ↓3+62
Комментарии116

WordsFromText: как читать на английском с удовольствием

Время на прочтение4 мин
Количество просмотров51K
Чтение в оригинале для многих является проблемой. Обилие незнакомых слов усложняет восприятие текста и приводит к потере энтузиазма. Такое происходит, когда сложность текста превосходит ваш текущий уровень, или когда вы читаете текст не по вашей тематике. Технари могут без проблем общаться на рабочие темы, но пасуют перед статьями о политике, музыке и серьёзной художественной литературой.

Цель нашего сервиса — решить эту проблему.

Несколько лет назад мы писали на Хабре об этом сервисе. Идея нашла отклик, сайт приобрел постоянных пользователей, хотя в то время сервис мог только показывать статистику слов из текста. За последние месяцы сервис стал умнее.

Как мы переводим слова

Ключевая цель сервиса — дать людям возможность читать и смотреть в оригинале то, что им интересно. И при этом максимально упростить работу с незнакомыми словами.

Поэтому мы сделали 2 вещи
Всего голосов 39: ↑37 и ↓2+35
Комментарии64

Оформление резюме для зарубежных компаний

Время на прочтение4 мин
Количество просмотров74K

Disclaimer


Текст не претендует на истину в последней инстанции, описанное ниже основано на собственном опыте и рекомендациях людей с больше чем двадцати годами опыта в IT в США и Канаде.

Анализ резюме рекрутером


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

У вас есть 3-5 минут чтобы заинтересовать своим резюме. Это то, сколько будет уделено времени на него в начале, в лучшем случае. Часто резюме могут отсеяться спустя 10 секунд. Вас никто не знает, вы это лист бумаги с текстом, и это единственное, что вас может отличить от других. Представьте, что вы хотите купить новый телевизор, вас вряд ли будут интересовать длинные мануалы или 5 страничные описания. Выбирая из десятков и сотен аналогов, нужно за 5-10 секунд сделать предварительный отсев по определенным параметрам. Оставшимся 5-10 устройствам вы выделите чуть больше времени, а потом еще помешкаете выбираю между двух. Как то так и происходит отбор кандидатов.
Читать дальше →
Всего голосов 66: ↑58 и ↓8+50
Комментарии55

Моноиды и их приложения: моноидальные вычисления в деревьях

Время на прочтение20 мин
Количество просмотров24K
Приветствую, Хабрахабр. Сегодня я хочу, в своём обычном стиле, устроить сообществу небольшой ликбез по структурам данных. Только на этот раз он будет гораздо более всеобъемлющ, а его применения и практичность — простираться далеко в самые разнообразные области программирования. Самые красивые применения, я, конечно же, покажу и опишу непосредственно в статье.

Нам понадобится капелька абстрактного мышления, знание какого-нибудь сбалансированного дерева поиска (например, описанного мною ранее декартова дерева), умение читать простой код на C#, и желание применить полученные знания.

Итак, на повестке сегодняшнего дня — моноиды и их основное применение для кеширования вычислений в деревьях.

Моноид как концепция


Представьте себе множество чего угодно, множество, состоящее из объектов, которыми мы собираемся манипулировать. Назовём его M. На этом множестве мы вводим бинарную операцию, то есть функцию, которая паре элементов множества ставит в соответствие новый элемент. Здесь и далее эту абстрактную операцию мы будем обозначать "⊗", и записывать выражения в инфиксной форме: если a и b — элементы множества, то c = ab — тоже какой-то элемент этого множества.

Например, рассмотрим все строки, существующие на свете. И рассмотрим операцию конкатенации строк, традиционно обозначаемую в математике "◦", а в большинстве языков программирования "+": "John""Doe" = "JohnDoe". Здесь множество M — строки, а "◦" выступает в качестве операции "⊗".
Или другой пример — функция fst, известная в функциональных языках при манипуляции с кортежами. Из двух своих аргументов она возвращает в качестве результата первый по порядку. Так, fst(5, 2) = 5; fst("foo", "bar") = "foo". Безразлично, на каком множестве рассматривать эту бинарную операцию, так что в вашей воле выбрать любое.

Далее мы на нашу операцию "⊗" накладываем ограничение ассоциативности. Это значит, что от неё требуется следующее: если с помощью "⊗" комбинируют последовательность объектов, то результат должен оставаться одинаковым вне зависимости от порядка применения "⊗". Более строго, для любых трёх объектов a, b и c должно иметь место:
(ab) ⊗ c = a ⊗ (bc)
Легко увидеть, что конкатенация строк ассоциативна: не важно, какое склеивание в последовательности строк выполнять раньше, а какое позже, в итоге все равно получится общая склейка всех строк в последовательности. То же касается и функции fst, ибо:
fst(fst(a, b), c) = a
fst(a, fst(b, c)) = a
Цепочка применений fst к последовательности в любом порядке всё равно выдаст её головной элемент.

И последнее, что мы потребуем: в множестве M по отношению к операции должен существовать нейтральный элемент, или единица операции. Это такой объект, который можно комбинировать с любым элементом множества, и это не изменит последний. Формально выражаясь, если e — нейтральный элемент, то для любого a из множества имеет место:
ae = ea = a
В примере со строками нейтральным элементом выступает пустая строка "": с какой стороны к какой строке её ни приклеивай, строка не поменяется. А вот fst в этом отношении нам устроит подлянку: нейтральный элемент для неё придумать невозможно. Ведь fst(e, a) = e всегда, и если ae, то свойство нейтральности мы теряем. Можно, конечно, рассмотреть fst на множестве из одного элемента, но кому такая скука нужна? :)

Каждую такую тройку <M, ⊗, e> мы и будем торжественно называть моноидом. Зафиксируем это знание в коде:
public interface IMonoid<T> {
    T Zero { get; }
    T Append(T a, T b);
}

Больше примеров моноидов, а также где мы их, собственно, применять будем, лежит под катом.
Читать дальше →
Всего голосов 127: ↑124 и ↓3+121
Комментарии27

93 видео-лекции по Scala

Время на прочтение4 мин
Количество просмотров39K
В ходе подготовки спецкурса «Scala for Java Developers» под платформу онлайн-обучения UDEMY, я анализирую другие «лекционные» видео. В библиотеке накопилось какое-то количество ссылок на дельных учебные материалы по Scala (видео на английском).

Для большинства видео указано количество просмотров. Надо сделать несколько замечаний:
1. Количество просмотров не является главным критерием качества и полезности видео, но этот может служить каким-то указателем на ценность.
2. Здесь не все популярное видео, что я встречал, а лишь то, что ценно по моему личному мнению.
3. Если кто-то знает еще хорошее видео — пишите, добавлю в списки.


Читать дальше →
Всего голосов 21: ↑19 и ↓2+17
Комментарии5

Разработка микросервисов с использованием Scala, Spray, MongoDB, Docker и Ansible

Время на прочтение7 мин
Количество просмотров31K
Цель данной статьи — показать возможный подход для построения микросервисов с использованием Scala, RESTful JSON, Spray и Akka. В качестве базы данных мы будем использовать MongoDB. В результате нашей работы мы упакуем наш проект в Docker-контейнер, а Vagrant и Ansible позволит нам управлять конфигурацией приложения.

В этой статье вы не найдете подробностей о языке Scala и других технологиях, которые будут использоваться в проекте. В ней вы не найдете руководства, которое ответит на все ваши вопросы. Цель статьи — показать технику, которую можно использовать при разработке микросервисов. На самом деле, большая часть этой статьи не завязана на конкретной технологии. Docker имеет более широкую сферу использования, нежели только микросервисы. Ansible позволяют быстро развернуть любое требуемое окружение, а Vagrant — отличный инструмент для создания виртуальных машин.
Читать дальше →
Всего голосов 35: ↑32 и ↓3+29
Комментарии8

Как устроиться на работу в Google

Время на прочтение4 мин
Количество просмотров847K
Работать где-то мечтают не все. Работать в компании Google мечтают многие, кто решил связать свою жизнь с IT.

Google — компания-гигант, одна из крупнейших IT-корпораций. Сотрудники такой компании нужны постоянно (новые области, текучка кадров).

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

Шаг 1 — резюме.

В компании Google к резюме особое отношение. Получая миллионы заявок в год, компания выбирает несколько сотен сотрудников. Именно поэтому отличное резюме — первый шаг к работе мечты.
Что писать в резюме нужно обязательно:

  • e-mail, телефон для связи
  • все места учёбы (ВУЗы), дополнительное образование
  • Опыт работы*
  • Личные качества (придумайте что-то оригинальнее отзывчивости, стрессоустойчивости, коммуникабельности)
  • Хобби
  • Reference — люди, которые могут дать вам рекомендации
  • Знание языков

*Опыт работы в резюме для Google (и вообще для западных компаний) — это не только должность, компания, но и те успехи и достижения, которых вы добились на позиции. Если вы продажник — покажите цифры. Если программист — то как именно ваша работа улучшила работу компании. Работу рекомендуется указывать всю, а не только по профилю (если работали в МакДоналдсе, то даже такое стоит указать).

Что не нужно писать в своём резюме:
  • Дату рождения, личные данные
  • Есть ли водительские права
  • Семейное положение
  • Прочую «шелуху», которая только отвлечёт рекрутера

Читать дальше →
Всего голосов 128: ↑89 и ↓39+50
Комментарии114

«One Last Thing» — документальный фильм о Стиве Джобсе (2011 год), профессиональный русский перевод

Время на прочтение1 мин
Количество просмотров13K
image

«Одна последняя вещь» (One Last Thing) — документальный фильм о Стиве Джобсе, выпущенный в 2011 году. В фильм включено неизвестное интервью Стива Джобса, данное в 1994 году, а также интервью со Стивом Возняком, Рональдом Уэйном, Дином Хови, Россом Перо. Перевод на русский язык — канал GTV.

Читать дальше →
Всего голосов 76: ↑55 и ↓21+34
Комментарии84

Очень необычная презентация планшета

Время на прочтение1 мин
Количество просмотров607
Попалась замечательная презентация планшета, не смог пройти мимо, не поделившись.



Если б все рекламировали подобным образом, продажи уж точно возросли бы :)
Всего голосов 157: ↑136 и ↓21+115
Комментарии29

«Разбор полетов» — episode 2 — НаScala-ная живопись

Время на прочтение1 мин
Количество просмотров740
Я и коллега aib представляем вашему вниманию второй выпуск уже ставшего популярным в узких кругах, разговорного IT-тематического подкаста «Разбор Полетов».
В этом выпуске:
  • Полезняшка — Stanford Javascript Crypto Library 1
  • 2012-год Hadoop? А почему бы и нет 1 2
  • Куда катится этот мир 1
  • Scala уже не торт. Что-то быстро 1
  • Интересный игрок 1 2
  • Форкай правильно! 1

Наши контакты:
twitter: @a_abashev @gamussa
G+: gplus.to/gAmUssA http://gplus.to/aabashev
Подписаться по RSS
Всего голосов 16: ↑14 и ↓2+12
Комментарии4

Почему реклама не работает или хватит выбрасывать деньги на ветер

Время на прочтение14 мин
Количество просмотров30K
Рекламные кампании проваливаются.

Это случается настолько часто, что истории успеха носят скорее характер исключения, чем правила, если говорить не о крупнейших брендах, а в целом о ситуации по цеху.

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

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

Давайте разбираться, что же идет «не так» и что нужно делать, чтобы все-таки желаемый результат был достигнут.
Читать дальше →
Всего голосов 66: ↑49 и ↓17+32
Комментарии45

Типичные ошибки при защите сайтов от CSRF-атак

Время на прочтение5 мин
Количество просмотров84K


В настоящее время в сфере обеспечения безопасности веб-сайтов и приложений возникла очень интересная ситуация: с одной стороны, некоторые разработчики уделяют особое внимание безопасности, с другой, они напрочь забывают о некоторых видах атак и не считают ошибки, позволяющие выполнить данные атаки, уязвимостями. Например, к такой категории можно отнести CSRF (Сross Site Request Forgery). Эта атака позволяет производить различные действия на уязвимом сайте от имени авторизованного пользователя. Если вы не слышали о таком, то я рекомендую прочитать соответствующую статью в Википедии, чтобы иметь общее представление об этом виде атак. Основная часть статьи предназначена тем, кто обеспокоен правильной защитой своих сайтов от CSRF.
Читать дальше →
Всего голосов 49: ↑40 и ↓9+31
Комментарии93

Обзор образовательных ресурсов к 1 сентября

Время на прочтение4 мин
Количество просмотров66K
Сегодня наступил день, символизирующий одно из сильнейших и лучших свойств человека — его интеллект. День Знаний, он же 1 сентября, он же начало учебного года. Ведь кем бы мы были без знаний и науки? Болтались бы где-то внизу пищевой пирамиды.



В честь этого рокового для каждого школьника и студента дня, мы решили сделать подборку различных образовательных ресурсов в сфере IT. Когда-то мы уже делали нечто подобное для желающих научиться веб-разработке и дизайну. Всё-таки учиться никогда не поздно, как бы банально это ни звучало. А в наше время так и совсем нельзя прекращать учиться, а то велик риск всё-таки оказаться на дне пирамиды, только уже социальной.
Читать дальше →
Всего голосов 69: ↑60 и ↓9+51
Комментарии21

Инвестирование для чайников

Время на прочтение12 мин
Количество просмотров383K
Финансы для чайниковМногие из читателей хабра неплохо зарабатывают (я надеюсь) и имеют возможность покрывать не только текущие расходы, но и тратить деньги на что-то перспективное. Опять же, многие из нас задумываются — как отложить деньги на будущее, дабы они не «сгорели» со временем (задача минимум) и как заставить деньги делать деньги (задача среднемум средняя). И, снова, многие из нас мечтают, чтобы сбережения росли достаточно быстро, чтобы устроить себе пенсию не в 65 лет, а пораньше. Причем в идеале так, чтобы не надо было тратить все свое время на это, а заниматься любимым делом.

Этим вопросами я заинтересовался года два назад. Как оказалось, задача максимум решаема, а мечта о свободном времяпрепровождении до 60 лет вполне реальна. Более того, на Западе популярен подход «asset allocation», который позволяет тратить на вопрос инвестирования до часа в год и иметь на выходе результаты, сравнимые с профессиональными инвесторами. Причем необходимо всего лишь крепко разобраться в базовой информации и не погружаться в пучины технического и фундаментального анализа.

Как оказалось, этот подход доступен и в нашей стране, в нашей действительности. Результатами исследования я хочу поделиться с вами. Да, пока только исследования… Через 30 лет расскажу о результатах практики.

Сейчас я вижу, что, если бы я об этом задумался десять лет назад, я был бы уже на полпути к своей мечте! Как жаль, что я тогда думал только о компьютерах (ну… не только о них, но о финансах уж точно не думал!)… Впрочем, лучше позже, чем совсем-совсем позже.

P. S. Почему «Сделай сам»? Потому что вы сами можете накопить себе неплохие деньги — вы, а не банки, пенсионный фонд или финансовые компании!
UPD. P. P. S. Мои размышления базируются на статье Сергея Спирина «Портфель лежебоки, или как за 12 лет увеличить капитал в 118 раз». Собственно, от него я и узнал про эту инвестиционную стратегию. Я — IT-шник, а не финансист. Посему за подробностями от эксперта — к нему!
Детали, как водится, под катом!
Всего голосов 118: ↑105 и ↓13+92
Комментарии184

15 малоизвестных команд Linux

Время на прочтение3 мин
Количество просмотров317K
Каждому разработчику в определенной степени следует овладеть навыками работы в терминале. Физически находиться у компьютера не всегда возможно, поэтому приходится подключаться удаленно. И действительно, GUI-программы вполне могут с этим с правиться, но зачастую они работают медленнее, чем получение доступа через тот же терминал (в конце концов, это лишь обмен текстом).
Читать дальше →
Всего голосов 333: ↑274 и ↓59+215
Комментарии224

1000+ часов видео по Java на русском

Время на прочтение7 мин
Количество просмотров1.3M
Добрый день.
Меня зовут Головач Иван, я руковожу небольшой образовательной компанией и преподаю сам:
  1. Java Core
  2. Junior Java Developer: Servlet API, JDBC, Maven, JUnit, Mockito, Log4J, основы Spring/SpringMVC, основы JPA/Hibernate, шаблоны/архитектуры MVC/IoC/DAO.
  3. Multicore programming in Java.


Также я веду курс «Scala for Java Developers» на платформе для онлайн-образования udemy.com (аналог Coursera/EdX).

В следствии этого у меня скопилось значительно количество ссылок на видео на русском языке по Java как моего авторства, так и моих коллег.

(GolovachCourses.com)


Здесь собраны несколько вариантов записи моего курса Java Core.
Модуль #1 (Procedural Java):
Набор июль 2013: #1, #2, #3, #4
Набор апрель 2013: #1, #2, #3, #4
Набор февраль 2013: #1, #2, #3, #4
Набор январь 2013: #1, #2, #3, #4
Набор октябрь 2012: #1, #2, #3, #4.
Читать дальше →
Всего голосов 120: ↑111 и ↓9+102
Комментарии38

Интересные приемы программирования на Bash

Время на прочтение6 мин
Количество просмотров131K
Эти приемы были описаны во внутреннем проекте компании Google «Testing on the Toilet» (Тестируем в туалете — распространение листовок в туалетах, что бы напоминать разработчикам о тестах).
В данной статье они были пересмотрены и дополнены.
Читать дальше →
Всего голосов 181: ↑175 и ↓6+169
Комментарии67

Книги для тимлидов и руководителей проектов. Часть 2

Время на прочтение3 мин
Количество просмотров81K
Предыдущая статья очень хорошо была воспринята читателями, поэтому, как и обещал, сегодня подготовил статью-бонус.

Итак, я просил ответить на вопрос какие книги из статьи вы читали?

Результаты опроса:
Название книги
Количество голосов
Процент
Том ДеМарко. Deadline. Роман
об управлении проектами
247
54%
Фредерик Брукс. Мифический человеко-месяц, или Как создаются
программные системы
174
38%
Джоэл Спольски. Джоэл о программировании
165
36%
Том Демарко и Тимоти Листер. Человеческий фактор. Успешные
проекты и команды
148
32%
Джейсон Фрайд, Дэвид Хайнемайер Хенссон. Rework.
Бизнес без предрассудков
108
24%
Джеффри Янг и Уильям Саймон. iКона. Стив
Джобс
94
21%
Том ДеМарко, Тимоти Листер. Вальсируя с Медведями: управление
рисками в проектах по разработке программного обеспечения
70
15%
Том Демарко, Тимоти Листер. Балдеющие от адреналина и зомбированные
шаблонами. Паттерны поведения проектных команд
51
11%
Кармин Галло. iПрезентация. Уроки
убеждения от лидера Apple Стива Джобса
48
11%
Патрик Ленсиони. Смерть от совещаний
21
5%
Патрик Ленсиони. Пять пороков команды. Притчи о
лидерстве
19
4%
Патрик Ленсиони. Пять искушений руководителя: притчи о лидерстве
16
4%
Патрик Ленсиони. Три признака унылой работы. История со смыслом
для менеджеров (и их подчиненных)
11
2%

А теперь еще один бонус — список книг по заданной тематике, которые прислали нам читатели:
Читать дальше →
Всего голосов 89: ↑81 и ↓8+73
Комментарии12

Новое для веб-дизайнера за первую половину декабря

Время на прочтение1 мин
Количество просмотров53K
Новые полезные штуки для веб-дизайнеров за первую половину декабря 2012. Прошлый месяц: ноябрь. Во все подобные топики буду добавлять тег "новое для веб-дизайнера"

Сервисы и инструменты


Weavly — бесплатный онлайн-сервис для удобного создания роликов из видео, аудио и gif-картинок.

Читать дальше →
Всего голосов 96: ↑85 и ↓11+74
Комментарии11

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность