Как стать автором
Обновить
0
0
Антон Крутиков @Hedy

Разработчик

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

Семь лет работы разработчиком: какие уроки я извлёк

Время на прочтение3 мин
Количество просмотров21K
Время летит, правда?

Моя карьера началась в 2012 году, с первой стажировки по C++. Честно говоря, я понятия не имел, что делаю (на самом деле, ничего не изменилось). Однако я извлёк несколько уроков.

Отказ от ответственности: в этом сообщении не будет никакого кода.

Вопрос: Какой самый важный язык в программировании?


Это английский. Или испанский, китайский, польский. Любой, какой вы используете для общения с коллегами.
Читать дальше →
Всего голосов 37: ↑32 и ↓5+27
Комментарии14

Работа с MS SQL из Powershell на Linux

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

Эта статья чисто практическая и посвящена моей грустной истории


Готовясь к Zero Touch PROD для RDS (MS SQL), про который нам прожужжали все уши, я сделал презентацию (POC — Proof Of Concept) автоматизации: набора powershell скриптов. После презентации, когда стихли бурные, продолжительные аплодисменты, переходящие в несмолкаемые овации, мне сказали — все это хорошо, но вот только по идеологическим причинам у нас все Jenkins slaves работают под Linux!

Разве так можно? Взять такого теплого, лампового DBA из под Windows и сунуть его в самое пекло powershell под Linux? Разве это не жестоко?


Пришлось погрузиться в эту странную комбинацию технологий. Разумеется, все мои 30+ скриптов перестали работать. К моему удивлению, за один рабочий день мне все удалось исправить. Пишу по горячим следам. Итак, какие подводные камни могут встретиться вам при переносе powershell скриптов из Windows под Linux?
Читать дальше →
Всего голосов 29: ↑24 и ↓5+19
Комментарии11

OS1: примитивное ядро на Rust для x86. Часть 2. VGA, GDT, IDT

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

Первая часть


Первая статья еще не успела остыть, а я решил не держать вас в интриге и написать продолжение.


Итак, в предыдущей статье мы поговорили о линковке, загрузке файла ядра и первичной инициализации. Я дал несколько полезных ссылок, рассказал, как размещается загруженное ядро в памяти, как соотносятся виртуальные и физические адреса при загрузке, а так же как включить поддержку механизма страниц. В последнюю очередь управление перешло в функцию kmain моего ядра, написанного на Rust. Пришло время двигаться дальше и узнать, насколько глубока кроличья нора!


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

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

Если вы подумываете начать писать на Go, то вот что вам следует знать

Время на прочтение11 мин
Количество просмотров66K
Ваш любимый питомец пишет на Go и получает больше вас, а вы ещё нет? Не теряйте времени… Такая мысль может родиться у читателя от обилия статей по Go. Некоторым даже компании предлагают переучиться на этот язык. И, если вы хоть раз задумывались освоить язык, то я хочу вас предостеречь. Вернее показать странные вещи, попробовать объяснить зачем они и потом вы уже сами сделаете вывод нужен ли вам Go.

Го - это портируемый Си
Поехали...
Всего голосов 79: ↑74 и ↓5+69
Комментарии479

Рождественская история

Время на прочтение12 мин
Количество просмотров6.6K
Хотим поделиться историей, которая произошла на одном из наших проектов под Новый год. Суть проекта в том, что он автоматизирует работу врачей в медицинских учреждениях. Во время визита пациента доктор записывает информацию на диктофон, затем аудиозапись транскрибируется. После процесса транскрибирования – т.е. превращения аудиозаписи в текст – формируется медицинский документ по соответствующим стандартам и высылается обратно в клинику, откуда пришла аудиозапись, где ее получает отправивший врач, проверяет и утверждает. После прохождения обязательных проверок документ отсылается конечным пациентам.
Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии23

Путешествие gocritic'а в прошлое

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


Хочу поделиться результатами работы последних нескольких дней, которые включали в себя анализ git истории некоторых крупных Go проектов с целью нахождения коммитов, которые исправляли ошибки c последующей их формализацией для детектирования в случае их появления в новом коде.


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

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

Отчёт с митапа «Go в продакшене»: видео, фото, презентации

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


Всем привет! 23 сентября мы отлично провели время в московском офисе Mail.Ru Group на митапе сообщества Go в продакшене. Собрали для вас фото, видео и презентации.
Всего голосов 30: ↑28 и ↓2+26
Комментарии10

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

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


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

Из-за этого большинство подобных материалов мало полезны, несмотря на то, что могут содержать толковые книги. Мне давно хотелось написать полезный обзор, который не станет навязывать определенные материалы, а позволит читателю выбрать наиболее подходящие.
Читать дальше →
Всего голосов 62: ↑55 и ↓7+48
Комментарии79

Эмиграция и всё о ней в телеграм-блогах

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

«Хорошо там, где нас нет» — думают многие и годами живут на одном и том же месте. Но мир слишком разнообразен, чтобы всю жизнь провести в одной стране.


image

Карта каналов об эмиграции


На помощь приходит Telegram, где в последние годы появилось уникальное сообщество авторов жанра «я — эмигрант».


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


Какие на самом деле жители выбранной ими страны? Как найти жилье? Как устроится на работу? В чем отличия менталитета? Или даже Как проходят свидания? Как строится личная жизнь в другой стране? Такого нет в Google! :)


Я собрал максимально большой список таких блогов, отсортировал по странам и делюсь с вами.

Читать далее
Всего голосов 49: ↑44 и ↓5+39
Комментарии57

Как создавался World of Warcraft: взгляд изнутри на 20 лет разработки

Время на прочтение47 мин
Количество просмотров89K
Уже в течение 14 лет World of Warcraft остаётся не только активным, но и актуальным. Он не стал основателем жанра MMORPG, но продолжает эволюционировать вместе с ним. World of Warcraft был продан миллионами копий, заработал миллиарды долларов и выиграл сотни наград. После выпуска седьмого расширения — Battle for Azeroth, WoW по-прежнему может похвастаться растущей базой поклонников.


Нам позируют некоторые из бывших лидеров фракций World of Warcraft. [Все изображения из статьи принадлежат Blizzard Entertainment.]

С самого начала World of Warcraft задумывался как ответ другим играм; игроки в успешные MMO задавались вопросом — может ли игровой процесс может быть лучше? После выхода таких игр, как Ultima Online и Everquest, команда разработчиков из Blizzard Entertainment перенесла игроков в Азерот (Azeroth), впервые появившийся в Warcraft 3. Игроки могли исследовать обширный мир, заполненный героями, злодеями, богами и монстрами в игровом процессе, который был гораздо более дружелюбным к пользователю, чем в играх-конкуренртах. Я сам играл в эти старые MMOs; я помню анархию и убийство игроков (вы не забыли Corp Por) в Ultima Online и собирание игроками толп мобов, беготню без брони до своего трупа и жёсткий гринд в Everquest. По сравнению с этим World of Warcraft был похож на глоток свежего воздуха.

Разработка игр сложна. Игры постоянно терпят крах — иногда потому, что плохи, иногда они просто не находят подходящую аудиторию. Выпустить успешную игру трудно, а поддерживать её успешность больше десяти лет требует сочетания ремесла, любви и удачи. Это видно по тому, что куча сломанных конкурентов World of Warcraft осталась на заре MMORPG. В течение последних 14 лет World of Warcraft расцветал благодаря тому, что разработчики учитывали ощущения игроков и учились больше общаться с сообществом.
Читать дальше →
Всего голосов 53: ↑49 и ↓4+45
Комментарии75

Почему работать в IT не так уж и классно

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


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

Я проработал в индустрии IT более десяти лет и скажу вам, это была сумасшедшая гонка, наполненная множеством взлетов и падений. Больше вниз, чем вверх, если я буду действительно честен с вами.
Читать дальше →
Всего голосов 96: ↑66 и ↓30+36
Комментарии311

Планируются изменения в ФЗ-152

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

На сайте regulation.gov.ru появились и уже прошли 25 июня 2018 г. окончания публичного обсуждения два интересных проекта:

  • Проект Федерального закона «О внесении изменений в отдельные законодательные акты Российской Федерации (в части уточнения принципов обработки персональных данных в государственных информационных системах)»
  • Проект Федерального закона «О внесении изменений в статью 13.11 Кодекса Российской Федерации об административных правонарушениях»

Интересного в этих проектах то, что они собираются внести изменения в ФЗ-152 «О персональных данных» и в «КоАП», что уже наводит на мысли.

Итак, не будем ничего выдумывать, а просто процитируем:
«1. Часть 5 статьи 6 дополнить следующими абзацами:
«Оператор, поручивший обработку персональных данных другому лицу, несет ответственность за осуществление надлежащего контроля за действиями другого лица в соответствии с законодательством Российской Федерации.
Порядок осуществления оператором контроля за действиями лица, осуществляющего обработку персональных данных по его поручению, устанавливается оператором самостоятельно.»
Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии47

Метапрограммирование в JavaScript

Время на прочтение17 мин
Количество просмотров23K
Метапрограммирование — вид программирования, связанный с созданием программ, которые порождают другие программы как результат своей работы, либо программ, которые меняют себя во время выполнения. (Википедия)

Говоря более простым языком, метапрограммированием в рамках JavaScript можно считать механизмы, позволяющие анализировать и менять программу в режиме реального времени в зависимости от каких-либо действий. И, скорее всего, вы так или иначе используете их при написании скриптов каждый день.

Всего голосов 41: ↑38 и ↓3+35
Комментарии16

Питер Норвиг: Обучитесь программированию за… 10 лет

Время на прочтение10 мин
Количество просмотров21K
Примечание переводчика: данная статья была опубликована Питером Норвигом в 2001 году. По варианту 2001 года был выполнен перевод на русский язык. В 2014 году статья была обновлена, но перевод не был обновлен. Поэтому я выполнил свой перевод статьи по ее современному варианту 2014 года. Считаю, что статья не потеряла своей актуальности, хоть и несколько устарела. Если найдете какие-то ошибки в переводе, пишите в личку.
Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии33

Расширение процесса сборки с помощью MSBuild

Время на прочтение7 мин
Количество просмотров27K
Цель статьи — рассказать немного о MSBuild, показать что такое таргеты и таски в MSBuild, научить работать с файлом .csproj, дать полезные ссылки. Если у вас будет более подходящее название для статьи, то буду рад обсудить в комментариях.

Меню


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

Два раза в одну реку или (Не)много о профессиональном выгорании

Время на прочтение17 мин
Количество просмотров103K
Саббатикал — это оплачиваемый или частично оплачиваемый длительный отпуск продолжительностью от трёх месяцев до года (и более) с гарантированным сохранением места за сотрудником.

— Саш, очевидно, работа не приносит тебе удовольствия, — Слава проговаривал бесспорные вещи. Четвертую неделю вместо работы я мчался на очередной детский турнир по футболу. Когда у тебя трое детей, можно 120% своего времени занять их увлечениями. — У меня есть к тебе предложение. Давай отправим тебя в отпуск на год? Я за это время закрою собой бизнес. Доходы, по-прежнему, пополам. Потом ты вернешься с новыми силами, и, может быть, я на год в отпуск схожу.

Честно говоря, я недолго думал над этим предложением. От работы реально подташнивало, и перспектива на год избавиться от этого источника тошноты манила как никогда раньше. Мы ударили по рукам.
Читать дальше →
Всего голосов 138: ↑132 и ↓6+126
Комментарии156

Изучаем многопоточное программирование в Go по картинкам

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

Скорее всего, вы уже слышали о языке программирования Go, популярность его постоянно растет, что вполне обоснованно. Этот язык простой, быстрый и опирается на прекрасное сообщество. Один из самых любопытных аспектов языка — это модель многопоточного программирования. Примитивы, положенные в ее основу, позволяют создавать многопоточные программы легко и просто. Эта статья предназначена для тех, кто хочет изучить эти примитивы: горутины и каналы. И, через иллюстрации, я покажу, как с ними работать. Надеюсь, это будет для вас хорошим подспорьем в дальнейшем изучении.
Читать дальше →
Всего голосов 50: ↑48 и ↓2+46
Комментарии21

[Перевод] Обработка ошибок и транзакций в SQL Server. Часть 1. Обработка ошибок – быстрый старт

Время на прочтение16 мин
Количество просмотров46K
Привет, Хабр! Представляю вашему вниманию перевод статьи «Error and Transaction Handling in SQL Server. Part One – Jumpstart Error Handling» автора Erland Sommarskog.

1. Введение


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

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

Все статьи описывают обработку ошибок и транзакций в SQL Server для версии 2005 и более поздних версий.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии4

Red Hat Summit: лучшие моменты главной open source конференции за 30 минут

Время на прочтение14 мин
Количество просмотров3.4K
Пока мы отдыхали на майских праздниках, в Сан-Франциско проходила крупнейшая встреча любителей open source – Red Hat Summit 2018. Тысячи гостей, десятки спикеров и выступлений от главных людей отрасли, технические сессии, выставки и тренинги, стратегические анонсы и даже выступление Weezer – за три дня участники саммита успели увидеть, обсудить и опробовать все. А для всех, кто не смог присутствовать на этом празднике жизни, мы подготовили выжимку главных событий (и видео).


Читать дальше: Лучшие моменты главной open source конференции за 30 минут
Всего голосов 8: ↑5 и ↓3+2
Комментарии2

Как я начал любить Vue

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

Вступление



Данный пост — это логическое продолжение моего поста/статьи — Как я перестал любить Angular / How I stopped loving Angular.
Рекомендуется к ознакомлению перед прочтением.


Вот уже около года во всех проектах, в которых я участвую, я использую Vue вместо Angular.
В данном посте я поделюсь основными впечатлениями и отличиями после Angular, а также поведаю некоторые вещи из реального опыта использования Vue на боевых проектах.

Читать дальше →
Всего голосов 39: ↑36 и ↓3+33
Комментарии56

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность