В ноябре и декабре мы подготовили для вас серию образовательных бесплатных воркшопов "Open Workshop" от GeekBrains по самым востребованным digital-направлениям: программирование, маркетинг, веб-дизайн и менеджмент проектов. Все желающие смогут познакомиться с преподавателями, получить новые знания и закрепить их на практике. Лучшие студенты получат в подарок бесплатное обучение.
Разработчик, преподаватель, руководитель
Эффективные личные финансы. Простой способ
В данной статье я расскажу о способе ведения финансов, который использую уже продолжительное время. Он требует меньше усилий и позволяет быстрее оценить (не)эффективность своих трат.
Ведя бюджет описанным в статье способом можно:
- Ответить на вопрос «почему я неплохо зарабатываю, но в конце месяца у меня всегда ноль?»
- Быстро определить и устранить неэффективные траты
- Накопить резервный капитал
- Подойти вплотную к составлению капитала для инвестиций.
Правоведы о тестировании при найме в частном секторе
В первых двух статьях (первая и вторая) о трудовом праве автор пытался донести насколько право идёт вразрез с некоторыми устоявшимися обычаями. Из комментариев стало ясно, что многие даже не представляют, что современные "тестовые задания" — это от 4 часов до нескольких дней полноценной дистанционной работы со сдачей результата.
В данной статье приводится обзор мнений экспертов с минимальными комментариями.
DDD, Hexagonal, Onion, Clean, CQRS… как я собрал всё это вместе
![](https://habrastorage.org/webt/mm/07/bx/mm07bx1u2dxlgab0prkzllunvf8.png)
Эта статья — часть «Хроники архитектуры программного обеспечения», серии статей об архитектуре ПО. В них я пишу о том, что узнал об архитектуре программного обеспечения, что я думаю об этом и как использую знания. Содержание этой статьи может иметь больше смысла, если вы прочитаете предыдущие статьи в серии.
После окончания университета я начал работать учителем средней школы, но несколько лет назад уволился и пошёл в разработчики программного обеспечения на полный рабочий день.
С тех пор я всегда чувствовал, что мне нужно восстановить «потерянное» время и узнать как можно больше, как можно быстрее. Поэтому я стал немного увлекаться экспериментами, много читать и писать, уделяя особое внимание дизайну и архитектуре программного обеспечения. Вот почему я пишу эти статьи, чтобы помочь себе в обучении.
Курс MIT «Безопасность компьютерных систем». Лекция 1: «Вступление: модели угроз», часть 1
Массачусетский Технологический институт. Курс лекций #6.858. «Безопасность компьютерных систем». Николай Зельдович, Джеймс Микенс. 2014 год
Computer Systems Security — это курс о разработке и внедрении защищенных компьютерных систем. Лекции охватывают модели угроз, атаки, которые ставят под угрозу безопасность, и методы обеспечения безопасности на основе последних научных работ. Темы включают в себя безопасность операционной системы (ОС), возможности, управление потоками информации, языковую безопасность, сетевые протоколы, аппаратную защиту и безопасность в веб-приложениях.
Лекция 1: «Вступление: модели угроз» Часть 1 / Часть 2 / Часть 3
DIY. Подглядываем за посетителями
Задача
Иногда у владельцев сервисов, менеджеров проекта и SEO-специалистов возникает желание подглядеть за пользователем, как он нажимает кнопочки и обо что разбивает лоб. Случается, что подобное желание подглядывать позволяет выявить интерфейсные проблемы, что может косвенно влиять на эффективность работы сервиса, а то и прибыль.
Мне известно несколько способов решения этой проблемы:
- набрать группу подопытных для usability-тестирования;
- интегрировать на сайт сторонний сервис, записывающий действия пользователей;
- написать свое решение.
«Теперь он и тебя сосчитал» или Наука о данных с нуля (Data Science from Scratch)
Не знаю на сколько уместно на Хабре описывать возможность обучения по печатному самоучителю, но в конце концов этот хаб же про учебный процесс в IT и поэтому если вам интересно, чему может научить эта книга полного новичка в области Data Science и стоит ли тратить на этот этап время и деньги, то милости прошу под кат.
![](https://habrastorage.org/web/fe1/d03/321/fe1d03321c8c46afae058ded0c654cbb.png)
Сравнительный обзор Android-браузеров
![](https://habrastorage.org/files/862/e27/e22/862e27e22c1d4483915ffbe41f767608.jpg)
Привет, Хабр. Мы подготовили для вас сравнительный обзор 10 браузеров под Android, оцениваемых по функциональности, производительности, дизайну. Уместно отметить, что мобильных браузеров гораздо больше десяти. Их слишком много, чтобы сделать полноценный Топ 2014 года в масштабах одной публикации. Вместо того, чтобы полагаться только на популярность (или скорость работы), в шорт-лист вошли приложения, который представляет весь спектр реализуемых в мобильных браузерах технологий, включая новичков, ещё не собравших большую аудиторию пользователей (по материалам статьи The best Android browsers, 2014 edition: design, features, and performance)
За что блокируют разработчиков Google Play
![](https://habrastorage.org/getpro/habr/post_images/834/901/474/8349014743083f915bb2238a4b4ca604.png)
Главная идея статьи — собрать в одном месте как можно больше реальных прецедентов блокировок приложений и аккаунтов разработчиков. Для каждого случая подробно разобрать причины и последствия.
Тема очень серьёзная. Если гугл заблокирует вас однажды — обратно пути уже не будет. По всей видимости, отслеживается взаимосвязь аккаунта с вашим ФИО, IP, Mac-адресом и прочими личными данными. Испортите отношение с Google один раз — потом не отмоетесь никогда.
Чтобы не потерять аккаунт, зарегистрированный лично на вас — нужно следовать определённым принципам. Давайте попытаемся вместе их вывести.
Собеседование на должность JavaScript разработчика
![](https://habrastorage.org/getpro/habr/post_images/841/505/05f/84150505f172aa21098e7be08ef76676.jpg)
Недавно прочитал неплохой пост на тему поиска работы QA и подумал, что похожий пост был бы полезен для JavaScript разработчиков. В конечном счёте, веб движется вперед семимильными шагами, и соискателей на позицию JavaScript программиста хоть отбавляй (разумеется, хороших всегда меньше).
12 заповедей про бэкап, за которые я чуть не заплатил пальцем
![](https://habrastorage.org/getpro/habr/post_images/b84/c76/f37/b84c76f37f9c83b5547b68bd88021751.jpg)
В прошлый раз я рассказал вам, не побоюсь этого слова, кровавую историю, как мы срочно спасали сначала инсталляцию, а потом уже и данные. И такие истории лишний раз дают понять важность наличия бэкапа и правильность его настройки. Сегодня я хочу суммировать свои мысли, накопленные за последние 10 лет опыта работы в системном интеграторе.
1. Бэкап должен быть всегда.
Как бы не развивались технологии, старая добрая резервная копия никогда не потеряет своей ценности, в трудную минуту сохраняя нам нервы, работу, премию, а также успокоительные средства. Она, в случае чего, позволяет нам не паниковать, действовать взвешено, допуская разумный риск.
Даже если в вашем сервере все компоненты дублированы, а данные лежат на дорогом массиве с избыточностью, отгоните от себя ложное чувство безопасности. Никто не застрахован от логических ошибок и человеческого фактора.
Война с дизайнером: откуда берётся хороший дизайн. Часть 2
Это не обучающие и не научные материалы. В комментариях к первой части кто-то выражал несогласие со мной; отлично — точек зрения должно быть много. Но я получил и много писем в поддержку.
4. Мастера на все руки
![](https://habrastorage.org/getpro/habr/post_images/73c/b0a/55f/73cb0a55fbcf003263d6ecdc2fe84d31.png)
Война с дизайнером: откуда берётся хороший дизайн
Тогда этот пост не для вас. Вы и так все знаете.
Но если письма от дизайнера, который занимается вашим проектом, начинаются заголовком «правки ver_3_b_часть II», а общаться с каждым днем все сложнее — попробуйте почитать. Может быть, здесь найдется полезный совет, который облегчит вам жизнь и сэкономит деньги.
Я предлагаю вашему вниманию несколько заметок-соображений, которые накопились за время моей работы в этой области.
Почему модель оплаты per user per month плохая
Как HTTPS обеспечивает безопасность соединения: что должен знать каждый Web-разработчик
![](https://habrastorage.org/storage2/e68/769/ea0/e68769ea0cac5b2a205f296e70004498.png)
Как же все-таки работает HTTPS? Это вопрос, над которым я бился несколько дней в своем рабочем проекте.
Будучи Web-разработчиком, я понимал, что использование HTTPS для защиты пользовательских данных – это очень и очень хорошая идея, но у меня никогда не было кристального понимания, как HTTPS на самом деле устроен.
Как данные защищаются? Как клиент и сервер могут установить безопасное соединение, если кто-то уже прослушивает их канал? Что такое сертификат безопасности и почему я должен кому-то платить, чтобы получить его?
Решение задачи кластеризации методом градиентного спуска
![](https://habrastorage.org/storage2/b4b/7f7/967/b4b7f79677082b429ce13ca278e157e5.jpg)
Соломонова Сортировка
В копилку экзотических способов сортировки предложу еще один, немного своеобразный, но обещающий приличную скорость при хорошо случайных данных.
Пусть имеется набор N из n целых положительных чисел от 1 до n.
Самоочевидно, что для хранения n чисел необходимо иметь n ячеек. Вне зависимости от порядка, в котором числа будут записаны.
Исходный массив
3 | 5 | 2 | 1 | 8 | 4 | 7 | 6 | 9 | 10 |
Несложно представить, что неупорядоченный набор N достаточно просто заменить упорядоченным (по возрастанию, или по убыванию), записав упорядоченный набор на место неупорядоченного.
Упорядоченный массив
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Вычисление дня недели в уме
![image](https://habrastorage.org/getpro/habr/post_images/9fa/d38/907/9fad389071847def1469f7737c076ebe.png)
Зачем? Ведь можно быстро посчитать на гаджете. Увы, совсем не быстро, т.к. потребуется время на поиски и активацию гаджета, поиск приложения, ввод даты, осознание полученного результата. А еще можно друзей/подруг порадовать своими внезапно появившимися экстраординарными способностями. Кстати, друзья быстро осознают удобство использования вечного календаря с голосовым интерфейсом.
Разве это возможно? Как-то раньше обходились без компьютеров. В одной из тв-передач «ищем таланты» показывали натренированного трехлетнего ребенка, который может вычислять произведение трехзначных чисел (пощадите своих детей). Впрочем, взрослые уже не дети и их мозг частично кристаллизован, в смысле слабо обучаем. Значит нужно запоминать как можно меньше и максимально задействовать имеющиеся навыки.
Что происходит в мозгах у нейронной сети и как им помочь
![](https://habrastorage.org/getpro/habr/post_images/0c2/d50/06c/0c2d5006c907ab64346ebcf410dafdb3.png)
Языком у нас будет С#, только потому что я недавно решил его выучить. Я разобрал два наиболее простых примера: однослойный перцептрон Розенблатта, обучаемый коррекцией ошибки, и многослойный перцептрон Румельхарта, обучаемый методом обратного распространения ошибки. Для тех, кому, как и мне, стало интересно, чему они там на самом деле обучились, и насколько они на самом деле способны обобщать – добро пожаловать под кат.
ОСТОРОЖНО! Много картинок. Куски кода.
J-сортировка
![](https://habrastorage.org/getpro/habr/post_images/772/47e/7d9/77247e7d9f1ee87a59f4c29ba35ae331.jpg)
Пирамидальная сортировка (она же сортировка кучей) – классический алгоритм который, пожалуй, должен знать любой программист. Старая добрая «пирамидка» примечательна тем, что в независимости от набора данных у неё одна и та же сложность по времени (причём, очень пристойная) – O(n log n). Лучших и вырожденных случаев для неё нет.
С момента изобретения метода (а в этом году алгоритм празднует свой полувековой юбилей) было немало охочих кардинально оптимизировать процесс накладывания сортирующих куч. Тернарная пирамидальная сортировка, плавная сортировка, сортировка декартовым деревом – вот неполный список инноваций. Перечисленные алгоритмы хотя при тестировании и опережают оригинал по абсолютной скорости кто на 12, а кто и на 25%, в оценке временной сложности всё равно крутятся вокруг O(n log n). При этом данные методы весьма изощрённо реализованы.
Своё видение пирамидальной сортировки предложил и скромный труженик Университета Манитобы Джейсон Моррисон. При этом способ в некоторых случаях по скорости приближается к O(n).
Информация
- В рейтинге
- Не участвует
- Откуда
- Москва, Москва и Московская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность