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

Systems Architect

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

Как протестировать код на Go с базой данных?

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров5.1K

Как протестировать код на Go с базой данных? В этой статье опишу пример такого тестирования в связке с Postgres, очисткой на основе копирования базы данных и рассмотрю некоторые альтернативы.

Читать далее
Всего голосов 8: ↑4 и ↓40
Комментарии4

Как стать хорошим менеджером? 4 способа восполнить пробел в навыках управления

Время на прочтение5 мин
Количество просмотров21K
Перевод статьи подготовлен специально для студентов курса «Team Lead 2.0».




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

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

Это самое большое изменение, которое происходит с человеком по мере его продвижения по карьерной лестнице. И слишком часто получается так, что хороший работник становится управленцем без необходимых навыков, желания и понимания.
Читать дальше →
Всего голосов 31: ↑25 и ↓6+19
Комментарии9

Илья Якямсев: Эффективность не работает

Время на прочтение19 мин
Количество просмотров66K
С точки зрения проект-менеджера и с точки зрения управления людьми, люди в депрессии — идеальные работники.

Привет, Хабр.

Недавно посмотрела выступление одного scrum-мастера и stand up комика по совместительству. Выступление оказалось эмоциональное, с большим количеством непечатных слов и долей здравого смысла.

В каждой шутке только доля шутки, но все же прошу не относиться к этому материалу слишком серьезно. Предлагаю для ознакомления свое изложение в «очищенном» формате. Увидеть полное выступление Ильи Якямсева «Эффективность не работает» на конференция FrontDays 2018 можно по ссылке.


Эффективность не работает


Этот доклад скорее жизнеутверждающий, позитивный, и он про жизнь, не про программирование. Хотя много будет про программирование, но косвенно. 

Я работаю менеджером проекта. Начинал я в Тольятти, в 96 году, на должности «эй, пацан, принеси пиво». С 99 года я начал программировать front, тогда это называлось «верстак». Потом я открыл контору, закрыл ее, многое произошло, и сейчас я менеджер проектов.

Мой доклад называется «Эффективность не работает». И я объясню почему.

Жизнь после 30


Дело в том, что мне сорокет в этом году. Я работаю в основном с людьми помоложе себя, и они у меня часто спрашивают: «Илья, как она жизнь в IT после 30? Ну, то есть, что с ней происходит?». Я отшучиваюсь: как говорится, баб поменьше, детей побольше



Но я всерьез задался этим вопросом, подумал, что случилось со всеми людьми, с которыми я начинал, с которыми продолжаю. Всем моим друзьям около 40, все по-разному живут. Какое у нас общее свойство? О чем стоит рассказать людям? На что им ориентироваться в процессе работы? Каким образом это будет у них? И я вывел то общее, о котором хочу сегодня рассказать.
Читать дальше →
Всего голосов 157: ↑129 и ↓28+101
Комментарии89

Как оценить уровень владения английским языком

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


На Хабре много статей о том, как самостоятельно изучать английский язык. Но вот вопрос, а как оценить свой уровень при самостоятельном изучении? Понятно, что есть IELTS и TOEFL, но эти тесты почти никто не сдает без дополнительной подготовки и эти тесты, как говорят, оценивают не сколько уровень владения языком, а скорее умение проходить эти самые тесты. Да и использовать их для контроля самообучения будет накладно.

В этой статье я собрал различные тесты, которые проходил сам. При этом я сверяю свою субъективную оценку владения языком с результатами тестов. А также сравниваю результаты между разными тестами.
Читать дальше →
Всего голосов 99: ↑95 и ↓4+91
Комментарии62

Blockchain

Время на прочтение9 мин
Количество просмотров121K
Данный текст будет являться новой главой для учебного пособия по защите информации кафедры радиотехники и систем управления МФТИ (ГУ). Полностью учебник доступен на github. На хабре я же планирую выкладывать новые «большие» куски, во-первых, чтобы собрать полезные комментарии и замечания, во-вторых, дать сообществу больше обзорного материала по полезным и интересным темам.

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

Технология blockchain используется для организации журналов транзакций, при этом под транзакцией может пониматься что угодно: финансовая транзакция (перевод между счетами), аудит событий аутентификации и авторизации, записи о выполненных ТО и ТУ автомобилей. При этом событие считается случившимся, если запись о нём включена в журнал.

В таких системах есть три группы действующих лиц:

  • источники событий (транзакций)
  • источники блоков (фиксаторы транзакций)
  • получатели (читатели) блоков и зафиксированных транзакций.

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

Основное требование к таким журналам таково:

  • Невозможность модификации журнала: после добавления транзакции в журнал должно быть невозможно её оттуда удалить или изменить.
Читать дальше →
Всего голосов 53: ↑49 и ↓4+45
Комментарии73

Написание blockchain менее чем за 200 строк кода на Go

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

Привет, Хабр! Представляю вашему вниманию перевод статьи "Code your own blockchain in less than 200 lines of Go!".


image

Данный урок является хорошо адаптированным постом про простое написание blockchain на Javascript. Мы портировали его на Go и добавили дополнительных фич, таких как просмотр цепочек в браузере.

Читать дальше →
Всего голосов 40: ↑33 и ↓7+26
Комментарии19

Применение зашифрованных данных для машинного обучения без их расшифровки

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

Применение зашифрованных данных для машинного обучения без их расшифровки
В этой статье обсуждаются передовые криптографические методики. Это лишь обзор исследований, проводимых в Julia Computing. Не используйте приведённые здесь примеры в коммерческих приложениях. Всегда консультируйтесь с криптографами, прежде чем применять криптографию.

Здесь можно скачать пакет, реализующий всю магию, а здесь находится код, который рассматривается в статье.
Читать дальше →
Всего голосов 55: ↑54 и ↓1+53
Комментарии6

CRDT: Conflict-free Replicated Data Types

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

Как считать хиты страницы google.com? А как хранить счётчик лайков очень популярных пользователей? В этой статье предлагается рассмотреть решение этих задач с помощью CRDT (Conflict-free Replicated Data Types, что по-русски переводится примерно как Бесконфликтные реплицированные типы данных), а в более общем случае — задачи синхронизации реплик в распределённой системе с несколькими ведущими узлами.
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии14

Введение в рекомендательные системы

Время на прочтение4 мин
Количество просмотров21K
В статье рассматриваются подходы по построению персонализированных товарных и контентных рекомендаций, и возможные кейсы использования.

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


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

Стратегии деплоя в Kubernetes: rolling, recreate, blue/green, canary, dark (A/B-тестирование)

Время на прочтение5 мин
Количество просмотров70K
Прим. перев.: Этот обзорный материал от Weaveworks знакомит с наиболее популярными стратегиями выката приложений и рассказывает о возможности реализации наиболее продвинутых из них с помощью Kubernetes-оператора Flagger. Он написан простым языком и содержит наглядные схемы, позволяющие разобраться в вопросе даже начинающим инженерам.


Схема взята из другого обзора стратегий выката, сделанного в Container Solutions

Одной из самых больших проблем при разработке cloud native-приложений сегодня является ускорение деплоя. При микросервисном подходе разработчики уже работают с полностью модульными приложениями и проектируют их, позволяя различным командам одновременно писать код и вносить изменения в приложение.

Более короткие и частые развертывания имеют следующие преимущества:

  • Сокращается время выхода на рынок.
  • Новые функции быстрее попадают к пользователям.
  • Отклики пользователей быстрее доходят до команды разработчиков. Это означает, что команда может дополнять функции и исправлять проблемы более оперативно.
  • Повышается моральный дух разработчиков: с большим количеством функций в разработке интереснее работать.
Читать дальше →
Всего голосов 43: ↑40 и ↓3+37
Комментарии3

Аддиктивные синдромы IT

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

Здравствуйте, меня зовут Алексей. Я работаю в IT-сфере. Много времени провожу в социальных сетях и мессенджерах по работе. И у меня развились различные аддиктивные сценарии поведения. Я отвлекался от работы и заглядывал в Facebook, чтобы посмотреть, сколько «лайков» накапало на какую-то резонансную публикацию. И вместо того, чтобы дальше работать с новыми текстами, я подвисал на состоянии старого. Я несколько раз за час практически неосознанно брал в руки смартфон — и в какой-то степени меня это успокаивало. Давало контроль над жизнью.


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


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



— Па-ап, мы все на одну фоточку помещаемся? — Не бойся, у меня на смарте широкоугольник.

Всего голосов 50: ↑41 и ↓9+32
Комментарии64

Путь архитектора: сертификация и погружение в продукт

Время на прочтение10 мин
Количество просмотров7.8K
Практически каждый разработчик задается вопросами, как ему следует развивать свои навыки и какое направление роста выбрать: вертикальное — то есть, стать управленцем, либо горизонтальное — фулстек. Многолетняя работа над одним продуктом, вопреки мифам, становится не ограничением, а полезной возможностью. В этой статье мы делимся опытом нашего backend разработчика Алексея, который посвятил 6 лет сертификациям и прошел за это время путь до архитектора.

Читать дальше →
Всего голосов 17: ↑14 и ↓3+11
Комментарии6

Одноминутный менеджер и обезьяны, конспект

Время на прочтение9 мин
Количество просмотров22K
Конспект книги “Одноминутный менеджер и обезьяны” (Берроуза Хэл, Онкена Уильям младший, Бланшар Кеннет).
В книге И. Адизеса “Стили менеджмента” есть такой герой — Пожарник. Это специалист, которого повысили. Но он по прежнему все старается делать сам. «Чтобы сделать хорошо, сделай это сам» — его девиз.
Этим менеджерам кажется, что управление включает решение всех сложных вопросов из-за чего они оказываются завалены проблемами — “мячиками” задач своих сотрудников. Менеджер становится узким горлышком, что приводит к снижению производительности всей команды.
Книга в первую очередь для таких менеджеров, выросших из исполнителей о том, как ставить задачи своим сотрудникам, не допуская собственной перегрузки, но чтобы при этом не терять контроль.
Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии2

Почему бизнесу нужен хороший код

