Pull to refresh
24
0
Алексей Когтев @kogot

User

Send message

Core Data + Swift для самых маленьких: необходимый минимум (часть 3)

Reading time35 min
Views35K
Это заключительная часть статьи о Core Data, предыдущие части доступны здесь: часть 1 и часть 2.

В этой статье мы повернемся лицом к пользователю и поработаем над интерфейсной частью, помогать нам в этом будет NSFetchRequest и NSFetchedResultsController. Данная часть получилась довольно большой, но я не вижу смысла дробить ее на несколько публикаций. Аккуратнее, под катом много кода и картинок.
Читать дальше →

Лучшие IT-курсы западных вузов по версии хабрасообщества 2016 года

Reading time4 min
Views46K
image

Данный пост-опрос − попытка определить лучшие ИТ-курсы западных вузов, которые находятся в открытом доступе. Конечно, по версии нашего хабрасообщества. Ну и, разумеется, с годами предпочтения меняются, поэтому версия 2016 года.
Читать дальше →

Как стать профессиональным веб-разработчиком: практическое руководство

Reading time12 min
Views667K

Дорога длинна и трудна, но интересна и полезна!

Статья задумывалась как практическое руководство для желающих стать профессиональным веб-разработчиком. Я уже более 20 лет пишу код для веба. Я ежедневно работаю с веб-разработчиками и помогаю им. В статье я опишу, что вам нужно выучить, когда вам нужно это выучить и где взять информацию (чаще всего даже бесплатно). Затем я дам совет по получению реального опыта, и что самое важное – по получению денег за написание кода.

По статье разбросано множество ссылок на бесплатные и важные ресурсы. Для простоты я собрал их в PDF и разбил по категориям. Мне не платят за упоминания сайтов, ссылки на которые я привёл – я всего лишь хочу порекомендовать вам лучшие ресурсы, чтобы помочь вам достичь вашей цели.

Что нужно помнить:

1. Статью разрешается пролистывать

Руководство может помочь вам вне зависимости от вашего положения на дороге к профессиональной разработке. Прокрутите его к тому заголовку, который лучше всего описывает ваше сегодняшнее положение, и читайте оттуда. Если вы только начали этот путь, или пока размышляете об этом – последуйте совету Короля из «Алисы в стране чудес»:

Начните с начала, и продолжайте, пока не дойдёте до конца; и там уже остановитесь.
Читать дальше →

Core Data + Swift для самых маленьких: необходимый минимум (часть 2)

Reading time13 min
Views38K
Это вторая часть трилогии о Core Data, первая доступна здесь: Core Data + Swift для самых маленьких: необходимый минимум (часть 1).

В первой части мы познакомились с общими сведениями о Core Data, основными компонентами (NSManagedObjectModel, NSPersistentStoreCoordinator, NSManagedObjectContext), Редактором модели данных и создали нашу модель данных.

В этой части мы будем работать с объектами, познакомимся с NSEntityDescription и NSManagedObject, автогенерацией классов, а также напишем вспомогательный класс, существенно повышающий удобство работы с Core Data.

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

Что такое RESTful на самом деле

Reading time8 min
Views239K
А ваше приложение — RESTful? Чтобы ответить на этот вопрос нужно сначала разобраться что такое RESTful. Бытует мнение, что отдавать правильные коды ответов в HTTP — это уже RESTful. Или делать правильные идемпотентные HTTP-запросы — это вообще очень RESTful. Мы в Хекслете сделали практический курс по протоколу HTTP (отличия версий, отправка форм, аутентификация, куки и пр.), и в нем мы стараемся рассказать о правильном использовании запросов, но нужно понимать, что RESTful это не про HTTP, это вообще не про протоколы интернета. Современный веб и взаимодействие между браузером и сервером с помощью HTTP и URI могут удовлетворять принципам RESTful, а могут и не удовлетворять.

В сегодняшнем переводе — простое и понятное описание RESTful, и какой должна быть система, чтобы ее можно было так называть.

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

Построение RESTful web API в Caché

Reading time9 min
Views14K
В InterSystems Caché появилась поддержка REST. О том, что такое REST на Хабре уже писали и не раз. Если кратко — это паттерн построения RESTful web API, и ему присущи следующие свойства:
  • разделение клиента и сервера,
  • независимость от состояния (stateless),
  • кэшируемая и многоуровневая архитектура,
  • единый интерфейс,
  • все запросы к RESTful web API состоят из корневого URL приложения плюс частные подзапросы,
  • CRUD через HTTP — HTTP методы GET, PUT, POST, DELETE (RESTful web API).
Читать дальше →

Построение RESTful Message Based веб-сервисов на WCF

Reading time19 min
Views34K

Введение


Я уже писал о том, как сделать SOAP Message Based веб-сервис на WCF. А сейчас хочу рассказать о проектировании и построении RESTful Message Based веб-сервисов на WCF. Для понимания данной статьи необходимы базовые знания о REST и о том, как создавать RESTful веб-сервисы на WCF. Для ознакомления с RESTful веб-сервисами вы можете ознакомиться с: A Guide to Designing and Building RESTful Web Services with WCF 3.5.

В статье я постараюсь раскрыть и решить проблемы дизайна RESTful. Вы узнаете, как построить RESTful веб-сервис, который:
  • Обладает стабильным и универсальным интерфейсом.
  • Передает данные в соответствие с паттерном DTO.

Читать далее

Мультиплеер в быстрых играх (части I, II)

Reading time7 min
Views145K


  1. Части I, II (синглплеер с авторитарным сервером)
  2. Часть III (Появление врага)
  3. Часть IV (Хэдшот!)


Предлагаю вашему вниманию перевод статьи Fast-Paced Multiplayer (Part I): Introduction.

Разработка игры — само по себе непростое занятие. Но мультиплеерные игры создают совершенно новые проблемы, требующие разрешения. Забавно, что у наших проблем всего две причины: человеческая натура и законы физики. Законы физики привнесут проблемы из области теории относительности, а человеческая натура не даст нам доверять сообщениям с клиента.
Читать дальше →

Откровенный разговор с алгоритмическим трейдером

Reading time7 min
Views7.3K
Предлагаю вашему вниманию перевод статьи «A Candid Discussion with an Algorithmic Trader» с сайта quantinsti.com).

Роль алгоритма в жизни человека слишком существенна, чтобы ее игнорировать. От простой процедуры использования кофе-машины до музыкальной системы в вашем автомобиле, от лифтов до поисковых систем, таких, как Google — все это управляется набором логических инструкций — Алгоритмов, которые позволяют нам удовлетворять наши конкретные потребности.
Читать дальше →

Raspberry и Telegram: предпосылки создания умного дома

Reading time3 min
Views87K


Один итальянский магазинчик нащупал новые способы использования Телеграма (и ранее WhatsApp'а), установив его на одноплатный миниатюрный компьютер Raspberry Pi. Как выясняется, мессенджер можно использовать для удалённого общения с собственной техникой. Ниже – перевод статей (1, 2) с сайта Instructables.com. Если есть уточнения по переводу, напишите об этом в комментариях.

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

Raspberry Pi: подробная настройка с нуля до TorrentBox

Reading time7 min
Views351K

Прелюдия


Я давно следил на ХабраХабр за проектом Raspberry Pi и твердо решил заполучить свой мини-компьютер. Когда начался предзаказ, я воспользовался им практически сразу, однако только 17 июня 2012 года мне на Email пришло сообщение от RSComponents.Com о возможности заказа моего экземпляра Raspberry Pi. Итого прошло около месяца с момента предзаказа.

В этот же день я создал заказ (кстати, в то время уже можно было заказать «официально» в Российскую Федерацию) и стал ждать свою «малину». Информационное письмо обещало отгрузку в течение максимум 6 недель, но в этот срок я так и не получил свою плату. Во время звонка в московское представительство RS, менеджер фирма дал понять, что поставки скоро будут, но когда — неизвестно.

17 августа мне на email пришло сообщение от сотрудницы Московского RS, что моя плата доставлена в офис и ее можно забирать (т.к. заказать из RS с доставкой на дом нельзя, потому что DHL не доставляет посылки частным лицам). Собственно говоря, в этот же день я и получил свой компьютер Raspberry Pi!


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

Angular 2 Beta, обучающий курс «Тур героев» часть 3

Reading time8 min
Views16K

Часть 1 Часть 2 Часть 3 Часть 4


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

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

Разработка JavaScript API: 5 принципов написания встраиваемых скриптов

Reading time3 min
Views21K

Наверняка вы сталкивались с принципами (пусть и противоречивыми) о написании модулей и классов на JavaScript. Когда мне понадобилось написать встраиваемый в веб-страницу cкрипт, который предоставляет API для работы определённого сервиса, то я не смог найти достойных рекомендаций о проектировании подобных скриптов.


Итак, вот (довольно очевидные) требования к скрипту, с которыми я столкнулся: 


  • он будет встраиваться в страницы сторонних веб-приложений;
  • он должен выполнять свою работу качественно;
  • он должен загружаться быстро;
  • он не должен (непредсказуемо) влиять на работу веб-приложения;
  •  должен соответствовать требованиям безопасности;
  • … // много чего ещё :)

image


Из реальной практики родились принципы, описанные ниже. Это не полностью уникальные идеи, а скорее сборка лучших практик, которых я видел в чужих решениях, например в библиотечках google analytics и jquery.

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

Angular 2 Beta, обучающий курс «Тур героев» часть 2

Reading time10 min
Views21K

Часть 1 Часть 2 Часть 3 Часть 4


Нужно больше героев


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

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

Hello, Bot! Чат-боты – следующее поколение приложений?

Reading time6 min
Views71K
Недавно прошла конференция //BUILD, на которой Майкрософт традиционно представляет новые технологии для разработчиков. В ключевом докладе первого дня была высказана одна очень важная мысль – по мере того, как общение с компьютерами становится всё более естественным, возрастает роль диалогового общения на естественном языке. Речь здесь не только о том, что мы сможем просить голосовой помощник Cortana просить поставить нам будильник, но и что множество других задач (заказать пиццу, забронировать гостиницу, купить билеты и т.д.) может быть решено с помощью диалога. Более того, это может быть не только диалог между пользователем и компьютером: в более сложном случае человек может попросить Cortana спланировать путешествие, и затем Cortana будет сама общаться с другими ботами, совершая заказ гостиницы и билетов.



Здесь интересно то, что само “общение” может происходить а различных местах: на десктопе с помощью клиента Cortana, но также и в других традиционно используемых для чата каналах: в Skype, Telegram, Slack и т.д. Личность и память нашего персонального ассистента не зависит от канала общения, а располагается где-то в облаке, готовая пообщаться с нами на любом из так называемых “conversational canvases”.

Для создания ботов была представлена предварительная версия Microsoft Bot Framework и соответствующие API, о которых мы поговорим ниже. Мы также покажем, как можно создать своего простейшего бота, поддерживающего беседу с пользователем на английском языке.
Читать дальше →

Как мы внедряли DevOps: планирование и управление проектами с помощью Visual Studio Team Services

Reading time5 min
Views12K


Всем привет! Мы открываем цикл статей «Как мы внедряли DevOps» от команды Vorlon.JS.
Vorlon.JS — это основанный на node.js инструмент, который позволяет веб-разработчикам удобный способ удаленно тестировать, контролировать и отлаживать веб-приложение, особенно на мобильных и embedded системах. В своем блоге на MSDN, команда подробно описывала поэтапное внедрение DevOps практик в организацию работы над Vorlon.JS и выбор инструментов для решения ежедневных задач. Vorlon.JS является проектом с открытым исходным кодом.
Microsoft предлагает большое количество инструментов, которые могут быть использованы для реализации DevOps практик, и в этом цикле мы подробно расскажем про Visual Studio Team Services, Visual Studio Code и работу с Microsoft Azure. Конечно, затронем и возможность использования также множества не-Microsoft инструментов, в том числе при развертывании приложений в Microsoft Azure.

Содержание цикла:
  • Планирование и управление проектами с помощью Visual Studio Team Services
  • Непрерывная интеграция с GitHub и системой сборки Visual Studio Team Services
  • Инфраструктура-как-код с помощью Microsoft Azure и Azure Resource Manager
  • Управление выпусками в Visual Studio Team Services
  • Тестирование в production-среде с Microsoft Azure App Service и Web Apps

И с первой статьей про планирование и управление проектом с Visual Studio Team Services вы можете ознакомиться уже сейчас.
Читать дальше →

Как мы внедряли DevOps: непрерывная интеграция с GitHub и системой сборки Visual Studio Team Services

Reading time6 min
Views7.2K


Всем привет! Мы продолжаем цикл статей «Как мы внедряли DevOps» от команды Vorlon.JS.
Vorlon.JS — это основанный на node.js инструмент, который позволяет веб-разработчикам удобный способ удаленно тестировать, контролировать и отлаживать веб-приложение, особенно на мобильных и embedded системах. В своем блоге на MSDN, команда подробно описывала поэтапное внедрение DevOps практик в организацию работы над Vorlon.JS и выбор инструментов для решения ежедневных задач. Vorlon.JS является проектом с открытым исходным кодом.
Microsoft предлагает большое количество инструментов, которые могут быть использованы для реализации DevOps практик, и в этом цикле мы подробно расскажем про Visual Studio Team Services, Visual Studio Code и работу с Microsoft Azure. Конечно, затронем и возможность использования также множества не-Microsoft инструментов, в том числе при развертывании приложений в Microsoft Azure.

Содержание цикла:

Вы возможно уже знаете, что Visual Studio Team Services (VSTS) предоставляет инструменты управления исходным кодом с поддержкой GIT или TFVSC (Team Foundation Version Source Control).

В этой статье мы подробно расскажем, как легко внедрить непрерывную интеграцию для кода, расположенного на GitHub, используя Visual Studio Team Services.
Читать дальше →

Библиотека для работы с cookies (tasty-cookies)

Reading time2 min
Views9.7K
История старая, я так думаю, все помнят window.cookie = '...' (а может кто этим пользуется), жутко неудобная штука.

Приведу пример на нативном js:

// Добавление печенья
function setCookie(key, value) {
  window.cookie = key + '=' + encodeURIComponent(JSON.stringify(value));
}

// Получение печенья
function getCookie(key) {
  var matches = document.cookie.match(new RegExp(
    '(?:^|; )' + key.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + '=([^;]*)'
  ));
  return JSON.parse(decodeURIComponent(matches[1]));
}

// Добавляем строку
setCookie('string', 'Моя строка');
// Добавляю объект
setCookie('object', {a: 1, b: 2});

// Получаю объект
var object = getCookie('object');

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

Сертификация в Apple Developer Center простым и понятным языком

Reading time12 min
Views140K

Кратко о главном


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

Зачастую при первом погружении в эту систему у начинающих (и не только) разработчиков возникают серьезные проблемы с пониманием того, как функционирует Apple Developer Center (будем называть его «девцентр» для простоты). В результате, мне в процессе профессиональной деятельности не раз приходилось наблюдать на новых местах работы огромные свалки из профилей и сертификатов в девцентре, в результате чего приходилось приступать к «разбору завалов».

При этом, в сети довольно не такой большой выбор материалов на эту тему. Конечно, в официальной документации Apple все хорошо структурировано и очень подробно описано, но зачастую просто не хватает времени на изучение такого количества материала. Как правило, хочется быстро понять, что именно и в каком порядке нужно сделать для корректной работы приложения на этапах разработки, тестирования и при публикации его в магазин App Store. В русском же сообществе подобных материалов, собранных в одном месте и в удобном доступе, я не видел вовсе, поэтому и решил написать эту статью. Для всех интересующихся — добро пожаловать под кат.
Читать дальше →

Оформляем красиво «битые» картинки

Reading time3 min
Views43K
Предлагаю вашему вниманию вольный перевод статьи "Styling Broken Images" с сайта bitsofco.de.

«Битые» картинки выглядят ужасно.

image

Но они не всегда должны так выглядеть. Мы легко можем применить CSS к элементу (тегу) img, чтобы улучшить его внешний вид — сделать его куда более привлекательнее, чем как он выглядит по умолчанию.

Если вам наскучили дефолтные уведомления о «битых» картинках, милости прошу под кат.
Читать дальше →

Information

Rating
Does not participate
Location
Brisbane, Queensland, Австралия
Date of birth
Registered
Activity