Pull to refresh
0
0
Vasilii Artemev @vasart

User

Send message

Перевод статьи: Лучшая практика создания Git Commit'ов от OpenStack

Reading time17 min
Views25K

Предлагаю читателям "Хабрахабра" перевод статьи "Хорошая практика в сообщении коммитов от OpenStack".


1 Git Commit Лучшая практика


Следующий документ основан на опыте разработки кода, устранении ошибок и просмотре кода в ряде проектов, использующих Git, включая libvirt, QEMU и OpenStack Nova. Рассмотрение других проектов с открытым исходным кодом, таких как Kernel, CoreUtils, GNULIB а также других, предполагает, что все они следуют достаточно распространенной практике. Это мотивировано желанием улучшить качество истории Git проекта Nova. Качество — это абстрактный термин для определения в разработке; когда для одного человека некий код «Красивый» (Thing of Beauty) — то для другого это «Костыль» (Evil Hack). Тем не менее мы можем сформулировать некоторые общие рекомендации о том, как и что делать, или, наоборот, чего не делать, когда отправляют Git коммиты для слияния с проектами в OpenStack.


Эта тема может быть разделена на две области:


  1. Порядок объединения или разбиения на несколько коммитов
  2. Информация в сообщениях коммитов
Читать дальше →
Total votes 40: ↑37 and ↓3+34
Comments3

Из инженеров в руководители: сохранение технических навыков

Reading time7 min
Views19K


Я стал техническим руководителем около двух лет назад. За это время одной из самых сложных задач оказалось нахождение баланса между обязанностями руководителя и желанием программировать.


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

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

Практическая оптимизация MySQL: измерять, чтобы ускорять

Reading time17 min
Views35K


Петр Зайцев (Percona)


Сегодня мы поговорим о производительности.

Мы посмотрим на то, как подойти правильно к оптимизации MySQL, а также посмотрим на некоторые практические подходы к этому делу. Почему я считаю, что это важно? Дело в том, что когда у вас есть специфическая проблема, вы хотите, например, спросить: «А какой же мне установить размер кэша в MySQL?». Такой вопрос всегда можно ввести в Google или Yandex, и получить на него разумный ответ. Но как получить ответ об общем, о схеме анализа и оптимизации MySQL? Это куда более сложно.
Читать дальше →
Total votes 30: ↑28 and ↓2+26
Comments2

Воркшопы по выявлению требований к IT-проектам: как и зачем их проводить?

Reading time13 min
Views21K
image

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

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

Какие здесь могут возникнуть трудности?

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

Что делать?

Из всего разнообразия техник по сбору требований стоит выделить одну, которая нацелена на решение подобных проблем (проблем масштабных проектов со множеством заинтересованных лиц и конфликтующих требований), — это воркшоп по сбору требований, о нем мы и хотим вам рассказать.
Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments16

Сделай сам: MSc Computer Science на уровне топ американских университетов из дома

Reading time12 min
Views161K

Вступление


Давно хотел написать статью про образование в Computer Science, но руки не доходили. Решил все-таки это наконец сделать. Итак, о чем пойдет речь? Речь о том, что из себя представляет диплом MSc Computer Science топовых университетов США (во всех подробностях, включая основные курсы, книги и проекты) и как ему соответствовать.

Почему именно MSc? Это — некая развилка: с одной стороны после MSc — вы уже готовый к жизни инженер (да, речь идет о инженерной подготовке, как мне кажется это самое больное место в нашей системе образования), с другой — можно спокойно идти по пути PhD. Как известно, в PhD программу можно попасть и не особо умея программировать — особенно это касается теоретического Computer Science. С другой стороны найти работу программиста тоже дело не очень сложное, и часто не требует мощного образования. Но достигнув уровня MSc — вы получаете возможность разбираться как во всех новый идеях в Computer Science, так и возможность их воплотить в практику. То есть с одной стороны круто разобраться в каком-нибудь deep learning и сделать в нем что-то новое, а также взять и написать свою операционную систему (кто так сделал?). Причем вы не зажаты в рамки узкой специализации (если конечно продолжаете учиться). То есть вы теперь — универсальный солдат, готовый на все.

Надеюсь что эта статья будет полезна:
1. Студентам, которые хотят соответствовать высоким стандартам топ вузов США, или собирающиеся туда в аспирантуру по Computer Science
2. Профессионалам, которые хотят закрыть «дыры» и пробелы
3. Может кто-то из преподавателей возьмет на заметку для своих курсов.
4. Студентам, аспирантам американских вузов — хотелось бы тоже получить фидбэк, особенно касается последних трендов в образовании

Что же здесь будет написано? Минимум философии и общих мыслей: конкретная программа undergraduate и graduate курсов, конечно из дисциплин наиболее мне близких. Все курсы были лично прочувствованы на собственной шкуре, по этому и пишу. (Я пытался записаться на все интересные курсы, которые были, но мой основной упор — системное программирование, базы данных и искусственный интеллект. Отсюда конечно некий bias, но пытаюсь предложить более-менее универсальную программу).
Читать дальше →
Total votes 86: ↑81 and ↓5+76
Comments64

Архитектурный дизайн мобильных приложений: часть 2

Reading time7 min
Views48K
Чтобы направить всю энергию системы в необходимом направлении, нужно эту систему ограничить правилами.


Привет, Хабр! Продолжаем серию статей об архитектурном дизайне мобильных приложений. Под катом поговорим о проектировании слоёв UI. Добро пожаловать!
Читать дальше →
Total votes 28: ↑25 and ↓3+22
Comments20

Проектирование RESTful API с помощью Python и Flask

Reading time15 min
Views274K
В последние годы REST (REpresentational State Transfer) стала стандартной архитектурой при дизайне веб-сервисов и веб-API.

В этой статье я покажу вам как просто создавать RESTful веб-сервисы используя Python и микрофреймворк Flask.

Что такое REST?


Характеристика системы REST определяется шестью правилами дизайна:

  • Клиент-Сервер: Должно быть разделение между сервером, который предлагает сервис и клиентом, который использует ее.
  • Stateless: Каждый запрос от клиента должен содержать всю информацию, необходимую серверу для выполнения запроса. Другими словами, сервер не обязан сохранять информацию о состоянии клиента.
  • Кэширование: В каждом запросе клиента должно явно содержаться указание о возможности кэширования ответа и получения ответа из существующего кэша.
  • Уровневая система: Клиент может взаимодействовать не напрямую с сервером, а с произвольным количеством промежуточных узлов. При этом клиент может не знать о существовании промежуточных узлов, за исключением случаев передачи конфиденциальной информации.
  • Унификация: Унифицированный программный интерфейс сервера.
  • Код по запросу: Сервера могут поставлять исполняемый код или скрипты для выполнения их на стороне клиентов.

Читать дальше →
Total votes 40: ↑33 and ↓7+26
Comments32

Kotlin для Android, или лёгкий способ перестать программировать на Java

Reading time1 min
Views40K
На нашей конференции мобильных разработчиков #MBLTDev, которая прошла в конце октября в Москве, продуктолог компании JetBrains Илья Рыженков рассказал доклад о языке программирования под Android Kotlin.

Kotlin был разработан в компании JetBrains и публично представлен в 2011 году. В 2012 был открыт исходный код.


Презентация

Илья рассказал про историю создания языка, преимуществах программирования на Kotlin, отличия Kotlin от Java и о том, что на нем можно делать. А также показал несколько примеров кода на Kotlin для платформы Android.
Читать дальше →
Total votes 30: ↑25 and ↓5+20
Comments14

Медовый месяц менеджера: как его провести с пользой

Reading time7 min
Views59K
«Специалист подобен флюсу: полнота его одностороння». (Козьма Прутков)

Как в нашей отрасли происходит назначение на позицию менеджера? Берем в команде лучшего программиста и тут же назначаем вначале проясняем ситуацию:
— Хочешь быть менеджером?
— А чего нужно делать?
— Ну, там колбаски в MS Project двигать и получать плюс 300 баксов?
— Конечно, буду!

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

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

Что и побудило написать эту статью.

Общий эффект от перехода в менеджеры усиливается еще тем, что наш брат-айтишник обычно вначале включает электроприбор («если я мультипоточность на Java реализую, чего — я со стиральной машиной не разберусь?»), а в случае неполадок начинает читать инструкцию. То бишь, начинает изучать науку работы с людьми, когда первые шишки не просто набиты, а поверх них набиты еще два слоя шишек.

Между тем, назначение нового человека на позицию менеджера – ситуация болезненная и крайне неустойчивая. Почему так происходит, и главное что конкретно делать, если назначили именно вас – сегодня и поговорим.
Читать дальше →
Total votes 62: ↑54 and ↓8+46
Comments38

5 лучших ORM для Android

Reading time4 min
Views68K


Как вы понимаете, мы имеем самое непосредственное отношение к разработке приложений для Android, ведь именно эта ОС установлена на YotaPhone. И этим постом мы открываем серию публикаций, в которых будем освещать различные аспекты разработки приложений под Android, делиться опытом, как своим, так и других специалистов. Кстати, некоторое время назад мы уже писали об SDK и особенностях архитектуры YotaPhone, что тоже отчасти перекликается с темой данной публикации: полностью разработанная нами SDK построена по принципам, аналогичным стандартной SDK для Android, чтобы дать разработчикам интуитивно понятные инструменты.

Если вы разрабатываете приложения под Android, то вам, скорее всего, нужно где-то хранить данные. Вы можете выбрать один из облачных сервисов (в этом случае удобно пользоваться SyncAdapter) или воспользоваться встроенной SQLite-базой данных. Во втором случае вам придётся выбрать между записью SQL-запросов с помощью Content Provider (если вы планируете использовать данные несколькими приложениями) или ORM.

В этом посте мы рассмотрим некоторые из Android ORM, которые вы можете использовать в своих приложениях.
Читать дальше →
Total votes 33: ↑27 and ↓6+21
Comments38

Как IT-фрилансеру стать предпринимателем. Часть 2

Reading time4 min
Views56K
Всем привет! В предыдущем посте мы рассказали, зачем фрилансеру ИП и почему ИП лучше, чем ООО. Сегодня вы узнаете, как зарегистрировать ИП самостоятельно и что делать потом.



Всё для самостоятельной регистрации ИП на сайте «Я люблю ИП»
Читать дальше →
Total votes 38: ↑29 and ↓9+20
Comments120

Как формальный менеджмент целый отдел загубил

Reading time8 min
Views83K


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

Цели: классические. Повысить качество работы, эффективность, вывести отдел на новый уровень в целом.
Читать дальше →
Total votes 42: ↑34 and ↓8+26
Comments38

Архитектура и архитектурные стили веб-приложений – 1

Reading time3 min
Views7.8K
Сравнение архитектурных стилейПредлагается справочная информация по основным архитектурным стилям веб-приложений с основными терминами по мотивам диссертации Роя Т. Филдинга (автора REST). В первой части предлагается список архитектурных стилей и таблица их сравнения. Во второй планируется описание самих стилей.
подробнее...
Total votes 12: ↑8 and ↓4+4
Comments7

Step By Step: Оформление МПО (посылки) в ФТС (таможне)

Reading time4 min
Views45K

0. Покупка


Покупаете товар в онлайн-магазине с доставкой по почте. Приходите на почту для получения посылки и… если получаете, то дальше можно не читать.
Если же вместо вручения вам посылки сотрудник Почты России радостно сообщает, что она задержана таможней.
Под катом расписан мой опыт по теме как оформить МПО в ФТС и не наступить на грабли
Total votes 31: ↑31 and ↓0+31
Comments33

Обзор внешних видеокарт для ноутбуков

Reading time5 min
Views555K

Введение



Мобильные компьютеры с начала своего существования всегда были ограничены в возможностях аппаратного апгрейда в отличии от персональных компьютеров. Только в позднее время стандартными компонентами стали люки, открывающие простой доступ к накопителям и оперативной памяти. Графическая же составляющая ноутбуков до сих пор чаще всего остаётся неизменной.

Компания NVIDIA пыталась эту досадную несправдливость, предложив стандарт MXM — Mobile PCI Express Module, Мобильный модуль на шине PCI Express. Инженеры компании отмечали тот, что на материнской плате ноутбука достаточно легко можно разместить горизонтально расположенный к плате слот PCI Express x16 для подключения видеокарт. Компактность решения заключалась в том, что плата MXM-видеокарты ограничивалась линейными размерами слота PCI-E и не превышала в последних версиях размеры 82х100 мм.
Увы, сейчас на рынке есть весьма небольшое количество ноутбуков с видеокартой реализованной в MXM-формате и производители, которые первыми начали его использовать, как например Fujitsu-Siemens, уже начали от него отказываться. Большую роль также играет завышенная цена и редкость MXM-видеокарт.

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

Читать далее
Total votes 61: ↑56 and ↓5+51
Comments37

Positive bias или что общего у мирового кризиса с сорванным дедлайном

Reading time3 min
Views825
image
Прошедшая неделя ознаменовалась обвалом на рынках, пессимистичной статистикой по ключевым американским показателям и всеобщими опасениями, что дальше будет хуже. Сейчас только ленивый не пишет про возможную мировую рецессию. Я как раз ленивый поэтому не буду. А напишу лучше про то, как мы раз за разом садимся в лужу в наших оценках. И неважно, что мы оцениваем — свои профессиональные качества, дедлайн проекта или курс акций. Всему виной — positive bias.
Читать дальше →
Total votes 44: ↑39 and ↓5+34
Comments35

Готовим пользовательское соглашение своими руками

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

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

Особую актуальность вопросы защиты интернет-сервиса приобретают в связи с принятием так называемого «антипиратского закона», которым возлагается ответственность на информационного посредника за размещение или предоставление доступа к материалам, нарушающим интеллектуальные права третьих лиц. Закон вступает в силу с 01 августа 2013 г., в связи с чем пользовательские соглашения и схему взаимодействия с пользователем необходимо привести в соответствие с ужесточившимися требованиями.
Читать дальше →
Total votes 58: ↑55 and ↓3+52
Comments17

Удаленная работа на Бали (Индонезия)

Reading time17 min
Views15K

Привет всем!



Данный пост посвящен длительной поездке для работы на Бали. Из него Вы узнаете о том, за сколько, как и когда можно и удобно находится с максимальным комфортом за человекоподобный прайс в месте, где работа через интернет никак не омрачается смогом от пожаров, аномальными перепадами температуры, звуками заведенного трактора и другими правовыми катаклизмами.
Читать дальше →
Total votes 102: ↑90 and ↓12+78
Comments38

Дипломное выступление на ура!

Reading time9 min
Views9.4K

Введение


Приближается пора ГЭКов, где масса дипломников будет представлять свои работы. Часто защита заключается в представлении презентации. Еще чаще на эти презентации без слез смотреть нельзя. Дело в том, что никто не учит как представлять — презентовать свою работу. Так как мне надоело каждый раз упорно править презентации своих дипломников, я решил отразить свой взгляд на то, как должна выглядеть презентация, и какие типовые ошибки существуют в этой непростой, но увлекательной области.


Читать дальше →
Total votes 55: ↑48 and ↓7+41
Comments32
1
23 ...

Information

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