• Как начать разрабатывать приложения на Android на примере строительства дома

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

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

    Хватит это терпеть! Я объясню вам базовые принципы программирования для Android за 2 минуты, зная которые вы без проблем начнете писать свое первое приложение на могучем языке Джава.
    Читать дальше →
  • Data Driven Testing

    Добрый день уважаемые жители Хабра!

    Работая на текущем проекте, я столкнулся с проблемой однотипных данных и необходимостью протестировать разные http вызовы над одними и теми же данными. Проект разрабатывается на django/django-rest-framework/python3.5. Поначалу я начал использовать этот движок для упрощения тестирования django-rest-framework (django-rest-assured).

    Но, имея необходимость протестировать по сути одни и те же данные на разных урлах, я осознал, что использование этого движка не помогло так уж сильно облегчить задачу.
    Конечно, в какой то мере проект стал более податливым для тестирования. Но, возникало много вопросов с так называемыми django-rest-framework detail_route и list_route. Тем, кто не в курсе напомню, эти декораторы позволяют определить специфические действия выполняющиеся над каким то конкретным типом данных (дальше, ресурсом).
    И потом я понял, что тесты в проекте нужно группировать относительно ресурсов (типов) данных, над которыми они тестируются.
    Читать дальше →
  • Выбор иностранной юрисдикции для IT компании

    IT бизнес развивается семимильными шагами, обороты компаний отрасли растут головокружительными темпами и вчерашний стартап, созданный на юридической базе индивидуального предпринимателя может сегодня запросто преодолеть порог, установленный налоговым кодексом, для применения упрощенной системы налогообложения. Возникает вопрос, что делать дальше? Как не дать бизнесу споткнуться о юридические барьеры и бюрократические проволочки, которые неизбежно сопровождают российский бизнес? Как привлечь инвесторов в проект? Как урегулировать взаимоотношения между стейкхолдерами? Зачастую, ответить на все эти вопросы значительно проще, если Вы строите свой бизнес на юридической базе компании, зарегистрированной в иностранной юрисдикции. Но тут возникает новый вопрос, иностранных юрисдикций много, разобраться моментально в данном вопросе довольно сложно.
    Читать дальше →
  • Обработка URI форматов telnet://host для linux

    В нашей базе данных есть список оборудования, к которому ежедневно приходится подключаться для получения информации. И так самой частой набираемой фразой в консоли стало telnet и соответсвенно хост к которому хотим подключиться. В windows настройка не составила труда, а вот корректная обработка в линукс оказалась не столь очевидной. Как и отсутствие информации о том, как это настроить.
    Читать дальше →
  • Немного о VR, лайвхаках и разработке

    “Тяжела и неказиста жизнь простого программиста”
    — Неизвестный автор

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

    Читать дальше →
  • Ферма Remote Desktop Gateway и NLB — подводные камни

    Жила-была настроенная, проверенная, но не введенная в боевой режим ферма шлюзов удаленного доступа на базе Windows Server 2012R2, с настроенным NLB. Через неё пользователи изредка подключались к некоторым серверам RDSH внутри сети, всё было нормально, как вдруг начали из ниоткуда прилетать сообщения "Не работает!"


    Расследуем
  • Оо отношении соседних чисел Фибоначчи

    В этой публикации началось рассмотрение интересной задачки — отношения соседних чисел в обобщенном ряду Фибоначчи (в котором каждый следующий член оказывается равен сумме $inline$k$inline$ предыдущих.

    К сожалению, задачка не была доведена до логического окончания, и брошена при неполном ответе для случаев 3 и 4.

    Просто чтобы закрыть тему, рассмотрим ряд, образованный рекуррентным соотношением

    $$display$$f_n= \sum_{i=n-k-1}^{n-1}f_i$$display$$

    Читать дальше →
  • Frontend + метод fetch + СУБД = fullstack?

    Современные тенденции в Web-разработке, или «лёгкий» backend


    Хотелось бы поделиться размышлениями о наметившихся тенденциях в Web-разработке.

    На сегодняшний день в мире Web-разработки существует почти официальное разделение разработчиков на категории frontend и backend.

    Frontend это те, кто делает пользовательский интерфейс для клиентского устройства.
    Backend разработчики обеспечивают серверную часть функционала Web-сайта.

    В различных публикациях, со стопроцентным совпадением, обозначен набор рабочих инструментов frontend разработчика. Это HTML, CSS и JavaScript (плюсом есть ещё упоминания о CSS-фреймворках, но CSS-фреймворк это тот же CSS, а фреймворк понятие растяжимое, каждый может сам написать себе фрейворки хоть и на HTML, хоть и на JavaScript).

    Однако, главным же инструментом frontend разработчика, по моему убеждению, являются интерфейсы DOM. Без знания базовых DOM интерфейсов, без понимания логики DOM, никакого frontend-а быть не может, а JavaScript превращается просто в игрушку.

    Зачем же frontend разработкам нужен backend?
    Читать дальше →
  • Работа с формами HTML — валидация данных пользователя

    В предыдущей части мы сгенерировали простейшую html форму и обработали пользовательский ввод. Продолжим, немного усложним форму: добавим элемент, генерирующий массив, а перед обработкой пользовательских данных проверим их. Функция formCheck(), вернет результат проверки ввода. И мы либо повторно выведем форму, либо обрабатаем полученные данные.
    Читать дальше →
  • Работа с формами HTML

    Предлагаю вашему вниманию серию примеров работы с формами html на php. Примеры рассчитаны на новичков в php, желающих научиться самостоятельно генерировать формы и обрабатывать введенные пользователем результаты.
    Читать дальше →
  • О некоторых «особенностях» Android Studio

    Предисловие

    Являясь специалистом в области JAVA и отвечая, в силу своих должностных обязанностей, за подбор технических специалистов, некоторое время назад я получил задачу от руководства подобрать в компанию нескольких разработчиков под Android, при этом имеющих хорошее знание JAVA. Не имея ранее опыта работы в этом направлении, я поверхностно познакомился с Android SDK и с типовыми задачами, которые приходится решать мобильным разработчикам, и приступил к собеседованию кандидатов. После ряда проведенных собеседований я понял, что многие кандидаты, имеющие реальные приложения в Google Play и адекватно отвечающие на вопросы связанные с разработкой под Android, непосредственно в JAVA практически не разбирались. Мне стало интересно, а насколько быстро человек, разбирающий в JAVA и не имевший ранее опыта разработки мобильных приложений, может быть готов к разработке несложных программ под Android.
    Читать дальше →
  • Symfony 4: Монолит против микросервисов

    В ноябре этого года планируется релиз фреймворка — Symfony 4. Предлагаю вашему вниманию обзор некоторых нововведений в архитектуре проекта.

    Монолит или микросервисы? Очень жаркая тема для дискуссий. Symfony фреймворк позволяет выбрать любой из этих подходов. Стандартная редакция фреймворка, вероятнее всего более подходит для монолитных проектов из-за своей зависимости от пакета symfony/symfony. Данный пакет содержит все компоненты Symfony плюс несколько фундаментальных бандлов, а так же дополнительный функционал вроде шаблонизатора Twig или Web Profiler. Если вы планируете реализовать Rest API сервис, то безусловно этот дополнительный функционал вам не потребуется и вы спокойно можете его отключить.
    Читать дальше →
  • Интеграция Spring Security в Spring MVC

    Здравствуйте. Если вы только начали изучать Spring Framework, то в этой статье я объясню как подключать Spring Security в Spring MVC на базе IDE IntelliJ IDEA. Этот пример для новичков, поэтому попробую объяснить максимально просто и прокомментировать весь код.

    Для начала, что же такое Spring Security? Это Java Framework который предоставляет механизмы построения систем аутентификации и авторизации, а также другие возможности обеспечения безопасности для промышленных приложений, созданных с помощью Spring Framework.
    Читать дальше →
  • Samsung Pay или Android Pay: что же выбрать?

    23 мая в России заработала бесконтактная платежная система Android Pay, попользовавшись ей я как человек активно пользующийся бесконтактными платежами от Тинькофф банка (в их собственном приложении) решил опробовать ее и провести некоторое сравнение между прямыми конкурентами Android Pay и Samsung Pay.
    Читать дальше →
  • Контент-маркетинг для клиентов, как делать?

    Последние два-три года контент-маркетинг уверенно набирает обороты в России, но к сожалению, многие веб-студии путают понятие «контент-маркетинг» с банальным написанием статей и покупкой ссылок. Я сам до недавнего времени был одним из представителей подобной организации и когда клиент заказывает услугу, все оборачивалось банальным написанием 5-10 статей в месяц, их оптимизацией и покупкой трех ссылок. К сожалению, подобное исполнение услуги практиковалось не только в нашей компании, но и в большинстве подобных. Так что же такое контент-маркетинг на самом деле? В этой статье расскажу о том, что не нужно делать.
    Читать дальше →
  • Продвижений мобильных игр. Провал №3


    Добрый день! Меня зовут Денис и я разработчик игр…

    Предыстория


    Около года назад у меня возникла (как мне казалось) гениальная идея мобильной игры с учетом, что основной аудиторией будут дети. Идея заключалась в том, что ты управляешь котенком, который летит, уклоняясь от препятствий в виде разного рода летательных объектов: самолеты, вертолеты, астероиды, ракеты и т.п.
    Читать дальше →
  • Не хотел, а сделал. Тайм киллер на Unity3d за пару вечеров

    Доброго времени суток! Получая профессию инженер-программист не имел совершенно ни какого опыта разработки игр, решил восполнить пробел и приобщиться к этой теме. Выбирая, с чего начинать, взгляд мой пал на Unity3d, так как этот игровой движок дружит с языком программирования C#, который я, в свою очередь, сейчас изучаю. Так сказать, совместил приятное с полезным. Обсуждая эту тему с коллегами по работе, неожиданно родилась идея простой до безобразия игры — на экране находится квадрат, стороны которого имеют разные цвета, сверху на него падают кубы цветов совпадающих с цветами его сторон, нужно тапом по левой и правой стороне экрана вращать разноцветный квадрат и ловить кубы правильного цвета. Поймал правильной стороной — плюс одно очко, не правильной — проиграл. Окрестили это первым словосочетанием пришедшим в голову — Color Cube. Сказано — сделано.

    Первой задачей было организовать генерацию падающих кубов. Всё оказалось просто, помогла функция Invokerepeating(), которая периодически создавала вверху за пределами экрана новые кубы случайного цвета. Уже тут появились зачатки геймдизайна, опытным путём выяснилось, что выпадение подряд кубов одинакового цвета сбивало ритм игры. Исправил. Цвет следующего куба выбирался всё ещё рандомно, но обязательно не совпадал по цвету с предыдущим.

    Читать дальше →
  • Разработка под Symbian: SDK

    Речь пойдет о платформе Series 60, позже переименованной в S^1.

    Это обзорная статья, если немного сумбурная — извините. Только-только исправил все ошибки в postinker elf2e32, её описание и ссылка на гитхаб — в конце статьи.
    image
    Читать дальше →
  • NPM 5 — кратко о том, что принесла новая версия

    NPM 5 — кратко о том, что принесла новая версия

    31 мая все пользователи пакетного менеджера NPM (а им пользуется примерно 60% всех разработчиков на JavaScript, что составляет в сумме более 8 миллионов человек) наконец-то получили возможность обновить его до 5 версии. Что же принесла нам новая версия? Давайте быстро пробежимся по основным моментам.
    Читать дальше →
  • Стоит ли учиться на компьютерного лингвиста? Личный опыт

    image

    В далеком 2012 году, я, только что сдав ЕГЭ (на то время баллы были хорошими), подала документы в университет на бакалаврскую программу «Фундаментальная и прикладная лингвистика». Я не понимала, что это такое, чему нас будут учить, кем я потом буду. Меня привлекло сложное название программы и описание в буклете абитуриентов. Да, в общем, я отучилась 4 года и до сих пор не поняла, правильный ли выбор я сделала.

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

    Возьмем обычного выпускника, который сдавал ЕГЭ по математике, русскому и английскому. Вот он поступает на компьютерную лингвистику, не зная, кем он будет на выходе.

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

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