Pull to refresh
2
0
Send message

Основы HTTPS, TLS, SSL. Создание собственных X.509 сертификатов. Пример настройки TLSv1.2 в Spring Boot

Reading time10 min
Views87K

Привет, Хабр! В современном мире абсолютное большинство сайтов используют HTTPS (Google даже снижает рейтинг сайтов работающих по HTTP в поисковой выдаче), а подключение к различным системам происходит по протоколу TLS/SSL. Поэтому любой разработчик рано или поздно сталкивается с этими технологиями на практике. Данная статья призвана помочь разобраться, если вы совершенно не в курсе что это такое и как оно устроено. Мы разберем как работает соединение по протоколу TLS, как выпустить собственные сертификаты и настроем TLS в Spring Boot приложении. Поехали!

Читать далее
Total votes 16: ↑12 and ↓4+9
Comments12

Awesome-лист своими руками, или GitHub вместо блокнота

Reading time13 min
Views12K


Привет, Хабр! Наверное, у каждого из нас есть такой файлик, куда мы припрятываем что-то полезное и интересное для себя. Какие-то ссылки на статьи, книги, репозитории, мануалы. Это могут быть закладки в браузере или даже просто открытые вкладки, оставленные на потом. Со временем все это разбухает, ссылки перестают открываться, а большая часть материалов просто устаревает.


А что если поделиться этой годнотой с сообществом и выложить этот файлик на гитхаб? Тогда ваши труды могут быть полезны еще кому-нибудь, а поддерживать актуальность можно совместно, принимая обновления от желающих через старые добрые PR'ы. Именно для этого предназначен проект Awesome lists. Он входит в ТОП-10 репозиториев гитхаба, обладает 138К звезд, и ссылка на ваши труды может оказаться прямо в его корневом README, что привлечет огромную аудиторию к вашему творчеству. Правда, для этого придется немного постараться. О моем опыте таких стараний хочу поделиться с вами.


Меня зовут Максим Грамин. В КРОК занимаюсь Java-разработкой и исследованиями в области БД. В этом посте я расскажу, что такое Awesome Lists и как сделать свой настоящий официальный awesome-репо.

Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments6

10 шагов к успешному Python-проекту

Reading time9 min
Views34K
Материал, перевод которого мы сегодня публикуем, посвящён инструментам, которые позволяют оснащать Python-проекты средствами форматирования кода, тестирования, непрерывной интеграции и анализа зависимостей. Это помогает ускорить процесс разработки, способствует повышению качества, единообразия и безопасности кода. Предполагается, что у читателя этого материала уже есть некоторый опыт Python-разработки и проект на Python, с которым он, в ходе чтения, будет экспериментировать. Если такого проекта у вас нет — здесь можно узнать о том, как подготовить среду разработки и создать Python-пакет. Примеры, которые будут здесь приводиться, подготовлены с использованием macOS и Python 3.7.


Читать дальше →
Total votes 33: ↑30 and ↓3+27
Comments4

Про безопасные noVNC-консоли, автоскейлинг в Kubernetes, Haproxy в «Островке» и работу админов с программистами

Reading time4 min
Views4K


Выкладываем видеозаписи докладов с Selectel MeetUp: системное администрирование.

Небольшая предыстория


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

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

12 сентября прошла первая встреча в новом формате. Вместе со спикерами из «ВКонтакте», UseDesk, Studyworld обсудили состояние и перспективы клиентского сервиса в русском IT. На этом решили не останавливаться.

3 октября в Selectel прошел митап для системных администраторов. В этот раз пригласили спикеров из компаний Cogia.de, «Островок» и Digital Vision Labs. Говорили про Kubernetes, legacy code в современных системах и работе администраторов с другими отделами. Представьте ― Питер, вечер, дождь, а у нас полный конференц-зал сисадминов. Ну как здесь не воодушевиться? Вадим Исаканов на свое выступление вообще из Челябинска приехал.

Пока мы думаем над темой следующего митапа, под катом публикуем записи докладов.
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments0

Годные туториалы на YouTube

Reading time3 min
Views57K
На YouTube много бесплатных обучающих и курсов и туториалов.

image

Я веду freeCodeCamp, YouTube канал без рекламы. У нас есть полные видеокурсы и учебные пособия по многим популярным языкам программирования и фреймворкам (включая JavaScript, Python, Java, Ruby, C, C ++, Angular и не только).

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

В этой статье я перечисляю десять YouTube каналов, которые можно посмотреть, чтоб прокачаться в программировании. Расположение каналов — случайное.

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

Есть много отличных каналов, для которых у меня не хватило места в этом списке. Поделитесь своими находками в комментах.
Total votes 49: ↑41 and ↓8+33
Comments19

Один урок программирования

Reading time8 min
Views43K
На днях мне довелось провести практическое занятие по программированию для учеников десятого класса одного из харьковских лицеев. Шесть лет назад я читал курс программирования в политехе, но тогда на посвящение студентов в эту, не побоюсь сказать, науку у меня было целых два семестра времени на лекционные и лабораторные занятия. А здесь было всего от силы полтора часа, да и с таким юным контингентом я ещё не работал. «Ладно», сказал я себе. И приступил к подготовке. Мне дали несколько задач, которые можно было бы порешать со школьниками. Первая из них занимала аж 70 строк индусского кода. Подготовил своё решение из 10 строк. Думал, «Сначала дам одно решение, потом покажу другое». Ещё одну задачу переписал для того, чтобы сместить акценты с программистских особенностей в предметную область (задача была геометрическая). Третья задача была наиболее простой – один человек вводит с клавиатуры число, другой отгадывает. Неинтересно. Пусть лучше компьютер загадывает и даёт подсказки. Для каждой задачи придумал последовательность подачи материала. Когда пришло время, а школьники расселись за компьютеры, я их спросил: «Кто-нибудь из вас имеет опыт программирования? Какие-то языки программирования уже изучали?». Получив отрицательный ответ, мысленно сказал себе «Печально», отложил в сторону два листа с распечаткой кода из трёх и сделал заявление: «Ну, что ж… Тогда начнём программировать!».

Для кодеров данная статья, наверняка, интереса не представляет. Мой рассказ будет о методике преподавания в условиях ограниченного времени для людей с неокрепшей детской психикой на примере всего одного урока. Всех желающих приглашаю под кат!
Читать дальше →
Total votes 44: ↑39 and ↓5+34
Comments173

Нейрокурятник: часть 4 — итоговая модель и код на прод

Reading time10 min
Views13K
image

Типичный день в нейрокурятнике — куры часто еще и крутятся в гнезде

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

  • Точность предсказаний не менее 70-90%;
  • Raspberry pi в самом курятнике в идеале мог бы определять принадлежности фотографий к классам;
  • Нужно как минимум научиться отличать всех кур друг от друга. Программа максимум — также научиться считать яйца;

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

Статьи про нейрокурятник

Заголовок спойлера
  1. Вступление про обучение себя нейросетям
  2. Железо, софт и конфиг для наблюдения за курами
  3. Бот, который постит события из жизни кур — без нейросети
  4. Разметка датасетов
  5. Работающая модель для распознавания кур в курятнике
  6. Итог — работающий бот, распознающий кур в курятнике
Total votes 42: ↑40 and ↓2+38
Comments6

Использование mcabber через ssh на удаленном сервере с уведомлениями

Reading time3 min
Views2.7K
В этой статье я расскажу, как можно держать постоянно запущенным jabber-клиент mcabber на удаленном сервере и пользоваться им подключаясь к серверу по ssh. Также здесь будет описано, как можно реализовать уведомления о пришедших сообщениях.
Профиты от такой схемы следующие:
  • вы постоянно on-line
  • если вдруг рвется соединение не приходится перелогиниваться и терять (при неудачном раскладе) оффлайновые сообщения
  • логи хранятся в одном месте и доступны отовсюду где есть интернет
  • вы можете пользоваться mcabber с любого устройства, поддерживающего ssh, будь то мобила или веб-клиент
  • говорят, что ssh кушает меньше трафика, чем xmpp (не проверял)
Читать дальше →
Total votes 35: ↑31 and ↓4+27
Comments14

Ищем и скачиваем непопулярные и старые файлы в интернете

Reading time14 min
Views204K
Преимущественно медиафайлы. На полном серьезе, без шуток.

Введение

Бывает, случается так, что вы хотите скачать альбом 2007 года исполнителя, который кроме вас известен 3.5 людям, какой-нибудь испанский ска-панк или малопопулярный спидкор европейского происхождения. Находите BitTorrent-раздачу, ставите на закачку, быстро скачиваете 14.7%, и… все. Проходит день, неделя, месяц, а процент скачанного не увеличивается. Вы ищете этот альбом в поисковике, натыкаетесь на форумы, показывающие ссылки только после регистрации и 5 написанных сообщений, регистрируетесь, флудите в мертвых темах, вам открываются ссылки на файлообменники вроде rapidshare и megaupload, которые уже сто лет как умерли.

Попытка скачать хотя бы один файл
Увы, частая ситуация в попытке хоть что-то скачать

Такое случается. В последнее время, к сожалению, случается чаще: правообладатели и правоохранительные органы всерьез взялись за файлообмен; в прошлом году закрылись или были закрыты KickassTorrents, BlackCat Games, what.cd, btdigg, torrentz.eu, EX.ua, fs.to, torrents.net.ua, и еще куча других сайтов. И если поиск свежих рипов фильмов, сериалов, музыки, мультиков все еще не представляет большой проблемы, несмотря на многократно участившееся удаления со стороны правообладателей контента из поисковых систем, торрент-трекеров и файлообменников, то поиск и скачивание оригинала (DVD или Blu-Ray) фильмов и сериалов или просто ТВ-рипов 7-летней давности на не-английском и не-русском языке — не такая уж простая задача.
Читать дальше →
Total votes 215: ↑213 and ↓2+211
Comments74

Тяжелое расставание с Net-Tools

Reading time7 min
Views100K

Не секрет, что Net-Tools пора на почетную отставку. Да, многим админам и мне в том числе, до условного рефлекса Павлова знакомы команды ifconfig, route, netstat. На первый взгляд нет причин что-то менять, а лучшее как всегда враг хорошего.




Давайте узнаем почему Net-Tools уже не тот и как безболезненно с него перейти на iproute2 .

Читать дальше →
Total votes 32: ↑32 and ↓0+32
Comments40

Сказ о том как я свой REST фреймворк с веб-сокетами писал

Reading time14 min
Views22K
Эта статья посвящена очередному REST фреймворку (для Python 3), особенностью которого является использование веб-сокетов для обмена данными между клиентом и сервером. О том откуда пришла идея, с чем мне пришлось столкнулся при написании своей первой библиотеки для Python и что из этого в итоге получилось, я расскажу далее.


Для тех, кому интересна эта статья — пожалуйста, заходите под кат.
Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments34

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

Reading time4 min
Views38K
Сборник вредных советов, составленный по собственным ошибкам и ошибкам моих руководителей, а также руководителей друзей и знакомых.

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

<s>Идеальный</s> руководитель

  1. Не уважайте мнение экспертов. Хотя, какие там эксперты. Вы же их начальник, а значит и главный эксперт. Во всем! Ваше мнение самое верное! Ваш специалист, что-то предлагает? Нахал! Как он может?! Ведь вы лучше знаете как сделать! Высмейте его прилюдно и приведите убийственные аргументы, доказывающие, что его идея – плохая. Не хватает аргументов? – надавите авторитетом. Всегда найдутся разумные, думающие о своей карьере и лояльные бизнесу люди, которые вас поддержат.
Читать дальше →
Total votes 68: ↑56 and ↓12+44
Comments58

Подборка полезных слайдов про Linux

Reading time1 min
Views46K
Недавно мы опубликовали перевод журнала про инструменты отладки для Linux, а теперь предлагаем подборку полезных слайдов для начинающих Linuxоводов от того же автора.


Читать дальше →
Total votes 60: ↑55 and ↓5+50
Comments30

Эмуляция PMEM на серверах Intel

Reading time6 min
Views8K
Постоянная память (Persistent Memory, PMEM) – это быстрая память, обладающая возможностью хранить данные после отключения питания компьютера. Нередко её называют «Non-Volatile Random Access Memory» (NVRAM) – «энергонезависимой оперативной памятью», или просто «энергонезависимой памятью». Ещё одно наименование такой памяти – NVDIMM. Оно указывает на то, что в состав постоянной памяти входят модули традиционной оперативной памяти.


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

Исторически сложилось так, что приложения организуют данные с использованием двух уровней памяти. Первый – быстрая оперативная память, второй – сравнительно медленные накопители информации. Появление PMEM означает возникновение третьего уровня памяти, занимающего место между первым и вторым.
Читать дальше →
Total votes 28: ↑25 and ↓3+22
Comments0

DRP-план в ИТ-компании и проверка его работоспособности

Reading time4 min
Views14K
Проводим проверку работоспособности плана восстановления после аварии.



Все мы хотим надеяться, что ничего подобного никогда не произойдет.

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

Соответственно, DRP-план (disaster-recovery plan) должен помочь компании быстро выйти на предшествующий аварии рабочий уровень. Обычно в таком плане описываются действия сотрудников в случае аварии. При составлении такого плана цель обычно — сведение к минимуму последствий аварии с обеспечением возможности вернуть контроль над решением критически важных задач, используя заранее определенные ресурсы. Но план — планом, а будет ли он работать? Для проверки этого стоит провести «учебную тревогу».
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments2

Почему компании с хорошо описанными бизнес-процессами обречены на вымирание

Reading time3 min
Views16K


Маленькие компании работают на энтузиазме своих сотрудников. Каждый старается внести свою лепту в общее дело. И это не преувеличение… Но время идет, бизнес растёт и в компанию приходят новые люди, для которых главное не общее дело, а размер заработной платы. Само по себе это не плохо, если бы по причине патологической лени существенной части человечества, эти сотрудники не старались бы сократить выполняемый ими объем работы.

И тогда высшее руководство начинает формализацию деятельности. Определяются бизнес-процессы, составляются должностные инструкции, вводятся KPI…

А дальше все зависит от запаса прочности бизнеса. Если он есть, то компания проживет еще достаточно долго. Она постепенно будет терять рынок (что происходит с той же Microsoft), но сразу на дно не отправится. А вот вчерашний стартап без капиталла, уникальных продуктов и преданных поклонников тут же пойдёт кормить рыб.

Почему? Да потому что вся формализация на самом деле является отличной возможностью для бездельников прикрыть свою пятую точку при полном отсутствии результатов!

Не верите? Примеры в студию!
Читать дальше →
Total votes 53: ↑28 and ↓25+3
Comments92

Лекции Технотрека. Основы веб-разработки (весна 2016)

Reading time3 min
Views52K


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

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

В качестве инструментария студенты в ходе курса обзорно знакомятся с администрированием nginx, MySQL и Redis, разработкой на Django и использованием таких библиотек и продуктов, как Centrifugo, Gunicorn, Celery, Elasticsearch. Кроме того, разбираются основы верстки и работы CSS-фреймворками и JS-компонентами. Курс ведут Илья Стыценко (разработчик в подразделении внутренней информационной разработки) и Денис Исаев (руководитель группы программистов C/C++ в Почте Mail.Ru). Более подробно — под катом.
Total votes 44: ↑43 and ↓1+42
Comments9

Спикеры Linux Piter #2 отвечают

Reading time22 min
Views6.3K
Спикеры конференции Linux Piter #2, которая состоится 11-12 ноября 2016 года в Санкт-Петербурге, поделились с нами своим мнением о важных текущих изменениях в экосистеме Linux, и чего нам ждать в ближайшем будущем; рассказали, каким инструментарием они пользуются в работе, порекомендовали нам полезные ресурсы, блоги, сообщества, конференции по своей тематике, ну и, конечно, ответили на самый главный вопрос: «какими дистрибутивами они пользуются?».

image

Мы получили много ответов на нашу мини-анкету и решили все собрать в одной публикации, не разбивая полученный материал на несколько постов, тем более что читается эта статья на одном дыхании.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments3

Тестирование распределенных систем, — интервью с Андреем Сатариным, Яндекс

Reading time6 min
Views10K

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

Я пообщался со спикером конференции Heisenbug 2016 Moscow Андреем Сатариным (twitter.com/asatarin). Андрей участвовал в проектах по тестированию в Mail.ru, в Лаборатории Касперского, в Deutsche Bank, а сейчас тестирует распределенные системы в Яндексе. Статья будет полезна не только людям, которые занимаются тестированием, но и разработчикам. Если вы ни разу не касались вопроса тестирования распределенных систем, добро пожаловать под капот.

Андрей Сатарин:

… они убивают ноды прямо в рабочее время и разработчики наблюдают за...
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments0

Лекции Технотрека. 1 семестр. Разработка на Java (весна 2016)

Reading time3 min
Views36K
Продолжаем публикацию наших свежих образовательных курсов. За 14 лекций Технотрека вы получите необходимые навыки и опыт в области разработки на Java, узнаете синтаксис и основные библиотеки языка, начнете понимать объектно-ориентированный подход, сможете декомпозировать сложные задачи.

Курс ведут Рустам Кильдиев, Java/Scala-разработчик мобильного ПО, и Дмитрий Архангельский, инженер-разработчик в Одноклассниках.

Лекция 1. «Знакомство с платформой Java»



Вводное занятие, на котором кратко дается описание всего курса. Основная задача курса — не просто научить синтаксису, а дать практические навыки и понимание основ. Курс выстроен так, чтобы, выполняя небольшие задачи, написать проект «Бэкенд к мессенджеру».
Total votes 36: ↑34 and ↓2+32
Comments7
1
23 ...

Information

Rating
Does not participate
Registered
Activity