Search
Write a publication
Pull to refresh
6
0

DevOps

Send message

Как я изучал структуры данных и алгоритмы для собеседования в FAANG

Reading time12 min
Views68K
Продолжая тему устройства в FAANG, которую уже мы поднимали в нашем блоге, и специально к старту нового потока нашего курса по алгоритмам сегодня делюсь описанием пути Эско Обонга, старшего инженера-программиста Uber.

Эта история началась в 2015 году, когда стартап, к которому я присоединился как «сотрудник-основатель», закрылся через шесть месяцев после первого раунда инвестиций, и я искал новую работу. Первое моё собеседование было с  Codecademy, где на этапе телефонного разговора меня заверили: «Не волнуйтесь, мы не задаём сумасшедших вопросов об алгоритмах или что-то в этом роде». И я им поверил…


Приятного чтения!

5 диаграмм, необходимых для документирования архитектуры решений

Reading time8 min
Views95K

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

Читать далее

Docker Compose: упрощение работы с использованием Makefile

Reading time6 min
Views40K
Каждые несколько лет в индустрии разработки ПО происходит смена парадигмы. Одним из таких явлений можно признать рост интереса к концепции микросервисов. Хотя микросервисы — это технология не самая новая, лишь в последнее время её популярность буквально взлетела до небес.

Большие монолитные сервисы в наши дни заменяют независимыми автономными микросервисами. Микросервис можно рассматривать как приложение, которое служит единственной и очень специфической цели. Например — это может быть реляционная СУБД, Express-приложение, Solr-сервис.



В наши дни сложно представить себе разработку новой программной системы без применения микросервисов. А эта ситуация, в свою очередь, ведёт нас к платформе Docker.
Читать дальше →

Руководство по версиям и возможностям Java

Reading time12 min
Views175K

Здесь есть все, что вам нужно знать о различных версиях и функциях Java.



Java 8, Java 11, Java 13 — какая разница?


Вы можете использовать это руководство, чтобы найти и установить последнюю версию Java, понять различия между дистрибутивами Java (AdoptOpenJdk, OpenJDK, OracleJDK и т.д.), А также получить обзор возможностей языка Java, включая версии Java 8-13.


Примечание переводчика
09 апреля 2020 г. Марко опубликовал новую версию Руководства, в которую добавлено описание Java 14.
Перевод новой версии Руководства предлагается Вашему вниманию.
Читать дальше →

Борьба за ресурсы, часть 1: Основы Cgroups

Reading time5 min
Views31K
Компьютеры – это «железо». И сегодня мы вернулись в исходную точку, в том смысле, что сейчас редко найдешь физический хост, на котором выполняется одна единственная задача. Даже если на сервере крутится только одно приложение, оно, скорее всего, состоит из нескольких процессов, контейнеров или даже виртуальных машин (ВМ), и все они работают на одном сервере. Red Hat Enterprise Linux 7 неплохо справляется с распределением системных ресурсов в таких ситуациях, но по умолчанию ведет себя как добрая бабушка, угощающая внуков домашним пирогом и приговаривающая: «Всем поровну, всем поровну».



В теории принцип «всем поровну», конечно, прекрасен, но на практике некоторые процессы, контейнеры или ВМ оказываются важнее других, и, следовательно, должны получать больше.
Читать дальше: Основы Cgroups

Первый вебинар «Вечерней школы Слёрма по Кубернетес»: Что, где, когда и зачем?

Reading time6 min
Views2.4K

Вчера мы провели первый ознакомительный вебинар «Вечерней школы Слёрма».


Всего записалось на курс 5 015 человек. В первом вебинаре поучаствовало более 3 800 человек. Спасибо всем, кто был с нами. Это было здорово — особенно атмосфера в рабочем чате.


На ознакомительном вебинаре мы затронули такие вопросы:


  • Зачем разработчикам и администраторам изучать Кубернетес.
  • Какие задачи решает Кубернетес и какой ценой.
  • Как устроено обучение в Вечерней школе.
  • Что входит в бесплатную теорию и платную практику.

Запись вебинара и основные тезисы ниже:



GSM телефонный аппарат с дисковым номеронабирателем

Reading time5 min
Views19K
image

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

Проводная связь постепенно уходит в прошлое, и такие аппараты пылятся на полке. Мне всегда нравился внешний вид таких аппаратов. Не смог удержаться и два года назад решил переделать телефонный аппарат, который до сих пор работает, без сбоев.
Читать дальше →

Сотовый телефон с дисковым номеронабирателем

Reading time3 min
Views48K


Перевод статьи с сайта самодельщицы Джастин Хопт

Поскольку я получила неимоверное количество запросов от людей, желающих купить дисковый сотовый телефон, у себя на сайте я выложила набор для его сборки, где есть только всё самое «сложное» (напечатанный корпус с кнопками и плата); номеронабиратель и другие детали вам нужно будет искать самостоятельно.


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

Суть не в анахронизме. Я хотела показать, что можно получить вполне пригодный для использования сотовый телефон, максимально далеко отошедший от сенсорного экрана, и в некоторых случаях превосходящий его по функциональности. В каких же?
Читать дальше →

Оживляем тормозящий Samsung Galaxy TAB 2 WiFi

Reading time4 min
Views149K
Предлагаю Вашему вниманию свой рецепт оживления старого, тормозящего планшета и приведение его ПО в актуальное состояние.

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

Настала очередь уборки гаража, где я и нашел Samsung Galaxy Tab 2 7.0" P3110 (без слота сим карты). Ради интереса включил, он моргнул экраном и загрузился Android 4.1.

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

Топ-65 вопросов по SQL с собеседований, к которым вы должны подготовиться в 2019 году. Часть I

Reading time9 min
Views458K


Перевод статьи подготовлен для студентов курса «MS SQL Server разработчик»




Реляционные базы данных являются одними из наиболее часто используемых баз данных по сей день, и поэтому навыки работы с SQL для большинства должностей являются обязательными. В этой статье с вопросами по SQL с собеседований я познакомлю вас с наиболее часто задаваемыми вопросами по SQL (Structured Query Language — язык структурированных запросов). Эта статья является идеальным руководством для изучения всех концепций, связанных с SQL, Oracle, MS SQL Server и базой данных MySQL.

Читать дальше →

Чтобы пацанам было не стыдно показать

Reading time3 min
Views107K
Я стар и уже глуп, а у вас всё впереди, уважаемый программист. Но позвольте дать вам один совет, который наверняка поможет в вашей карьере – если, конечно, вы планируете остаться программистом.

Советы типа «писать красивый код», «хорошо комментировать свои доработки», «изучать современные фреймворки» — очень полезные, но, увы, второстепенные. Они идут прицепом к главному качеству программиста, которое надо в себе развивать.

Вот это главное качество: пытливый ум.
Читать дальше →

Шесть мифов о блокчейне и Биткойне, или Почему это не такая уж эффективная технология

Reading time9 min
Views207K
Автор статьи — Алексей Маланов, эксперт отдела развития антивирусных технологий «Лаборатории Касперского»

Неоднократно слышал мнение о том, что блокчейн — это очень круто, это прорыв, за ним будущее. Спешу вас разочаровать, если вы вдруг поверили в это.

Уточнение: в этом посте мы поговорим о том варианте реализации технологии блокчейн, который используется в криптовалюте Биткойн. Существуют другие применения и реализации блокчейна, в некоторых из них устранены какие-либо недостатки «блокчейна классического», но обычно они построены на одинаковых принципах.


Читать дальше →

WebRTC через Kurento: опыт тестирования и внедрения

Reading time8 min
Views13K

В этой статье я поделюсь опытом работы с технологией WebRTC и медиасервером Kurento на этапе тестирования и внедрения. Расскажу с какими проблемами я столкнулся и как их решил. Я не расскажу о том как разработать приложение с нуля, но приведу много полезных ссылок. Уверен, что мой рассказ будет полезен тем, кто собирается работать с WebRTC.
Читать дальше →

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

Reading time5 min
Views31K

Введение


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



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


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

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

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

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

Качества. Прямые руки, аккуратность, любовь к порядку.
Читать дальше →

Бесплатный облачный PHP-MySQL хостинг для небольшого сайта на основе Amazon AWS

Reading time8 min
Views87K
Данная инструкция не претендует на абсолютную точность, какую-либо новизну и предназначена для делающих самые первые шаги. Поэтому не судите особо строго.

Боевая задача.


Предположим нам хочется захостить небольшой проектик где-нибудь в надежном и не особо тормозящем месте. А поскольку сайт небольшой, то не будем заморачиваться и захотим от хостинга что-нибудь самое простое. Для наших целей вполне хватит PHP, MySQL и доступа по FTP.
Для решения этой задачи идеально подходит Веб сервис от Амазона в котором удивительным образом сочетается способность выдерживать большие нагрузки с бесплатным пакетом ресурсов на первый год после регистрации. В бесплатный пакет входит много чего, но в данный момент нас будут интересовать:
  • Виртуальный сервер в формате micro на основе Linux с доступом по SSH.
  • 30Гб места в Elastic Block Storage плюс 1Гб под бэкапы.
  • 15 Гб трафика в месяц.
  • Выделенный внешний IP адрес.

Причем все это при желании можно зарегистрировать и подготовить к работе за полчаса, но понадобится кредитная карта, которую примет Amazon (и снимет 2 доллара) и сотовый телефон под рукой (домашний не подойдет).

Читать дальше →

Компиляция программ с помощью Notepad++

Level of difficultyHard
Reading time17 min
Views61K

Компиляция программ при помощи текстового редактора на примере Notepad++




Цель статьи: Научиться компилировать программы из командной строки. Научиться компилировать из текстового редактора Notepad++ (вернее научиться писать скрипты и связывать их), создавать скрипты и макросы, устанавливать системные переменные.

Сам текстовый редактор ничего не компилирует и не запускает. Также как и IDE не компилирует. Компиляция происходит с помощью компилятора. Выполнение производится некоторой средой выполнения. Это может быть интерпретатор команд или среда выполнения.
При компиляции программы на C# упаковываются в сборки. Код на языке IL автоматически преобразуется в код для конкретного процессора. Что касается языка java, то скомпилированные файлы .class выполняется виртуальной машиной Java. Файлы .java компилируются в бай-код, то есть некоторый промежуточный код. Компиляция в exe файл тоже производится компилятором.

.EXE (сокр. англ. executable — исполнимый) — расширение исполняемых файлов, применяемое в операционных системах DOS, Windows, Symbian OS, OS/2 и в некоторых других, соответствующее ряду форматов. Процесс получения exe файла состоит из следующих этапов: препроцессинг, ассемблирование, компилирование, линковка.

ОUT файлы — исполняемые файлы для UNIX-подобных операционных систем.
Файл может хранить исполняемый код, общую динамическую библиотеку или объектный код.

Терминология

Читать дальше →

Ортодоксальный Backend

Reading time14 min
Views21K


Современный backend разнообразен, но всё-таки подчиняется некоторым негласным правилам. Многие из нас, кто разрабатывает серверные приложения, сталкивается с общепринятыми подходами, такими как Clean Architecture, SOLID, Persistence Ignorance, Dependency Injection и прочими. Многие из атрибутов серверной разработки настолько заезжены, что не вызывают никаких вопросов и используются бездумно. О некоторых много говорят, но никогда не используют. Смысл остальных же либо неправильно интерпретирован, либо перевран. Статья рассказывает о том, как построить простую, совершенно типичную, архитектуру backend, которая не только может без какого-либо ущерба следовать заветам известных теоретиков программирования, но и в некоторой степени может их усовершенствовать.
Читать дальше →

План прокачки для получения профессии Data engineer

Reading time2 min
Views27K
Последние восемь лет я работаю руководителем проектов (не пишу код на работе), что естественно негативно влияет на мой технологический бекэнд. Я решил сократить своё технологическое отставание и получить профессию Data engineer. Основной навык Data engineer — способность разрабатывать, строить и поддерживать хранилища данных.

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

Разделы:

  • Алгоритмы и структуры данных. Ключевой раздел. Изучишь его — всё остальное тоже получится. Важно набить руку в написании кода и использовании основных структур и алгоритмов.
  • Базы и хранилища данных, Business Intelligence. От алгоритмов переходим в хранению и обработке данных.
  • Hadoop and Big Data. Когда база не входит на винчестер, или когда данные нужно анализировать, но Excel уже не может их загрузить начинаются большие данные. На мой взгляд, переходить к этому разделу нужно только после глубокого изучения двух предыдущих.
Читать дальше →

Zimbra наше всё

Reading time7 min
Views11K
Случилось тут как-то мне переносить это чудо с железной машины на виртуальную. Ситуация прям скажем удручающая — старый Debian с ядром 2 версии и Zimbra 6.0.4 Переезд планировался на CentOS 7 и ZImbra 8.8.

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

Итак давайте по порядку.
Читать дальше →

Опыт эксплуатации MySQL Master-Master — как пережить аварию датацентра

Reading time6 min
Views82K
Всем привет!

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

Говорить о MySQL Master-Master репликации — в контекстах высокой доступности и производительности — модно, но, к сожалению, многие не понимают ее сути и связанных с технологией серьезных ограничений.
Начнем с того, что в классическом MySQL «настоящей» Master-Master репликации — пока нет :-) Но если постараться, можно все таки просто и быстро настроить эффективную схему выживания при отказе одного датацентра и получить свою долю счастья.


Читать дальше →

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity