Pull to refresh
22
0
Stanislav Bogatyrev @realloc

Ленинградский инженер

Send message

Что читать Golang-разработчику. Семь главных книг: от Донована и Кернигана до МакДауэлл

Reading time7 min
Views24K

Спрос на бэкенд-разработчиков — а Go неотделим от бэкенд-программирования — стабильно растет. У самого же Golang немало плюсов: простой, строгий, статически типизированный, он обладает развитой стандартной библиотекой и славится поддержкой параллельного и асинхронного программирования. При этом в Golang нет классов и нет поддержки наследования, что значительно повышает удобство поддержки кода. Благодаря этим и другим преимуществам Go в последние годы сохраняет статус популярного и перспективного языка.

В МойОфис мы широко используем Go в качестве основного языка для разработки корпоративной почты нового поколения Mailion. При этом разрабатываем на нём не только микросервисы, но и собственное хранилище с поддержкой дедупликации (про устройство Mailion читайте здесь). В связи с этим мы постоянно следим за книжными новинками и актуальными темами современной бэкенд-разработки. Специальной литературы по теме Golang существует немало, однако с помощью наших разработчиков мы выбрали самые важные, профессионально полезные и увлекательно написанные издания.

Делимся рекомендациями книг под катом!

Открыть подборку книг
Total votes 28: ↑22 and ↓6+16
Comments7

Обзор светодиодных ламп Remez E27 и E14 на корейских светодиодах нового поколения

Reading time4 min
Views28K


Качество современных источников света постепенно улучшается и уже стало сравнимо с обычным солнечным светом. Такой источник появился благодаря корейским светодиодам Sunlike, имеющих спектр как у дневного света. Недостатком обычных светодиодов является избыток синего света в излучаемом спектре.
Читать дальше →
Total votes 20: ↑15 and ↓5+10
Comments49

Где учат преподавать (не только в пед. институте)

Reading time4 min
Views6.8K

Кому будет полезна статья:

  • студентам, которые решили подзоработать репетиторством
  • аспирантам или специалистам, которым выдали семинарскую группу
  • старшим братьям\сестрам, когда младшие просят научить программировать (вышивать крестиком, говорить на китайском, анализировать рынки, искать работу)

То есть всем тем, кому нужно учить, объяснять, и кто не знает за что хвататься, как планировать уроки, что рассказывать.

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


то, как на вас смотрят ученики
Читать дальше...
Total votes 20: ↑17 and ↓3+14
Comments14

Робот -тележка на ROS.Часть 2. Cофт

Reading time7 min
Views11K
Посты серии:
8. Управляем с телефона-ROS Control, GPS-нода
7. Локализация робота: gmapping, AMCL, реперные точки на карте помещения
6. Одометрия с энкодеров колес, карта помещения, лидар
5. Работаем в rviz и gazebo: xacro, новые сенсоры.
4. Создаем симуляцию робота, используя редакторы rviz и gazebo.
3. Ускоряемся, меняем камеру, исправляем походку
2. Софт
1. Железо

Продвигаемся к улыбке


Собрав «бургер» по схеме из прошлого поста, перейдем к программному наполнению.

Так как мы собираем по уже готовому проекту, логично привести инструкции, в нем указанные. Они находятся здесь.

Все очень удобно и там же можно скачать уже готовый образ с Raspbian Stretch + ROS + OpenCV, записать его на sd карту для raspberry. (ROS Kinetic, OpenCV 3.4.1. Да, есть и поновее, но иногда лучше взять и поехать, чем собирать все самому из исходников).
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments2

Трой Хант: 10 личных финансовых уроков для профессионалов в информационных технологиях

Reading time33 min
Views7.3K
Предисловие к русскому переводу

Трой Хант, эксперт по кибер-безопасности, региональный директор Microsoft в 2016 году, основатель такого ресурса как Have I Been Pwned?, курсов Pluralsight. Его статья «10 личных финансовых урока для профессионалов в информационных технологиях» срезонировала с моими взглядами. Тем более, что незадолго до ее написания я начал работать в ИТ-сфере в качестве специалиста по тестированию ПО, и тезисы в статье с большой степенью точности формулируют мои собственные представления и взгляды. Поэтому мне захотелось перевести эту статью, во-первых, для себя, а во-вторых, для людей, которые также хотят жить, не отказывая себе в том, что для них важно.

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

Далее и ниже перевод оригинальной статьи Троя.

31 декабря 2018 года
Терпение.
Бережливость.
Жертвование.
Если отсеять шелуху, что эти три слова будут иметь общего? Общее – это выбор.
Деньги – это не образ мыслей.
Деньги – это не счастье.
Деньги, по своей сути, мера выбора человека.

Это видео часть открытого монолога серий Ozark, и когда я впервые услышал его, я тут же остановил его и запостил у себя в блоге. Этот пост зрел много лет, я начал делать наброски около 5 лет назад. Я накидывал в него маленькие кусочки год за годом, но не заканчивал его, потому что просто момент был не подходящий. Пост был окончательно оформлен после обдумывания реакции на следующий твит:
Total votes 17: ↑14 and ↓3+11
Comments12

LLVM IR и Go

Reading time10 min
Views13K
В этой статье мы рассмотрим, как построить программу на Go, такую, как компилятор или статический анализатор, которая взаимодействует с фреймворком компиляции LLVM, используя язык ассемблера LLVM IR.

TL;DR мы написали библиотеку для взаимодействия с LLVM IR на чистом Go, см. ссылки на код и на пример проекта.
Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments0

Робот-тележка на ROS.Часть 1. Железо

Reading time3 min
Views17K
Посты серии:
8. Управляем с телефона-ROS Control, GPS-нода
7. Локализация робота: gmapping, AMCL, реперные точки на карте помещения
6. Одометрия с энкодеров колес, карта помещения, лидар
5. Работаем в rviz и gazebo: xacro, новые сенсоры.
4. Создаем симуляцию робота, используя редакторы rviz и gazebo.
3. Ускоряемся, меняем камеру, исправляем походку
2. Софт
1. Железо

Начав изучать ROS (Robotic operation system), сначала поражаешься, как тут «все сложно», от количества информации про топики, ноды,actions голова идет кругом. И, первое желание — вернуться в управлении роботом на старые добрые скрипты. Но нет. Каждый взрослый мужчина должен собрать для мужчины поменьше что-то, что бы ездило, мигало, пищало. В качестве платформы была выбрана ROS, так как все же это следующий шаг в развитии роботов в мире бездушных ардуино. Предлагается собрать ROS «тележку», которая будет не только дешевая, но и функциональная: сможет поехать по линии на полу, вашим котом, вашим телом :) Первые шаги будут такие:

Total votes 20: ↑19 and ↓1+18
Comments38

Моя реализация автоматического включения света в туалете (и без Arduino)

Reading time3 min
Views172K
Всем привет!
На Хабре появляются и появляются статьи о реализации Умного дома. Самой главной проблемой (ну или только для меня) получается включение/выключение света в санузле. Вроде и вещь не хитрая — а сколько есть вариантов. Прочитав статьи, в том числе, тут и тут, я подумал «А ведь все могло быть проще».
Читать дальше →
Total votes 86: ↑81 and ↓5+76
Comments123

Написание диссертации. Инструкция к применению. Взгляд с другой стороны баррикад

Reading time12 min
Views199K
image
На Хабре регулярно появляются статьи, ориентированные на помощь при написании и защите диссертации (например, здесь и здесь). Лично мне в свое время помогли шуточные заповеди диссертанта, коим уже не один десяток лет (вариант, который впервые увидел я, был еще рукописным, причем потрепанным не хуже древнерусских летописей).

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

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

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

При этом обращу внимание, что все нижесказанное ни в коей мере не официальная позиция ученых советов или, наоборот, тайное знание клана профессоров, а просто субъективное мнение отдельно взятого меня.
Итак, поехали.
Total votes 115: ↑112 and ↓3+109
Comments99

Шаблон диссертации в LaTeX

Reading time1 min
Views58K
Недавно я начал нелёгкое дело по вёрстке диссертационной работы в LaTeX-е. Естественным первым желанием было найти какой-нибудь готовый шаблон. Увы, я не нашёл ничего, что подходило бы под мои нужны. Поэтому я решил сделать свой шаблон (с преамбулой и макрокомандами)! Сразу скажу по поводу соответствия шаблона ВАК-овским требованиям: строгих требований нет (можете сами посмотреть список нормативных документов). Однако определённые требования могут быть у конкретного совета (но они, как правило, весьма похожи и соответствуют здравому смыслу). В своём шаблоне я постарался учесть общие тенденции в оформлении такого рода работ. Не буду приводить кучу технических особенностей вёрстки в LaTeX (на эту тему и так хватает статей), а просто поделюсь готовым результатом: GitHub.
Почитать о содержимом шаблона
Total votes 67: ↑65 and ↓2+63
Comments62

Cкоростная синхронизация миллиарда файлов

Reading time7 min
Views95K
Есть несколько идентичных серверов (4 ноды) на Amazon EC2 с Ubuntu. Каждый генерирует и хранит у себя на диске кэш, который хотелось бы синхронизировать. Но простой rsync тут не подойдет — файлов несколько миллиардов, nfs — слишком медлителен, и т. д. Полный список рассмотренных вариантов с пояснениями ниже.

К тому же, время от времени нужно удалять устаревшие файлы сразу на всех серверах, что пока делается вручную и занимает несколько суток. Вопрос наиболее быстрой для такого Use Case файловой системы планирую описать позже. Оговорюсь только, что по нескольким причинам была выбрана XFS.

После теста нескольких кластерных технологий и файловых систем, по совету старшего товарища, решили использовать тот же rsync, но в связке с inotify. Немного поискав в интернете готовое такое решение, дабы не изобретать велосипед, наткнулся на csyncd, inosync и lsyncd. На хабре уже была статья о csyncd, но он тут не подходит, т.к. хранит список файлов в базе SQLite, которая вряд-ли сможет сносно работать даже с миллионом записей. Да и лишнее звено при таких объемах ни к чему. А вот lsyncd оказался именно тем, что нам и было нужно.

UPD: Как показала практика, необходимо ощутимое измение и дополние в тексте. Я решил внести лишь незначительные правки в основную часть, а новыми выводами поделиться в конце статьи.
Читать дальше →
Total votes 55: ↑55 and ↓0+55
Comments29

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity