Как стать автором
Обновить
0
0
Евгений Василенко @Lucky_spirit

Software Engineer

Отправить сообщение

10 заповедей программирования без эго

Время на прочтение3 мин
Количество просмотров57K
image«Программирование без эго» — перевод понятия egoless programming. Смысл в том, что разработчик осознанно отодвигает эго на второй план ради эффективности в работе. При разработке Web-payment.ru — сайта о платежных системах с каталогами и мониторингом обменников — мы стараемся руководствоваться этими принципами. Если кто-то благодаря этому посту тоже начнет применять их в своем проекте, мы будем очень рады, ведь они помогают избежать конфликтов и несут в себе добро. Перевод и редактура moigagoo.

О программировании Стивен начал говорить с отцом за 2 недели до его смерти. Стивену было 22, он изучал графдизайн в колледже и почти получил степень бакалавра. Его отцу было 62 — больше, чем большинству отцов. Когда он только начинал программировать в Теннессийском техническом университете в 60-е, то писал код на Фортране на перфокартах. Знал он очень много.

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

Когда Стивен приехал домой на каникулы, отец рассказал ему про 10 заповедей программирования без эго. Он распечатал их, и вдвоем со Стивеном они обсудили каждый пункт. Из-за внезапной смерти отца Заповеди стали одной из немногих программистских тем, которые Стивен успел обсудить вместе с ним. Возможно, именно поэтому они ему так запомнились.
Читать дальше →
Всего голосов 72: ↑58 и ↓14+44
Комментарии37

Android: Сетевые коммуникации с помощью Nearby (PlayServices API)

Время на прочтение9 мин
Количество просмотров38K
Совсем недавно Google предоставила мобильным разработчикам Android новую технологию сетевого обмена данными — Nearby. Мне она стала сразу интересна, так как позволяет устанавливать локальное соединение между Android устройствами без особых заморочек! Нет нужды заставлять пользователя вводить IP адрес и порт, он просто инициирует соединение, а клиенты к нему просто подключаются. На странице описывающей технологию указаны следующие варианты использования:
— многопользовательские игры на индивидуальных экранах – игроки играют в сетевые игры каждый со своего устройства, которые объединены в сеть (классика жанра);
— многопользовательские игры на общем экране – в данном случае в качестве сервера может выступать GoogleTV, на нём будет происходить основной игровой процесс, а все подключившиеся будут использовать свой телефон/планшет в качестве игрового контроллера (как на фото!);
— и конечно для любого обмена данными между различными Android устройствами.


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

О мотивации, прокрастинации, тайм-менеджменте и других модных, но бесполезных вещах

Время на прочтение10 мин
Количество просмотров73K


Доброго времени суток, Хабр.

В последние годы, лично я, наблюдаю весьма сомнительную тенденцию проповедовать «успешный» образ жизни. Истории успеха, как и их опровержения, льются на нас как из рога изобилия: Интернет пестрит статьями и книгами по мотивации, рекламой тренингов «как стать успешным сферическим человеком в вакууме», «как правильно начать свой стартап и стать вторым Гейтсом\Джобсом\Цукенбергом» (нужное подчеркнуть), ТВ-каналы трубят об очередном появлении очередной компании, основанной в гараже или интернет-кафе, на IPO и о стремительном взлете акций в первый же день торгов.

Люди сознательно стремятся добиться каждый своих целей. Кто-то штудирует литературу, другие предпочитают использовать веб-сервисы, такие как SmartProgress и самостоятельно определять, как, что и когда делать, попутно наблюдая за другими людьми. Каждый хочет стать богатым, «успешным», знаменитым. Это называют счастьем.
Читать дальше →
Всего голосов 44: ↑28 и ↓16+12
Комментарии67

Droidutils — набор решений, которые ускоряют разработку приложений под Android

Время на прочтение7 мин
Количество просмотров20K
При разработке приложений я заметил, что каждый раз, когда мне приходилось сталкиваться с решением похожих задач (реализовывать работу с http, json, multithreading и т.п.), приходилось делать одну и туже роботу, причем на это уходило много времени. Поначалу это было не критично, но в больших проектах занимало слишком много времени. Чтобы сэкономить свое и ваше время, решил написать универсальное решение для этих задач, которым и хочу поделиться с сообществом.
Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии36

Очень быстрый и эффективный способ расслабления глаз

Время на прочтение4 мин
Количество просмотров414K

Предисловие


imageНе знаю, все ли программисты всесторонне любознательные люди, но я всегда пытаюсь получить фундаментальные знания во всех областях, которые могут быть практически полезны. В то время, когда мне в голову пришла эта идея я изучал анатомию и физиологию по журналам «Тело человека. Снаружи и внутри», ну а по работе я занимался стерео-варио фотографиями (для тех кто не знает — были такие советские календарики с ребристой поверхностью, где картинка либо казалась объемной, либо менялась). Так вот, в один из вечеров мне пришла в голову замечательная идея, которую я на протяжении уже 4х лет использую для поддержания своего зрения.
Обещаю, что эффект почувствуете сразу!
Читать дальше →
Всего голосов 246: ↑238 и ↓8+230
Комментарии207

Почему я не стану вас нанимать

Время на прочтение5 мин
Количество просмотров43K
image

Один мой товарищ недавно активно искал работу, и спрашивал меня, как себя подавать перед работодателем. Погуглив, мы пролистали с десяток статей о том, как надо и как не надо делать во время поиска, и одну из них я решил перевести для хабрасообщества, возможно кому-то это поможет избежать ошибок, которые в ней описаны. Манера статьи довольно провокационная, язык местами нецензурен, поэтому я постарался сгладить углы. Итак, поехали..
Читать дальше →
Всего голосов 230: ↑159 и ↓71+88
Комментарии262

Интернет через ICMP

Время на прочтение1 мин
Количество просмотров30K
Здравствуйте! Вы забыли заплатить за интернет, провайдер заблокировал TCP и UDP, а про ICMP забыл, и любой ресурс пингуется? Тогда этот топик для вас!

image
Читать дальше →
Всего голосов 193: ↑181 и ↓12+169
Комментарии83

Экспорт и импорт личных данных телефона

Время на прочтение2 мин
Количество просмотров2.4K
Столкнулся с проблемой, что нужно было забрать свои контактные телефоны и все события в календаре с телефона и перекинуть на другой. Ходя по разным сервисам ничего не нашёл. Пришлось написать все самому.

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

j2me позволяет импортировать и экспортировать личные данные давая свои API для этих целей. К личным данным относится: контакты, напоминания и задачи. Больше теории и описание всех методов класса можно найти тут или тут.
Читать дальше →
Всего голосов 16: ↑11 и ↓5+6
Комментарии10

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

Время на прочтение13 мин
Количество просмотров164K
image
Все java-разработчики, рано или поздно, встречаются с пресловутой ошибкой OutOfMemoryError. 
После этой встречи мы начинаем более бережно относится к используемой памяти, экономить ее. Начиная с версии 1.2 в Java появился пакет java.lang.ref.* с классами SoftReference, WeakReference, PhantomReference. Далее я расскажу вам о том, как помогут эти классы в борьбе с OutOfMemoryError. И что более интересно, приведу реальные примеры их использования. Начнем.
Читать дальше →
Всего голосов 67: ↑62 и ↓5+57
Комментарии23

Разбираем Sony Xperia Z1 Compact: маленький смартфон с сердцем большого флагмана

Время на прочтение4 мин
Количество просмотров154K
Сегодня в продажу поступил необычный смартфон Sony Xperia Z1 Compact и тут же попал мне в руки. Разумеется, написать полноценный обзор по итогам нескольких часов знакомства невозможно, но вот разобрать аппарат, посмотреть на его внутренности и оценить ремонтопригодность – это мы можем. Именно такой разбор и предлагается вашему вниманию.



В чем необычность смартфона? В том, что, несмотря на уменьшенные габариты, в нем сохранены практически все характеристики флагмана Xperia Z1. Единственным компромиссом стало разрешение экрана: 1280х720 точек вместо 1920х1080. Но если вспомнить, что диагональ экрана составляет всего 4.3 дюйма, переживать по поводу уменьшившегося разрешения не приходится, потому что разница между Full HD и просто HD вообще не чувствуется. В качестве компенсации Sony на этот раз использовала IPS-матрицу с практически безупречными углами обзора.

В остальном это настоящий Z1 в компактном корпусе. В Sony, кстати, просят ни в коем случае не называть новый смартфон Mini, потому что слово это «испорчено» другими компаниями, которые под видом уменьшенных флагманов продают откровенно бюджетные решения. Z1 Compact недешев – за него просят 22 тысячи рублей. О том, насколько он хорош в работе, напишу позже, а пока внутрь, внутрь, читатель!
Читать дальше →
Всего голосов 41: ↑35 и ↓6+29
Комментарии46

Шпаргалка по шаблонам проектирования

Время на прочтение2 мин
Количество просмотров1.4M

Перевод pdf файла с сайта http://www.mcdonaldland.info/ с описанием 23-х шаблонов проектирования GOF. Каждый пункт содержит [очень] короткое описание паттерна и UML-диаграмму. Сама шпаргалка доступна в pdf, в виде двух png файлов (как в оригинале), и в виде 23-х отдельных частей изображений. Для самых нетерпеливых — все файлы в конце статьи.

Под катом — много картинок.

Читать дальше →
Всего голосов 192: ↑179 и ↓13+166
Комментарии66

Алгоритм выбора STL-контейнера

Время на прочтение1 мин
Количество просмотров64K


UPD: схема заменена на вариант с контейнерами из С++11, соавторы — в комментариях ниже

Первый вариант схемы - без контейнеров из С++11

Всего голосов 86: ↑74 и ↓12+62
Комментарии54

Про автоматизацию подбора аккордов

Время на прочтение17 мин
Количество просмотров59K
Меня давно занимал вопрос: «а что, если попробовать прогнать цифровую запись песни через преобразование Фурье, посмотреть зависимость спектра от времени и попытаться вытащить из полученной информации аккорды песни?». Вот, наконец, нашел время попробовать…
Читать дальше →
Всего голосов 137: ↑135 и ↓2+133
Комментарии42