Время на прочтение5 мин
Количество просмотров12K
В сфере разработки программного обеспечения, нередко встречаются тезисы наподобие «Nobody cares about your code» (перевод — «Твой код никого не интересует»), «Код всего лишь инструмент» и ситуации полного непонимания со стороны бизнеса, почему это мы должны выделять время и деньги на какой-то там «рефакторинг» кода который уже работает.

Я хочу рассказать, к чему может привести «упор на характеристики», вместо заботы о качестве кода, и почему хороший код нужен не только программистам.
Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии21

Джо Армстронг об Elixir, Erlang, ФП и ООП

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

В последние несколько дней на Хабре был опубликован ряд статей, общим лейтмотивом которых (особенно в комментариях) стало противостояние тупоконечников с остроконечниками – адепты ФП против ООП, хотя их и призывали не спорить. Иногда обсуждали Erlang, в связи с чем мне вспомнился короткий пост на тему от Джо Армстронга, одного из создателей этого языка, написанный им в конце 2018 года на форуме по Elixir в ответ на вопрос о парадигме языка. Думаю, его комментарий будет интересен.

Читать дальше →
Всего голосов 75: ↑75 и ↓0+75
Комментарии181

Функциональные практики и frontend: монады и функторы

Время на прочтение7 мин
Количество просмотров9.6K
Всем привет! Меня зовут Дмитрий Руднев, я frontend-разработчик в компании БКС. Начинал я свой путь с верстки интерфейсов различной сложности и всегда уделял повышенное внимание именно интерфейсу: насколько пользователю будет комфортно с ним взаимодействовать, смог ли я донести до пользователя тот самый интерфейс, каким его задумал дизайнер.



В этой серии статей я хочу поделиться своим опытом применения функциональных практик во frontend-разработке расскажу про плюсы и минусы, которые вы получите как разработчик, используя эти практики. Если тема вам понравится, то мы погрузимся в более «сухие» и сложные уголки функционального мира. Сразу отмечу, что пойдем мы от большего к меньшему, то есть посмотрим на классическое приложение c высоты птичьего полета, а по мере прохождения статей будем спускаться туда, где конкретная практика принесет нам заметную пользу.

Итак, начнем с обработки состояний. Заодно расскажу, причем тут вообще монады и функторы.
Читать дальше →
Всего голосов 36: ↑28 и ↓8+20
Комментарии13

LEGO MINDSTORMS Education EV3 + MicroPython: программируем детский конструктор взрослым языком

Время на прочтение5 мин
Количество просмотров40K
Привет, Хабр! Мы уже рассказывали о платформе LEGO MINDSTORMS Education EV3. Основные задачи этой платформы — обучение на практических примерах, развитие навыков STEAM и формирование инженерного мышления. В ней можно проводить лабораторные работы по изучению механики и динамики. Лабораторные стенды из кубиков LEGO и утилиты по регистрации и обработке данных делают опыты еще интереснее и нагляднее и помогают детям лучше понять физику. Например, школьники могут собрать данные о температуре плавления и с помощью приложения систематизировать их и представить в виде графика. Но это только начало: сегодня мы расскажем, как дополнить этот набор средой программирования MicroPython и использовать его для обучения робототехнике.


Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии4

Большой FAQ про поезда дальнего следования и неочевидные правила

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

Ачивка «Ген тестировщика»: моя коллега сначала села в поезд, а спустя час распечатала билет на станции, мимо которой проехала.

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

Поэтому давайте мы сейчас выкусим весь изюм из правил перевозок основных пассажирских компаний на железной дороге, чтобы нести свет знаний в массы. И, возможно, немного снизить нагрузку на наш колл-центр на первой линии.
Читать дальше →
Всего голосов 80: ↑78 и ↓2+76
Комментарии191

Как не позориться на митапах, или разработчик учит выступать разработчиков. Интервью Александра Шушунова

Время на прочтение6 мин
Количество просмотров4K
Обычно, когда заявку на доклад на DUMP присылает Software Engineer, она (заявка) предназначена в одну из технических секций: Backend, Devops или Mobilе, к примеру.
А вот на DUMP Казань мы получили заявку в секцию Менеджмент, да еще с темой “Хорошие слайды”. Так-так, интересно: разработчик учит выступать разработчиков. Чем такое обучение отличается от обучения тренера, коуча и прочих менторов? Поговорили об этом с самим спикером — Александром Шушуновым (Senior Software Engineer из EPAM Systems).


Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии3

OpenHAB — стань программистом собственного жилища

Время на прочтение9 мин
Количество просмотров197K
image
Дом — это машина для жилья
Ле Корбюзье

В этом посте я расскажу об opensource проекте домашней автоматизации openHAB.
openHAB переводится как "Open Home Automation Bus". Это значит, что он нацелен на создание универсальной платформы для объединения всей домашней «умной» техники в единую систему управления.

Что же это дает на практике? Под катом я расскажу о том, как с помощью этого решения можно создать настоящий интернет вещей в своем доме.

Читать дальше →
Всего голосов 60: ↑57 и ↓3+54
Комментарии96
1

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность