Pull to refresh
12
0
Александр Миленко @Alvein

User

Send message

Зачем нужен containerd и почему его отделили от Docker

Reading time4 min
Views68K
В середине марта стало известно, что компания Docker предложила свой проект containerd независимому фонду Cloud Native Computing Foundation (кстати, произошло это одновременно с rkt от CoreOS). Событие последовало за обещанием компании, данным в декабре прошлого года, когда containerd был официально отделён от Docker Engine. Что же это за компонент и зачем его отделили?



Как устроен containerd


containerd — это бывшая часть Docker, а ныне самостоятельное решение, реализующее исполняемую среду для запуска контейнеров. При его создании, как утверждают разработчики, они стремились к простоте, надёжности и портируемости.
Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments0

+500 бесплатных инструментов для запуска вашего стартапа в 2017 году

Reading time40 min
Views155K


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

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

Итак, мы нашли в интернете бесплатные и условно-бесплатные инструменты для роста вашего бизнеса. Когда они дадут вам желаемый результат, вы можете оформить платную подписку.
Читать дальше →
Total votes 74: ↑60 and ↓14+46
Comments26

Самые полезные приёмы работы в командной строке Linux

Reading time5 min
Views156K
Каждый, кто пользуется командной строкой Linux, встречался со списками полезных советов. Каждый знает, что повседневные дела вполне можно выполнять эффективнее, да только вот одно лишь это знание, не подкреплённое практикой, никому не приносит пользы.

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

image

Перед вами – небольшой список полезных приёмов работы с командной строкой Linux. С некоторыми из них вы, возможно, уже знакомы, но успели их позабыть. А кое-что вполне может оказаться приятной находкой даже для знатоков. Хочется надеяться, что некоторые из них будут вам полезны и превратятся из «списка» в живые команды, которыми вы будете пользоваться каждый день.
Читать дальше →
Total votes 146: ↑130 and ↓16+114
Comments149

Microservices. Как правильно делать и когда применять?

Reading time19 min
Views70K



Автор: Вячеслав Михайлов



Монолитные приложения и их проблемы



Все прекрасно знают, что такое монолитное приложение: все мы делали такие двух- или трехслойные приложения с классической архитектурой:





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





Так или иначе, по мере роста и развития приложения, вы сталкиваетесь с проблемами монолитных архитектур:



  • сложность системы постоянно растет;
  • поддерживать ее все сложнее и сложнее;
  • разобраться в ней трудно — особенно если система переходила из поколения в поколение, логика забывалась, люди уходили и приходили, а комментариев и тестов нет);
  • много ошибок;
  • мало тестов — монолит не разобрать и не протестировать, поэтому обычно есть только UI-тесты, поддержка которых обычно занимает много времени;
  • дорого вносить изменения;
  • застревание на технологиях (например, я работал в компании, где с 2003 г. технологии до сих пор не изменились).


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


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

Серия видеоуроков по Git для новичков

Reading time1 min
Views114K
Скорее всего, если вас привлекло название статьи, то вы начинаете свой путь знакомства с системой контроля версий Git. В данной статье я приведу 10+ видео о пошаговом вхождении в контроль версии используя Git. Данного курса будет вполне чем достаточно для работы с такими популярными сервисами как GitHub и Bitbucket.

Однажды мой знакомый, который только начинал свой путь в ИТ кинул мне данный мемчик что слева, с вопросом "А чем плохо то?", поэтому чтобы понимать данную шутку и уметь работать с самым популярным на сегодня VCS (Version Control System) рекомендую к ознакомлению серии видеоуроков, которую я привел ниже.
Читать дальше →
Total votes 58: ↑49 and ↓9+40
Comments43

Паттерны проектирования, взгляд iOS разработчика. Часть 0. Синглтон-Одиночка

Reading time6 min
Views35K
Я почув і забув.
Я записав і запам'ятав.
Я зробив і зрозумів.
Я навчив іншого, тепер я майстер.
(В. В. Бублик)


Небольшое вступление.


Я не зря вынес в начало поста цитату на украинском языке. Дело в том, что именно эти слова я услышал от своего преподавателя программирования на втором курсе университета, и именно в таком виде я вспоминаю эти слова до сих пор. Как вы можете догадаться, эта цитата является отсылкой к высказыванию Конфуция, но в ней есть очень важное дополнение о достижении мастерства.


И именно эти слова и сподвигли меня на написание данной серии постов. Дело в том, что я — начинающий iOS разработчик, и я очень хочу разобраться в паттернах проектирования. И я не придумал лучшего способа, чем взять книгу "Паттерны проектирования" Эрика и Элизабет Фримен, и написать примеры каждого паттерна на Objective-C и Swift. Таким образом я смогу лучше понять суть каждого паттерна, а также особенности обоих языков.