Сравнение Open Source лицензий от GitHub

Время на прочтение1 мин
Количество просмотров26K


Команда GitHub запустила новый проект — Choose A License, который поможет выбрать нужную Open Source лицензию для вашего проекта. На главной странице кратко представлены самые популярные — MIT License, Apache License и GPL.
Читать дальше →
Всего голосов 35: ↑29 и ↓6+23
Комментарии7

Ресурсы, о которых должен знать каждый Android-разработчик

Время на прочтение6 мин
Количество просмотров189K
Сегодня я хочу поделиться с вами моим вольным переводом статьи, написанной Сергеем Повзнером (Sergey Povzner). Сергей ведёт блог bongizmo.com и занимается разработкой туристических гидов под общим названием Citybot.

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

Статья будет полезна как новичкам, так и опытным разработчикам. Это гид по миру Android-разработки.
Читать дальше →
Всего голосов 133: ↑128 и ↓5+123
Комментарии33

Приведение типов

Время на прочтение4 мин
Количество просмотров207K
Будучи на конференции Qt Developer Days 2010 я узнал, что одним из самых популярных вопросов на собеседовании в разные зарубежные компании, работающие с Qt библиотекой, является вопрос о различиях в способах приведения типов в C++. Поэтому здесь я рассмотрю основные различия между static_cast, dynamic_cast, const_cast, reinterpret_cast, C-style cast, qobject_cast и qvariant_cast

Читать дальше →
Всего голосов 51: ↑48 и ↓3+45
Комментарии59

Стилизация приложений часть первая

Время на прочтение4 мин
Количество просмотров79K
Coloroid
Все идет хорошо, вы успешно пишете свои великолепные (ну у кого-как) приложения, даже бывает публикуете их на маркете, но возникает проблема: весь интерфейс уж слишком скучен и однообразен, черный фон (в некоторых селениях белый) и стандартные элементы уж слишком приелись…

Ну или пойдем по другому пути — у вас имеется своя контора Васей Пупкиных с некой деятельностью в мировой сети (допустим продажа хомячков), и (о ужас!) у вас есть целый сайт. Сайт, ага, сайт то у нас красивый, зелененький/красненький/желтенький ну и т.д. и есть программа-клиент для этого сайта, и мы хотим раскрасить свое приложение в цвета сайта.

Это статья о том, как можно стилизовать свое приложение под конкретные цвета, а не ограничиваться цветами Андроида
Поехали
Всего голосов 73: ↑64 и ↓9+55
Комментарии38

Хочешь быть iOS разработчиком? Будь им!

Время на прочтение2 мин
Количество просмотров388K
На хабре в прошлом месяце была опубликована статья Конкурс ВК: Мессенджер для Android. Как это было!, в которой автор поделился своими мыслями о конкурсе и опубликовал список ресурсов и статей, которые помогли ему в создании приложения. Так как в последнее время я начал изучать разработку под iOS, то у меня скопилось некоторое количество ссылок, которые могут быть полезны для начинающих. Поэтому я последую его примеру и сделаю то же самое, только для своей платформы. Надеюсь, кому-нибудь они окажутся полезны и сэкономят немного времени.

Читать дальше →
Всего голосов 234: ↑222 и ↓12+210
Комментарии38

PulseAudio, часть 1: управление из командной строки

Время на прочтение11 мин
Количество просмотров153K

Одним из новшеств Ubuntu 10.10 стал переход с «голой» ALSA на PulseAudio. Ранее постилось много советов прибить и удалить его для решения проблем, однако теперь PulseAudio стабилен, с ним не шипят колонки ;), и он способен на такое, что не снилось Alsa :)

В статье я с самого начала расскажу что это такое и как оно работает, а так же:
  • Как переключить весь звук на USB-колонку на закрывая приложений (usb hotplug);
  • Как выбрать порт звуковой карты для вывода звука (колонки ноутбука/наушника, LineOut/Наушники);
  • Как выбрать профайл звуковой карты (маппинг физических портов: 5.1 или стерео+lineIn?);
  • Как управлять громкостью и усиливать тихий сигнал (!);
  • Как сделать Skype громче музыки?

И представлю своё решение, призванное упростить управление PulseAudio ;)
Любопытно!
Всего голосов 112: ↑106 и ↓6+100
Комментарии83

Создание загрузочной USB Flash с Windows 7 из-под Ubuntu

Время на прочтение2 мин
Количество просмотров436K
Недавно друг попросил установить ему Windows 7. Так уж вышло, что мой DVD-привод давно не работает, зато есть флешка на 8 ГБ. Тема создания загрузочной флешки с Windows 7 из-под Windows уже давно сильно разжевана в Сети. Но я пользуюсь Ubuntu, так что пришлось искать другое решение. На самом деле, как мне кажется, оно еще и проще.

Читать дальше →
Всего голосов 88: ↑74 и ↓14+60
Комментарии137

Информация

В рейтинге
Не участвует
Откуда
Харьков, Харьковская обл., Украина
Дата рождения
Зарегистрирован
Активность