vovtil
@vovtil
User
12 min
Всем привет! Меня зовут Паша Лесюк, я работаю мобильным тестировщиком в компании Циан. В этой статье я расскажу о возможностях управления яблочными симуляторами из командной строки.
Принципы SOLID, о которых должен знать каждый разработчик
11 min
310K
Translation
Объектно-ориентированное программирование принесло в разработку ПО новые подходы к проектированию приложений. В частности, ООП позволило программистам комбинировать сущности, объединённые некоей общей целью или функционалом, в отдельных классах, рассчитанных на решение самостоятельных задач и независимых от других частей приложения. Однако само по себе применение ООП не означает, что разработчик застрахован от возможности создания непонятного, запутанного кода, который тяжело поддерживать. Роберт Мартин, для того, чтобы помочь всем желающим разрабатывать качественные ООП-приложения, разработал пять принципов объектно-ориентированного программирования и проектирования, говоря о которых, с подачи Майкла Фэзерса, используют акроним SOLID.
Материал, перевод которого мы сегодня публикуем, посвящён основам SOLID и предназначен для начинающих разработчиков.
Материал, перевод которого мы сегодня публикуем, посвящён основам SOLID и предназначен для начинающих разработчиков.
Гарвардский курс CS50 «Основы компьютерных наук и искусства программирования»
3 min
56KВот уже несколько месяцев специально для JavaRush мы переводим и озвучиваем самый популярный в мире университетский курс о CS50 — «Основы компьютерных наук и искусства программирования» (трейлер). Его уже много лет очно читают для студентов Гарварда и для воспитанников Йельского университета, а в последнее время ещё и заочно для многомиллионной аудитории интернета.
Это перевод самой новой версии курса, который стартовал осенью 2015 года. В курсе 24 лекции и постепенно мы переведём их все. Намедни мы перевели 15-ю лекцию, её вы найдёте под катом в списке всех переведённых на сегодняшний день лекций.
Что вы узнаете, прослушав этот курс:
- Основы компьютерных наук и программирования;
- Концепции алгоритмов и алгоритмичности мышления. Какие задачи можно решать с помощью программирования и каким образом;
- Концепции абстракции, структуры данных, инкапсуляции, управления памятью. Основы компьютерной безопасности. Процесс разработки ПО и веб-разработка;
- Основы языка программирования C и Scratch;
- Основы баз данных и SQL;
- Веб-разработка: основы CSS, HTML, JavaScript и PHP;
- Основы подготовки презентации проектов по программированию.
Путь чайника в астрофото. Часть 2 — съемка Юпитера
3 min
21K
Tutorial
Привет geektimes! В первой части было кратко рассказано, какое оборудование может подойти (или не подойти) для фотографии небесных тел. Во второй части перейдем к практическому рассмотрению того, как получить и как обрабатывать снимки.
В принципе, тонкостей с софтом здесь весьма много. Продолжение под катом.
В принципе, тонкостей с софтом здесь весьма много. Продолжение под катом.
Обучаемся самостоятельно: подборка видеокурсов по Computer Science
11 min
126K
Translation
Содержание
- Введение в Computer Science
- Структуры данных и Алгоритмы
- Системное программирование
- Распределенные системы
- Базы данных
- Объектно-ориентированный дизайн и разработка софта
- Искусственный интеллект
- Машинное обучение
- Веб-разработка и интернет-технологии
- Concurrency
- Компьютерные сети
- Разработка мобильных приложений
- Математика для программистов
- Теория информатики и языки программирования
- Архитектура компьютера
- Безопасность
- Компьютерная графика
- Работа с изображениями и компьютерное зрение
- Интерфейс Человек-Компьютер
- Вычислительная биология
- Прочее
Разгоняем производительность iOS-приложений
10 min
11K
Translation
Тормоз для броненосца USS Indiana BB-1, 1910 год. Эта штуковина должна тормозить корабль водоизмещением 10453 тонны.
Оригинал: iOS App Performance: Instruments & beyond
Автор: Igor M
Пользователи не любят ждать. Они не заботятся (и не должны) о том, что необходимо приложению для инициализации, они просто хотят, выполнить свою задачу как можно быстрее. Ваше приложение должно запускаться почти мгновенно, его интерфейс должен быть красивым с плавными переходами. Производительность приложения является одним из ключевых преимуществ в условиях конкуренции на рынке программного обеспечения.
Как разработчики, мы также хотим, гордиться своими приложениями.
Тем не менее, оптимизация производительности является сложной проблемой. Большинство узких мест противоречит здравому смыслу. При отсутствии надлежащих измерений, крайне трудно понять, что замедляет ваше приложение.
Для того, чтобы иметь возможность оптимизировать производительность вашего приложения, вы должны принимать решения, основанные на данных. В этой части я покажу, как получить эти данные путем измерения производительности различных частей вашего приложения.
27 open-source ништячков для iOS разработчика
7 min
24K
Translation
1. DZNEmptyDataSet
Это должно быть стандартом, встроенным в iOS, как способ работы с пустыми таблицами и просмотром коллекций. По умолчанию, если табличное представление пустое, то на экране ничего не отображается. Это не лучший пользовательский опыт, который вы можете получить.
С этой библиотекой вам необходимо всего лишь соответствовать определённым протоколам и iOS сама позаботиться о просмотре коллекций и выделит необходимое особым шрифтом, в виде красивых сообщений для пользователя. Элементарное решение для каждого проекта под iOS.
Нейронные сети для начинающих. Часть 1
7 min
1.5MПривет всем читателям Habrahabr, в этой статье я хочу поделиться с Вами моим опытом в изучении нейронных сетей и, как следствие, их реализации, с помощью языка программирования Java, на платформе Android. Мое знакомство с нейронными сетями произошло, когда вышло приложение Prisma. Оно обрабатывает любую фотографию, с помощью нейронных сетей, и воспроизводит ее с нуля, используя выбранный стиль. Заинтересовавшись этим, я бросился искать статьи и «туториалы», в первую очередь, на Хабре. И к моему великому удивлению, я не нашел ни одну статью, которая четко и поэтапно расписывала алгоритм работы нейронных сетей. Информация была разрознена и в ней отсутствовали ключевые моменты. Также, большинство авторов бросается показывать код на том или ином языке программирования, не прибегая к детальным объяснениям.
Поэтому сейчас, когда я достаточно хорошо освоил нейронные сети и нашел огромное количество информации с разных иностранных порталов, я хотел бы поделиться этим с людьми в серии публикаций, где я соберу всю информацию, которая потребуется вам, если вы только начинаете знакомство с нейронными сетями. В этой статье, я не буду делать сильный акцент на Java и буду объяснять все на примерах, чтобы вы сами смогли перенести это на любой, нужный вам язык программирования. В последующих статьях, я расскажу о своем приложении, написанном под андроид, которое предсказывает движение акций или валюты. Иными словами, всех желающих окунуться в мир нейронных сетей и жаждущих простого и доступного изложения информации или просто тех, кто что-то не понял и хочет подтянуть, добро пожаловать под кат.
Работа NSFetchRequest и NSFetchedResultsController, а также зачем тут продуктовый рынок
20 min
22KЗдравствуйте! Эта статья нацелена на разработчиков, у которых есть минимальный навык работы с Core Data Framework
. Напомню, что Core Data
— это фреймворк для хранения данных на устройстве и взаимодействия с ними. На эту тему есть куча русскоязычных статей на хабре и в сети, поэтому не вижу необходимости повторять их содержание.
Зачастую начинающие особенно Stack Overflow разработчики пугаются использовать Core Data Framework
, потому что он кажется им сложным, или используют лишь малую часть его возможностей. В реальности знание базовых функций классов данного фреймворка позволяет разработчику с удобством работать с моделью.
В статье я хочу акцентировать внимание на следующих моментах:
- мы рассмотрим класс
NSFetchRequest
, с помощью которого создаются запросы на извлечение данных из модели. Мы изучим его основные свойства и кейсы с их применением; - мы подробно разберём функции и работу
NSFetchedResultsController
по эффективному представлению извлечённых данных с помощьюNSFetchRequest
на примереUITableView
.
«Больше чем Аудиомания»: Как научиться играть на барабанах?
12 min
54KФото rskspyder man / CC
Бывают в жизни такие моменты, когда одна навязчивая идея прочно врезается в голову, не отпуская ни на минуту. Иногда это следствие осознанного и планомерного движения к цели, иногда – импульсивное желание осуществить детскую мечту.
Наш сегодняшний материал для тех, чья цель (или мечта) – научиться играть на барабанах. Мы в Аудиомании собрали интересные и полезные советы начинающим барабанщикам и узнали у Дмитрия Полтинина – менеджера по международной логистике Аудиомании и барабанщика и бэк-вокалиста группы †B†C†B† – о его опыте игры на ударных.
Тестирование в рамках SCRUM. Тернии, грабли и успехи
10 min
47KSCRUM — фреймворк управления проектами, в который наша команда попробовала внедрить этап тестирования. В этой статье мы хотим помочь не совершить наших ошибок тем командам, которые только начинают знакомиться со SCRUM. Участники же опытных SCRUM-команд приглашаются в комментарии, чтобы поделиться замечаниями и успехами. А в качестве иллюстраций — беговые дорожки, марафонцы, препятствия. Они тут неспроста. Да и Олимпиада же, в конце концов.
iOS 10: новое в создании анимаций
5 min
19K
Tutorial
Не так давно на WWDC 2016 был анонсирован обновленный интерфейс работы с интерактивными анимациями в iOS 10: теперь у разработчиков появился гибкий инструмент их создания, управления и модификации. В этой статье речь пойдет о том, какие произошли изменения и что из себя представляет новое API.
Оптимизация игры на Unity и dev story Tap Tap Builder
9 min
21KВ копилке каждого инди-разработчика должен быть свой сити-билдер, может быть поэтому я решился «сконструировать» свой велосипед. Конечно же, с квадратными колесами и креслом-качалкой вместо седушки. Работаю я один, поэтому никаких дизайнеров, художников, и тем более моделлеров, в проекте нет. Кроме того, в общем-то, это моя первая игра с трехмерной графикой. Дабы не утруждать себя изучением продвинутых инструментов для создания трехмерных моделей, я решил все сделать своими руками и средствами игровой среды Unity. Там есть только примитивы, вроде кубов да цилиндров, а также возможность их раскрасить. Что ж, следовало запастись терпением и начать «творить», погрузившись в роль архитектора. Полезной информацией для начинающих инди-разработчиков может оказаться мой опыт работы с издателем, а также способы оптимизации игры.
Портфель iOS TEAM разработчика
4 min
23K
Tutorial
Каждый раз когда в команду приходит новый сотрудник, приходится решать вопрос с тем, какие приложения стоит установить на его компьютер. Даже опытные разработчики не помнят всего списка того, чем они попользуются. Часть приложений запускается ежедневно. Часть — время от времени. Но, когда такого приложения нет под рукой — это часто становится потерей драгоценного времени. Как правило, первые дни отводятся на развертывание окружения и ознакомление со списком задач. Хорошо когда есть возможность пройтись по списку и отметить то, что было сделано перед погружением в проект. Из этих соображений был сформирован «портфель» с которым работает наша команда.
Интерполяция: рисуем плавные графики с помощью кривых Безье
4 min
41K
Recovery Mode
Доброго времени суток, харбачитатель.
В этой статье мне хотелось бы рассказать об одном придуманном когда-то алгоритме (или скорее всего — переизобретённом велосипеде) построения плавного графика по заданным точкам, используя кривые Безье. Статья была написана под влиянием вот этой статьи и очень полезного комментария товарища lany, за что им отдельное спасибо.
Постановка задачи
Есть массив Y-ков точек, расположенных равномерно по оси X. Нужно получить плавный график, который проходит через все заданные точки. Пример на рисунке ниже:
Всех, кому интересно, прошу под кат.
В этой статье мне хотелось бы рассказать об одном придуманном когда-то алгоритме (или скорее всего — переизобретённом велосипеде) построения плавного графика по заданным точкам, используя кривые Безье. Статья была написана под влиянием вот этой статьи и очень полезного комментария товарища lany, за что им отдельное спасибо.
Постановка задачи
Есть массив Y-ков точек, расположенных равномерно по оси X. Нужно получить плавный график, который проходит через все заданные точки. Пример на рисунке ниже:
Всех, кому интересно, прошу под кат.
6 причин провала мобильной игры на международном рынке
5 min
22K
Translation
Согласно прогнозам издания Wall Street Journal, в 2017 году объем глобального рынка мобильных игр увеличится в 8 раз по сравнению с 2010 годом – с $3,77 млрд до $29,6 млрд. Сегодня доминирующую позицию на рынке занимает Азиатско-Тихоокеанский регион во главе с Китаем и Японией. На его долю приходится 48 % доходов всей индустрии, а также в 3 раза больше игроков, чем во втором по величине регионе – Северной Америке.
Обзор набора для сборки 3D-принтера
7 min
22KВ прошлый раз меня забанили за ссылки в материале и статья ушла в черновики, поэтому реинкарнирую её в корпоративном блоге DronkRU, так как материал в-принципе полезный и вызывает достаточно много интереса.
Примерно полгода назад я приобрел себе 3D-принтер. С тех пор я наблюдаю, как недорогие китайские решения по типу моего конструктора набирают популярность. И я считаю это правильно, при должной сноровке и небольшом умении такие конструкторы могут дать фору именитым брендам, которые стоят в разы дороже, а иногда даже и на порядки.
В этой публикации я бы хотел познакомить читателей Geektimes с такими конструкторами и показать, что тут нечего бояться. А в разобранном виде получить принтер даже приятней, так как за его сборкой можно провести время очень интересно + получить первоначальное представление, как и, что работает.
Вкратце о принтере – брать можно после сборки сразу печатает, для тех, кто хочет знать подробности, прошу под кат.
Осторожно очень много картинок.
Примерно полгода назад я приобрел себе 3D-принтер. С тех пор я наблюдаю, как недорогие китайские решения по типу моего конструктора набирают популярность. И я считаю это правильно, при должной сноровке и небольшом умении такие конструкторы могут дать фору именитым брендам, которые стоят в разы дороже, а иногда даже и на порядки.
В этой публикации я бы хотел познакомить читателей Geektimes с такими конструкторами и показать, что тут нечего бояться. А в разобранном виде получить принтер даже приятней, так как за его сборкой можно провести время очень интересно + получить первоначальное представление, как и, что работает.
Вкратце о принтере – брать можно после сборки сразу печатает, для тех, кто хочет знать подробности, прошу под кат.
Осторожно очень много картинок.
Управление корпоративными iOS-устройствами при помощи OS X Server, а также распространение приложений внутри компании
11 min
47K
Tutorial
Рано или поздно в доброй части крупных компаний возникает вопрос разработки внутреннего корпоративного мобильного приложения. В связи с этим, перед IT-специалистами встает задача проработки двух сценариев: когда нужно установить приложения на личные устройства сотрудников и когда нужно раздать устройства, являющиеся собственностью компании, для выполнения сотрудниками конкретных задач. В рамках данной статьи рассматривается работа с iOS-устройствами через OS X Server.
Objective-C вопросы на уровень middle/senior
4 min
60KЧто должен знать objc разработчик на уровень middle/senior?
К сожалению, четкой черты на вертикальное развитие нет. Парадокс, но чтобы знать что изучить, нужно знать что ты не знаешь.
Я постарался вспомнить самые интересные вопросы, которые мне задавали самому на различных собеседованиях, а так же расширил их множеством вопросов(тем же уровнем) от себя.
Здесь нет общих вопросов вроде: IoC, design patterns, S.O.L.I.D. и т.п.
ВНИМАНИЕ!!!
Помимо вертикального развития немаловажно и горизонтальное
ВНИМАНИЕ!!! (2)
Не пишите в комментарии ответы на вопросы, это дает возможность людям самостоятельно разобраться.
Однако, если у вас имеются интересные вопросы по теме, я с радостью добавлю их в список.
Конечно, это не заменит живого общения, однако позволит неплохо подготовиться к собеседованиям.
К сожалению, четкой черты на вертикальное развитие нет. Парадокс, но чтобы знать что изучить, нужно знать что ты не знаешь.
Я постарался вспомнить самые интересные вопросы, которые мне задавали самому на различных собеседованиях, а так же расширил их множеством вопросов(тем же уровнем) от себя.
Здесь нет общих вопросов вроде: IoC, design patterns, S.O.L.I.D. и т.п.
ВНИМАНИЕ!!!
Помимо вертикального развития немаловажно и горизонтальное
ВНИМАНИЕ!!! (2)
Не пишите в комментарии ответы на вопросы, это дает возможность людям самостоятельно разобраться.
Однако, если у вас имеются интересные вопросы по теме, я с радостью добавлю их в список.
Конечно, это не заменит живого общения, однако позволит неплохо подготовиться к собеседованиям.
Начинаем
Information
- Rating
- Does not participate
- Location
- Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity