RSS
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 ... 41
[>] Лицензия для вашего open-source проекта
habra.14
habrabot(difrex,1) — All
2014-11-13 13:00:41


В этой статье я хочу немного поговорить об авторском праве и свободных лицензиях на ПО. Текст является результатом самостоятельного выбора лицензий и их применения к своим проектам. Статья будет полезна тем, кто хочет: — в общих чертах понять, что такое авторское право (но лучше обратиться к юристу), — подобрать свободную лицензию для своего проекта, — разобраться, что нужно писать в шапке файла исходного кода. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/243091/#habracut

[>] Разработка программы в Multimedia Builder на примере утилиты для удаленной работы с кассовым ПО
habra.14
habrabot(difrex,1) — All
2014-11-13 13:01:04


![][1] Как вы все уже поняли, я просто обычный инженер, но я всегда стремлюсь к тому, чтобы сделать свою работу и коллег намного удобнее. Думаю каждому ИТ-шнику знакома такая задача, как автоматизация выполнения процессов. Так вот, в процессе своей работы с кассовым ПО мне пришлось столкнуться со множеством повседневных процедур, касающихся удаленного доступа и управлением кассой, а также автоматизацией многих процедур. Сам я не программист. Несмотря на то, что изучал VB, VBA, JavaScript и PHP, но все это осталось на студенческой скамье. Так вот, мне как инженеру надоело каждый раз делать одно и тоже и тратить на это время. И я задался вопросом, а можно ли при минимальных знаниях программирования создать какое-нибудь средство по автоматизации поддержки кассового ПО для выполнения повседневных задач? [Читать дальше →][2]

[1]: //habrastorage.org/files/515/aa3/4fb/515aa34fbc9348f4b3bdba8861d72a0c.JPG
[2]: http://habrahabr.ru/post/242807/#habracut

[>] PentestIT. Практическая информационная безопасность: итоги 2014 года, часть I
habra.14
habrabot(difrex,1) — All
2014-11-13 15:00:37


![][1]Добрый день! Хотим поприветствовать всех поклонников нашего блога и подвести краткие итоги уходящего 2014 года. В этом году компания PentestIT запустила две программы подготовки специалистов в сфере практической ИБ: «Zero Security: A» и «Корпоративные лаборатории тестирования на проникновение». Программы, как и задумывалось, получились разные: как по уровню подготовки, так и по сложности преподаваемого материала. Хотелось бы рассказать вам, чего мы добились по каждой из программ. [Читать дальше →][2]

[1]: //habrastorage.org/files/630/d7e/366/630d7e366d854d9991a1106a3e543ccf.png
[2]: http://habrahabr.ru/post/243083/#habracut

[>] Контролируйте свои ABAP-разработки
habra.14
habrabot(difrex,1) — All
2014-11-13 16:30:43


Сегодня на 2014 год, российские компании, внедрившие продукты компании SAP потратили большое количество ресурсов на клиентскую доработку решений. Однако не привносят ли эти разработки дополнительные риски в ваши бизнес-процессы? Компания SAP гарантирует качество кода в своих приложениях благодаря ручному аудиту поставляемого кода и использованию самых современных механизмов статического и динамического анализа своих продуктов на различные уязвимости. Автор этих строк провел исследование в университете г. Саарбрюккен (Германия) целью которого являлся анализ кодов продуктов SAP (решения по электронной коммерции) самыми современными инструментами статического анализа и убедился в высоком качестве этого кода. Программный код компании SAP проходит ручной и автоматизированный анализ, тысячи специальных тест-кейсов. Клиентский программный код зачастую не может быть так полно проанализирован, особенно, в условиях сжатых сроков проектов, в которых приходится работать. Стоит задуматься о качестве клиентского кода в ваших системах. Важно понимать, что проверка авторизации пользователя (синоним безопасности SAP для многих предприятий) не поможет предотвратить использование такого рода ошибок, т.к. пользователь, использующий ошибки в коде, выходит за рамки полномочий, определенных системным администратором. Рассмотрим ошибки, которые могут присутствовать в клиентском коде. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/243121/#habracut

[>] Первая Всероссийская олимпиада школьников по программированию (информатике) 1989 года
habra.14
habrabot(difrex,1) — All
2014-11-13 17:00:40




##### Посвящается памяти Ильи Жильцова

После знакомства в Яндекс-лагере с ребятами из Мытищинской школы программистов, мне стало интересно, как проходили первые олимпиады по программированию. Для начала я написал пост о первой всесоюзной, потом стал искать информацию о первой всероссийской олимпиаде и эти поиски привели меня к одному из победителей (второе место) этой олимпиады — Даниэлю Алиевскому (), он охотно поделился со мной личными фотографиями, своими воспоминаниями и записями из дневника (будет в следующей публикации). 1988 год, 13-20 апреля в Свердловске, [Первая Всесоюзная олимпиада школьников по программированию (информатике)][1] 1989 год, 21-25 марта в Красноярске, Первая Всероссийская олимпиада школьников по программированию (информатике) 1989 год, 15-20 мая в Болгарии в городе Правец, Первая Международная олимпиада школьников по программированию (информатике) ![][2] _(из личного архива Даниэля Алиевского, награждение)_ Привожу тексты задач Первой Всероссийской Олимпиады школьников по программированию. Их можно порешать самим или дать школьникам-падаванам. (в конце публикации Даниэль рассказал, как учились информатике/программированию в _те_ годы) [Читать дальше →][3]

[1]: http://habrahabr.ru/post/235089/
[2]: //habrastorage.org/files/096/4f1/fb5/0964f1fb55f44a2f9ed894845144dafa.jpg
[3]: http://habrahabr.ru/post/235909/#habracut

[>] Содержимое Intel IOT development kit
habra.14
habrabot(difrex,1) — All
2014-11-13 19:00:35


В феврале я [писал][1] о сборке Yocto для [Galileo gen1][2], которая несколько облегчает разработку для Galileo. С тех пор прошел почти год, и у Galileo появились последователи — [Galileo gen2][3], [Edison][4]. Про Edison (уже два месяца в [продаже][5]) надо писать отдельно, этот же пост об Intel IOT Development Kit. ![image][6] Из железок на моем рабочем столе (извините за беспорядок) он совместим с Galileo gen1, gen2 и Edison. С декабря 2013 по октябрь 2014 я был архитектором этого продукта, и сейчас я опишу, как продвигался проект, что уже получилось, и что запланировано. [Читать дальше →][7]

[1]: http://habrahabr.ru/company/intel/blog/214485/
[2]: http://ark.intel.com/products/78919/Intel-Galileo-Board
[3]: http://ark.intel.com/products/83137/Intel-Galileo-Gen-2-Board
[4]: http://ark.intel.com/products/84574/Intel-Edison-Board-for-Arduino
[5]: https://www.sparkfun.com/categories/272
[6]: http://habrastorage.org/getpro/habr/post_images/d0a/8ca/cc8/d0a8cacc83e523473460110375b9730a.jpg
[7]: http://habrahabr.ru/post/236179/#habracut

[>] Стековое программирование с человеческим лицом (часть вторая)
habra.14
habrabot(difrex,1) — All
2014-11-13 19:01:00


Как и следовало ожидать, предыдущий пост вызвал противоречивые комментарии. Кого-то устраивает и существующий Форт для решения вопросов, кого-то (как и меня) раздражают его особенности. ![image][1] Давайте сразу расставим все точки над i: я не пытаюсь сочинить замену Форту. Форт — семейство среднеуровневых языков программирования, которое продолжает продуктивно решать поставленные задачи и на покой не собирается. Но я размышляю в другой нише: высокоуровневый стековый язык с упором на лёгкость чтения программ для начинающих (насколько это вообще возможно). Большая традиционность и высокоуровневость имеет свои достоинства, но при этом теряются некоторые особенности (в том числе и положительные) Форта. У нового воображаемого языка появляется своя философия и свои концепции. Об этом я и продолжу писать. [Читать дальше →][2]

[1]: http://habrastorage.org/getpro/habr/post_images/752/c37/f1f/752c37f1f323cc309704623318dbead6.jpg
[2]: http://habrahabr.ru/post/243051/#habracut

[>] Под какой ОС и на чем Вы программируете?
habra.14
habrabot(difrex,1) — All
2014-11-13 22:00:41


Привет всем, Вот задался вопросом, более менее внятной статистики не нашел, потому попробую опросить здесь. [][1]

[1]: http://habrahabr.ru/post/243183/#habracut

[>] [recovery mode] Под какой ОС и на чем Вы программируете?
habra.14
habrabot(difrex,1) — All
2014-11-13 23:00:39


Привет всем, Вот задался вопросом, более менее внятной статистики не нашел, потому попробую опросить здесь. [][1]

[1]: http://habrahabr.ru/post/243183/#habracut

[>] [recovery mode] Под какой ОС и на чем вы программируете?
habra.14
habrabot(difrex,1) — All
2014-11-14 01:00:37


Привет всем, Вот задался вопросом, более менее внятной статистики не нашел, потому попробую опросить здесь. Цель — приблизительно узнать популярность ОС именно для программирования (не путать с повседневным использованием). [][1]

[1]: http://habrahabr.ru/post/243183/#habracut

[>] Русская документация по языку SQL СУБД Firebird 2.5
habra.14
habrabot(difrex,1) — All
2014-11-14 02:00:38


Firebird Project рад объявить о доступности русской документации по языку СУБД Firebird — «Руководство по языку SQL СУБД Firebird». Руководство можно скачать с [официального сайта FirebirdSQL.org][1] или с [домашней страницы][2] проекта русской документации. Русская документация СУБД FirebirdSQL появилась благодаря спонсорам — [Московской Бирже][3] (платиновый спонсор и один из крупнейших пользователей Firebird) и [IBSurgeon/IBase.ru][4] (золотой спонсор). На этом работа над документацией по Firebird не заканчивается — будут выпускаться исправления и дополнения к документации по Firebird 2.5, в активной работе находятся разделы, посвященные Firebird 3. На будущий год запланирован выпуск «Руководства по эксплуатации СУБД Firebird» (Firebird Operations Guide). [][5]

[1]: http://www.firebirdsql.org/en/reference-manuals/
[2]: https://www.assembla.com/spaces/firebird-russian-documentation/wiki
[3]: http://moex.com
[4]: http://ib-aid.com
[5]: http://habrahabr.ru/post/243187/#habracut

[>] Haxe: конвертируем исходный код
habra.14
habrabot(difrex,1) — All
2014-11-14 09:00:43


![][1] Haxe — очень удобный и практичный язык, но маленькое сообщество и, как результат, небольшое количество библиотек заставляют меня немало времени тратить на подготовку «заголовочных файлов» для интеграции open source библиотек в haxe. Немного об этом языке и о путях преобразования исходного кода на разных языках мне бы и хотелось рассказать ниже. [Читать дальше →][2]

[1]: //habrastorage.org/files/cb0/198/fb8/cb0198fb8c874476b3f46e96c9299943.png
[2]: http://habrahabr.ru/post/243199/#habracut

[>] [Из песочницы] И ещё пару слов о SandCastle, TFS и магии…
habra.14
habrabot(difrex,1) — All
2014-11-14 11:00:24


По мотивам только-только проскочившей публикации [«Sandcastle и SHFB»][1] решил поделиться своими болями и печалями, а также и success-story при работе с этим продуктом. В тексте **не будет** скриншотов с подписями "_нажмите кнопку ДОБАВИТЬ_" и описания настроек/плагинов. В тексте **будет** описание процесса реализации конкретного кейса: сборки документации SHFB в TFS. [Читать дальше →][2]

[1]: http://habrahabr.ru/post/243039/
[2]: http://habrahabr.ru/post/243171/#habracut

[>] [Перевод] Пальчиковые деревья (часть 1. Представление)
habra.14
habrabot(difrex,1) — All
2014-11-14 11:00:36


_Вышла недавно статья на Хабре о том, как можно самому создать на функциональном языке такие структуры как Очередь (первый зашёл, первый вышел) и Последовательность (напоминает двусторонний стек — первый зашёл, первый вышел с обоих концов). Посмотрел я на этот код и понял, что он жутко неэффективен — сложность порядка `O(n)`. Быстро сообразить, как создать структуры с `O(1)` у меня не вышло, поэтому я открыл код библиотечной реализации. Но там была не лёгкая и понятная реализация, а ``. Это было описание пальчиковых деревьев, необходимость и элегантность которых для этой структуры данных хорошо раскрывается текущей статьёй._

#### Пальчиковые деревья

В этой статье мы рассмотрим пальчиковые деревья. Это функциональные неизменяемые структуры данных общего назначения, разработанные в работе Гинце и Паттерсона. Пальчиковые деревья обеспечивают функциональную структуру данных Последовательность (`sequence`), которая обеспечивает амортизированной доступ постоянный во времени для добавления как в начало, так и в конец последовательности, а также логарифмическое время для конкатенации и для произвольного доступа. В дополнение к хорошему времени асимптотических исполнения, структура данных оказывается невероятно гибкой: в сочетании с моноидальными тегами на элементах, пальчиковые деревья могут быть использованы для реализации эффективных последовательностей с произвольным доступом, упорядоченных последовательностей, интервальных деревьев и очередей приоритетов. Статья будет состоять из 3х частей: Пальчиковые деревья (часть 1. Представление) Пальчиковые деревья (часть 2. Операции) Пальчиковые деревья (часть 3. Применение)

#### Разрабатывая структуру данных

Основа и мотивация пальчиковых деревьев пришла от 2-3 деревьев. 2-3 деревья — это деревья, которые могут иметь две или три ветви в каждой внутренней вершине и которые имеют все свои листья на одном и том же уровне. В то время, как бинарное дерево одинаковой глубины `d` должны быть 2 листьев, 2-3 деревья гораздо более гибкие, и могут быть использованы для хранения любого числа элементов (количество не должно быть степенью двойки). Рассмотрим следующее 2-3 дерево: ![][1] Это дерево хранит четырнадцать элементов. Доступ к любому из них требует трех шагов, и если бы мы должны были добавить больше элементов, количество шагов для каждого из них будет расти логарифмически. Мы хотели бы использовать эти деревья для моделирования последовательности. Тем не менее, во многих применимых последовательностях очень часто и неоднократно обращаются к началу или к концу, и гораздо реже к середине. Для удовлетворения этого пожелания, мы можем изменить эту структуру данных так, чтобы приоритет доступа к началу и к концу был наивысшим в отличие от других особенностей. В нашем случае, мы добавляем два пальца. Палец просто точка, в которой вы можете получить доступ части структуры данных, в императивных языках это было бы просто указателем. В нашем случае, однако, мы будем реструктуризовать всё дерево и сделаем родителей первых и последних детей двумя корнями нашего дерева. Визуально, рассматривая вопрос об изменении дерева выше, захватываем первый и последний узлы на предпоследнем слое, и тянем их вверх, позволяя остальной части дерева свисать: ![][2] [Тип пальчикового дерева][3]

[1]: //habrastorage.org/files/50b/d43/d01/50bd43d01bcd4b0386d27c9a62989470.png
[2]: //habrastorage.org/files/8ad/123/6f6/8ad1236f65514f658ceb5ff5a4b600f1.png
[3]: http://habrahabr.ru/post/240783/#habracut

[>] Из дневника призера первой Всероссийской олимпиады по программированию для школьников 1989 года
habra.14
habrabot(difrex,1) — All
2014-11-14 12:30:28


![][1] _(из личного архива Даниэля Алиевского: «Второй слева — Илья Жильцов, светлая ему память. Я стою за ним, моя голова третья слева»)_ (про саму олимпиаду [Первая Всероссийская олимпиада школьников по программированию (информатике) 1989 года][2]) По моей просьбе Даниэль () поделился воспоминаниями: «Мы, т.е. свердловская „команда“ из 2 человек — первые два места с областной олимпиады, Максим Стацюк и я — вылетели в Красноярск ночью с 18 на 19 марта 1989 года. Рано утром мы наконец добрались до гостиницы. В гостиницах до той поры я никогда не был, только читал про них в книжках, и впечатление от советской гостиницы получилось довольно тяжелое. Но жить можно было. Даже был туалет и душ в номере, а вообще номер был рассчитан на двоих. Не так плохо, по советским временам! (Позже, на Всесоюзной, я понял, что бывает и хуже.) Первый день был потрачен на сон (4 часа) и, конечно же, на карты, в которые мы резались со Стацюком и ребятами из других городов до полтретьего ночи. 3.40 — все же отбой. Выспаться, впрочем, не получилось, поскольку с 9 утра, после завтрака, следовало снова заняться делом, а именно картами. Ну а после 3 дня мы все пошли по магазинам. Красноярск — большой город, интересный для новичков. С семи вечера и до 0.30 — снова карты, пока нас не разогнала наша руководительница, которая и привезла нас с Максимом из Свердловска. Кстати, очень милая девушка, звали, если не ошибаюсь, Виктория Викторовна. [Читать дальше →][3]

[1]: //habrastorage.org/files/0a4/d62/0d1/0a4d620d1970407c9f875f7ff243fe4d.jpg
[2]: http://habrahabr.ru/post/235909/
[3]: http://habrahabr.ru/post/240261/#habracut

[>] [Перевод] Пальчиковые деревья (Часть 1. Представление)
habra.14
habrabot(difrex,1) — All
2014-11-14 14:00:46


_Вышла недавно статья на Хабре о том, как можно самому создать на функциональном языке такие структуры как Очередь (первый зашёл, первый вышел) и Lек (напоминает двусторонний стек — первый зашёл, первый вышел с обоих концов). Посмотрел я на этот код и понял, что он жутко неэффективен — сложность порядка `O(n)`. Быстро сообразить, как создать структуры с `O(1)` у меня не вышло, поэтому я открыл код библиотечной реализации. Но там была не лёгкая и понятная реализация, а ``. Это было описание пальчиковых деревьев, необходимость и элегантность которых для этой структуры данных хорошо раскрывается текущей статьёй._

#### Пальчиковые деревья

В этой статье мы рассмотрим пальчиковые деревья. Это функциональные неизменяемые структуры данных общего назначения, разработанные в работе Гинце и Паттерсона. Пальчиковые деревья обеспечивают функциональную структуру данных Последовательность (`sequence`), которая обеспечивает амортизированной доступ постоянный во времени для добавления как в начало, так и в конец последовательности, а также логарифмическое время для конкатенации и для произвольного доступа. В дополнение к хорошему времени асимптотических исполнения, структура данных оказывается невероятно гибкой: в сочетании с моноидальными тегами на элементах, пальчиковые деревья могут быть использованы для реализации эффективных последовательностей с произвольным доступом, упорядоченных последовательностей, интервальных деревьев и очередей приоритетов. Статья будет состоять из 3-х частей: Пальчиковые деревья (Часть 1. Представление) Пальчиковые деревья (Часть 2. Операции) Пальчиковые деревья (Часть 3. Применение) [Читать дальше →][1]

[1]: http://habrahabr.ru/post/240783/#habracut

[>] Анализ дружеских связей VK с помощью Python. Продолжение
habra.14
habrabot(difrex,1) — All
2014-11-14 15:30:39


В предыдущей [статье][1] мы на основе общих друзей ВКонтакте строили граф, а сегодня поговорим о том, как получить список друзей, друзей друзей и так далее. Предполагается, что вы уже прочли предыдущую [статью][2], и я не буду описывать все заново. Под хабракатом большие картинки и много текста. [Читать дальше →][3]

[1]: http://habrahabr.ru/post/221251/
[2]: http://habrahabr.ru/post/221251/
[3]: http://habrahabr.ru/post/243229/#habracut

[>] Python реализация парадигмы event-driven с помощью сопрограмм
habra.14
habrabot(difrex,1) — All
2014-11-14 19:30:14


Статья про то, как с помощью[ расширенных генераторов Python][1] сделать собственную реализацию сопрограмм, переключающихся по получению событий. Простота кода получившегося модуля вас приятно удивит и прояснит новые и мало используемые возможности языка, которые можно получить, используя такие генераторы. Статья поможет разобраться и с тем, как это устроено в серьезных реализациях: [asyncio][2], [tornado][3], etc. [Читать дальше →][4]

[1]: http://legacy.python.org/dev/peps/pep-0342/
[2]: https://docs.python.org/3/library/asyncio.html
[3]: http://www.tornadoweb.org/en/stable/
[4]: http://habrahabr.ru/post/243207/#habracut

[>] [Перевод] Выразительный JavaScript: Модули
habra.14
habrabot(difrex,1) — All
2014-11-15 04:00:03




#### Содержание



* [Введение][1]
* [Величины, типы и операторы][2]
* [Структура программ][3]
* [Функции][4]
* [Структуры данных: объекты и массивы][5]
* [Функции высшего порядка][6]
* [Тайная жизнь объектов][7]
* [Проект: электронная жизнь][8]
* [Поиск и обработка ошибок][9]
* [Регулярные выражения][10]
* [Модули][11]
* [Проект: язык программирования][12]
* JavaScript и браузер
* Document Object Model
* Обработка событий
* Проект: игра-платформер
* Рисуем на Canvas
* HTTP
* Формы и поля ввода
* Проект: Paint
* Node.js
* Проект: веб-сайт по обмену умениями
* [Песочница для кода][13]

_Начинающий программист пишет программы так, как муравьи строят муравейник – по кусочку, без размышления над общей структурой. Его программы как песок. Они могут недолго простоять, но вырастая, они разваливаются. Поняв проблему, программист тратит много времени на размышления о структуре. Его программы получаются жёстко структурированными, как каменные изваяния. Они тверды, но когда их нужно менять, над ними приходится совершать насилие. Мастер-программист знает, когда нужна структура, а когда нужно оставить вещи в простом виде. Его программы словно глина – твёрдые, но податливые. Мастер Юан-Ма, Книга программирования_ У каждой программы есть структура. В частностях она определяется тем, как программист делит код на функции и блоки внутри этих функций. Программисты вольны в создании структуры своей программы. Структура определяется больше вкусом программиста, нежели функциональностью программы. В случае больших программ отдельные функции уже теряются в коде, и нам необходима единица организации кода больших масштабов. Модули группируют программный код по каким-то определённым признакам. В этой главе мы рассмотрим преимущества такого деления и техники создания модулей в JavaScript. [Читать дальше →][14]

[1]: http://habrahabr.ru/post/240219/
[2]: http://habrahabr.ru/post/240223/
[3]: http://habrahabr.ru/post/240225/
[4]: http://habrahabr.ru/post/240349/
[5]: http://habrahabr.ru/post/240813/
[6]: http://habrahabr.ru/post/241155/
[7]: http://habrahabr.ru/post/241587/
[8]: http://habrahabr.ru/post/241776/
[9]: http://habrahabr.ru/post/242609/
[10]: http://habrahabr.ru/post/242695/
[11]: http://habrahabr.ru/post/243273/
[12]: http://habrahabr.ru/post/243277/
[13]: http://eloquentjavascript.net/code
[14]: http://habrahabr.ru/post/243273/#habracut

[>] [Перевод] Выразительный JavaScript: Проект: язык программирования
habra.14
habrabot(difrex,1) — All
2014-11-15 04:30:03




#### Содержание



* [Введение][1]
* [Величины, типы и операторы][2]
* [Структура программ][3]
* [Функции][4]
* [Структуры данных: объекты и массивы][5]
* [Функции высшего порядка][6]
* [Тайная жизнь объектов][7]
* [Проект: электронная жизнь][8]
* [Поиск и обработка ошибок][9]
* [Регулярные выражения][10]
* [Модули][11]
* [Проект: язык программирования][12]
* JavaScript и браузер
* Document Object Model
* Обработка событий
* Проект: игра-платформер
* Рисуем на Canvas
* HTTP
* Формы и поля ввода
* Проект: Paint
* Node.js
* Проект: веб-сайт по обмену умениями
* [Песочница для кода][13]

_То, что проверяет и определяет смысл выражений в языке программирования, является в свою очередь просто программой. Хэл Абельсон и Жеральд Сасман, «Структура и интерпретация компьютерных программ». Когда учение спросил учителя о природе цикла Данных и Контроля, Юань-Ма ответил: «Подумай о компиляторе, компилирующем самого себя». Мастер Юань-Ма, «Книга программирования»_ Создать свой язык программирования удивительно легко (пока вы не ставите запредельных целей) и довольно поучительно. Главное, что я хочу продемонстрировать в этой главе – в построении языка нет никакой магии. Мне часто казалось, что некоторые человеческие изобретения настолько сложны и заумны, что мне их никогда не понять. Однако после небольшого самообразования и ковыряния такие штуки часто оказываются довольно обыденными. Мы построим язык программирования Egg (Яйцо). Он будет небольшим, простым, но достаточно мощным для выражения любых расчётов. Он также будет осуществлять простые абстракции, основанные на функциях. [Читать дальше →][14]

[1]: http://habrahabr.ru/post/240219/
[2]: http://habrahabr.ru/post/240223/
[3]: http://habrahabr.ru/post/240225/
[4]: http://habrahabr.ru/post/240349/
[5]: http://habrahabr.ru/post/240813/
[6]: http://habrahabr.ru/post/241155/
[7]: http://habrahabr.ru/post/241587/
[8]: http://habrahabr.ru/post/241776/
[9]: http://habrahabr.ru/post/242609/
[10]: http://habrahabr.ru/post/242695/
[11]: http://habrahabr.ru/post/243273/
[12]: http://habrahabr.ru/post/243277/
[13]: http://eloquentjavascript.net/code
[14]: http://habrahabr.ru/post/243277/#habracut

[>] Apple прокомментировала ситуацию с уязвимостью Masque в iOS
habra.14
habrabot(difrex,1) — All
2014-11-15 09:30:03


На этой неделе компания FireEye [опубликовала][1] информацию, относящуюся к т. н. «Masque» уязвимости в iOS. Уязвимость позволяет установить вредоносное приложение поверх уже существующего, причем это новое приложение получит доступ ко всем файлам предыдущего. Это при условии того, что устанавливаемое приложение будет иметь тот же самый [идентификатор][2] «bundle identifier», который iOS & OS X используют для идентификации приложений на уровне ОС, например, при доставке им обновлений. Уязвимости подвержены все версии iOS начиная с 7.1.1, включая, последнюю iOS 8.1.1 beta. ![][3] [Читать дальше →][4]

[1]: http://www.fireeye.com/blog/technical/cyber-exploits/2014/11/masque-attack-all-your-ios-apps-belong-to-us.html
[2]: https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/ConfiguringYourApp/ConfiguringYourApp.html
[3]: //habrastorage.org/files/8d3/e5c/edd/8d3e5ceddf18427687a92d9cbd90a210.png
[4]: http://habrahabr.ru/post/243279/#habracut

[>] Слайдшоу на CSS (Sass)
habra.14
habrabot(difrex,1) — All
2014-11-15 16:30:02


Тема, мягко говоря, не новая, существует ряд статей — на [Smashing Magazine][1] и в [блогах][2], а так же просто [реализации][3] ([исходный код][4], только та часть, которая касается анимации). Но, помимо фатального недостатка, у данных реализаций есть недостатки фактические — первые два варианта не предоставляют управления, а последний хоть и предоставляет, но при переключении слайдов анимация останавливается и её приходится запускать снова. Пожалуй, можно сказать что это фича, но мне хотелось полностью спародировать поведение слайдшоу как если бы оно было написано на javascript (что в итоге всё равно не удалось) — то есть при переклчении анимация продолжается, но начинается с выбранного слайда. Кому лень читать — сразу **[конечный результат][5]**.



[Читать дальше →][6]

[1]: http://www.smashingmagazine.com/2012/04/25/pure-css3-cycling-slideshow/
[2]: http://themarklee.com/2013/10/16/simple-crossfading-slideshow-css/
[3]: http://www.creativejuiz.fr/trytotry/juizy-slideshow-full-css3-html5/
[4]: http://pastebin.com/mMFRYTWn
[5]: http://codepen.io/MartinSchulz/pen/RNwyaE
[6]: http://habrahabr.ru/post/202844/#habracut

[>] [recovery mode] ReactOS 0.3.17 — «нумерологический» релиз операционной системы
habra.14
habrabot(difrex,1) — All
2014-11-15 18:00:04


Добрый день! ![image][1] Меня зовут Алексей Брагин, я приветствую всех гостей на открытии [блога компании «Фонд ReactOS»][2], которое стало возможным благодаря программе поддержи стартапов от «Тематических Медиа». От лица всей команды разработчиков проекта ReactOS представляю вашему вниманию новый релиз нашей операционной системы под номером 0.3.17 [Читать дальше →][3]

[1]: http://habrastorage.org/getpro/habr/post_images/e9c/f7d/3d5/e9cf7d3d514615df8cf81b73e4876d03.jpg
[2]: http://habrahabr.ru/company/reactos/
[3]: http://habrahabr.ru/post/243295/#habracut

[>] [Перевод] Стабильность как результат
habra.14
habrabot(difrex,1) — All
2014-11-16 03:30:02


Эта статья — перевод второй части из серии блог-постов, приуроченных к предстоящему релизу первой стабильной версии языка Rust. Перевод первой части можно прочитать [здесь][1]. Замечания к переводу прошу слать в личку.

----

[Много важного][2] несёт с собой предстоящий релиз Rust 1.0, но самым главным в нём являются наши усилия по обеспечению стабильности, аналогичные нашей постоянной ориентации на безопасность. Начиная с версии 1.0, мы перейдём на шестинедельный цикл релизов и к набору «каналов». Канал стабильных релизов обеспечит безболезненные обновления, а канал ночных сборок предоставит первопроходцам доступ к тому функционалу, над которым в данным момент ведётся работа. [Читать дальше →][3]

[1]: http://habrahabr.ru/post/237199/
[2]: http://blog.rust-lang.org/2014/09/15/Rust-1.0.html
[3]: http://habrahabr.ru/post/243315/#habracut

[>] Выразительный JavaScript: JavaScript и браузер
habra.14
habrabot(difrex,1) — All
2014-11-16 04:30:03




#### Содержание



* [Введение][1]
* [Величины, типы и операторы][2]
* [Структура программ][3]
* [Функции][4]
* [Структуры данных: объекты и массивы][5]
* [Функции высшего порядка][6]
* [Тайная жизнь объектов][7]
* [Проект: электронная жизнь][8]
* [Поиск и обработка ошибок][9]
* [Регулярные выражения][10]
* [Модули][11]
* [Проект: язык программирования][12]
* [JavaScript и браузер][13]
* Document Object Model
* Обработка событий
* Проект: игра-платформер
* Рисуем на Canvas
* HTTP
* Формы и поля ввода
* Проект: Paint
* Node.js
* Проект: веб-сайт по обмену умениями
* [Песочница для кода][14]

_Браузер – крайне враждебная программная среда Дуглас Крокфорд, «Язык программирования JavaScript» (видеолекция)_ Следующая часть книги расскажет о веб-браузерах. Без них не было бы JavaScript. А если бы и был, никто бы не обратил на него внимания. Технологии веба с самого начала были децентрализованными – не только технически, но и с точки зрения их эволюции. Различные разработчики браузеров добавляли новую функциональность «по случаю», непродуманно, и часто эта функциональность обретала поддержку в других браузерах и становилась стандартом. Это и благословление и проклятие. С одной стороны, здорово не иметь контролирующего центра, чтобы технология развивалась различными сторонами, иногда сотрудничающими, иногда конкурирующими. С другой – бессистемное развитие языка привело к тому, что результат не является ярким примером внутренней согласованности. Некоторые части привносят путаницу и беспорядок. [Читать дальше →][15]

[1]: http://habrahabr.ru/post/240219/
[2]: http://habrahabr.ru/post/240223/
[3]: http://habrahabr.ru/post/240225/
[4]: http://habrahabr.ru/post/240349/
[5]: http://habrahabr.ru/post/240813/
[6]: http://habrahabr.ru/post/241155/
[7]: http://habrahabr.ru/post/241587/
[8]: http://habrahabr.ru/post/241776/
[9]: http://habrahabr.ru/post/242609/
[10]: http://habrahabr.ru/post/242695/
[11]: http://habrahabr.ru/post/243273/
[12]: http://habrahabr.ru/post/243277/
[13]: http://habrahabr.ru/post/243311/
[14]: http://eloquentjavascript.net/code
[15]: http://habrahabr.ru/post/243311/#habracut

[>] Mobile Pwn2Own 2014: итоги
habra.14
habrabot(difrex,1) — All
2014-11-16 18:30:03


Несколько дней назад завершился известный контест [Mobile Pwn2Own 2014][1], который проходил в Токио. Ресерчерам уязвимостей из security-компаний предлагалось продемонстрировать успешную эксплуатацию уязвимостей на известных мобильных устройствах, в числе которых, Apple iPhone 5s & iPad Mini, Amazon Fire Phone, BlackBerry Z30, Google Nexus 5 & 7, а также Nokia Lumia 1520 и Samsung Galaxy S5. Успешная эксплуатация уязвимостей должна привести к удаленному исполнению кода в мобильной ОС через браузер или получению контроля над устройством через встроенное приложение / саму ОС (iOS, Fire OS, BlackBerry OS, Android, Windows Phone). Все ОС поставлялись с самыми актуальными обновлениями (_fully patched_). ![][2] [Читать дальше →][3]

[1]: http://h30499.www3.hp.com/t5/HP-Security-Research-Blog/Mobile-Pwn2Own-Tokyo-2014/ba-p/6599054#.VGhbvZCsXQN
[2]: //habrastorage.org/files/318/9a3/845/3189a38456f24f90aee1ce11281efc8a.png
[3]: http://habrahabr.ru/post/243323/#habracut

[>] Писать плагины с AppDomain — весело
habra.14
habrabot(difrex,1) — All
2014-11-16 22:30:04


Как часто вы писали плагины для своих приложений? В статье я хочу рассказать как можно написать плагины используя AppDomain, и кросс доменные операции. Плагины будем писать для уже существующего моего приложения TCPChat. Кто хочет повелосипедить — вперед под кат. [Читать дальше →][1]

[1]: http://habrahabr.ru/post/242209/#habracut

[>] One-liner для компиляции шаблонов на Lua
habra.14
habrabot(difrex,1) — All
2014-11-16 23:00:03


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

### Подстановка переменных



<a href="<%url%>"><%label%></a>




### Логические конструкции



Будет
<? if 1 > 2 then ?>
лучше
<? else ?>
хуже
<? end ?>




## Циклы



<ul>
<? for i = 1, 9999 do ?>
<li>ФЗ №<%i%></li>
<? end ?>
</ul>


[Читать дальше →][1]

[1]: http://habrahabr.ru/post/243321/#habracut

[>] QML: анимированная иконка-«бутерброд» в стиле Material Design за 20 минут
habra.14
habrabot(difrex,1) — All
2014-11-17 06:00:03


Привет, Хабр. Многие разработчики, интересующиеся разработкой пользовательских интерфейсов (да и просто пользователи Android) уже успели ознакомиться с новой концепцией интерфейса Material Design, активно продвигаемой Google в рамках выпуска Android 5.0. Знакомясь с [руководством по оформлению приложений][1] и внимательно разглядев недавно обновившийся Google Play, я обратил внимание на один очень симпатичный компонент — иконку меню (в народе известную как hamburger icon), анимированно превращающуюся в иконку «назад», и решил реализовать такой компонент на Qt с использованием декларативного языка описания интерфейса QML. ![][2] В этой статье я расскажу, как реализовать такой компонент и с какими проблемами и сложностями можно столкнуться в процессе. Ссылка на полный исходный код в конце поста. [Читать дальше →][3]

[1]: http://www.google.com/design/spec/animation/delightful-details.html
[2]: //habrastorage.org/files/793/d88/8a6/793d888a64f64117bb7acad899d414b2.gif
[3]: http://habrahabr.ru/post/243355/#habracut

[>] Как и зачем ломают интернет-магазины
habra.14
habrabot(difrex,1) — All
2014-11-17 13:00:03


![][1] Вы владелец интернет магазина, жизнь прекрасна и замечательна – вы договариваетесь с поставщиками или налаживаете собственное производство. Специально обученные люди или Вы сами занимаетесь продвижением, контекстной рекламой. Магазин мало-помалу начинает приносить доход и занимать свою нишу в расширяющемся рынке интернет торговли. И становится мишенью. [Читать дальше →][2]

[1]: //habrastorage.org/files/04d/7d7/de0/04d7d7de0bfd4d6bae20b57f83cff9ab.jpg
[2]: http://habrahabr.ru/post/242953/#habracut

[>] Ликбез: методы ресайза изображений
habra.14
habrabot(difrex,1) — All
2014-11-17 13:30:03


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

[1]: http://habrahabr.ru/post/243285/#habracut

[>] Семафоры, или как разруливать доступ к ресурсам в DBMS Caché
habra.14
habrabot(difrex,1) — All
2014-11-17 15:00:03


Часто при многопользовательском или параллельном доступе к данным возникает ситуация, когда необходимо заблокировать/дать доступ к переменной или участку памяти одновременно нескольким процессам. Решается данная задача с помощью мьютексов, семафоров, мониторов и т. д. В данном посте рассмотрим как же реализован один из методов предоставления совместного доступа к данным — **семафор** — в СУБД Intersystems Caché. [Что же такое семафор в Cache и с чем его едят?][1]

[1]: http://habrahabr.ru/post/243337/#habracut

[>] Инфраструктура команд для вызова пользователем действий в шаблоне MVVM
habra.14
habrabot(difrex,1) — All
2014-11-17 15:00:03


Представим типичный пользовательский интерфейс. Есть несколько элементов управления, которые запускают некоторые повторяемые (за время жизни приложения) действия разной сложности. Чтобы сложные действия, такие как обращение к различным носителям, обращение к сети или сложное вычисление, не снижали отзывчивость интерфейса, они должны быть асинхронными. Дополнительно могут быть элементы управления, отменяющие асинхронно запущенное действие. Действие имеет свойство состояния (неактивно, запущено, завершено успешно, завершено с ошибкой, отменено), которое тем или иным образом отображается пользователю. Принятый в WPF, Silverlight и WinPhone шаблон проектирования [MVVM][1] диктует, чтобы такое «действие» было частью модели представления, давая возможность вызывать сервисы модели из пользовательского интерфейса без создания между ними жёсткой связи. К сожалению, такое «действие» в базовой библиотеке классов не реализовано. Ближайшие имеющиеся в библиотеке сущности, такие как задачи **System.Threading.Tasks.Task**, команды **System.Windows.Input.ICommand** и делегаты **System.Delegate**, не подходят: задачи всегда одноразовые и не могут представлять повторяемое действие, делегаты и команды не поддерживают отмену и не содержат свойств состояния, а команды вообще не могут быть асинхронными. Далее я предлагаю решение в виде небольшой библиотеки классов, дающей возможность легко использовать описанные «действия» в ваших приложениях. [Читать дальше →][2]

[1]: http://ru.wikipedia.org/wiki/Model-View-ViewModel
[2]: http://habrahabr.ru/post/242073/#habracut

[>] [Из песочницы] Введение в Osquery от Facebook
habra.14
habrabot(difrex,1) — All
2014-11-17 15:30:04




#### Предисловие

Данная публикация — относительно вольный перевод опубликованоой в блоге Facebook статьи [«Introducing osquery»][1].

#### Введение в osquery

Мониторинг состояния вашей системы в реальном времени очень важен. В Facebook мы разработали фреймворк под названием osquery, который позволяет взглянуть на низкоуровневый мониторинг операционной системы по новому. Osquery представляет операционную систему как высокопроизводительную реляционную базу данных. Этот подход позволяет вам писать SQL запросы, чтобы легко и эффективно получать информацию о вашей системе. С osquery текущее состояние ОС представляется в виде SQL таблиц из которых вы можете получить информацию о:

* запущенных процессах;
* загруженных модулях ядра;
* открытых стевых соединениях.

[Читать дальше →][2]

[1]: https://code.facebook.com/posts/844436395567983/introducing-osquery/
[2]: http://habrahabr.ru/post/243391/#habracut

[>] Приглашаем принять участие в Security Meet Up 4 декабря
habra.14
habrabot(difrex,1) — All
2014-11-17 16:00:05


![][1] Приглашаем опытных и начинающих баг-хантеров, а также экспертов в области интернет-безопасности принять участие в Security Meet Up, который состоится 4 декабря 2014 года в офисе Mail.Ru Group при информационной поддержке журнала Хакер. Темой встречи станет практика проведений программ поиска уязвимостей (bug bounties). На сегодняшний день программы по выплате наград за обнаружение проблем в безопасности проектов есть у многих IT -компаний. «Охота на ошибки» — это по-настоящему эффективный механизм защиты, когда в процесс обеспечения безопасности компании вовлекаются сами пользователи, а компания демонстрирует готовность «ответить деньгами». Как понять, готовы ли вы к запуску bug bounty? А к участию в ней в качестве ресерчера? Как организовать процесс выплаты вознаграждений, сбора и оценки заявок, взаимодействия с участниками? Чего ждать и к чему готовиться? Как подать хороший репорт и по каким критериям он отличается от плохого? Ответы на эти, а также другие распространенные вопросы, связанные с bug bounties, мы попробуем найти вместе с вами. [Читать дальше →][2]

[1]: //habrastorage.org/files/de3/008/2e4/de30082e4a214b47bc9557033393d565.jpg
[2]: http://habrahabr.ru/post/243377/#habracut

[>] [Перевод] Должны ли все изучать программирование?
habra.14
habrabot(difrex,1) — All
2014-11-17 16:00:05


Предлагаю вашему вниманию перевод статьи [«Should Everybody Learn to Code?»][1], которая показалась мне интересной. ![image][2]Чтобы проверить, смогут ли профессиональные графические дизайнеры написать простейшую компьютерную программу, Брайан Дорн, в то время студент магистратуры в Технологическом институте Джорджии (Georgia Tech), попросил их прочесть и изменить фрагмент программного кода. Дорн хотел понять, смогут ли они сами разобраться – как автоматизировать работу в Adobe Photoshop. Дизайнеры стали искать информацию в Интернете и, к сожалению, во многих случаях вводили неверные поисковые запросы: например, пытались разобраться с Java, когда на самом деле им был нужен JavaScript для этого конкретного проекта. Это могло быть связано с «отсутствием общего базового понимания компьютерных и программных структур», писал Дорн в журнале Communications в мае 2011 года. [Читать дальше →][3]

[1]: http://cacm.acm.org/magazines/2014/2/171674-should-everybody-learn-to-code/fulltext
[2]: http://habrastorage.org/files/022/194/2d2/0221942d2856465c8cefefc9cc2ec2a9.jpg
[3]: http://habrahabr.ru/post/243393/#habracut

[>] [Из песочницы] Odroid-W + W Docking Board LCD
habra.14
habrabot(difrex,1) — All
2014-11-17 16:30:03


Привет! Возможно моя статья будет выглядеть несколько «нубоватой», но аналогичного HOW TO в русскоязычном интернете лично я найти не смог. Речь пойдет о первичном развертывании операционной системы на одноплатном компьютере [Odroid-W][1] от Hardkernel, которому уделили на Хабре уже [две][2] [статьи][3] описательного характера. Особенностью будет использование совместно с самой платой “[W Docking Board with TFT LCD][4]”, без которой, к.м.к. возможности данной железки раскрыты не до конца. [Читать дальше →][5]

[1]: http://www.hardkernel.com/main/products/prdt_info.php?g_code=G140610189490
[2]: http://habrahabr.ru/post/233133/
[3]: http://habrahabr.ru/post/240823/
[4]: http://www.hardkernel.com/main/products/prdt_info.php?g_code=G140609436593
[5]: http://habrahabr.ru/post/243407/#habracut

[>] [Из песочницы] Алгоритмы и решения при разработке движка JavaScript на C#
habra.14
habrabot(difrex,1) — All
2014-11-17 16:30:04


Здравствуйте, уважаемые хабровчане! Чуть меньше года назад я, так же, в песочнице, публиковал статью о начале разработки [движка JavaScript на C#][1]. Прошел год после создания проекта и я рад представить вам первую версию сего творения, которую можно скачать на [nuget][2]. Но в этой статье я не буду пиариться, приводить сравнения с конкурентами, измерять производительность и прочее. Здесь я напишу о том, через что мне пришлось пройти, какой кровью всё это далось и с чем пришлось столкнуться. [Читать дальше →][3]

[1]: http://habrahabr.ru/sandbox/75576/
[2]: https://www.nuget.org/packages/NiL.JS/
[3]: http://habrahabr.ru/post/243399/#habracut

[>] Тест Тьюринга на основе реальных поисковых запросов в Яндексе
habra.14
habrabot(difrex,1) — All
2014-11-17 18:00:03


На основе этого API я сделал маленький проект на [Openresty][2] (**nginx** + **Lua** + **imagemagick**), предоставляющий высокопроизводительную реализацию [CAPTCHA][3]. ![image][4] Предусмотрена возможность [встраивания][5] в виде **iframe**. [GitHub][6], [demo][7] [Читать дальше →][8]

[1]: http://export.yandex.ru/last/last20x.xml
[2]: http://openresty.org
[3]: http://en.wikipedia.org/wiki/CAPTCHA
[4]: https://raw.githubusercontent.com/dannote/recattle/master/samples/3.png
[5]: https://github.com/dannote/recattle#%D0%92%D1%81%D1%82%D1%80%D0%B0%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5
[6]: https://github.com/dannote/recattle
[7]: http://recattle.dannote.net
[8]: http://habrahabr.ru/post/243419/#habracut

[>] Как и зачем «ломают» интернет-магазины
habra.14
habrabot(difrex,1) — All
2014-11-17 19:30:04


![][1] Вы владелец интернет магазина, жизнь прекрасна и замечательна – вы договариваетесь с поставщиками или налаживаете собственное производство. Специально обученные люди или Вы сами занимаетесь продвижением, контекстной рекламой. Магазин мало-помалу начинает приносить доход и занимать свою нишу в расширяющемся рынке интернет торговли. И становится мишенью. [Читать дальше →][2]

[1]: //habrastorage.org/files/04d/7d7/de0/04d7d7de0bfd4d6bae20b57f83cff9ab.jpg
[2]: http://habrahabr.ru/post/242953/#habracut

[>] Решение задач на определение фальшивой монеты взвешиванием 2.0
habra.14
habrabot(difrex,1) — All
2014-11-18 08:30:03




## Сегодня я снова хочу вернуться к теме о задаче нахождении фальшивой монеты методом взвешивания на весах без циферблата.

Наиболее распространенные из таких задач — определение количества взвешиваний для выявления фальшивой монеты, если: 1) неизвестно какая она по весу; 2) известно, что она легче/тяжелее остальных. Или обратная задача: можно ли за определенное количество взвешиваний выявить фальшивую из заданного количества монет. [Подробности][1]

[1]: http://habrahabr.ru/post/243461/#habracut

[>] Установка, настройка и использование сканера уязвимостей chkrootkit
habra.14
habrabot(difrex,1) — All
2014-11-18 14:00:04


В предыдущей моей публикации про[ сканер уязвимостей rkhunter][1] в комментариях хабрапользователем [Indexator][2] был упомянут сканер chrootkit. При схожем функционале c rkhunter, есть ряд отличий, который будет интересно рассмотреть в этой статье. Интересно также то, что совсем недавно была выпущена новая версия сканера, разработка которого казалась замороженной c 2009 года. ![][3] [Читать дальше →][4]

[1]: http://habrahabr.ru/company/first/blog/242865/
[2]: http://habrahabr.ru/users/indexator/
[3]: //habrastorage.org/files/6d6/0d8/c07/6d60d8c0740c4155a4fad87cbff32078.jpg
[4]: http://habrahabr.ru/post/243487/#habracut

[>] Транзакционный ад
habra.14
habrabot(difrex,1) — All
2014-11-18 14:00:04


В прошлых статьях мы уже упоминали о управлении транзакциями в [нашей платформе][1]. В этой статье расскажем подробнее о реализации транзакций, их управлении и прочем. С самого начала мы решили, что сервер приложений должен поддерживать «транзакционную целостность». Под этим термином мы понимаем, что любое обращение к серверу приложений должно либо завершиться успешно, либо все изменения должны быть отменены. Соответственно, при начале обработки серверного вызова создается транзакция (если быть точным она возникает при первом изменении в базе данных) и фиксируется (или отменяется) при выходе из вызова: ![][2] [Читать дальше →][3]

[1]: http://www.ultimabusinessware.com/
[2]: http://habrastorage.org/files/f49/eb2/bb0/f49eb2bb0cf24b94b89948491c1fd6e5.png
[3]: http://habrahabr.ru/post/243245/#habracut

[>] [Из песочницы] Проверка уязвимости Masque в iOS
habra.14
habrabot(difrex,1) — All
2014-11-18 14:00:04


Недавно опубликована [статья][1], относящаяся к т. н. «Masque» уязвимости в iOS. Выдержка из статьи:

> «Уязвимость позволяет установить вредоносное приложение поверх уже существующего, причем это новое приложение получит доступ ко всем файлам предыдущего. Это при условии того, что устанавливаемое приложение будет иметь тот же самый идентификатор «bundle identifier», который iOS & OS X используют для идентификации приложений на уровне ОС, например, при доставке им обновлений. Уязвимости подвержены все версии iOS начиная с 7.1.1, включая, последнюю iOS 8.1.1 beta.»
>
>

Будучи знакомым с Enterprise сертификатами, мне захотелось непременно опровергнуть/доказать настоящий факт. Итак, что известно про Enterprise лицензию: [Читать дальше →][2]

[1]: http://habrahabr.ru/company/eset/blog/243279/
[2]: http://habrahabr.ru/post/243511/#habracut

[>] [Из песочницы] Печать из Google Apps Script
habra.14
habrabot(difrex,1) — All
2014-11-18 14:00:04




#### Часть 1. Challenge

Читая ленту на [oDesk][1], наткнулся на интересный проект по моему направлению (а я отслеживаю, в основном, задачи на написать что-то, прикрутить что-то или иным способом замучить Google Apps Script или приложения Google Apps). Клиент просил написать скрипт, который будет отсылать ему выделенный фрагмент из Google Spreadsheet по нажатию кнопки. Но была в описании одна фраза, зацепившая меня — «Мне сказали, что невозможно создать скрипт, который будет печатать из Google Apps». Я всегда очень любил и люблю «невозможные» задачи:

> — Мы сами знаем, что она не имеет решения, — сказал Хунта, немедленно ощетиниваясь. — Мы хотим знать, как её решать.
>
>
>
>

Статья рассчитана на читателей, уже знакомых с Google Apps Script и сопутствующими технологиями. [Читать дальше →][2]

[1]: http://www.odesk.com
[2]: http://habrahabr.ru/post/243421/#habracut

[>] [recovery mode] Жизненный цикл документа в профессиональной справочной системе. Немного сказочный пост о том, как кипа бумаги превращается в систему
habra.14
habrabot(difrex,1) — All
2014-11-18 14:00:04


![][1] **Мечта Карлсона сбывается** Помните из классики: _— Карлсон, ты знаешь, она хочет попасть в телевизор! — Она? В телевизор? — Да. — Вот эта толстая домомучительница хочет залезть в самую маленькую коробочку?! Ничего не получится. Её надо будет сложить вчетверо!_ А теперь представьте, что каждый день мы кладем в «самую маленькую коробочку», в информационно-справочную систему, по **три реальные тележки текстовых документов**, которые весят явно больше, чем Фрекен Бок. Плюс все эти документы нужно как-то добыть, сверить по многу раз, технологически обработать, а потом доставить пользователю в достоверном и актуальном виде. Об этом Карлсон мог только мечтать. Сегодня мы совершим экскурсию по **Производственному департаменту** Консорциума «Кодекс» (ПД), сотрудники которого занимаются формированием начинки для профессиональных справочных систем **«Кодекс»** и **«Техэксперт»**. Коллеги из разных подразделений из первых уст расскажут о нашем способе «наведения чистоты» в системе такого масштаба. Мы проследим весь жизненный путь документа от поиска до попадания к пользователю. Также выясним, есть ли у документа жизнь после смерти. [Читать дальше →][2]

[1]: //habrastorage.org/files/e11/9f6/812/e119f68128e34a0ca4e782ce99420f98.jpg
[2]: http://habrahabr.ru/post/243439/#habracut

[>] Arduino на службе здоровья — 2
habra.14
habrabot(difrex,1) — All
2014-11-18 14:00:04


Вдохновленный публикацией [«Ардуино на службе здоровья»][1], решил сделать свой «оптимизатор условий» с давлением и влажностями. Разумеется, немного модернизировав его по своему усмотрению.

##### Были использованы компоненты:

Барометр\\альтиметр\\термометр BMP180; [Читать дальше →][2]

[1]: http://habrahabr.ru/post/242521/
[2]: http://habrahabr.ru/post/243469/#habracut

[>] [Из песочницы] Введение в компонентно-ориентированный подход к программированию
habra.14
habrabot(difrex,1) — All
2014-11-18 14:00:04


Сам Unity Engine (далее Unity), как и многие другие игровые движки, наиболее приспособлен к компонентно-ориентированному программированию (далее КОП), так как Behavioral Pattern — один из базовых паттернов архитектуры движков, наряду с паттерном «Component» из классификации Decoupling Patterns. Потому именно компонент является базовой единицей для реализации бизнес-логики в Unity. В этой статье я расскажу о том, как применять КОП в Unity. [Потому стоит перейти от привычного ООП к КОП?][1]

[1]: http://habrahabr.ru/post/243479/#habracut

[>] [Перевод] Автозапуск приложения Node.js на CentOS 6.2
habra.14
habrabot(difrex,1) — All
2014-11-18 14:00:04


Для автозапуска приложений Node.js есть много способов, но после некоторых поисков мне удалось отыскать такое решение, которое и работает, и не представляет большой трудности. Сперва я испробовал и одного upstart достаточно для того, чтобы устроить и то, и другое. [Читать дальше →][4]

[1]: https://github.com/nodejitsu/forever
[2]: https://ru.wikipedia.org/wiki/Upstart
[3]: http://mmonit.com/monit/
[4]: http://habrahabr.ru/post/243429/#habracut

[>] Осваиваем Linux за три недели
habra.14
habrabot(difrex,1) — All
2014-11-18 14:30:03


Идея вводного курса по работе с Linux возникла у нас с коллегами довольно давно. Я с 2011 года занимаюсь биоинформатикой в Лаборатории алгоритмической биологии СПбАУ РАН ([тут][1] и [тут][2] мой напарник писал про то, чем мы занимаемся). Сразу нужно сказать, что работа биоинформатика без Linux практически невозможна, поскольку большинство биоинформатических программ созданы именно под эту операционную систему и работают только на ней. ![xkcd.com/456/][3] В силу того, что это область на стыке наук, мы постоянно общаемся с биологами. Биологам же сейчас приходится работать с очень большими объемами данных, поэтому умение использовать Linux, оптимальную для подобных задач операционную систему, становится необходимым навыком. На самом деле, речь не только об умении обращаться с Linux, а в целом о компьютерной грамотности: какие существуют правила работы на сервере, как загружать и эффективно хранить файлы с данными, какие программы запускать для их обработки и как это сделать и т.д. — все те вещи, которые как упрощают и ускоряют вашу работу, так и значительно облегчают совместную деятельность с коллегам. Несмотря на то, что разобраться с Linux можно и самостоятельно, почитав умные книжки и сайты, для людей из не технической среды это часто вызывает определенные сложности и многие сдаются на начальных этапах освоения этой ОС (например, на знакомстве с командной строкой). На основе нашего опыта я и мой коллега Андрей Пржибельский ([andrewprzh][4]) изначально собирались провести несколько занятий для биологов по компьютерной грамотности. А потом эта идея выросла в [трехнедельный открытый онлайн-курс (MOOC)][5] Института биоинформатики на русском языке, который позже был сужен до именно введения в Linux, как отправной точки, — поскольку вместить все в три недели оказалось очень и очень трудно. Курс уже начался и оказался достаточно популярен (на данный момент на него записалось более пяти тысяч человек), но первый дедлайн по заданиям — 24 ноября, поэтому еще можно присоединиться без потери баллов или просто изучать курс в свободном режиме (все материалы останутся открытыми). [Читать дальше →][6]

[1]: http://habrahabr.ru/company/spbau/blog/143115/
[2]: http://habrahabr.ru/company/spbau/blog/186492/
[3]: //habrastorage.org/files/2fc/8ed/5b7/2fc8ed5b726e4eb69a410c80b56c50c9.png
[4]: http://habrahabr.ru/users/andrewprzh/
[5]: https://stepic.org/course/Введение-в-Linux-73/
[6]: http://habrahabr.ru/post/243473/#habracut

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 ... 41