Как стать автором
Обновить
1
0
Круглов Алексей @FreeWolfAlex

Фриланс

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

Надеть Telegram на OpenVPN и завернуть это в Docker

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

Мигрируя в этом году свою инфраструктуру в новый датацентр, поймал себя на мысли о том, что возраст моей виртуальной частной сети (VPN) для доступа к серверам и устройствам перевалил за 10 лет.

Мой старый товарищ OpenVPN ни разу не подвел меня.

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

Под катом вы найдете детали того, что получилось. Кратко, результат следующий: композиция из двух docker-контейнеров, которые превращаются в telegram-бота для управления VPN сервисом. И для этого нужно выполнить всего две команды в консоле.

Механизм управления VPN сервисом теперь не требует каких-либо навыков системного администрирования или доступа к Linux-консоли при выполнении рутинных операций. Например, чтобы сделать сертификаты новому пользователю вам достаточно иметь телефон с telegram-клиентом.

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

Полезного чтения
Всего голосов 24: ↑22 и ↓2+20
Комментарии2

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

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

Результаты превзошли все наши ожидания: участники не просто приняли участие, а быстро организовались в слаженное коммьюнити из 620 человек в дискорде, которое буквально штурмом взяло квест за двое суток без перерыва на сон.

Всего голосов 143: ↑142 и ↓1+141
Комментарии55

Наилучшие практики создания REST API

Время на прочтение13 мин
Количество просмотров47K
Всем привет!

Предлагаемая вашему вниманию статья, несмотря на невинное название, спровоцировала на сайте Stackoverflow столь многословную дискуссию, что мы не смогли пройти мимо нее. Попытка объять необъятное — внятно рассказать о грамотном проектировании REST API — по-видимому, удалась автору во многом, но не вполне. В любом случае, надеемся потягаться с оригиналом в градусе обсуждения, а также на то, что пополним армию поклонников Express.

Приятного чтения!
Читать дальше →
Всего голосов 30: ↑27 и ↓3+24
Комментарии54

Приглашаем на видеокурс по Docker: узнать новое, закрепить старое

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

Что нас побудило создать курс по Docker — хотя на рынке десятки предложений по этой теме, и практически каждая IT-школа отметилась в этом направлении?


Побудили нас студенты «Вечерней школы по Кубернетес». В обратной связи мы неоднократно получали запрос, что в ВШК получилась лучшая обучалка по Докеру — именно в составе курса по K8s.


И мы поняли, что у нас хватает материала, практических кейсов, внутренней энергетики спикеров. Плюс есть запрос студентов, есть явный интерес — осталось только выделить Docker в отдельный курс.



Всего голосов 35: ↑24 и ↓11+13
Комментарии11

6 лучших практик для безопасного управления Git-репозиториями

Время на прочтение4 мин
Количество просмотров14K
Избегайте захламления репозиториев и других действий, которые усложняют управление кодовой базой. Вместо этого используйте лучшие практики, которые помогут упростить работу.



Изучение исходников в репозитории позволяет оценить уровень безопасности приложений. Но если никто не смотрит на код, проблемы будут только расти. К счастью, у GitHub есть свои специалисты по безопасности, которые недавно обнаружили трояна в нескольких репозиториях Git. Его почему-то не заметили сами владельцы этих репозиториев. Хотя мы не можем диктовать другим людям, как управлять своими собственными хранилищами, мы можем учиться на их ошибках. В этой статье мы рассмотрим полезные приёмы работы с репозиториями.
Читать дальше →
Всего голосов 30: ↑22 и ↓8+14
Комментарии14

Три дороги для программиста: эксперт, руководитель, основатель

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

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

С разрешения Сергея мы публикуем все три видео и их текстовую расшифровку.

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

Четырёхуровневая модель Системного Администратора

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

Введение


HR производственной компании попросила написать, чем должен заниматься системный администратор? Для организаций с единственным айтишником в штате это вопрос с подвохом. Попытался простыми словами описать функциональные уровни одного специалиста. Надеюсь, кому-то это поможет в общении с маглами неайтишниками. Если я что-то упустил, то старшие товарищи меня поправят.



1 уровень: Техник


Задачи. Тут решаются хозяйственные вопросы. Чтобы работало то, что можно потрогать руками. На этом уровне: аудит, инвентаризация, система учёта, дрель, отвёртка. Убрать провода из-под столов. Заменить вентилятор или блок питания. Найти ИТ-договора, гарантийные талоны и сложить их себе в папки. Выписать телефоны 1С-ника, мастера по оргтехнике, провайдеров. Познакомиться с уборщицей. Уборщица — ваш друг и помощник.

Это фундамент. Вы не сможете действовать на следующих уровнях, если вас будут отвлекать звонки по поводу бледной печати или севшей батарейки. Запасной картридж должен быть в тумбочке под МФУ, запасные батарейки для мышек — у офис-менеджера. А позаботиться об этом должны вы.

На этом уровне вы почти не работаете за компьютером. Вам важна не версия сборки операционной системы, а есть ли в компании обычный пылесос.

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

Качества. Прямые руки, аккуратность, любовь к порядку.
Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии52

Домашний ЧПУ-фрезер как альтернатива 3D принтеру, часть третья, ПО и G-code

Время на прочтение7 мин
Количество просмотров39K
В этой статье хотелось бы рассказать о необходимом в работе ПО, а заодно дать маленькую вводную по g-коду. Опять прошу простить непрофессионала, могу что-то упустить, а в чем-то быть неточным. С другой стороны, все описанное в моих статьях — исключительно личный опыт, и он точно работает в приближенных к офисно-гаражно-домашним условиях на простых китайских фрезерах с ЧПУ.
Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии19

Домашний ЧПУ-фрезер как альтернатива 3D принтеру, часть пятая, обработка

Время на прочтение7 мин
Количество просмотров15K
Я начал писать эту статью уже давно, но недавняя статья «Гребной винт «незацепляйка» на станке с ЧПУ» вывела меня из душевного равновесия, и буквально швырнула за дописывание. Это что же такое получается — пока я тут прокрастинирую, в интернете кто-то так и будет неправ? Я же весь на икоту изойду, когда опубликую, и будет мне вместо респекта и уважухи проклятия и позор.
Поскольку статья дописана форсированно, будет некая нестыковка: изначально я планировал подробно описать хотя бы наиболее актуальные стратегии CAM программ, и даже начал это делать на синтетической детали:

image

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

image

Кому уже интересно — велкам под кат. Много картинок, торопливое изложение и некачественный текст гарантирую.
Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии46

Домашний ЧПУ-фрезер как альтернатива 3D принтеру, часть первая — выбор станка

Время на прочтение5 мин
Количество просмотров290K
Последнее время на хабре все чаще появляются топики, посвященные 3D-печати вообще и домашним 3D-принтерам в частности. И почти в каждом в комментариях вспыхивает холивар между романтиками, в жизни не видевшими 3D отпечатков, и практиками, единожды потрогавшими и разочаровавшимися. При этом вторые почему-то не приводят адекватных альтернативных технологий, комментарии носят либо чисто критический характер, либо предлагают заведомо более дорогие альтернативы. Тем не менее, достойная альтернатива есть — домашний фрезерный станок с ЧПУ.

Звучит удивительно, да? Как-то само слово станок в народе ассоциируется с производством, с отдельными помещениями и специально обученным персоналом. В действительности, существует большой класс ЧПУ-станков, рассчитанных на настольное использование в офисе и на малых производствах, а при желании — и дома. При этом цена маленьких ЧПУ-фрезеров приближается (чтобы не сказать равна) к реальной цене 3D-принтеров.

Жизнь сложилась так, что последний год с гаком я занимаюсь изготовлением литьевых форм для полиуретановых изделий на ЧПУ-фрезере. Поскольку до этого 10 лет оттрубил в IT ритейле, а образование не имеет никакого отношения ни к инжинирингу, ни к ЧПУ, осваивать технологии пришлось с нуля. За прошедший год я подрос с должности оператора-фрезеровщика до инженера-конструктора, а затем и до замдиректора по технологиям, моими стараниями ЧПУ-парк предприятия вырос с одинокого старенького роланда до 5 разнокалиберных станков. В связи с чем еще свеж и актуален опыт выбора, покупки, пусконаладки, тюнинга, эксплуатации и ремонта различных ЧПУ-станков.

И вот — решил поделиться опытом с сообществом. Я осознаю сам, и прошу принимать во внимание читателей, что я — самоучка без базового инженерного образования, все нижеизложенное основано исключительно на личном опыте.
Читать дальше →
Всего голосов 104: ↑98 и ↓6+92
Комментарии188

Домашний ЧПУ-фрезер как альтернатива 3D принтеру, часть четвертая. Общие понятия обработки

Время на прочтение6 мин
Количество просмотров33K
Начав писать про стратегии обработки, я понял что творю «обезьяний набор» — пошаговое руководство даже не для чайников, а для идиотов, мои шаги повторить можно, сделать свои по образцу тоже, но понимания не добавляется. В свое время, когда я внезапно решил стать фрезеровщиком, имея в бэкграунде высшее медицинское, МБА и 10 лет компьютерного ритейла, мне было очень сложно продираться через терминологию и абсолютно новый понятийный аппарат.

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

image

Ниже — моя скромная попытка пробежаться по базовым понятиям фрезерной обработки с краткой расшифровкой. Терминологию я использовал русскую из делкамовских учебников, она может не совпадать с другими CAM программами, но я думаю тут уже интуиция и гугл спасут. Ну и как всегда, капелька личного опыта по обработке пластиков на хоббийных станках.
Читать дальше →
Всего голосов 63: ↑61 и ↓2+59
Комментарии52

Очень много YouTube-каналов для прокачки английского языка для программистов

Время на прочтение4 мин
Количество просмотров60K
Привет, Хабр!

С помощью YouTube можно ощутимо и сравнительно быстро улучшить английский.
Понимание на слух как минимум. Истина не нова, но мало кто смотрит английский YouTube, потому что легко потеряться в бесконечности каналов. Но для вас я собрал самые стоящие каналы!

Добавляйте в закладки и подписывайтесь на меня!
Дальше вас ждет много крутых статей.

Поучить английский


AJ Hoge. На его канале есть всё: от базовых слов до размышлений о важности языка тела в общении. Чувак пилит видосы уже много лет, материальчик накопился.

EngVid. Если бы можно было выбрать что-то одно для улучшения английского, то это оно. Разные преподы и тематики, постоянное обновление, бездонный ресурс. Ещё сайт одноимённый крутой, с удобной навигацией — можно найти очень узкую тему по интересам.
Читать дальше →
Всего голосов 59: ↑52 и ↓7+45
Комментарии19

7 штук, которые точно не надо делать при открытии кружка робототехники. Вот совсем не надо делать

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


Уже 2 года я развиваю робототехнику в России. Наверно громко сказано, однако недавно устроив вечер воспоминаний понял, что за это время под моим руководством было открыто 12 кружков по России. Сегодня решил написать об основных штуках, которые я делал в процессе открытия, но Вам этого делать точно не нужно. Так сказать, концентрированный опыт в 7 пунктах. Выделил только самый сок. Приятного чтения.
Читать дальше →
Всего голосов 104: ↑98 и ↓6+92
Комментарии151

Путь курильщика: как войти в профессию программиста, если ты гуманитарий

Время на прочтение7 мин
Количество просмотров50K
В детстве Анастасия Бирилло мечтала стать учителем русского языка и литературы. Сегодня она – научный сотрудник JetBrains Research, методист и преподаватель Digital Banana, а также разработчик собственного стартапа. «Гуманитарий – не приговор», – утверждает Настя. На нашей ноябрьской конференции "Контентинг" она рассказала о том, как освоить программирование самостоятельно, какое направление выбрать начинающему разработчику, где искать проекты, какие трудности могут встретиться на «пути курильщика» и как их преодолеть.



Под катом — расшифровка ее доклада.
Читать дальше →
Всего голосов 66: ↑42 и ↓24+18
Комментарии77

Методика D.I.Y. проекта. Часть вводная

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

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

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

Brute-force атаки с использованием Kali Linux

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


Brute-force (атака полным перебором) – метод решения математических задач, сложность которого зависит от количества всех возможных решений. Сам же термин brute-force обычно используется в контексте хакерских атак, когда злоумышленник пытается подобрать логин/пароль к какой-либо учетной записи или сервису.

Рассмотрим инструменты, которые можно использовать для выполнения brute-force атак на SSH и WEB-сервисы, доступные в Kali Linux (Patator, Medusa, Hydra, Metasploit), а также BurpSuite.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии3

Четыре ступени развития инженера

Время на прочтение3 мин
Количество просмотров14K
Боюсь использовать слишком сильное обобщение, но в любом случае это относится и к некоторым другим областям знания. Хороший пример — вождение автомобиля. Если вы сопоставите описанные этапы с развитием навыков вождения, то увидите хорошую корреляцию.

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

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

1. Первая ступень. Начальный этап


Это самое начало. Мало знает, мало умеет. Все дается с трудом.
Нет уверенности, нет понимания.

Все начинают с этого, и это самая понятная ступень.

Для преодоления этого этапа требуется настойчивость, систематическое изучение технической документации, много практики…
Читать дальше →
Всего голосов 16: ↑12 и ↓4+8
Комментарии33

REST API Best Practices

Время на прочтение7 мин
Количество просмотров422K
Привет, Хабр! Представляю вашему вниманию перевод статьи "REST API Best Practices" автора Krishna Srinivasan.

REST становится общим подходом для представления сервисов окружающему миру. Причина его популярности заключается в его простоте, легкости использования, доступе через HTTP и другие. Существует неправильное представление о том, что все данные, доступные через сеть, считаются REST, но это не так. В этой статье я собираюсь объяснить вам некоторые best practices, которые вы должны всегда помнить при реализации собственного REST приложения. Я бы хотел услышать ваш опыт в REST приложениях, поэтому если вы знаете best practies, которые не упомянуты в этой статье, пожалуйста, поделитесь с нами в комментариях.

Disclamer: все best practies основаны на моем личном опыте. Если вы имеете другое мнение, не стесняйтесь отправлять его мне на email, и мы обсудим его.

Здесь представлен список best practices, которые будут обсуждаться в этой статье:

1. Конечные точки в URL – имя существительное, не глагол
2. Множественное число
3. Документация
4. Версия вашего приложения
5. Пагинация
6. Использование SSL
7. HTTP методы
8. Эффективное использование кодов ответов HTTP
Читать далее
Всего голосов 55: ↑48 и ↓7+41
Комментарии195

Git: исправление ошибок и наведение порядка в коммитах

Время на прочтение4 мин
Количество просмотров34K
Ошибка в коммите… Как её исправить? Беспорядок в истории коммитов… Как привести всё в пристойный вид? Автор статьи, перевод которой мы публикуем сегодня, говорит, что она написана специально для тех, кто задавался такими вопросами. По его словам, изучив методики работы с Git, представленные здесь, можно значительно продвинуться по пути освоения Git.


Предполагается, что читатель этой статьи уже знаком с основами Git. Если это не так — сначала рекомендуется освоить базу, например, воспользовавшись этим материалом.
Читать дальше →
Всего голосов 55: ↑39 и ↓16+23
Комментарии6

Руководство по Node.js, часть 7: асинхронное программирование

Время на прочтение14 мин
Количество просмотров48K
Сегодня, в переводе седьмой части руководства по Node.js, мы поговорим об асинхронном программировании, рассмотрим такие вопросы, как использование коллбэков, промисов и конструкции async/await, обсудим работу с событиями.



Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии31
1
23 ...

Информация

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