Как стать автором
Обновить
-1
Карма
0
Рейтинг
Агафонов Олег @JayDi

Программист

Просто о микросервисах

Время прочтения 11 мин
Просмотры 193K
Блог компании Райффайзен Банк Высокая производительность *Анализ и проектирование систем *Проектирование и рефакторинг *Микросервисы *

Вступление


Чуть ли не каждый второй, кто впервые сталкивается с MSA (Micro Service Architecture), на первых порах восклицает: «Да я эти микросервисы еще …надцать лет назад». Отчасти они правы. И я тоже был из этой самой половины, и не понимал — почему такой шум?



В самом деле! Ведь MSA — это тоже про разработку софта. Какие здесь могут быть революции? Все методики знакомы. В некоторых местах можно даже удивиться: «А разве бывает по-другому»? Фанаты Agile и DevOps тоже скажут, что это всё наше, родное.

Но всё же прошу вас набраться терпения и продолжить читать дальше.
Читать дальше →
Всего голосов 51: ↑41 и ↓10 +31
Комментарии 33

Best practices от Google по разработке Android приложений

Время прочтения 8 мин
Просмотры 44K
Разработка веб-сайтов *Разработка мобильных приложений *Разработка под Android *
Из песочницы
В данной статье я хотел бы вкратце рассказать про самые последние best practices от Google. Я постарался выделить самые основные моменты, чтобы читатель сразу мог понять, что именно какая-либо фича дает разработчику. Не удивляйтесь, если где-то повторяюсь. Конспектировал + добавлял от себя по ходу просмотров видео в www.youtube.com/channel/UCVHFbqXqoYvEWM1Ddxl0QDg

Также к каждому пункту приводятся все необходимые ссылки для более подробного ознакомления с конкретной best practice.
Читать дальше →
Всего голосов 32: ↑30 и ↓2 +28
Комментарии 18

Как я учил английский и программирование одновременно

Время прочтения 5 мин
Просмотры 82K
Разработка под iOS *Objective C *
Из песочницы
Шесть лет назад мне было 43 года, и я не умел программировать вообще. Ну, может немного на Бэйсике, который преподавали в институте, как вы понимаете, очень давно.

В книжном магазине попалась мне на глаза книга «Программирование для iPhone/iPad» и, будучи человеком любознательным, я решил попробовать. Купил книгу, MacBook Air (iPad у меня тогда уже был), установил XCode и начал с примеров из книги. Когда я получил общее представление о том, как что работает, мне захотелось сделать что-то полезное. Так как для программиста очень полезным, или скорее даже необходимым, является знание английского языка, я решил создать такое приложение.
Читать дальше →
Всего голосов 54: ↑51 и ↓3 +48
Комментарии 32

HP Software — современный подход к построению системы мониторинга ИТ и бизнес-сервисов

Время прочтения 17 мин
Просмотры 12K
Блог компании МУК Промышленное программирование *
Recovery mode


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

О том, как решение НР Software по аналитике позволяет выявить скрытые проблемы сети и бизнес-приложений и многом другом, под катом
Читать дальше →
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 0

IBM запускает 50 проектов для сообщества разработчиков Open Source

Время прочтения 4 мин
Просмотры 15K
Блог компании IBM Разработка веб-сайтов *Open source *
image

Корпорация IBM объявила о запуске новой платформы для разработчиков, где представлены передовые технологии с открытым исходным кодом. Кроме того, IBM запустит 50 проектов для сообщества разработчиков открытого программного обеспечения, целью которых станет ускорение внедрения сервисов на предприятиях и стимулирование нового класса инноваций в сфере мобильности и аналитики, также других быстрорастущих направлений.

developerWorks Open – облачная площадка, где разработчикам открыт доступ к последним решениям IBM, техническим знаниям и опыту компании. Кроме того, платформа позволяет взаимодействовать с глобальной сетью программистов для ускорения создания и реализации проектов. Разработчики смогут не только загрузить код, но и посетить блоги, посмотреть видеоматериалы, получить доступ к инструментам и методике, которые помогут им в работе. Благодаря платформе программисты смогут более оперативно создавать и внедрять приложения с открытым исходным кодом, которые отвечали бы различным бизнес-требованиям клиентов.
Читать дальше →
Всего голосов 19: ↑16 и ↓3 +13
Комментарии 0

SIP-регистрация, транк, софтфон и другие страшные слова облачных АТС

Время прочтения 4 мин
Просмотры 41K
Блог компании Voximplant Разработка систем связи *
Айти — необъятная отрасль знаний. Бывает, что пятнадцать лет делаешь разный софт, под разные операционки, на разных языках программирования. Вроде много всего знаешь. А потом шаг в сторону — а там Нарния SIP, RTP, SDP и PBX. Последние несколько месяцев я плотно занимаюсь голосовой телефонией и периодически ловлю себя на мысли, что для новичков эта область документирована не особо хорошо. Ну а если по какой-то теме еще не написано десять статей “xxx с нуля”, то это прекрасный повод написать Хабрапост для широкого круга читателей. Сегодня я расскажу небольшую, но интересную часть теорикрафта: как облачные системы телефонии взаимодействуют друг с другом и с телекомами. На примере VoxImplant, конечно же.

Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Комментарии 10

Создание Excel файла из селекта с параметрами при помощи чистого PL/SQL, как альтернатива Oracle*Reports

Время прочтения 8 мин
Просмотры 39K
Блог компании Samtrest Oracle *Программирование *SQL *
Recovery mode

Цели, которых я хотел достичь


  • Excel, как результат селекта, текст которого процедура узнает только в runtime
  • Селект перед выпонением видоизменяется в соответствии с параметрами, которые получает процедура
  • Процедуре передаются параметры файла, который будет создан
  • Возможность получения результирующего файла в форматах Excel Workbook,CSV,HTML,XML

Хранимая PL/SQL процедура получает в параметрах
  • текст селекта
  • параметры файла Excel
  • параметры выполнения
и создает полноценный Excel с несколькими таблицами(sheets).
Я знаю, что есть Crystal Reports и Oracle BI Publisher.
Но, во-первых, это крупные продукты(с большими ценами...), а Publisher, насколько я знаю не работает как отдельный модуль без Oracle Business Intelligence Enterprise Edition. И кроме того, речь шла о довольно узкой задаче создания файла без layout.

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

Для тех — кто сомневается, я этого, конечно не мог знать заранее, но за несколько лет, что пакет работает в большой компании, у меня не было проблем свести RDF любой сложности, с многими триггерами/формулами, в один селект, хвала Ораклу. Наоборот, так как селект — стринговый параметр и его можно построить динамически, это дает большую гибкость. В параметрах можно задать даже имя таблицы.
Читать дальше →
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 11

Про модель, логику, ООП, разработку и остальное

Время прочтения 29 мин
Просмотры 103K
Программирование *Совершенный код *IT-стандарты *C# *ООП *
Часто ли вы задумываетесь – почему что-то сделано так или иначе? Почему у вас микросервисы или монолит, двухзвенка или трехзвенка? Зачем вам многослойная архитектура и сколько у вас вообще слоев? Что такое бизнес-логика, логика приложения, презентационная логика и почему все так разделено? Посмотрите на свое приложение – как оно вообще спроектировано? Что в нем и где находится, почему это сделано именно так?
Потому что так написано в книжках или так говорят авторитетные личности? Какие ВАШИ проблемы решает тот или иной подход/паттерн?
Даже то, что на первый взгляд кажется очевидным, порой бывает очень сложно объяснить. А иногда, в попытке объяснения, приходит понимание того, что очевидные мысли были и вовсе ошибочны.
Давайте попробуем взять какой-нибудь пример и изучить на нем эти вопросы со всех сторон.
Читать дальше →
Всего голосов 55: ↑51 и ↓4 +47
Комментарии 34

Анти-паттерны Test Driven Development

Время прочтения 4 мин
Просмотры 19K
Разработка веб-сайтов *
Перевод
Я надеюсь, что как грамотный разрабочик, вы имеете представление о unit-тестировании и сделаете себе в голове пару мысленных отметок о том, чего надо избегать при написании тестов. Знакомьтесь:

Лжец (The Liar)

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

Читать дальше →
Всего голосов 111: ↑109 и ↓2 +107
Комментарии 64

Build-Deploy-Test. Непрерывная интеграция

Время прочтения 8 мин
Просмотры 24K
Блог компании ICL Services Тестирование IT-систем *
Непрерывная интеграция (англ. Continuous Integration, далее CI) — это практика разработки программного обеспечения, которая заключается в выполнении частых автоматизированных сборок проекта для скорейшего выявления и решения проблем интеграции результатов работы нескольких разработчиков.

Подчеркну, что это не методика и не стандарт, это ПРАКТИКА, и она подразумевает постоянную работу и вовлеченность всех членов команды. Зачем? Да чтобы не дожидаться конца проекта для проведения интеграции и внезапного всемирного коллапса. Кроме того задача CI — обезопаситься от разрушительных изменений в следствие рефакторинга, добавления нового функционала, изменений архитектуры и кучи других непредвиденных или известных проблем.

С помощью интеграционных сборок можно избавиться от синдрома «не знаю, на моей машине всё работает». Также мы защищаемся от «плохого кода», часто повторяющихся багов, «кривых» слияний. CI увеличивает возможности обратной связи потому, что она позволяет следить за состоянием проекта в течение дня.
Читать дальше →
Всего голосов 13: ↑11 и ↓2 +9
Комментарии 10

Лекции Технопарка. 3 семестр. Проектирование высоконагруженных систем

Время прочтения 3 мин
Просмотры 71K
Блог компании VK Высокая производительность *Разработка веб-сайтов *Анализ и проектирование систем *
Туториал


И снова в эфире наша постоянная рубрика «Лекции Технопарка». На этот раз предлагаем вам ознакомиться с материалами курса «Проектирование высоконагруженных систем». Цель курса — получение студентами навыков проектирования высокоэффективных программных систем.
Читать дальше →
Всего голосов 56: ↑53 и ↓3 +50
Комментарии 5

Лекции Технопарка. 2 семестр. Базы данных

Время прочтения 4 мин
Просмотры 85K
Блог компании VK Информационная безопасность *MySQL *NoSQL *
Туториал


Очередной пост в рамках нашей постоянной рубрики «Лекции Технопарка». В этот раз предлагаем вашему вниманию лекции, посвящённые базам данных. Цель курса — получение студентами знаний в области проектирования реляционных баз данных, эффективной работы с базами данных, оптимизации запросов и схем данных, изучение особенностей использования баз данных в проектах с высокой нагрузкой и/или использующих большие массивы данных, noSQL и его применение для решения прикладных задач в WWW.
Читать дальше →
Всего голосов 47: ↑45 и ↓2 +43
Комментарии 0

Книги по Swift

Время прочтения 1 мин
Просмотры 21K
Блог компании Издательский дом «Питер» Программирование *Разработка под iOS *Разработка мобильных приложений *Swift *
Добрый день, Хабровчане!

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

1. Книга для начинающих. Например такая
Swift for Beginners: Develop and Design
image
Читать дальше →
Всего голосов 15: ↑14 и ↓1 +13
Комментарии 13

Высокоточные станки запрещено перемещать без разрешения производителя

Время прочтения 1 мин
Просмотры 159K
Глобальные системы позиционирования *

ЧПУ-фрезер Mori NV5000A

На форуме Practical Machinist развернулось феерическое обсуждение, как можно разблокировать ЧПУ-фрезер, который отказывается функционировать после перемещения на новое место.

Производитель оснащает станок GPS-сенсором и/или гироскопом. В случае перемещения станок автоматически блокируется до получения кода разблокировки.
Читать дальше →
Всего голосов 203: ↑187 и ↓16 +171
Комментарии 247

Отладка с помощью XDebug и PhpStorm (дополнение)

Время прочтения 2 мин
Просмотры 217K
Разработка веб-сайтов *PHP *
Из песочницы
Доброго времени суток, %username%!

Прочитал сегодня статью «Отладка с помощью XDebug и PhpStorm на примере сайта 1С-Битрикс». В ней автор использует «зеленого жука» для запуска отладки. В комментариях предложены еще несколько методов запуска отладки, такие как специальные закладки, различные плагины и т.д. На мой взгляд, все это неудобно, к тому же есть наиболее простой и удобный вариант. Я мог бы предложить его в комментариях к статье, но, увы, в read-only это невозможно. Посему вынужден писать отдельную статью.
Читать дальше →
Всего голосов 36: ↑29 и ↓7 +22
Комментарии 15

Миграция с SQL Server на MariaDB / MySQL. Что делать с XML

Время прочтения 6 мин
Просмотры 19K
MySQL *.NET *
Из песочницы
Коллеги, хочу предложить вам описание решений которые помогли в проекте по миграции большого приложения с SQL Server на MariaDB / MySQL.

Возможно, это кому то поможет в аналогичном проекте.
Читать дальше →
Всего голосов 14: ↑12 и ↓2 +10
Комментарии 16

Интернет-сервис для отслеживания изменений на сайтах

Время прочтения 2 мин
Просмотры 70K
Блог компании Иэмбиси Разработка веб-сайтов *Поисковые технологии *
Хабрахабр, привет!

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

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

Результатом разработки стал сервис Websvodka.ru, о котором здесь кратко расскажу. Возможно, вам он тоже сможет пригодиться.

image
Подробности
Всего голосов 28: ↑24 и ↓4 +20
Комментарии 27

Overclock мозга или Внутренняя виртуализация сознания

Время прочтения 29 мин
Просмотры 453K
Биотехнологии Мозг
Туториал


Все помнят этот фильм? Какого черта он делает на Хабре? И вообще что тут делает подобный пост?
Наверное потому, что я считаю главным звеном в IT все таки человека, а точнее его мозги. Я попробую рассказать еще об одной возможности использовать свой мозг чуточку эффективнее. Одна из слабо задокументированных возможностей, которую мы используем каждый день, но не всегда даже об этом вспоминаем. Все описанное проверялось на мне. Если что-то я не пробовал, но рассказать об этом важно буду отмечать особо. Никаких наркотиков, аппаратов и издевательств над собой, только общедоступные легкие методики (короче, лег проспался и вперед, не вставая даже с кровати).
И да… Это до жути реалистично, на столько, что попробовав, вы не сможете не рассказать об этом.

Что бы не было лишних криков в комментах, попрошу всех кто ярых сторонников любой религии и конфессии, а так же убежденных эзотериков сразу поставить минус в карму и не читать дальше. Здесь не будет философии и великих вселенских тайн. А остальных прошу под кат — попробую рассказать о своей практике разгона мозга с помощью встроенных функций.
ночь как полигон для...
Всего голосов 224: ↑172 и ↓52 +120
Комментарии 292

Робот-пылесос Kärcher RC 3000: опыт эксплуатации

Время прочтения 33 мин
Просмотры 730K
Гаджеты Робототехника
В своей жизни я встречал людей, которым нравится пылесосить. Да, именно так, сам процесс наведения чистоты доставляет удовольствие. Причина может быть разной — от демонстрации собственной нужности до мизофобии.

Однако среди широкого спектра придуманных человечеством мотивов для проведения ежедневной уборки жилища, я не смог найти свой. Лень неизменно одерживала верх как над рациональными доводами о необходимости пылесосить каждый день, так и над эмоциональными порывами, энергии которых хватало только на то, чтобы выругаться: "Почему опять никто не убрался!"

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

Прочного и надежного робота-уборщика, способного нормально функционировать в самых тяжелых условиях:



Мой выбор пал на RC 3000 от Karcher, впечатлениям от эксплуатации которого и посвящается данная статья.

Осторожно: под катом много фотографий и видеороликов
Всего голосов 317: ↑303 и ↓14 +289
Комментарии 330

Google Play — работаем легально!

Время прочтения 4 мин
Просмотры 178K
IT-компании
Привет, Хабр!



Сегодня, я хочу рассказать о том как сделать свое хобби по разработке Android-приложений пусть небольшим, но официальным бизнесом. О том, как легально получать деньги, заработанные на Google Play, о «страшном» валютном контроле и «таинственном» паспорте сделки.
Читать дальше →
Всего голосов 92: ↑88 и ↓4 +84
Комментарии 115

Информация

В рейтинге
Не участвует
Откуда
Сызрань, Самарская обл., Россия
Зарегистрирован
Активность