Содержание:


Часть 0. Синглтон-Одиночка
Часть 1. Стратегия
Часть 2. Наблюдатель


Итак, начнем с самого простого на мой взгляд паттерна.


Одиночка, он же - синглтон
Total votes 31: ↑22 and ↓9+13
Comments33

Python: коллекции, часть 4/4: Все о выражениях-генераторах, генераторах списков, множеств и словарей

Reading time17 min
Views180K
Часть 1 Часть 2 Часть 3 Часть 4
imageЗаключительная часть моего цикла, посещенного работе с коллекциями. Данная статья самостоятельная, может изучаться и без предварительного изучения предыдущих.

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

imageБудут рассмотрены: выражения-генераторы, генераторы списка, словаря и множества, вложенные генераторы (5 вариантов), работа с enumerate(), range().
А также: классификация и терминология, синтаксис, аналоги в виде циклов и примеры применения.

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

Оглавление:


1. Определения и классификация.
2. Синтаксис.
3. Аналоги в виде цикла for и в виде функций.
4. Выражения-генераторы.
5. Генерация стандартных коллекций.
6. Периодичность и частичный перебор.
7. Вложенные циклы и генераторы.
8. Использование range().
9. Приложение 1. Дополнительные примеры.
10. Приложение 2. Ссылки по теме.
Изучаем детали, иллюстрации и примеры
Total votes 22: ↑21 and ↓1+20
Comments45

Паттерны проектирования, взгляд iOS разработчика. Часть 1. Стратегия

Reading time4 min
Views15K

Содержание:


Часть 0. Синглтон-Одиночка
Часть 1. Стратегия
Часть 2. Наблюдатель


Напомню, что в этой серии статей, я разбираю книгу "Паттерны проектирования" Эрика и Элизабет Фримен. И сегодня мы изучим паттерн "Стратегия". Поехали.


Откуда растут ноги (и крылья)


Авторы книги рассказывают нам историю о создании приложения SimUDuck. Начнем с реализации начального состояния приложения: у нас есть абстрактный класс Duck и два его наследника: MallardDuck и RedheadDuck. Тут же мы сталкиваемся с первой сложностью: в Objective-C и Swift нет абстрактных классов.


Выходим из ситуации...
Total votes 14: ↑13 and ↓1+12
Comments6

*aaS-словарь: 50 материалов на тему ИТ-терминологии

Reading time6 min
Views7.9K
На рынке облачных услуг появилось очень большое число различных аббревиатур, обозначающих сервисы, которые сегодня предлагают облачные провайдеры — начиная c IaaS и заканчивая экзотическими AIaaS, DBaaS и RaaS. Поэтому мы решили собрать несколько материалов с Хабра и других источников и разбили статьи на категории по названиям технологий.

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

Внедрение Docker для небольшого проекта в Production

Reading time5 min
Views27K
image

Эта статья посвящена всем, кто еще думает, а стоит ли мне заморачиваться с данной технологией имея не большую виртуалку на одном из известных хостеров и что в итоге мне это даст.
Тем кому это интересно добро пожаловать под кат.
Читать дальше →
Total votes 34: ↑30 and ↓4+26
Comments13

Внедрение Docker для небольшого проекта в Production, часть 2

Reading time6 min
Views17K
image

Часть 1

В первой части мы подготовили нашу операционную систему для использования Docker контейнеров.

После того как мы выполнили перезагрузку, мы увидим приглашения к авторизации, но с консоли сервера сделать это будет не возможно, по той причине что авторизация в системе возможна лишь по ключу. А по умолчанию пользователь core не имеет пароля. Конечно его можно установить используя команду:

sudo passwd core
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments9

Как сделать новый Trello и продать его за 425 млн. долларов: почему компания Atlassian выложила такую сумму

Reading time8 min
Views32K
Atlassian, австралийская компания, специализирующаяся на инструментах для управления разработкой программного обеспечения, приобрела сервис Trello за 425 млн. долларов. Причина: дальнейшее продвижение Trello вело к гибели Atlassian.
image

Итак, как сделать новый Trello и разбогатеть на этом? Но, конечно, не создавая клона Trello. Почему? Trello — классический пример подрывной инновации. Когда речь идёт о подрывной инновации, инициатор получает всё. Компания Atlassian приобрела Trello за 425 млн. долларов не из-за бренда или пользовательской базы этого сервиса, а из-за опасности, которую Trello породил для будущего этой компании. По этой же причине Гугл и другие компании делают аналогичные приобретения. Если желаете сделать стартап на 400 млн. долларов, разработайте что-нибудь простое. Эта статья объяснит почему!
Читать дальше →
Total votes 55: ↑48 and ↓7+41
Comments45

Чистая архитектура в Python: пошаговая демонстрация. Часть 4

Reading time10 min
Views14K

Содержание

Сценарии (часть 3)


Git tag: Step09


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


Давайте изменим тест в файле tests/use_cases/test_storageroom_list_use_case.py и добавим ещё 2 теста. Полученный набор тестов (после фикстуры domain_storagerooms) выглядит следующим образом:

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

Как ООО заплатить в 133 раза меньше налогов

Reading time9 min
Views81K

Тема, которую сегодня хотелось бы осветить, довольно сложная и объёмная, поэтому пришлось потрудиться, чтобы представить её в более-менее наглядном и понятном виде. Те, кто доберётся до конца статьи, узнают ответ на вопрос в заголовке. Поверьте, там так оно и есть.
Читать дальше →
Total votes 37: ↑33 and ↓4+29
Comments12

Что ловить в карьере ИТ-архитектора: ожидания VS реальность

Reading time8 min
Views44K
Привет, Хабр.

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

Я собрала свой опыт и опыт коллег в пост в формате «ожидание/реальность». Такой формат мне видится наиболее полезным с точки зрения работы с ожиданиями относительно профессии ИТ-архитектора – часто среди айтишников эти ожидания либо не совсем верны, либо завышены. Много тонких моментов становятся очевидны только при полном погружении в профессию. Лучше узнать о них «на берегу» и поразмышлять, сможете ли вы с ними мириться. Хочется думать, что мои заметки будут полезными для других айтишников, которые намереваются переквалифицироваться в ИТ-архитекторы.


Читать дальше →
Total votes 31: ↑26 and ↓5+21
Comments53

Чистая архитектура в Python: пошаговая демонстрация. Часть 3

Reading time10 min
Views17K

Содержание

Сценарии (часть 2)


Git tag: Step06


Теперь, когда мы реализовали объекты запроса и ответа, добавляем их. Помещаем в файл tests/use_cases/test_storageroom_list_use_case.py следующий код:

Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments0

Python: коллекции, часть 3/4: объединение коллекций, добавление и удаление элементов

Reading time6 min
Views69K
Часть 1 Часть 2 Часть 3 Часть 4
imageПродолжим изучать общие принципы работы со стандартными коллекциями (модуль collections в ней не рассматривается) Python. Будут рассматриваться способы объединения и обновления коллекций с формированием новой или изменением исходной, а также способы добавлять и удалять элементы в изменяемые коллекции.

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

Оглавление:


  1. Объединение строк, кортежей, списков, словарей без изменения исходных.
  2. Объединение множеств без изменения исходных.
  3. Объединение списка, словаря и изменяемого множества с изменением исходной коллекции.
  4. Добавление и удаление элементов изменяемых коллекций.
  5. Особенности работы с изменяемой и не изменяемой коллекцией.
Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments24

Как ИП сэкономить на налогах в 13,3 раз

Reading time7 min
Views63K

Если вы не торопитесь легализовать свою предпринимательскую деятельность только потому, что налоги ИП кажутся вам неподъемным бременем, то вы просто не умеете их готовить. Разобраться в основных нюансах систем налогообложения стоит уже ради экономии собственных денег. А сэкономленные деньги, как известно, ничуть не хуже заработанных. Так что, немного терпения, и вы станете чуть-чуть богаче.
Читать дальше →
Total votes 22: ↑18 and ↓4+14
Comments58

Python: коллекции, часть 1/4: классификация, общие подходы и методы, конвертация

Reading time7 min
Views306K
Коллекция в Python — программный объект (переменная-контейнер), хранящая набор значений одного или различных типов, позволяющий обращаться к этим значениям, а также применять специальные функции и методы, зависящие от типа коллекции.

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

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

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

Будем рассматривать стандартные встроенные коллекционные типы данных в Python: список (list), кортеж (tuple), строку (string), множества (set, frozenset), словарь (dict). Коллекции из модуля collections рассматриваться не будут, хотя многое из статьи должно быть применимым и при работе с ними.

ОГЛАВЛЕНИЕ:


  1. Классификация коллекций;
  2. Общие подходы к работе с коллекциями;
  3. Общие методы для части коллекций;
  4. Конвертирование коллекций.
Читать дальше →
Total votes 38: ↑38 and ↓0+38
Comments27

Чистая архитектура в Python: пошаговая демонстрация. Часть 2

Reading time7 min
Views29K

Содержание

Доменные модели


Git tag: Step02

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

Раз мы следуем методологии TDD, то первое, что мы напишем, это тесты. Создадим файл tests/domain/test_storageroom.py и поместим внутри него этот код:
Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments14
1
23 ...

Information

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