Pull to refresh
1
0
Александр Медченко @DJBlend

Пользователь

Send message

Изучаем Docker, часть 1: основы

Reading time6 min
Views594K
Технологии контейнеризации приложений нашли широкое применение в сферах разработки ПО и анализа данных. Эти технологии помогают сделать приложения более безопасными, облегчают их развёртывание и улучшают возможности по их масштабированию. Рост и развитие технологий контейнеризации можно считать одним из важнейших трендов современности.

Docker — это платформа, которая предназначена для разработки, развёртывания и запуска приложений в контейнерах. Слово «Docker» в последнее время стало чем-то вроде синонима слова «контейнеризация». И если вы ещё не пользуетесь Docker, но при этом работаете или собираетесь работать в сферах разработки приложений или анализа данных, то Docker — это то, с чем вы непременно встретитесь в будущем.

Часть 1: основы
Часть 2: термины и концепции
Часть 3: файлы Dockerfile
Часть 4: уменьшение размеров образов и ускорение их сборки
Часть 5: команды
Часть 6: работа с данными

image

Если вы пока не знаете о том, что такое Docker, сейчас у вас есть шанс сделать первый шаг к пониманию этой платформы. А именно, освоив этот материал, вы разберётесь с основами Docker и попутно приготовите пиццу.
Читать дальше →
Total votes 62: ↑52 and ↓10+42
Comments26

Автоматически сгенерированные пароли в iOS 12

Reading time6 min
Views6K
Если в вашем приложении есть функция регистрации, включающая в себя возможность или необходимость ввода новых имени пользователя и пароля, скорее всего, вас заинтересует нововведение в «iOS 12», которое я хотел бы обрисовать. Это сервис, который придумывает новые пароли для пользователя, автоматически подставляет их в нужные поля и безопасно хранит в «Keychain».
Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments0

Открытый вебинар «Порядок выполнения запроса SELECT и план запроса в MS SQL Server»

Reading time5 min
Views28K
И снова привет!

Коллеги, в последний день января мы запускаем курс «MS SQL Server разработчик», в связи с чем у нас прошёл тематический открытый урок. На нём мы поговорили о том, как MS SQL Server выполняет запрос SELECT, обсудили, в каком порядке и что анализируется, а также немного погрузились в чтение плана запроса.

Преподаватель — Кристина Кучерова, архитектор модели данных в Сбербанке России.

Total votes 27: ↑24 and ↓3+21
Comments10

Ограничение прав локального пользователя в Linux до минимума

Reading time5 min
Views40K
Котик Как то раз появилась следующая задача: создать локального пользователя в ОС Linux, с ограниченным доступом к папкам и файлам, включая не только редактирование, но и просмотр, а также возможность использовать только разрешенные утилиты. Предусматривается только локальный доступ, сетевого доступа нет.

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

  • ограничения доступа через сетевые службы ssh, sftp (не подошло)
  • разграничение прав доступа самой операционной системой linux (не подошло, хотелось бы универсальное решение)
  • использование chroot (не подошло)
  • использование сторонних утилит, например SELinux (не подошло, усложняет систему).

В результате поиска, был найден встроенный механизм ограничения возможностей пользователя внутри оболочки bash, он называется Restricted Shell или rbash.
Читать дальше →
Total votes 43: ↑30 and ↓13+17
Comments66

OpenVPN, о котором вы так мало знали

Reading time16 min
Views165K

OpenVPN, как много в этом слове. Мультиплатформенный, гибко настраиваемый, бесплатный VPN сервер с открытым исходным кодом, являющийся фактически стандартом "defacto" для организации доступа к внутренним корпоративным сетям. Большинство администраторов используют его с настройками по умолчанию или с типовыми конфигурациями широко описанными в разных HOW-TO. Но так ли прост OpenVPN, как он кажется на первый взгляд? В данной статье мы рассмотрим скрытые от глаз внутренние механизмы OpenVPN, которые кардинально меняют представление о его возможностях.

Читать дальше →
Total votes 63: ↑62 and ↓1+61
Comments18

Секретные хаки VS Code

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

image

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

Улучшаем внешний вид


1. Material Theme & Icons

Это прямо зверь в темах VS Code. Я думаю, что материальная тема наиболее близка к написанию ручкой на бумаге в редакторе (особенно при использовании неконтрастной темы). Ваш редактор выглядит практически гладко, переходя от встроенных инструментов к текстовому редактору.

Представьте себе эпическую тему в сочетании с эпическими иконами. Material Theme Icons — отличная альтернатива для замены значков VSCode по умолчанию. Большой каталог иконок плавно вписывается в тему, делая ее красивее. Это поможет легко найти файлы в проводнике.

image
Читать дальше →
Total votes 58: ↑47 and ↓11+36
Comments46

Как общаться в англоязычном офисе: 14 полезных идиом

Reading time6 min
Views39K
image

На Хабре в последние годы публикуется довольно много статей о переезде, в том числе в США и Великобританию. Обычно в таких материалах рассказывают о поиске работы и визовых вопросах, но не так много внимания уделяется дальнейшей интеграции, в том числе в рабочий коллектив.

Команда сервиса Textly опубликовала в своем блоге подборку английских идиом, которые часто используются в офисных коммуникациях. Я решила подготовить перевод этого полезного материала
Читать дальше →
Total votes 34: ↑28 and ↓6+22
Comments49

Как взять сетевую инфраструктуру под свой контроль. Глава вторая. Чистка и документирование

Reading time8 min
Views26K
Эта статья является второй в цикле статей «Как взять сетевую инфраструктуру под свой контроль». Содержание всех статей цикла и ссылки можно найти здесь.

image

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

Сейчас мы не будем говорить об аудите безопасности – этому будет посвящена третья часть.

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

Идеальная ситуация – это когда

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

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

В худшем варианте у вас будет

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

Понятно, что ваша ситуация где-то между, но, к сожалению, на этой шкале лучше – хуже с большой вероятностью, вы будете находиться ближе к худшему концу.
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments7

Как взять сетевую инфраструктуру под свой контроль. Глава первая. Удержание

Reading time8 min
Views22K
Эта статья является первой в цикле статей «Как взять сетевую инфраструктуру под свой контроль». Содержание всех статей цикла и ссылки можно найти здесь.

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

Итак, начальные условия.

Вы на новом месте работы или у вас повышение или вы решили по-новому взглянуть на свои обязанности. Сеть компании – это ваша зона ответственности. Для вас во многом это челендж и новое, что несколько оправдывает наставнический тон данной статьи :). Но, надеюсь, что статья также может быть полезна и любому сетевому инженеру.

Ваша первая стратегическая цель – научиться противостоять энтропии и удержать уровень предоставляемого сервиса.

Многие описанные ниже задачи могут быть решены различными средствами. Я намеренно не поднимаю тему технической реализации, т.к. в принципе часто не так важно, как вы решили ту или иную задачу, а важно то, как вы этим пользуетесь и пользуетесь ли вообще. Мало толку, например, от вашей профессионально выстроенной системы мониторинга, если вы туда не смотрите и не реагируете на алерты.
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments1

Сам себе devops или настраиваем Nginx прокси для Apache Tomcat на Ubuntu за 5 минут c https и firewall'ом

Reading time3 min
Views25K


Я не админ, но иногда возникают задачи, которые проще (и интереснее) решать самому чем кому-то делегировать.

Изредка у нас появляется необходимость «поднять» servlet контейнер (чаще всего Apache Tomcat) и настроить для него проксирование, ssl termination (а проще говоря https) и все это прикрыть firewall'ом (оставив наружу только ssh и http/https).

Так получилось, что за последнюю неделю я эту задачу решал трижды (так стали звезды, а до этого — года два назад) и этот опыт трансформировался в сей небольшой опус.
Читать дальше →
Total votes 32: ↑23 and ↓9+14
Comments27

Вопросы с собеседования на должность «C# Developer»

Reading time2 min
Views5.8K
  1. Name ten c# keywords.
  2. What is a 'static' class?
  3. What is difference between overloading and overriding?
  4. Is multiple inheritance supported in .Net?
  5. Class inherits from two interfaces containing methods with the same signature. Is it possible to provide different implementations for these methods?
  6. What can be a root reference?
  7. How 'System.String' class differs from most of other classes?
  8. Will a 'finally' block be executed if there was no exception thrown?
  9. What is a satellite assembly?
  10. How 'protected' access modifier affects visibility?
  11. What does keyword 'mutable'?
  12. Can multiple catch blocks be executed?
  13. What does operator 'as' do?
  14. What does keyword 'final'?
  15. Can different access modifiers be applied on the getter and setter of a property?
  16. Can a class be prevented from being inherited?
  17. What is event?
  18. What is the difference between event and delegate?
  19. Are events synchronous or asynchronous?
  20. What does keyword 'safe'?
  21. Can interface members be private?
  22. What does keyword 'in'?
  23. What is the advantage of using 'System.Text.StringBuilder' class over 'System.String'?
  24. What is special about the declaration of relational operators?
  25. How 'public internal' access modifier affects visibility?
  26. Can a local variable get garbage collected before it becomes out-of-scope?
  27. What implementations of serialization are built in FCL? Where are they used?
  28. How 'protected internal' access modifier affects visibility?
  29. Can 'break' exit a finally block?
  30. How to apply attribute to method return value?
  31. What is the difference between C# class finalizer and C# class destructor?
  32. What is purpose of 'IDisposable' interface?
  33. Can an array be resized at runtime?
  34. Does the size of an array need to be defined at compile time?
  35. Can a destructor have access modifiers?
  36. What is smallest integer type to represent number not greater than 40 000?
  37. What do keywords 'sizeof' and 'typeof'?
  38. What is differece between 'sizeof' and 'Marshal.SizeOf'?
  39. What is array rank?
  40. What does keyword 'stackalloc'?
  41. What encoding uses 'System.String' class?
  42. What is boxing and unboxing?
  43. What is reflection?
  44. What is struct?
  45. What is multicast delegate?
  46. Does C# have “friendship”?
  47. What is the 'using' statement for?
  48. Can a struct have methods?
  49. Can a struct be inherited?
  50. Why do most event handlers use signature 'void(object, EventArgsDerivative)'?
Наблюдавшиеся результаты: от 12 до 30 правильных ответов.
Total votes 38: ↑23 and ↓15+8
Comments120

Jira DataCenter — что это? Как работает? Как развернуть?

Reading time9 min
Views16K

Введение


С распространением философии Agile российские IT-специалисты с каждым годом накапливают все больше экспертизы и компетенций в области настройки и управления продуктами для команд разработчиков, самым популярным из которых до сих пор остается Jira. Однако работа с самой «старшей», производительной и высокодоступной ее версией — Jira Data Center — все еще вызывает очень много вопросов. В этом посте я расскажу о некоторых принципах и механизмах работы Jira DataCenter, которые мы применяем на практике. Начну с рассказа о структуре кластера Jira.
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments12

Компиляция и запуск C# и Blazor внутри браузера

Reading time5 min
Views16K

Введение



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


Microsoft не стоит на месте и активно пытается портировать .NET в WebAssembly. Как один из результатов мы получили новый фреймворк для клиенской разработки — Blazor. Пока не совсем очевидно, сможет ли Blazor за счет WebAssembly быть быстрее современных JS — фреймворков типа React, Angular, Vue. Но он точно имеет большое преимущество — разработка на C#, а так же весь мир .NET Core может быть использован внутри приложения.

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

Программирование&Музыка: понимаем и пишем VSTi синтезатор на C# WPF. Часть 1

Reading time26 min
Views51K

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


Я планирую несколько статей, в которых будет пошагово рассказано, как написать свой VST плагин/инструмент: программирование осциллятора, частотного фильтра, различных эффектов и модуляции параметров. Упор будет сделан на практику, объяснение программисту простым языком, как же все это работает. Теорию (суровые выводы и доказательства) обойдем стороной (естественно, будут ссылки на статьи и книги).


Обычно плагины пишутся на C++ (кроссплатформенность, возможность эффективно реализовать алгоритмы), но я решил выбрать более подходящий для меня язык — C#; сфокусироваться на изучении самого синтезатора, алгоритмов, а не технических деталей программирования. Для создания красивого интерфейса я использовал WPF. Возможность использования архитектуры .NET дала возможность библиотека-обертка VST. NET.


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



Предстоит нелегкий путь, если вы готовы — добро пожаловать под кат.


Total votes 55: ↑54 and ↓1+53
Comments20

