Обновить
0
@SUNNNread⁠-⁠only

Пользователь

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

Авторское право, свободные лицензии и GPL с нуля

Время на прочтение18 мин
Охват и читатели38K
В этом посте я дам метаинформацию об авторском праве и свободных лицензиях. Т. е. то, что должен знать каждый, кто пишет свободное ПО. Я не буду останавливаться на конкретных примерах таких лицензий, это вы сможете найти где-нибудь ещё в интернете. Также, я немного поговорю о GPL. Сразу скажу, что я не юрист, и мог где-то ошибиться. Весь этот пост применим почти ко всем развитым странам, в том числе к России и Америке (правда, к сожалению, авторизированного перевода GPL на русский язык нет, а потому она недействительна в России). Везде, где я говорю про GPL, я имею в виду GPL третьей версии, хотя почти вся эта информация применима и к GPL 2, и, скорее всего, будет применима к последующим версиям. (Ещё раз скажу: я плохо разбираюсь в теме, см. UPD от 2016-11-10 в конце статьи.)

Авторское право


Любой продукт интеллектуального труда автоматически становится объектом авторского права. Всевозможные «Copyright», «All right reserved», «©» и т. д. не обязательны. Регистрация авторского права не нужна, однако, она может пригодиться, чтобы потом доказать, что вы действительно являетесь владельцем авторских прав, например, в суде. Т. е. если вы, например, написали программу, выложили её в интернет, не подписались, не написали «Copyright» и т. д., то вы всё равно являетесь владельцем авторских прав на неё. Но вот далеко не факт, что у вас получится, в случае чего, это доказать.

Что значит авторское право? Кто-то может подумать, что это право брать денежные отчисления за использование произведения. Да, это так, но авторское право включает в себя не только это. Авторское право — это право устанавливать любые ограничения и условия (т. е., собственно, лицензию) на использование произведения, в том числе право требовать отчисления. Например, какой-нибудь программист может потребовать, чтобы его программу использовали только стоя на одной ноге. И он будет прав. И любой, кто не подчинится этому условию, будет нарушать закон.
Читать дальше →

Краткая история веб-дизайна

Время на прочтение7 мин
Охват и читатели61K
От переводчика: технологии в вебе меняются сравнительно очень быстро, еще стремительнее вытесняют друг друга тенденции в веб-дизайне, способы подачи контента и взаимодействия с пользователем. Стоит отметить, что развитие не происходит в одностороннем порядке, изменения также касаются способов и методов потребления информации.

В наше время наблюдается стремительный рост доли мобильного трафика. Кроме того, время, потраченное пользователем в Интернете со смартфона или другого мобильного гаджета в среднем значительно больше времени, проведенного человеком за стационарным компьютером. Этот факт не может не повлиять на вектор дальнейшего развития веб-дизайна.

Метаморфозы происходят не только с железками и технологиями, но и с нашим мозгом. Широко обсуждается развитие «клипового мышления», как ответа на возросшее количество информации. Проводится множество практических исследований поведения людей и их мышления при взаимодействии с веб-дизайном. Подробно об этом в своем блоге пишет доктор психологических наук Сьюзан Уэйншенк.

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

Как организовать отправку push-уведомлений на айфон

Время на прочтение5 мин
Охват и читатели21K
В Surfingbird мы используем пуш-уведомления, чтобы сообщать нашим пользователям срочные новости и просто информировать их об интересных материалах за день. Уже в первые недели тестов пуши показали свою огромную эффективность в плане увлечения ретеншена. Этому есть логичное объяснение – телефон у пользователя всегда с собой, в метро, в туалете, на совещаниях и т. д. Когда юзеру приходит пуш, все его внимание концентрируется на этом уведомлении.

Мы реализовали отправку пуш-уведомлений с бекенда на языке программирования Perl. Однако, когда мы только начали внедрять пуши, то столкнулись с некоторыми трудностями. О трудностях и их преодолении мы и хотим рассказать в этом посте.

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

Локализация приложений для китайского рынка-2. Блок-листы

Время на прочтение5 мин
Охват и читатели9.4K
В предыдущей теме я лишь сделал краткий обзор требований к разработчику, который хочет выпустить свое приложение на рынке КНР. Из всех полученных вопросов два основных касались именно блок-листов и вывода денег из Китая. Первый пункт я и хочу рассмотреть более подробно.

禁 — значит «запрещено»

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

Веб-компоненты в реализации Polymer от Google

Время на прочтение6 мин
Охват и читатели98K

Веб-компоненты — это новая эра веб-разработки и почувствовать ее мощь можно уже сегодня при помощи Polymer от Google. Вы можете создавать свои собственные «элементы» (тэги), содержащие шаблон и инкапсулированные стили и логику (js), а так же воспользоваться богатой коллекцией уже готовых элементов.
Заинтересовались? Прошу под кат.

Десять типичных вопросов на собеседованиях на знание HTML

Время на прочтение7 мин
Охват и читатели101K
Аурэлио Де Роза несколько дней назад выпустил, на мой взгляд, очень привлекательную статью, которой я хочу с вами поделиться на тот случай, если у вас плохо с английским.
Читать дальше →

Как купить акции Apple, Google и Facebook в России

Время на прочтение3 мин
Охват и читатели83K
image

В нашем блоге ранее уже рассматривались темы о том, как купить акции российских (на примере «Яндекса», который летом провел размещение своих бумаг на «Московской Бирже») и зарубежных технологических компаний (до, во время и после IPO).

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

Теперь ситуация улучшится — 28 ноября на Санкт-Петербургской бирже стартовали прямые торги иностранными ценными бумагами.

Чтобы купить американские акции на Санкт-Петербургской бирже необходим брокерский счет. Открыть его можно в режиме онлайн по этой ссылке.

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

Эксперимент: бесплатно переводим кейворды и описание приложений для App Store и Google Play в обмен на статистику

Время на прочтение2 мин
Охват и читатели7.4K


Мы уже писали, как перевод ключевых слов для iOs-приложения увеличил количество загрузок на 767%, а также как локализация интерфейса помогла поднять приложение на десятки позиций вверх в локальных топах Google Play. В обоих случаях на рекламу приложений не было потрачено ни цента.

Мы хотим убедиться, что это не единичные случаи, а реально работающий способ сделать приложение более популярным на локальных рынках. В связи с этим мы предлагаем всем разработчикам принять участие в эксперименте:
  1. Мы бесплатно переводим описание и кейворды для страницы вашего приложения в Google Play и/или App Store с английского на любой из нашего списка 40+ языков.
  2. Вы не применяете другие методы продвижения (никакой рекламы, одним словом) в течение месяца.
  3. Вы делитесь с нами графиком загрузок, покупок и рейтингом вашего приложения в локальном сторе.
  4. Мы делимся полученной информацией со всем миром в нашем блоге.

Принять участие в эксперименте

Теория потока: как создать игру, которую полюбят все

Время на прочтение7 мин
Охват и читатели83K
Всем привет.

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

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


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

«Странники»: короткометражный фильм об освоении Солнечной системы

Время на прочтение1 мин
Охват и читатели24K


Короткометражный фильм «Амбиции» — удивительный пример того, как кино может популярно объяснять сложные вещи. В нескольких минутах фильма — большое количество информации, которая воспринимается очень хорошо.

Короткометражный фильм «Странники» (Wanderers) — еще одна интересная работа, в которой затрагивается важный вопрос: освоение Солнечной системы. Правда, здесь расчет строится на эмоции, какой-либо информации практически не сообщается, лишь показаны возможные способы освоения нашей системы.

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

WinJS + универсальные приложения. Изучаем навигацию

Время на прочтение6 мин
Охват и читатели9.9K


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

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

Сегодня мы с вами познакомимся с основными шаблонами (макетами) навигации, а также посмотрим, как реализовать их внутри своего приложения.
Читать дальше →

«Программирование мышкой» в Swift ч.2 — навигация

Время на прочтение8 мин
Охват и читатели22K
И снова привет, хабаровчане!

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

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

Создание игры на ваших глазах — часть 8: Визуальное скриптование кат-сцен в Unity (uScript)

Время на прочтение6 мин
Охват и читатели48K
В одной из предыдущих публикаций я рассказывал, что мы прикрутили к нашей игре язык Lua для скриптования различных сценок. Однако, попользовавшись им какое-то время, мы поняли, что порой написание таких скриптов превращается в довольно сложночитаемый и сложноотлаживаемый код.


И мы задумались о визуальном подходе. В этой статье я расскажу о нашем знакомстве с средством визуального скриптинга для Unity — "uScript", о его возможностях и расскажу о нашем опыте.

Да, на скрине выше — реальные скрипт и схема.
Читать дальше →

10 возможностей быть продуктивнее с Eclipse для Java разработчиков

Время на прочтение4 мин
Охват и читатели65K


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

Пара маленьких лайфхаков поиска по товарам в интернет-магазине

Время на прочтение5 мин
Охват и читатели46K
Случайно увидел вот такую подсказку на Озоне:



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

У нас самих не лучший в мире поиск, но он продаёт. Давайте покажу, что мы сделали.
Читать дальше →

Обработка ошибок в Swift — меч и магия

Время на прочтение5 мин
Охват и читатели17K
Если издали видно общую картину, то вблизи можно понять суть. Концепции, которые казались мне далекими и, прямо скажем, странными во время экспериментов с Haskell и Scala, при программировании на Swift становятся ослепительно очевидными решениями для широкого спектра проблем.

Взять вот обработку ошибок. Конкретный пример – деление двух чисел, которое должно вызвать исключение если делитель равен нулю. В Objective C я бы решил проблему так:

NSError *err = nil;
CGFloat result = [NMArithmetic divide:2.5 by:3.0 error:&err];
if (err) {
    NSLog(@"%@", err)
} else {
    [NMArithmetic doSomethingWithResult:result]
}

Со временем это стало казаться самым привычным способом написания кода. Я не замечаю, какие загогулины приходится писать и как косвенно они связаны с тем, что я на самом деле хочу от программы:

Верни мне значение. Если не получится – то дай знать, чтобы ошибку можно было обработать.

Я передаю параметры, разыменовываю указатели, возвращаю значение в любом случае и в некоторых случаях потом игнорирую. Это неорганизованный код по следующим причинам:

  • Я говорю на машинном языке – указатели, разыменование.
  • Я должен сам предоставить методу способ, которым он уведомит меня об ошибке.
  • Метод возвращает некий результат даже в случае ошибки.

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

Поиск на сайте своими руками

Время на прочтение15 мин
Охват и читатели207K


Наверное, многие когда-нибудь задумывались, как сделать поиск на сайте? Безусловно, для крупных сайтов с большим количеством контента поиск является просто незаменимой вещью. В большинстве случаев пользователь, впервые посетив Ваш сайт в поисках чего-либо важного, не станет разбираться в навигационных панелях, выпадающих меню и прочих элементах навигации, а в спешке попытается найти что-нибудь похожее на поисковую строку. И если такой роскоши на сайте не окажется, либо он не справится с поисковым запросом, то посетитель просто закроет вкладку. Но статья не о значении поиска для сайта и не о психологии посетителей. Я расскажу, как реализовать небольшой алгоритм полнотекстового поиска, который, надеюсь, избавит начинающих разработчиков от головной боли.
Читать дальше →

Адаптивное обучение, или несколько слов о Knewton

Время на прочтение6 мин
Охват и читатели33K
Если вы интересуетесь современными технологиями в образовании, то вы, вероятно, уже знаете про Knewton. Если это не так, то информация ниже будет вам полезна!

Почему это важно?

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


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

Многоликие функции Swift

Время на прочтение16 мин
Охват и читатели44K
Русский перевод очень полезной статьи Natasha Murashev The Many Faces of Swift Functions.

Хотя у Objective-C синтаксис выглядит несколько странно, по сравнению с другими языками программирования, синтаксис метода — прост и понятен. Вот небольшой экскурс в прошлое:

+ (void)mySimpleMethod
{
    // метод "класса"
    // нет параметров
    // нет возвращаемых значений
}

- (NSString *)myMethodNameWithParameter1:(NSString *)param1 parameter2:(NSNumber *)param2
{
    // метод "экземпляра"
    // первый параметр - типа NSString указатель, 
    // второй параметр  - типа NSNumber указатель
    // должен вернуть значение типа NSString указатель
    return @"hello, world!";
}


В противоположность этому, синтаксис Swift выглядит в большинстве случаев также, как и в других языках программирования, но временами он может быть более сложным и запутанным, чем в Objective-C.

Прежде чем я продолжу, я хочу прояснить разницу между «методами» и «функциями» в Swift, так как я повсеместно буду использовать оба этих термина в этой статье. Вот определение «методов», данное в книге Apple «Swift Programming Language»:

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

Будущее [отсутствие] интерфейсов браузеров от Яндекса

Время на прочтение10 мин
Охват и читатели189K
Только что Яндекс сделал важный шаг, который, как мы надеемся, приближает нас к будущему браузеров и тому, как будут выглядеть интерфейсы, через которые мы взаимодействуем с интернетом. Мы представили новую альфа-версию Яндекс.Браузера, которая по сути является новым подходом к интерфейсам браузеров.



Меня зовут Гена Лохтин. В Яндексе я отвечаю за проектирование интерфейса нового Браузера, и специально для Хабра хочу сейчас рассказать, почему мы пришли к такому новому интерфейсу и какие трудности нам удалось преодолеть по дороге. Внутри для нового браузера мы использовали кодовое название «Кусто» (чуть ниже расскажу почему). Так что иногда я буду использовать его в тексте.

Всё началось ещё в 2012 году с вопроса, который задают себе многие авторы браузеров: как сделать так, чтобы интерфейс занимал меньше места и оставлял его сайтам? Вопрос кажется простым. И первые идеи ответов на него тоже простые. Кто-то убирает табы в заголовок окна, кто-то — иконки расширений к адресной строке.

Но никто ещё не предлагал такого радикального решения, как мы. Чтобы прийти к нему, и решить все те проблемы, которые оно ставит, — понадобилось несколько лет. Ведь это не только убирание рамок. Нужно, чтобы браузером при этом было удобно пользоваться. Внутри «Кусто» много новых интерфейсных решений, над которыми мы долго работали и которые долго тестировали. Итак.
Читать дальше →

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность