Pull to refresh
10
0
Денис @debacle

Dev

Send message

Классические паттерны проектирования на Scala

Reading time14 min
Views37K
Об авторе:
Pavel Fatin работает над Scala plugin'ом для IntelliJ IDEA в JetBrains.

Введение



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

Содержание статьи составляет основу моего выступления на JavaDay конференции (слайды презентации).

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

Tetris на javascript (в 30+ строк)

Reading time2 min
Views58K
Решил поддержать тему!
image
Тетрис в 30+ строк js кода.
  • Знает все фигуры тетриса
  • Управление с клавиатуры
  • ВВЕРХ — фигурки крутятся по часовой стрелке
  • ВНИЗ — ускорить падение
  • Скорость падания постепенно увеличивается
  • Очки подсчитываются

ссылка на jsfiddle
Читать дальше →

Отладка самолета? Это очень просто!

Reading time13 min
Views119K
Некоторое время назад мне пришлось очень плотно поучаствовать в приемо-сдаточных испытаниях самолета. Эти испытания были основной частью процесса передачи свежеизготовленного, самого (по моему мнению) технически продвинутого на настоящий момент времени бизнес-джета от производителя заказчику. Казалось бы, причем здесь тестирование, разработка, да и вообще тематика Хабра? Желающие узнать это могут перевернуть страницу и прочитать довольно много текста, причем вообще без картинок.
Читать дальше →

Красота математики

Reading time1 min
Views38K
Математика, при правильном не нее взгляде, обладает не только истиной, но и высшей красотой — красотой холодной и суровой, подобно скульптуре, не обращенной ни к какой стороне нашей слабой натуры, лишенной украшений живописи и музыки, и тем не менее утонченно чистой и способной к строгому совершенству, свойственному лишь величайшему искуству. Истинный дух восторга, блаженства, чувства что ты больше, чем Человек, каковое есть критерий высшего совершенства, присутствует в математике так же несомненно, как и в поэзии.
Бертран Рассел.

Авторы проекта parachutes.tv графические дизайнеры Yann Pineill и Nicolas Lefaucheux опубликовали великолепное видео, показывающее непосредственную связь между самыми повседневными событиями в жизни людей и математикой. Идея видео подчёркивает, что практически любое окружающее нас явление может быть представлено в виде компактном виде математических формул и в виде графиков.



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

Как 45 минут терять по $172 222 в секунду

Reading time4 min
Views158K
Это, пожалуй, самый болезненный отчет об ошибке, который я когда-либо читал. Он красочно описывает шаги, которые привели к потере 465 миллионов долларов компанией Knight Capital в связи с ошибкой программного обеспечения, проявившейся в прошлом году и обанкротившей компанию.

В этом отчете есть все характеристики технического долга в огромной, лишенной поддержки и запущенной базе кода (ошибка произошла из-за исполнения кода, который не использовали почти 9 лет) и ужасная и грустная история взаимодействия между разработчиками ПО и ИТ-профессионалами.
Читать дальше →

[Перевод] Средний доход разработчика в зависимости от языка программирования

Reading time2 min
Views58K
Добрый день, уважаемые читатели Хабра. Как часто вы смотрите за актуальностью той или иной платформы? Если вы хороший специалист, то, наверное, всегда. Если же нечасто – пожалуй, пора начать это делать. Мы подготовили перевод исследования американского блогера Бена Подгурски (Ben Podgursky), позволяющего понять уровень оплаты программистов, в зависимости от языков программирования. Бен использовал в качестве источника данные пользователей на GitHub. Данный пост набрал большой рейтинг на Hacker News.

image

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

Сноуден пролил свет на ситуацию со взломом криптографии. Все плохо

Reading time3 min
Views187K
Свежая порция секретных документов от Эдварда Сноудена дает понять, каким образом Агентству Национальной Безопасности США удается обходить криптозащиту Интернет-коммуникаций.

Сразу в трех изданиях (The Guardian, The New York Times и ProPublica) были выложены выдержки из секретного бюджета АНБ, согласно которым с 2000 года, когда стали массово внедрятся средства шифрования, спецслужбы США потратили миллиарды долларов на взлом криптографии в рамках секретной программы Bullrun (названа в честь первого крупного сражения Американской Гражданской войны, произошедшего 21 июля 1861 года возле Манассаса, штат Виргиния).

Деятельность Агентства не ограничивалась научными исследованиями алгоритмов и строительством дата-центров для взлома коммуникаций методом перебора ключей. Выяснилось, что Агентство давно и успешно работает с IT-компаниями по вопросу встраивания в их продукты закладок для спецслужб США, а также ведет работу по обнаружению уязвимостей в механизмах шифрования и целенаправленному ослаблению международных алгоритмов защиты данных (сообщается о неназванном международном стандарте шифрования, принятом Международной организацией по стандартизации в 2006 году). На одно только встраивание бэкдоров в популярные коммерческие продукты, в рамках программы SIGINT, ежегодно тратится 250 млн. долларов.

Согласно документам, наибольшие усилия предпринимаются для взлома протокола SSL, обеспечивающего безопасность большинства коммуникаций в современном Интернете. VPN и технологии защиты 4G также являются одними из приоритетных направлений. АНБ поддерживает внутреннюю базу данных ключей шифрования, позволяющую мгновенно расшифровывать соединения. Если же необходимых ключей не оказывается, то запрос переходит к специальной «Службе восстановления», которая пытается получить его различными способами.
Читать дальше →

Описание протокола BitMessage

Reading time3 min
Views12K
В свете программы PRISM у многих пользователей интернета наблюдается повышенный уровень паранойи. Думаю, использование протокола BitMessage поможет Вам почувствовать себя более защищенным.

Сразу оговорюсь, что протокол достаточно молодой, хотя и достаточно многообещающий. Молодость средства криптографии может свидетельствовать о том, что не все дефекты (в том числе и критичные для сохранения сообщения или Вашей анонимности) были найдены и устранены. Версия клиента 0.0.1, написанного на Python, вышла 21 марта. Сейчас актуальна версия 0.3.4 и популярность, как и количество пользователей растет, в геометрической прогрессии.

По сравнению чатом в tor, или i2p подкупает легкость установки клиента. Буквально в один клик!

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

Главный интернет-евангелист Google Винт Сёрф рассказывает о межпланетном Интернете

Reading time7 min
Views45K


В тот день, когда будущие марсианские колонисты смогут открыть браузер и посмотреть, как котик в костюме акулы, верхом на роботе-пылесосе roomba, преследует утку, благодарить им следует ни кого иного, как Винта Сёрфа.

В качестве главного интернет-евангелиста google, Сёрф провел достаточно времени, размышляя о будущем сетевых технологий. И он имеет на это полное право — ведь именно Сёрф, вместе с Бобом Каном (Bob Kahn) был ответственен за разработку TCP/IP. Но, не удовлетворившись своей ролью отца Интернета на этой планете, Сёрф потратил годы на то, чтобы его детище вышло и в космос.

Работая совместно с NASA и JPL, Сёрф помогал разрабатывать новый стек протоколов, который может быть использован в условиях космоса — в которых, учитывая ограничения, связанные со скоростью света, а так же сложности орбитальной механики, — осуществление работы сети становится весьма сложным.

Мы [wired.com, — прим.пер.] пообщались с Сёрфом о роли этого межпланетного Интернета в исследовании космоса, имеющихся на сегодня проблемах, а так же о том, каким ему видится будущее этой технологии.

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

Порождающие грамматики Хомского

Reading time12 min
Views126K

Небольшое предисловие


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

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

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

Hyperlapse: сервис для обзора Google Street View

Reading time1 min
Views26K


По своей сути это time-lapse, с использованием в качестве изображения Google Street View.

Ребята из Tehan+Lax Labs реализовали Hyperlapse.js на основе Google Street View. Так же сделана демка, с использованием собственно Hyperlapse.js, Three.js (r57), модифицированная версия GSVPano.js, и Google Maps API v3.

Исходники доступны на github.

Можете посмотреть сразу работу этой штуки, в Киеве, например.
Читать дальше →

GitHub в роли репозитория артефактов

Reading time3 min
Views13K

Если вы часто используете maven, то наверняка сталкивались с ситуацией когда какого-нибудь нужного артефакта не оказывается в maven central. Конечно всегда можно установить недостающий джарник в ваш локальный репозиторий ~/.m2, но это отрицательно сказывается на переносимости билда, ведь на машине коллеги, у которого данный jar не установлен, билд уже не соберется.

Так же есть возможность использовать в качестве зависимости локальный файл не из репозитория, но для этого в проекте его опять же необходимо где-то хранить, а пушить либы в source control не очень хорошо.

Но существет еще один вариант. Вы можите использовать один из своих репозиториев на Google Code или GitHub в качестве хранилища maven артефактов. Рассмотрим как это можно сделать
Читать дальше →

APT1: разоблачение китайской организации, занимавшейся промышленным кибершпионажем

Reading time11 min
Views34K
Компания Mandiant вынесла на суд общественности свой детальный отчет, посвященный расследованию большого количества инцидентов, связанных с несанкционнированными проникновениями во внутренние сети различных организаций и их компьютеры по всему миру. Период времени, за который были собраны эти данные, впечатляет — 7 лет. В отчете указывается, что эти случаи имели целью похищение всевозможной конфиденциальной информации этих скомпрометированных организаций, а также были осуществлены одной и той же группой. Mandiant пришла к выводу, что за серией этих атак стоит крупная организация китайского происхождения и сами эти операции по вторжению в частные сети организаций велись под прикрытием китайского правительства и спецслужб на протяжении семи лет (!). Более того, эта организация, на самом деле, является крылом или подразделением Народно-освободительной армии Китая. В нашем посте мы приводим выводы, которые были сделаны Mandiant за семилетний период анализа деятельности этой теневой организации. Детальную версию отчета, включая технические подробности вы можете найти здесь.
Читать дальше →

Как Google изменил Android при помощи вашего мозга

Reading time4 min
Views57K
В последней версии мобильной операционной системы Android веб-гигант Google сделал большие изменения в том, как ОС интерпретирует твои голосовые команды. Компания сделала систему распознавания голоса, основанную на том, что мы называем нейронной сетью – компьютеризированной обучающей системой, которая ведет себя подобно человеческому мозгу.

Для многих пользователей, говорит Винсент Ванхуск, ученый-исследователь Google, который направлял усилия по разработке сети, результаты были впечатляющими. «Отчасти стало неожиданностью, насколько мы могли улучшить распознавание, просто изменив модель», — говорит он.

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

Переход с Java на Scala (Clojure, Haskell, Erlang ..) как повышение абстракции программирования

Reading time3 min
Views33K
А что такого можно написать на Scala, чего нельзя на Java?
(из разговора с одним моим знакомым другом, человеком и программистом)
The best reason to learn a new programming language is to learn to think differently.
Chad Fowler

Хочу рассказать не о простоте конструкций Scala по сравнению с Java и не о том, что в 1 строчку Scala я могу уместить 20 строк Java. А наоборот, копнуть поглубже, уронить устои ООП и посмотреть на реакцию благородной публики.
Читать дальше →

10 причин, по которым Вы бросите свою работу в 2013 году

Reading time9 min
Views809K
imageЭто перевод нашумевшей статьи с TechCrunch от Джеймса Альтушера — инвестора, программиста, автора статей и немного предпринимателя. Его последние книги: Я был слеп, но теперь я вижу и 40 альтернатив колледжу. Читайте его в Twitter @jaltucher.

Люди читают TechCrunch потому, что они хотят что-то создать, они не желают следовать приказам всю жизнь и хотят финансовой свободы. Давайте начистоту. Эти три пункта кажутся притягательными. Да благословит Вас Бог. Надеюсь, что когда Вы их обретете, Вы сможете сохранить их. Большинству людей (например, МНЕ), нужно просто немного покататься на американских горках, потому что мы тупые. Но некоторые люди умные.
Читать дальше →

Обзор JS-фреймворков. Путешествие через джунгли JavaScript MVC. Ч. 2

Reading time15 min
Views124K
(Окончание перевода статьи Эдди Османи о сравнении и выборе библиотеки для проекта со значительной ролью JS на клиенте.)
Содержание первой части:

■ Что такое MVC или, лучше сказать, MV*?
■ Когда нам нужен MV*-фреймворк JS?
■ Где же мы будем нуждаться в MV*, а где нет?
■ Проблема выбора: слишком много вариантов?
■ TodoMVC: общее приложение для обучения и сравнения
■ Предложенные нами критерии выбора фреймворка
■ Dojo и усложнение фреймворков на JavaScript
■ Коллекция TodoMVC (фреймворки, на которых сделаны реализации тестового приложения Todo)
Читать дальше →

Обзор JS-фреймворков. Путешествие через джунгли JavaScript MVC. Ч. 1

Reading time11 min
Views114K
(от 27 июля 2012)
При написании нативного веб-приложения легко начать чувствовать себя богом, способным работать просто с библиотекой работы с DOM (такой как jQuery) и горсткой сервисных плагинов. Вскоре возникает проблема в виде груды вложенных возвратных функций jQuery и разбросанных DOM-элементов без всякой структуры вместо приложения.

Короче, мы застреваем в спагетти-коде. К счастью, есть современные JS-фреймворки (библиотеки, задающие, кроме функций, правила организации кода --прим. перев.), помогающие поддерживать структуру и организованность в проекте, облегчающие ремонтопригодность в будущем.

■ Что такое MVC или, лучше сказать, MV*?


Эти современные библиотеки дают разработчикам простой путь к организации кода, используя вариации паттерна проектирования, известного как MVC (Model-View-Controller). MVC разделяет задачи в приложении на 3 части:
Читать дальше →

Видео-тур по МКС от астронавта Суниты Уильямс (русский перевод)

Reading time1 min
Views75K
image
Видео-тур по МКС с комментариями Суниты Уильямс (NASA)

Давно хотели открыть на канале SIMPLE-SCIENCE рубрику про космос и вот подвернулся удобный случай. Астронавт НАСА Сунита Уильямс перед возвращением на Землю с МКС сняла интересный видео-тур по Международной Космической Станции. Мы перевели его на русский язык.

Видео снято 18 ноября 2012 года в последние часы пребывания на МКС командира станции Суниты Уильямс, космонавта Юрия Маленченко и бортинженера Аки Хосидо. После чего они отправились в корабль Союз ТМА-05М для возвращения на Землю.

Тур включает в себя описания модулей станции и научно-исследовательские лаборатории.
Читать дальше →

Information

Rating
Does not participate
Location
Oslo, Oslo, Норвегия
Date of birth
Registered
Activity