Мониторим клиентские ПК в Microsoft AD с помощью Zabbix. Часть 1 — Автоустановка

Reading time9 min
Views31K
Имеется несколько сотен клиентских машин на базе ОС windows 7 в домене microsoft AD, хочется их мониторить, и помимо обычных cpu, mem, disk и т. п. неплохо было бы получать информацию о состоянии smart дисков, информацию с usb ибп, при этом все должно устанавливаться автоматически, и в случае необходимости обновляться. Про шаблоны, настройки и alert скрипт на сервере я напишу позже, пока займемся подготовкой скрипта на powershell для установки агентов. На текущий момент актуальная версия zabbix — 3.x.
Читать дальше →
Total votes 22: ↑21 and ↓1+20
Comments22

Настройка PhpStorm для вёрстки на ОС Windows

Reading time16 min
Views183K

Добрый день


Так сложилось, что возникла необходимость подготовить единую рабочую среду (workflow) для всех верстальщиков в группе на ОС Windows. Основная цель — это в минимальные сроки передать минимум необходимых знаний всем участникам группы. Основная проблема была в том, что многие не знакомы с unix-системами и понятия не имеют, как завести тот же SASS на ОС Windows. Поэтому было принято решение составить ознакомительную статью (пошаговую инструкцию) по настройке рабочей среды.

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

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

Итак начнём!
Читать дальше →
Total votes 17: ↑13 and ↓4+9
Comments35

Полезные дополнения к ReSharper

Reading time3 min
Views18K


Всем привет!

Как я заметил, немало людей использует ReSharper, однако полностью игнорируют его расширения (плагины). В этой статье я опишу те из них, которые показались мне полезными.
Названия расширений кликабельны и ведут на их детальное описание.
Читать про плагины
Total votes 24: ↑18 and ↓6+12
Comments12

Отправляем сообщения в Telegram из C#

Reading time2 min
Views96K
TLSharp rocks!

С# — развитый язык с большим количеством библиотек, но среди них нет ни одной работающей реализации Telegram API. Эту ситуацию я хочу исправить с помощью своей небольшой библиотеки TLSharp. В статье будет много кода и один котик.
Читать дальше →
Total votes 40: ↑33 and ↓7+26
Comments12

Автоматизация кадровых изменений на PowerShell

Reading time10 min
Views29K
imageЭта статья посвящена автоматизации операций по созданию, перемещению и увольнению людей в соответствии с кадровыми изменениями, сделанными в 1С.

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

В нашей компании после заведения пользователя в 1C создается CSV файл с данными, пример ниже:
document type userName FIO Department Department
прием на работу USERtester1 Иванов Иван Иванович Диспонент Отдел диспозиции и оформления документов
перемещение USERtester2 Петров Иван Иванович Менеджер по пролонгации Отдел кредитования и страхования
увольнение USERtester3 Сидоров Иван Иванович Менеджер по пролонгации Отдел кредитования и страхования

Скрипт содержит три функции (usrcreate; usrmove; usrdelete) в соответствии с типами операций:
Читать дальше →
Total votes 16: ↑12 and ↓4+8
Comments31

Подробно о Xamarin

Reading time12 min
Views444K
Вы неплохо владеете языком C# и платформой .NET в целом? Вам надоело стоять в стороне и смотреть, как кто-то другой пишет крутые мобильные приложения вместо вас? У меня есть для вас кое-что интересное! То, что поможет вам изменить сложившуюся ситуацию и позволит писать отличные мобильные приложения, не требуя отдельного изучения Objective-C и Java. Я расскажу вам о продукте Xamarin. Подробно и правдиво.

Что это?



Xamarin — это фреймворк для кроссплатформенной разработки мобильных приложений (iOS, Android, Windows Phone) с использованием языка C#. Идея очень простая. Вы пишете код на своем любимом языке, с применением всех привычных для вас языковых фич типо LINQ, лямбда-выражений, Generic`ов и async`ов. При этом вы имеете полный доступ ко всем возможностям SDK платформы и родному механизму создания UI, получая на выходе приложение, которое, строго говоря, ничем не отличается от нативных и (по крайней мере по заверениям) не уступает им в производительности.

Фреймворк состоит из нескольких основных частей:
Читать дальше
Total votes 83: ↑73 and ↓10+63
Comments63

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity