Pull to refresh
0
0
vovtil @vovtil

User

Send message

simctl: управление симуляторами Apple через терминал

Reading time 12 min
Views 15K
Всем привет! Меня зовут Паша Лесюк, я работаю мобильным тестировщиком в компании Циан. В этой статье я расскажу о возможностях управления яблочными симуляторами из командной строки.

Читать дальше →
Total votes 13: ↑12 and ↓1 +11
Comments 5

Принципы SOLID, о которых должен знать каждый разработчик

Reading time 11 min
Views 310K
Объектно-ориентированное программирование принесло в разработку ПО новые подходы к проектированию приложений. В частности, ООП позволило программистам комбинировать сущности, объединённые некоей общей целью или функционалом, в отдельных классах, рассчитанных на решение самостоятельных задач и независимых от других частей приложения. Однако само по себе применение ООП не означает, что разработчик застрахован от возможности создания непонятного, запутанного кода, который тяжело поддерживать. Роберт Мартин, для того, чтобы помочь всем желающим разрабатывать качественные ООП-приложения, разработал пять принципов объектно-ориентированного программирования и проектирования, говоря о которых, с подачи Майкла Фэзерса, используют акроним SOLID.



Материал, перевод которого мы сегодня публикуем, посвящён основам SOLID и предназначен для начинающих разработчиков.
Читать дальше →
Total votes 42: ↑33 and ↓9 +24
Comments 33

Гарвардский курс CS50 «Основы компьютерных наук и искусства программирования»

Reading time 3 min
Views 56K


Вот уже несколько месяцев специально для JavaRush мы переводим и озвучиваем самый популярный в мире университетский курс о CS50 — «Основы компьютерных наук и искусства программирования» (трейлер). Его уже много лет очно читают для студентов Гарварда и для воспитанников Йельского университета, а в последнее время ещё и заочно для многомиллионной аудитории интернета.
Это перевод самой новой версии курса, который стартовал осенью 2015 года. В курсе 24 лекции и постепенно мы переведём их все. Намедни мы перевели 15-ю лекцию, её вы найдёте под катом в списке всех переведённых на сегодняшний день лекций.

Что вы узнаете, прослушав этот курс:

  • Основы компьютерных наук и программирования;
  • Концепции алгоритмов и алгоритмичности мышления. Какие задачи можно решать с помощью программирования и каким образом;
  • Концепции абстракции, структуры данных, инкапсуляции, управления памятью. Основы компьютерной безопасности. Процесс разработки ПО и веб-разработка;
  • Основы языка программирования C и Scratch;
  • Основы баз данных и SQL;
  • Веб-разработка: основы CSS, HTML, JavaScript и PHP;
  • Основы подготовки презентации проектов по программированию.

Читать дальше →
Total votes 30: ↑26 and ↓4 +22
Comments 11

Путь чайника в астрофото. Часть 2 — съемка Юпитера

Reading time 3 min
Views 21K
Привет geektimes! В первой части было кратко рассказано, какое оборудование может подойти (или не подойти) для фотографии небесных тел. Во второй части перейдем к практическому рассмотрению того, как получить и как обрабатывать снимки.



В принципе, тонкостей с софтом здесь весьма много. Продолжение под катом.
Читать дальше →
Total votes 35: ↑33 and ↓2 +31
Comments 27

Обучаемся самостоятельно: подборка видеокурсов по Computer Science

Reading time 11 min
Views 126K
image

Содержание


  1. Введение в Computer Science
  2. Структуры данных и Алгоритмы
  3. Системное программирование
  4. Распределенные системы
  5. Базы данных
  6. Объектно-ориентированный дизайн и разработка софта
  7. Искусственный интеллект
  8. Машинное обучение
  9. Веб-разработка и интернет-технологии
  10. Concurrency
  11. Компьютерные сети
  12. Разработка мобильных приложений
  13. Математика для программистов
  14. Теория информатики и языки программирования
  15. Архитектура компьютера
  16. Безопасность
  17. Компьютерная графика
  18. Работа с изображениями и компьютерное зрение
  19. Интерфейс Человек-Компьютер
  20. Вычислительная биология
  21. Прочее

Total votes 78: ↑64 and ↓14 +50
Comments 23

Разгоняем производительность iOS-приложений

Reading time 10 min
Views 11K
image
Тормоз для броненосца USS Indiana BB-1, 1910 год. Эта штуковина должна тормозить корабль водоизмещением 10453 тонны.

Оригинал: iOS App Performance: Instruments & beyond
Автор: Igor M

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

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

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

Для того, чтобы иметь возможность оптимизировать производительность вашего приложения, вы должны принимать решения, основанные на данных. В этой части я покажу, как получить эти данные путем измерения производительности различных частей вашего приложения.
Total votes 20: ↑19 and ↓1 +18
Comments 0

27 open-source ништячков для iOS разработчика

Reading time 7 min
Views 24K

1. DZNEmptyDataSet


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

С этой библиотекой вам необходимо всего лишь соответствовать определённым протоколам и iOS сама позаботиться о просмотре коллекций и выделит необходимое особым шрифтом, в виде красивых сообщений для пользователя. Элементарное решение для каждого проекта под iOS.

image


Total votes 29: ↑23 and ↓6 +17
Comments 9

Нейронные сети для начинающих. Часть 1

Reading time 7 min
Views 1.5M
image

Привет всем читателям Habrahabr, в этой статье я хочу поделиться с Вами моим опытом в изучении нейронных сетей и, как следствие, их реализации, с помощью языка программирования Java, на платформе Android. Мое знакомство с нейронными сетями произошло, когда вышло приложение Prisma. Оно обрабатывает любую фотографию, с помощью нейронных сетей, и воспроизводит ее с нуля, используя выбранный стиль. Заинтересовавшись этим, я бросился искать статьи и «туториалы», в первую очередь, на Хабре. И к моему великому удивлению, я не нашел ни одну статью, которая четко и поэтапно расписывала алгоритм работы нейронных сетей. Информация была разрознена и в ней отсутствовали ключевые моменты. Также, большинство авторов бросается показывать код на том или ином языке программирования, не прибегая к детальным объяснениям.

Поэтому сейчас, когда я достаточно хорошо освоил нейронные сети и нашел огромное количество информации с разных иностранных порталов, я хотел бы поделиться этим с людьми в серии публикаций, где я соберу всю информацию, которая потребуется вам, если вы только начинаете знакомство с нейронными сетями. В этой статье, я не буду делать сильный акцент на Java и буду объяснять все на примерах, чтобы вы сами смогли перенести это на любой, нужный вам язык программирования. В последующих статьях, я расскажу о своем приложении, написанном под андроид, которое предсказывает движение акций или валюты. Иными словами, всех желающих окунуться в мир нейронных сетей и жаждущих простого и доступного изложения информации или просто тех, кто что-то не понял и хочет подтянуть, добро пожаловать под кат.
Читать дальше →
Total votes 70: ↑60 and ↓10 +50
Comments 64

Работа NSFetchRequest и NSFetchedResultsController, а также зачем тут продуктовый рынок

Reading time 20 min
Views 22K

Здравствуйте! Эта статья нацелена на разработчиков, у которых есть минимальный навык работы с Core Data Framework. Напомню, что Core Data — это фреймворк для хранения данных на устройстве и взаимодействия с ними. На эту тему есть куча русскоязычных статей на хабре и в сети, поэтому не вижу необходимости повторять их содержание.


Зачастую начинающие особенно Stack Overflow разработчики пугаются использовать Core Data Framework, потому что он кажется им сложным, или используют лишь малую часть его возможностей. В реальности знание базовых функций классов данного фреймворка позволяет разработчику с удобством работать с моделью.


В статье я хочу акцентировать внимание на следующих моментах:


  • мы рассмотрим класс NSFetchRequest, с помощью которого создаются запросы на извлечение данных из модели. Мы изучим его основные свойства и кейсы с их применением;
  • мы подробно разберём функции и работу NSFetchedResultsController по эффективному представлению извлечённых данных с помощью NSFetchRequest на примере UITableView.

image
Читать дальше →
Total votes 15: ↑13 and ↓2 +11
Comments 3

«Больше чем Аудиомания»: Как научиться играть на барабанах?

Reading time 12 min
Views 54K


Фото rskspyder man / CC

Бывают в жизни такие моменты, когда одна навязчивая идея прочно врезается в голову, не отпуская ни на минуту. Иногда это следствие осознанного и планомерного движения к цели, иногда – импульсивное желание осуществить детскую мечту.

Наш сегодняшний материал для тех, чья цель (или мечта) – научиться играть на барабанах. Мы в Аудиомании собрали интересные и полезные советы начинающим барабанщикам и узнали у Дмитрия Полтинина – менеджера по международной логистике Аудиомании и барабанщика и бэк-вокалиста группы †B†C†B† – о его опыте игры на ударных.
Читать дальше →
Total votes 32: ↑29 and ↓3 +26
Comments 31

Тестирование в рамках SCRUM. Тернии, грабли и успехи

Reading time 10 min
Views 47K
SCRUM — фреймворк управления проектами, в который наша команда попробовала внедрить этап тестирования. В этой статье мы хотим помочь не совершить наших ошибок тем командам, которые только начинают знакомиться со SCRUM. Участники же опытных SCRUM-команд приглашаются в комментарии, чтобы поделиться замечаниями и успехами. А в качестве иллюстраций — беговые дорожки, марафонцы, препятствия. Они тут неспроста. Да и Олимпиада же, в конце концов.


Читать дальше →
Total votes 17: ↑16 and ↓1 +15
Comments 10

iOS 10: новое в создании анимаций

Reading time 5 min
Views 19K


Не так давно на WWDC 2016 был анонсирован обновленный интерфейс работы с интерактивными анимациями в iOS 10: теперь у разработчиков появился гибкий инструмент их создания, управления и модификации. В этой статье речь пойдет о том, какие произошли изменения и что из себя представляет новое API.
Читать дальше →
Total votes 30: ↑27 and ↓3 +24
Comments 2

Оптимизация игры на Unity и dev story Tap Tap Builder

Reading time 9 min
Views 21K
В копилке каждого инди-разработчика должен быть свой сити-билдер, может быть поэтому я решился «сконструировать» свой велосипед. Конечно же, с квадратными колесами и креслом-качалкой вместо седушки. Работаю я один, поэтому никаких дизайнеров, художников, и тем более моделлеров, в проекте нет. Кроме того, в общем-то, это моя первая игра с трехмерной графикой. Дабы не утруждать себя изучением продвинутых инструментов для создания трехмерных моделей, я решил все сделать своими руками и средствами игровой среды Unity. Там есть только примитивы, вроде кубов да цилиндров, а также возможность их раскрасить. Что ж, следовало запастись терпением и начать «творить», погрузившись в роль архитектора. Полезной информацией для начинающих инди-разработчиков может оказаться мой опыт работы с издателем, а также способы оптимизации игры.

image
Читать дальше →
Total votes 18: ↑17 and ↓1 +16
Comments 27

Портфель iOS TEAM разработчика

Reading time 4 min
Views 23K
image

Каждый раз когда в команду приходит новый сотрудник, приходится решать вопрос с тем, какие приложения стоит установить на его компьютер. Даже опытные разработчики не помнят всего списка того, чем они попользуются. Часть приложений запускается ежедневно. Часть — время от времени. Но, когда такого приложения нет под рукой — это часто становится потерей драгоценного времени. Как правило, первые дни отводятся на развертывание окружения и ознакомление со списком задач. Хорошо когда есть возможность пройтись по списку и отметить то, что было сделано перед погружением в проект. Из этих соображений был сформирован «портфель» с которым работает наша команда.
Читать дальше →
Total votes 23: ↑15 and ↓8 +7
Comments 42

Интерполяция: рисуем плавные графики с помощью кривых Безье

Reading time 4 min
Views 41K
Доброго времени суток, харбачитатель.

В этой статье мне хотелось бы рассказать об одном придуманном когда-то алгоритме (или скорее всего — переизобретённом велосипеде) построения плавного графика по заданным точкам, используя кривые Безье. Статья была написана под влиянием вот этой статьи и очень полезного комментария товарища lany, за что им отдельное спасибо.

Постановка задачи
Есть массив Y-ков точек, расположенных равномерно по оси X. Нужно получить плавный график, который проходит через все заданные точки. Пример на рисунке ниже:



Всех, кому интересно, прошу под кат.
Читать дальше →
Total votes 24: ↑21 and ↓3 +18
Comments 53

6 причин провала мобильной игры на международном рынке

Reading time 5 min
Views 22K
Согласно прогнозам издания Wall Street Journal, в 2017 году объем глобального рынка мобильных игр увеличится в 8 раз по сравнению с 2010 годом – с $3,77 млрд до $29,6 млрд. Сегодня доминирующую позицию на рынке занимает Азиатско-Тихоокеанский регион во главе с Китаем и Японией. На его долю приходится 48 % доходов всей индустрии, а также в 3 раза больше игроков, чем во втором по величине регионе – Северной Америке.


Читать дальше →
Total votes 21: ↑18 and ↓3 +15
Comments 7

Обзор набора для сборки 3D-принтера

Reading time 7 min
Views 22K
В прошлый раз меня забанили за ссылки в материале и статья ушла в черновики, поэтому реинкарнирую её в корпоративном блоге DronkRU, так как материал в-принципе полезный и вызывает достаточно много интереса.

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

В этой публикации я бы хотел познакомить читателей Geektimes с такими конструкторами и показать, что тут нечего бояться. А в разобранном виде получить принтер даже приятней, так как за его сборкой можно провести время очень интересно + получить первоначальное представление, как и, что работает.

image

Вкратце о принтере – брать можно после сборки сразу печатает, для тех, кто хочет знать подробности, прошу под кат.
Осторожно очень много картинок.
Читать дальше →
Total votes 20: ↑17 and ↓3 +14
Comments 23

Как подружить iOS-приложение с типографикой

Reading time 4 min
Views 13K


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

Читать дальше →
Total votes 15: ↑14 and ↓1 +13
Comments 3

Управление корпоративными iOS-устройствами при помощи OS X Server, а также распространение приложений внутри компании

Reading time 11 min
Views 47K


Рано или поздно в доброй части крупных компаний возникает вопрос разработки внутреннего корпоративного мобильного приложения. В связи с этим, перед IT-специалистами встает задача проработки двух сценариев: когда нужно установить приложения на личные устройства сотрудников и когда нужно раздать устройства, являющиеся собственностью компании, для выполнения сотрудниками конкретных задач. В рамках данной статьи рассматривается работа с iOS-устройствами через OS X Server.
Читать дальше →
Total votes 8: ↑7 and ↓1 +6
Comments 24

Objective-C вопросы на уровень middle/senior

Reading time 4 min
Views 60K
Что должен знать objc разработчик на уровень middle/senior?
К сожалению, четкой черты на вертикальное развитие нет. Парадокс, но чтобы знать что изучить, нужно знать что ты не знаешь.
Я постарался вспомнить самые интересные вопросы, которые мне задавали самому на различных собеседованиях, а так же расширил их множеством вопросов(тем же уровнем) от себя.
Здесь нет общих вопросов вроде: IoC, design patterns, S.O.L.I.D. и т.п.

ВНИМАНИЕ!!!
Помимо вертикального развития немаловажно и горизонтальное

ВНИМАНИЕ!!! (2)
Не пишите в комментарии ответы на вопросы, это дает возможность людям самостоятельно разобраться.
Однако, если у вас имеются интересные вопросы по теме, я с радостью добавлю их в список.

Конечно, это не заменит живого общения, однако позволит неплохо подготовиться к собеседованиям.


Начинаем


Читать дальше →
Total votes 30: ↑23 and ↓7 +16
Comments 25

Information

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