Search
Write a publication
Pull to refresh
0
@SUNNNread⁠-⁠only

User

Send message

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Reading time6 min
Views98K

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

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

Reading time7 min
Views100K
Аурэлио Де Роза несколько дней назад выпустил, на мой взгляд, очень привлекательную статью, которой я хочу с вами поделиться на тот случай, если у вас плохо с английским.
Читать дальше →

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

Reading time3 min
Views80K
image

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

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

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

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

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

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

Reading time2 min
Views7.4K


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

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

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

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

Reading time7 min
Views82K
Всем привет.

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

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


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

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

Reading time1 min
Views24K


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

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

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

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

Reading time6 min
Views9.8K


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

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

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

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

Reading time8 min
Views22K
И снова привет, хабаровчане!

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

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

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

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


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

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

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

Reading time4 min
Views64K


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

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

Reading time5 min
Views45K
Случайно увидел вот такую подсказку на Озоне:



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

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

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

Reading time5 min
Views17K
Если издали видно общую картину, то вблизи можно понять суть. Концепции, которые казались мне далекими и, прямо скажем, странными во время экспериментов с 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 вообще не существует, поскольку он прячет под капотом всю работу с указателями. Остальные два пункта решаются с помощью перечислений.
Читать дальше →

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

Reading time15 min
Views198K


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

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

Reading time6 min
Views32K
Если вы интересуетесь современными технологиями в образовании, то вы, вероятно, уже знаете про Knewton. Если это не так, то информация ниже будет вам полезна!

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

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


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

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

Reading time16 min
Views44K
Русский перевод очень полезной статьи 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»:

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

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

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



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

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

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

Information

Rating
Does not participate
Registered
Activity