Как протестировать код на Go с базой данных? В этой статье опишу пример такого тестирования в связке с Postgres, очисткой на основе копирования базы данных и рассмотрю некоторые альтернативы.
Systems Architect
Как стать хорошим менеджером? 4 способа восполнить пробел в навыках управления
Как стать хорошим менеджером и восполнить пробелы в навыках управления бизнесом?
На сегодняшний день многие недооценивают необходимость грамотного менеджмента в бизнесе. Менеджмент – это сложно. Не только для менеджера, но и для бизнеса.
Мы не всегда понимаем, насколько сложно перейти от выполнения работы к управлению ею.
Это самое большое изменение, которое происходит с человеком по мере его продвижения по карьерной лестнице. И слишком часто получается так, что хороший работник становится управленцем без необходимых навыков, желания и понимания.
Илья Якямсев: Эффективность не работает
С точки зрения проект-менеджера и с точки зрения управления людьми, люди в депрессии — идеальные работники.
Привет, Хабр.
Недавно посмотрела выступление одного scrum-мастера и stand up комика по совместительству. Выступление оказалось эмоциональное, с большим количеством непечатных слов и долей здравого смысла.
В каждой шутке только доля шутки, но все же прошу не относиться к этому материалу слишком серьезно. Предлагаю для ознакомления свое изложение в «очищенном» формате. Увидеть полное выступление Ильи Якямсева «Эффективность не работает» на конференция FrontDays 2018 можно по ссылке.
Эффективность не работает
Этот доклад скорее жизнеутверждающий, позитивный, и он про жизнь, не про программирование. Хотя много будет про программирование, но косвенно.
Я работаю менеджером проекта. Начинал я в Тольятти, в 96 году, на должности «эй, пацан, принеси пиво». С 99 года я начал программировать front, тогда это называлось «верстак». Потом я открыл контору, закрыл ее, многое произошло, и сейчас я менеджер проектов.
Мой доклад называется «Эффективность не работает». И я объясню почему.
Жизнь после 30
Дело в том, что мне сорокет в этом году. Я работаю в основном с людьми помоложе себя, и они у меня часто спрашивают: «Илья, как она жизнь в IT после 30? Ну, то есть, что с ней происходит?». Я отшучиваюсь: как говорится, баб поменьше, детей побольше.
Но я всерьез задался этим вопросом, подумал, что случилось со всеми людьми, с которыми я начинал, с которыми продолжаю. Всем моим друзьям около 40, все по-разному живут. Какое у нас общее свойство? О чем стоит рассказать людям? На что им ориентироваться в процессе работы? Каким образом это будет у них? И я вывел то общее, о котором хочу сегодня рассказать.
Как оценить уровень владения английским языком
На Хабре много статей о том, как самостоятельно изучать английский язык. Но вот вопрос, а как оценить свой уровень при самостоятельном изучении? Понятно, что есть IELTS и TOEFL, но эти тесты почти никто не сдает без дополнительной подготовки и эти тесты, как говорят, оценивают не сколько уровень владения языком, а скорее умение проходить эти самые тесты. Да и использовать их для контроля самообучения будет накладно.
В этой статье я собрал различные тесты, которые проходил сам. При этом я сверяю свою субъективную оценку владения языком с результатами тестов. А также сравниваю результаты между разными тестами.
Blockchain
Когда у вас есть знания о том, что такое криптографически стойкая хеш-функция, понять, что такое blockchain («цепочка блоков») очень просто. Blockchain – это последовательный набор блоков (или же, в более общем случае, ориентированный граф), каждый следующий блок в котором включает в качестве хешируемой информации значение хеш-функции от предыдущего блока.
Технология blockchain используется для организации журналов транзакций, при этом под транзакцией может пониматься что угодно: финансовая транзакция (перевод между счетами), аудит событий аутентификации и авторизации, записи о выполненных ТО и ТУ автомобилей. При этом событие считается случившимся, если запись о нём включена в журнал.
В таких системах есть три группы действующих лиц:
- источники событий (транзакций)
- источники блоков (фиксаторы транзакций)
- получатели (читатели) блоков и зафиксированных транзакций.
В зависимости от реализации эти группы могут пересекаться. В системах типа BitCoin, например, все участники распределённой системы могут выполнять все три функции. Хотя за создание блоков (фиксацию транзакций) обычно отвечают выделенные вычислительные мощности, а управляющими их участников называют майнерами (см. раздел про децентрализованный blockchain далее).
Основное требование к таким журналам таково:
- Невозможность модификации журнала: после добавления транзакции в журнал должно быть невозможно её оттуда удалить или изменить.
Написание blockchain менее чем за 200 строк кода на Go
Привет, Хабр! Представляю вашему вниманию перевод статьи "Code your own blockchain in less than 200 lines of Go!".
Данный урок является хорошо адаптированным постом про простое написание blockchain на Javascript. Мы портировали его на Go и добавили дополнительных фич, таких как просмотр цепочек в браузере.
Применение зашифрованных данных для машинного обучения без их расшифровки
Применение зашифрованных данных для машинного обучения без их расшифровки
В этой статье обсуждаются передовые криптографические методики. Это лишь обзор исследований, проводимых в Julia Computing. Не используйте приведённые здесь примеры в коммерческих приложениях. Всегда консультируйтесь с криптографами, прежде чем применять криптографию.
Здесь можно скачать пакет, реализующий всю магию, а здесь находится код, который рассматривается в статье.
CRDT: Conflict-free Replicated Data Types
Как считать хиты страницы google.com? А как хранить счётчик лайков очень популярных пользователей? В этой статье предлагается рассмотреть решение этих задач с помощью CRDT (Conflict-free Replicated Data Types, что по-русски переводится примерно как Бесконфликтные реплицированные типы данных), а в более общем случае — задачи синхронизации реплик в распределённой системе с несколькими ведущими узлами.
Введение в рекомендательные системы
Персонализированные товарные и контентные рекомендации используются для повышения конверсии, среднего чека и улучшения опыта пользователей.
Стратегии деплоя в Kubernetes: rolling, recreate, blue/green, canary, dark (A/B-тестирование)
Схема взята из другого обзора стратегий выката, сделанного в Container Solutions
Одной из самых больших проблем при разработке cloud native-приложений сегодня является ускорение деплоя. При микросервисном подходе разработчики уже работают с полностью модульными приложениями и проектируют их, позволяя различным командам одновременно писать код и вносить изменения в приложение.
Более короткие и частые развертывания имеют следующие преимущества:
- Сокращается время выхода на рынок.
- Новые функции быстрее попадают к пользователям.
- Отклики пользователей быстрее доходят до команды разработчиков. Это означает, что команда может дополнять функции и исправлять проблемы более оперативно.
- Повышается моральный дух разработчиков: с большим количеством функций в разработке интереснее работать.
Аддиктивные синдромы IT
Здравствуйте, меня зовут Алексей. Я работаю в IT-сфере. Много времени провожу в социальных сетях и мессенджерах по работе. И у меня развились различные аддиктивные сценарии поведения. Я отвлекался от работы и заглядывал в Facebook, чтобы посмотреть, сколько «лайков» накапало на какую-то резонансную публикацию. И вместо того, чтобы дальше работать с новыми текстами, я подвисал на состоянии старого. Я несколько раз за час практически неосознанно брал в руки смартфон — и в какой-то степени меня это успокаивало. Давало контроль над жизнью.
В некий момент я остановился, задумался — и решил, что-то не так. Я почувствовал ниточки за моими плечами, которые периодически меня дёргают, заставляя делать то, что мне на самом деле не нужно.
С момента осознания у меня стало меньше аддикций — и я расскажу, как я от них избавился. Не факт, что мои рецепты подойдут вам или вызовут одобрение. Но расширение туннеля реальности и познание нового — вредным точно не будут.
— Па-ап, мы все на одну фоточку помещаемся? — Не бойся, у меня на смарте широкоугольник.
Путь архитектора: сертификация и погружение в продукт
Одноминутный менеджер и обезьяны, конспект
В книге И. Адизеса “Стили менеджмента” есть такой герой — Пожарник. Это специалист, которого повысили. Но он по прежнему все старается делать сам. «Чтобы сделать хорошо, сделай это сам» — его девиз.
Этим менеджерам кажется, что управление включает решение всех сложных вопросов из-за чего они оказываются завалены проблемами — “мячиками” задач своих сотрудников. Менеджер становится узким горлышком, что приводит к снижению производительности всей команды.
Книга в первую очередь для таких менеджеров, выросших из исполнителей о том, как ставить задачи своим сотрудникам, не допуская собственной перегрузки, но чтобы при этом не терять контроль.
Почему бизнесу нужен хороший код
Я хочу рассказать, к чему может привести «упор на характеристики», вместо заботы о качестве кода, и почему хороший код нужен не только программистам.
Джо Армстронг об Elixir, Erlang, ФП и ООП
В последние несколько дней на Хабре был опубликован ряд статей, общим лейтмотивом которых (особенно в комментариях) стало противостояние тупоконечников с остроконечниками – адепты ФП против ООП, хотя их и призывали не спорить. Иногда обсуждали Erlang, в связи с чем мне вспомнился короткий пост на тему от Джо Армстронга, одного из создателей этого языка, написанный им в конце 2018 года на форуме по Elixir в ответ на вопрос о парадигме языка. Думаю, его комментарий будет интересен.
Функциональные практики и frontend: монады и функторы
В этой серии статей я хочу поделиться своим опытом применения функциональных практик во frontend-разработке расскажу про плюсы и минусы, которые вы получите как разработчик, используя эти практики. Если тема вам понравится, то мы погрузимся в более «сухие» и сложные уголки функционального мира. Сразу отмечу, что пойдем мы от большего к меньшему, то есть посмотрим на классическое приложение c высоты птичьего полета, а по мере прохождения статей будем спускаться туда, где конкретная практика принесет нам заметную пользу.
Итак, начнем с обработки состояний. Заодно расскажу, причем тут вообще монады и функторы.
LEGO MINDSTORMS Education EV3 + MicroPython: программируем детский конструктор взрослым языком
Большой FAQ про поезда дальнего следования и неочевидные правила
Ачивка «Ген тестировщика»: моя коллега сначала села в поезд, а спустя час распечатала билет на станции, мимо которой проехала.
После того как мы начали писать про поезда и электрички, выяснилось, что многие не знают таких очевидных (для нас) вещей, как душ в штабном вагоне поезда, возможность сойти на любой станции маршрута и разница между обменом и возвратом билета.
Поэтому давайте мы сейчас выкусим весь изюм из правил перевозок основных пассажирских компаний на железной дороге, чтобы нести свет знаний в массы. И, возможно, немного снизить нагрузку на наш колл-центр на первой линии.
Как не позориться на митапах, или разработчик учит выступать разработчиков. Интервью Александра Шушунова
А вот на DUMP Казань мы получили заявку в секцию Менеджмент, да еще с темой “Хорошие слайды”. Так-так, интересно: разработчик учит выступать разработчиков. Чем такое обучение отличается от обучения тренера, коуча и прочих менторов? Поговорили об этом с самим спикером — Александром Шушуновым (Senior Software Engineer из EPAM Systems).
OpenHAB — стань программистом собственного жилища
Дом — это машина для жилья
Ле КорбюзьеВ этом посте я расскажу об opensource проекте домашней автоматизации openHAB.
openHAB переводится как "Open Home Automation Bus". Это значит, что он нацелен на создание универсальной платформы для объединения всей домашней «умной» техники в единую систему управления.
Что же это дает на практике? Под катом я расскажу о том, как с помощью этого решения можно создать настоящий интернет вещей в своем доме.
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Registered
- Activity