Pull to refresh
0
0
Владимир @MinskV

User

Send message

DDoS атака в обход Qrator. Как защититься?

Reading time4 min
Views26K
Есть сервисы, защищающие нас от DDoS атак. Они работают по принципу прокси: в DNS прописывается их IP, они фильтруют трафик и проксируют на ваш сервер. Все они настоятельно рекомендуют прятать свой IP и в публичном доступе давать только IP прокси-защитника. Вполне здравый подход, достаточный для успешной защиты. А я расскажу на чем можно проколоться и как от этого защитится.
Читать дальше →
Total votes 43: ↑38 and ↓5+33
Comments10

Как мы запускали космический телескоп

Reading time7 min
Views87K
В четверг 19 декабря 2013 года космический телескоп Gaia Европейского космического агентства отправился в космос на российской ракете «Союз-СТ-Б» с разгонным блоком «Фрегат-МТ». Старт производился с космодрома Куру во Французской Гвиане.



Запуск прошел успешно, а как он проходил мне удалось наблюдать из Центра управления полетами НПО им. С.А. Лавочкина, куда пригласили нескольких блогеров.
Читать дальше →
Total votes 226: ↑222 and ↓4+218
Comments58

Руководство по созданию стартапов, часть 8: нанимаем, управляем, повышаем и увольняем исполнительных директоров

Reading time10 min
Views30K
Часть 7



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

Определения: ИД – это лидер. Тот, кто выполняет функцию и несёт ответственность за систему внутри компании, которая вносит свой вклад в успех или неудачу. Разница между ИД и менеджером в том, что область деятельности ИД обширнее в плане организации, принятия решений и их исполнения. Менеджер может спросить, что ему делать. ИД должен знать это сам.
Читать дальше →
Total votes 27: ↑21 and ↓6+15
Comments5

В чем нарисовать MindMap? Детальный обзор 6 самых популярных программ для рисования mindmap

Reading time5 min
Views589K

Структура обзора


1. Вступление;
2. Сравнение основных 5-х программ по популярности, цене, совместимости, наличию на разных платформах;
3. Подробное описание функционала и особенностей 5-х основных программ.

Введение


Mindmapping (рисование древовидных карт или ментальных карт) прочно вошел в жизнь многих людей именно с появлением соответствующего софта. Используя mindmap, делают техзадания, консультанты-аналитики делают проекты, дизайнеры придумывают концепции, тренера делают презентации, менеджеры составляют планы и т.д.

Целью этой статьи не является пропаганда mindmapping. У древовидного представления данных есть свои плюсы и свои ограничения. Обсуждение уже было в комментариях к публикации "+10 к интеллекту".

Эта публикация для тех, кто хочет выбрать удобный инструмент и узнать какие-то новые фишки, о которых еще не знал.
Читать дальше →
Total votes 74: ↑68 and ↓6+62
Comments101

Клеточный автомат Steppers

Reading time14 min
Views32K
В этой статье предлагаются правила для двумерного клеточного автомата, который, с одной стороны очень похож на игру Жизнь Джона Конвея (Conway’s Game of Life), а с другой — обладает существенными отличиями. Прежде всего, его отличает увеличенное до трех количество состояний клеток, повышенная способность к самоорганизации, неограниченное время активной эволюции и неограниченное количество движущихся конфигураций.

Для стабильных конфигураций новые правила совпадают с правилами игры Жизнь, поэтому все стабильные конфигурации в игре Жизнь существуют и в новых правилах. В описываемом клеточном автомате существует большой класс движущихся конфигураций, космических кораблей. Все эти конфигурации перемещаются по одному и тому же поступательному механизму, который напоминает движение и шагового экскаватора и человека на костылях. Подобные космические корабли я назвал степпер (stepper), а само правило Steppers. Так его и будем называть в дальнейшем.

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

_r00.png
[00] Пример движущейся конфигурации, генерирующей поток степперов
Читать дальше →
Total votes 61: ↑60 and ↓1+59
Comments17

Почему истории успеха настолько бесполезны

Reading time6 min
Views144K
Этот пост понравится мизантропам: ведь он про то, что нет ничего бесполезнее, чем чужой успех. Вот если бы было место, где люди честно бы делились своими планами, а потом можно было бы следить поэтапно за их реализацией и фиксировать не только удачи, но и провалы в итоге… Ой, я же пишу в блоге такого проекта. Заходим на «СмартПрогресс», выбираем меню Цели, сортировку «проваленные», добавляем параметр «лучшие за все время» — и смотрим список самых громких фейлов на проекте.



Поскольку каждая история сопровождается подробным описанием, можно разобрать причины чужих неудач достаточно подробно — настолько, насколько пользователи позволяют себе быть откровенными. Ведь мы не хотим совершить ошибку, которую совершают все, кто изучают чужие истории успеха, забывая истории неудач – ошибку выжившего.
Читать дальше →
Total votes 163: ↑144 and ↓19+125
Comments189

Беззнаковая арифметика в Java

Reading time5 min
Views94K
Как известно, в Java нет беззнаковых типов. Если в Си вы могли написать unsigned int (char, long), то в Java так не получится. Однако нередко возникает необходимость в выполнении арифметических операций именно с числами без знака. На первый взгляд кажется, что беззнаковые типы в принципе-то и не особо нужны (подумаешь, MaxInt для чисел со знаком меньше в два раза, если нужны числа больше, я просто возьму long и далее BigInteger). Но основное различие на самом деле не в том, сколько различных неотрицательных чисел можно положить в signed или unsigned int, а в том, как над ними производятся арифметические операции и сравнения. Если вы работаете с бинарными протоколами или с двоичной арифметикой, где важен каждый используемый бит, нужно уметь выполнять все основные операции в беззнаковом режиме. Рассмотрим эти операции по порядку:

Преобразование byte в short (int, long)


Обычный каст (int) myByte выполнит расширение до 32 бит со знаком — это означает, что если старший бит байта был установлен в 1, то результатом будет то же самое отрицательное число, но записанное в 32-битном формате:

0xff -> 0xffffffff (-1)

Часто это не то, чего бы мы хотели. Для того, чтобы выполнить расширение до 32 бит без знака и получить 0x000000ff, в Java можно записать:

int myInt = myByte & 0xff;
short myShort = myByte & 0xff;

Сравнение без учёта знака


Для беззнакового сравнения есть лаконичная формула:

int compareUnsigned(int a, int b) {
    return Integer.compare( a ^ 0x80000000, b ^ 0x80000000 );
}

Для byte, short и long, соответственно, константы будут 0x80, 0x8000 и 0x8000000000000000L.
Читать дальше →
Total votes 46: ↑44 and ↓2+42
Comments27

Решаем квартирный вопрос при помощи API Яндекс.Карт

Reading time7 min
Views51K
В жизни даже самого «махрового» IT-шника порой наступает момент, когда нужно не только вылезти из своей берлоги на улицу, но целиком перенести себя на новое место жительства. Обычный человек в таких случаях вооружается Интернетом и прочёсывает сайты недвижимости в поисках подходящих вариантов, которые отмечаются на карте, выписываются или распечатываются, а затем планомерно прозваниваются. Если наступает конец цикла, а задача ещё не выполнена — goto line 1… А на каком-то этапе человеку это надоедает и он идёт в агенство.

Вот и в моей жизни пришло время для переезда, но проведя несколько дней за такой рутинной деятельностью я вспомнил, что незря ношу бороду есть такой чудесный сервис, как Яндекс.Карты, и у них есть не менее чудесное API. Посидев одно утро и скомбинировав всё с простейшим граббером на PHP и XPath я получил такую вот красочную карту, где разными маркерами можно отмечать объекты (квартиры) по любому из критериев, или просто одним взглядом оценить, какие из них ближе к желаемому месту дислокации (в моём случае это было метро):

Снимок экрана

Под катом - PHP, JS, немного HTML и кое-какие полезные ссылки
Total votes 77: ↑67 and ↓10+57
Comments51

Простой скрипт на Python для заучивания английских слов или почему я не использую карточки

Reading time4 min
Views31K
На хабре уже не раз поднималась тема изучения английского языка (пруф). Она рассматривалась с разных ракурсов. Кто-то писал, что не зачем учить слова, при изучении иностранного. Кто-то делился способами, коих великое множество, от простых карточек, до целой тетради, исписанной по самое не хочу. В конце концов есть LinguaLeo, так же замечательный сервис, на котором без дополнительной платы можно учить по 10 слов в день. Хотя иногда платить не хочется, а 10 слов кажутся весьма небольшим количество для молодого организма, который познает таинства и прелести иностранной мовы. Тогда возможно этот скрипт вам будет полезен.
Читать дальше →
Total votes 24: ↑17 and ↓7+10
Comments40

Познаём Java. Первая чашка

Reading time3 min
Views21K

Что да как


Я решил поддержать начинание MaxElc и DarwinTenk, и начать потихоньку рассказывать про Java. Текст буду подавать «чашками» потому, что один из символов Java — чашка кофе. Большую часть я буду писать сам, изредка поглядывая в википедию и на официальный сайт языка — java.sun.com (раздел /docs).
Далее в тексте стоит разделять понятия «Java как язык» и «Java как платформа».
Читать дальше →
Total votes 150: ↑128 and ↓22+106
Comments141

Лямбда-выражения в Java 8

Reading time19 min
Views463K
В новой версии Java 8 наконец-то появились долгожданные лямбда-выражения. Возможно, это самая важная новая возможность последней версии; они позволяют писать быстрее и делают код более ясным, а также открывают дверь в мир функционального программирования. В этой статье я расскажу, как это работает.

Java задумывалась как объектно-ориентированный язык в 90-е годы, когда объектно-ориентированное программирование было главной парадигмой в разработке приложений. Задолго до этого было объектно-ориентированное программирование, были функциональные языки программирования, такие, как Lisp и Scheme, но их преимущества не были оценены за пределами академической среды. В последнее время функциональное программирование сильно выросло в значимости, потому что оно хорошо подходит для параллельного программирования и программирования, основанного на событиях («reactive»). Это не значит, что объектная ориентированность – плохо. Наоборот, вместо этого, выигрышная стратегия – смешивать объектно-ориентированное программирование и функциональное. Это имеет смысл, даже если вам не нужна параллельность. Например, библиотеки коллекций могут получить мощное API, если язык имеет удобный синтаксис для функциональных выражений.

Главным улучшением в Java 8 является добавление поддержки функциональных программных конструкций к его объектно-ориентированной основе.
Читать дальше →
Total votes 60: ↑51 and ↓9+42
Comments24

Познаём Java. Третья чашка: примитивные типы, и объекты. Базовые конструкции

Reading time7 min
Views236K

Типа реальные типы


Думаю, после краткого экскурса в возможности Java и прочитывания пары десятков строк кода примеров, вам захотелось узнать, чем должен уметь оперировать каждый Java-программист. Что ж, давайте поговорим о примитивных типах, классах (в том числе нескольких основных), сравнении, передаче параметров и простых структурах в Java.
Поехали!
Total votes 38: ↑31 and ↓7+24
Comments109

Новое в Java 8

Reading time15 min
Views510K
Java еще не умерла — и люди начинают это понимать.

Добро пожаловать в ведение по Java 8. Этот материал шаг за шагом познакомит вас со всеми новыми фичами языка. Вы научитесь использовать методы интерфейсов по умолчанию (default interface methods), лямбда-выражения (lambda expressions), ссылки на методы (method references) и повторяемые аннотации (repeatable annotations). Все это будет сопровождаться короткими и простыми примерами кода. В конце статьи вы познакомитесь с наиболее свежими изменениями в API, касающихся потоков, функциональных интерфейсов, расширений для ассоциативных массивов, а также с изменениями в API работы с датами.
Читать дальше →
Total votes 96: ↑95 and ↓1+94
Comments139

N+2 полезные книги для бизнеса, которые обязательно стоит прочитать

Reading time5 min
Views96K
В прошлом году я делал обзор книг, на которых реально растут люди и реально улучшаются процессы.



Тогда понадобился год, чтобы прочитать в десять раз больше бумаги и сделать выборку, которая оказалась неожиданно полезной многим. Вот результаты ещё одного года — ещё N+2 книги для бизнеса, которые реально помогают.

Читать дальше →
Total votes 118: ↑106 and ↓12+94
Comments43

Удаленная работа: как мы это делаем

Reading time4 min
Views106K
Я проработал удаленно почти 10 лет, и познал разные стороны такой работы: как плохую так и хорошую. Я понял, что удаленная работа подходит определенному типу людей. Вы должны уметь фокусироваться, мотивировать себя, а также грамотно управлять своим временем. У вас нет этих качеств? Ничего, поначалу я тоже ничего этого не умел.
Читать дальше →
Total votes 75: ↑65 and ↓10+55
Comments65

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

Reading time7 min
Views1.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.
Читать дальше →
Total votes 120: ↑111 and ↓9+102
Comments38

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

Reading time3 min
Views106K
Hикто не хочет конфликтовать. Когда конфликты становятся частыми, человек мучительно ищет выход. Кто-то пытается избежать общения, кто-то идет на прямой конфликт, кто-то ищет приемы и методы как правильно вести себя. Последним и посвящен данный пост, идея появления которого родилась после просмотра видео следующего топика «Как поставить человека на место: 10 реальных вопросов про давление в переговорах». Советы интересные и без сомнения при умелом использовании действенные, но есть еще один занятный метод ухода от конфликта под названием «психологическое айкидо», разработанный Литваком Михаилом Ефимовичем (психолог, психотерапевт, кандидат медицинских наук). Когда-то этот прием неплохо помог мне в общении с одним очень темпераментным начальником. Но все по порядку.
Подробности
Total votes 80: ↑55 and ↓25+30
Comments92

Введение Стивена Вольфрама в язык Wolfram

Reading time1 min
Views49K
Привет, Хабр! Полагаю, многие слышали о системе Wolfram Mathematica, однако, судя по тому что на Хабре нет даже отдельного хаба, посвященного технологиям Wolfram, не многие осознают их реальный потенциал. Но, похоже это скоро изменится, так как Wolfram близки к окончательному релизу технологии, которую они разрабатывали 30 лет. Она называется Wolfram Language и представляет собой совершенно новую парадигму программирования, намного более мощную, чем все существующие.
Читать дальше →
Total votes 91: ↑82 and ↓9+73
Comments116

Чем старше Spring, тем больше контекстов

Reading time7 min
Views54K
Уже много лет работая со спрингом, я заметил забавную закономерность: в каждой новой версии добавляется новый способ конфигурирования контекста. Давайте вспомним, как это было:
  • В первом спринге конфигурацию можно было писать исключительно на xml-e. (ClassPathXmlApplicationContext(“context.xml”))
  • Во втором (точнее с 2.5) появилось возможность создавать контекст через аннотации. (AnnotationConfigApplicationContext(“package.name”))
  • Третий спринг добавил конфигурацию на джаве. (AnnotationConfigApplicationContext(JavaConfig.class))
  • Четвёртый тоже сохранил традицию и уже с декабря 2013 года можно конфигурировать при помощи груви скриптов (GenericGroovyApplicationContext(“context.groovy”))

Консультируя и проводя тренинги в различных компаниях, я видел самое разное отношение к этим способам конфигурирования. Крупные компании, зачастую живущие по принципу «работает – не трогай», до сих пор лелеют старые xml -конфигурации, продолжая их множить и кормить новыми бинами. «Зато у нас все централизовано!» — кричат их архитекторы, добавляя 100500-тысячную строчку в xml-Бога.
Компании поменьше, пытающееся угнаться за новшеством технологий, беспощадно сжигают старые XML-ы, переписывая всё что могут, на аннотации, а что не могут на Java-конфиг. И уже потирают руки, пытаясь придумать, а куда бы им теперь приткнуть конфигурацию на грувях.



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

А где же находится правда? Неужели как всегда посередине?
Давайте попробуем разобраться…

Для начала давайте сравним стратегии декларации бинов.

Начнём с классического XML-a:

Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments53

Как стать переговорщиком — интервью с Дмитрием Коткиным

Reading time11 min
Views30K
Два наших недавних видео-ролика про переговоры набрали 40,000 просмотров за два дня.


Тема оказалось интересной. И это не удивительно, мы ведем переговоры каждый день. Увидев такой интерес к теме, мы уговорили Дмитрия Коткина, автора этих видео-роликов и по совместительству руководителя питерской школы переговорщиков ШиП, сделать интервью про то, как стать переговорщиком.

О чем поговорили:
  • Как Дмитрий Коткин попал в тематику переговоров?
  • Какие были переговорные неудачи?
  • О работе в политике
  • В чем специфика IT-специалистов и IT-компаний в плане переговоров
  • 4 главных принципа любых торгов
  • С чего начать, когда стартуешь проект с новым заказчиком
  • Что делать, когда заказчик пропихивает новые требования
  • Главная вещь в обучении переговорам
  • 6 лучших книг по переговорам


Читать дальше →
Total votes 36: ↑27 and ↓9+18
Comments7

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Registered
Activity