Как стать автором
Обновить
3
0

Пирожочек

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

Национальная инновационная система США

Время на прочтение11 мин
Количество просмотров20K
В общепринятом представлении инновации — это технологии, появляющиеся из ниоткуда и переворачивающие мир с ног на голову, как это было с домашними компьютерами и смартфонами. На самом деле для любой страны они случаются благодаря выстроенной национальной инновационной системе. Инновации — нечто большее чем наука и технологии. Так и инновационная система — это не только элементы инфраструктуры, непосредственно связанные с продвижением науки и технологии.

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

В этой статье описана эволюция национальной инновационной системы США с XIX века.


Стэнфордский университет
Читать дальше →

Как мы ускорили наш DNS стек в 3 раза

Время на прочтение8 мин
Количество просмотров12K

Компании Cloudflare уже пошёл 6-й год и предоставление авторитативных DNS серверов было основной нашей инфраструктуры с самого начала. С тех пор мы выросли, став самым большим и быстрым поставщиком услуг DNS в Интернете, обслуживая около 100 000 сайтов из списка Alex top 1M sites, и более 6 миллионов DNS зон.


imageImg


На сегодняшний день наш сервис DNS отвечает около 1 миллиона запросов в секунду — не считая трафика во время атак — с помощью глобальной anycast сети. Разумеется, технологии, которые мы, будучи растущим стартапом, использовали для того, чтобы обслуживать сотни и тысячи зон несколько лет назад уже не справляются с миллионами, которые мы имеем сегодня. В прошлом году мы решили заменить два ключевых элемента в нашей DNS инфраструктуре: часть нашего DNS сервера, который отвечает на авторитативные запросы и систему, которая берёт пользовательские изменения и обновляет их на пограничных серверах по всему миру.

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

Список доменов в зоне ru/su/tatar/рф/дети доступен публично из-за некорректной настройки DNS

Время на прочтение4 мин
Количество просмотров44K
Начиная с 6 июня, на части DNS, обслуживающих российские доменные зоны, разрешен трансфер (AXFR), который позволяет получить полный список доменных имен зон .ru, .su, .tatar, .рф и .дети.

AXFR-запрос доступен на следующих серверах:

  • a.dns.ripn.net
  • b.dns.ripn.net
  • d.dns.ripn.net
Читать дальше →

Антивирус на батниках в прошлом ㅡ пришло время сниффера на PowerShell

Время на прочтение6 мин
Количество просмотров23K


Все мы в качестве сниффера обычно используем готовые программы. Однако, можно обойтись и встроенными средствами Windows с помощью PowerShell. Помимо изобретения велосипеда «потому что можем», скрипты пригодятся в сценариях автоматизированного анализа трафика.

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

Самодельный Dynamic DNS

Время на прочтение2 мин
Количество просмотров35K
Статья о том, как за несколько минут своими руками сделать Dynamic DNS с помощью Perl, Yandex DNS API и роутера D-Link.

Многие роутеры D-Link поддерживают встроенную функцию Dynamic DNS.
К сожалению, бесплатно доступны лишь домены вида example.dlinkddns.com.

Есть также очень удобное DNS API от Яндекса.

Этим сочетанием мы и воспользуемся.
Читать дальше →

Yet another tutorial: запускаем dotnet core приложение в docker на Linux

Время на прочтение7 мин
Количество просмотров20K


В один пасмурный летний день, после посещения секции от авито на РИТ2017, до меня вдруг дошло, что хайп по поводу докера не смолкает уже пару лет и пора, наконец, уже его освоить. В качестве подопытного для упаковки был выбран dotnet core+C#, т. к. давно интересно было посмотреть, каково это — разрабатывать на C# под Linux.

Предупреждение читателю: статья ориентирована на совсем новичков в docker/dotnet core и писалась большей частью, как напоминалка для себя. Вдохновлялся я первыми 3 частями Docker Get Started Guide и неким блог-постом на english. У кого хорошо с английским, можно читать сразу их и в общем-то будет сильно похоже. Если же после всего вышенаписанного вы еще не передумали продолжить чтение, то добро пожаловать под кат.
Итак, погнали!

На пути к Go 2

Время на прочтение17 мин
Количество просмотров17K

Перевод блог поста и доклада Russ Cox с GopherCon 2017, с обращением ко всему Go сообществу помочь в обсуждении и планировании Go 2. Видео доклада будет добавлено сразу после опубликования.



25 сентября 2007 года, после того как Роб Пайк, Роберт Грисмайер и Кен Томпсон несколько дней обсуждали идею создания нового языка, Роб предложил имя "Go".



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

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

Что такое Display Rate и как он влияет на доход вашего приложения?

Время на прочтение4 мин
Количество просмотров7.3K


Rewarded Video или просмотр видеорекламы за вознаграждение стали полноценной частью монетизационной стратегии для мобильных приложений. В эффективности этого формата рекламы уже никто не сомневается — компания Soomla сообщает, что видео с вознаграждением повышают выручку на 20-40%, а Facebook анонсировал подключение Rewarded Video в Facebook Audience Network. Однако, работать с Rewarded Video не всегда так просто, как кажется.

Решето Эратосфена, попытка минимизировать память

Время на прочтение2 мин
Количество просмотров35K

Введение


Одним из алгоритмов для поиска простых чисел является Решето Эратосфена предложенное еще древнегреческим математиком.

Картинка из википедии:

image

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

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

Для решения используется сегментация (когда память выделяется по кускам) и другие ухищрения (см. тут).

Реализация алгоритма


Алгоритм внизу (написан на java) предполагает минимальный объем памяти — по сути для каждого найденного простого числа мы храним еще одно число — последнее зачеркнутое (наибольшее). Если я правильно оцениваю объем памяти ln(n) — число найденных простых.
Читать дальше →

Scala коллекции: секреты и трюки

Время на прочтение28 мин
Количество просмотров33K

Представляю вашему вниманию перевод статьи Павла Фатина Scala Collections Tips and Tricks. Павел работает в JetBrains и занимается разработкой Scala плагина для IntelliJ IDEA. Далее, повествование идет от лица автора.


В этой статье вы найдете упрощения и оптимизации, характерные для повседневного использования API Scala коллекций.


Некоторые советы основаны на тонкостях реализации библиотеки коллекций, однако большинство рецептов — это разумные преобразования, которые на практике часто упускаются из виду.


Этот список вдохновлен моими попытками разработать практичные инспекции для Scala коллекций, для Scala плагина IntelliJ. Сейчас мы внедряем эти инспекции, так что, используя Scala плагин в IDEA, вы автоматически выигрываете от статического анализа кода.


Тем не менее, эти рецепты ценны сами по себе. Они могут помочь вам углубить понимание стандартной библиотеки коллекций Scala и сделать ваш код быстрее и выразительнее.


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

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

Цикл стартапа: как (в общем) работает венчурное инвестирование

Время на прочтение9 мин
Количество просмотров31K

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

Книга «Закон стартапа»:
  1. Стартапер vs. предприниматель
  2. Выбираем форму
  3. Регистрация
  4. Корпоративное управление
    Как юридически строится компания
  5. Текущая работа
    Договоры и как они работают
    Как проверить партнера по открытым источникам
  6. Налоги
    Что платит IT-бизнес в России?
  7. Государственная поддержка
  8. Цикл стартапа
    Как (в общем) работает венчурное инвестирование
  9. Венчурные сделки
  10. Венчурные фонды
  11. Интеллектуальная собственность
  12. Офшоры и ВЭД
    Преимущества и подводные камни офшоров


По работе (я юрист и преподаватель) часто приходится объяснять студентам, как работает венчурное инвестирование и зачем инвестору вкладывать деньги в IT-бизнес, по сути, не получая ничего взамен. Поэтому я постарался объяснить природу венчурного феномена. Конечно, это все равно теория, на практике есть куча нюансов и деталей, но как общее руководство, я думаю, подходит. Если что-то останется неясным, спрашивайте в комментах, объясню по мере возможностей ;-)
Читать дальше →

Реверс-инжиниринг одной строчки JavaScript

Время на прочтение10 мин
Количество просмотров47K
Несколько месяцев назад я получил от друга такое письмо:



Тема: Можешь объяснить мне эту одну строчку кода?

Текст: Считай меня тупым, но… я не понимаю её и буду благодарен, если растолкуешь подробно. Это трассировщик лучей в 128 символах. Мне кажется, он восхитительный.

<pre id=p><script>n=setInterval("for(n+=7,i=k,P='p.\\n';i-=1/k;P+=P[i%2?(i%2*j-j+n/k^j)&1:2])j=k/i;p.innerHTML=P",k=64)</script>



Эта строчка JavaScript отрисует анимацию, которая показана на изображении под катом. В браузере она запускается здесь. Скрипт написан автором www.p01.org, где вы можете найти эту и много других классных демок.

Захват всех доменов .io с помощью таргетированной регистрации

Время на прочтение7 мин
Количество просмотров16K
В предыдущей статье мы обсуждали захват доменных расширений .na, .co.ao и .it.ao разными хитростями с DNS. Сейчас рассмотрим угрозу компрометации домена верхнего уровня (TLD) и как нужно действовать злоумышленнику, чтобы достичь поставленной цели. Одним из довольно простых методов видится регистрация доменного имени одного из авторитативных серверов имён этой TLD. Поскольку в TLD авторитативные серверы могут размещаться на произвольных доменах, то есть вероятность зарегистрировать такой домен, воспользовавшись ошибкой из-за неправильной конфигурации, истечения срока действия или других ошибок. Затем этот сервер можно использовать для выдачи новых DNS-записей в целой доменной зоне.

Приведу здесь соответствующую цитату из предыдущей статьи:

Такой вариант казался верной дорогой к победе, так что я потратил много времени на разработку инструментария для проверки ошибок этого типа. По сути, этот процесс состоит в записи всех хостов серверов имён для данного домена — и проверке, когда истечёт срок регистрации какого-нибудь из корневых доменов и он станет доступен для регистрации. Основная проблема в том, что многие регистраторы не говорят, что домен полностью свободен, пока вы реально не попробуете его купить. Кроме того, было несколько случаев, когда у сервера заканчивался срок регистрации, но по какой-то причине домен был недоступен для регистрации, хотя не был помечен как зарезервированный. В результате такого сканирования удалось зафиксировать много перехватов доменов в закрытых зонах (.gov, .edu, .int и др.), но не самих TLD.

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

Создание движка для блога с помощью Phoenix и Elixir / Часть 10. Тестирование каналов

Время на прочтение9 мин
Количество просмотров3K


От переводчика: «Elixir и Phoenix — прекрасный пример того, куда движется современная веб-разработка. Уже сейчас эти инструменты предоставляют качественный доступ к технологиям реального времени для веб-приложений. Сайты с повышенной интерактивностью, многопользовательские браузерные игры, микросервисы — те направления, в которых данные технологии сослужат хорошую службу. Далее представлен перевод серии из 11 статей, подробно описывающих аспекты разработки на фреймворке Феникс казалось бы такой тривиальной вещи, как блоговый движок. Но не спешите кукситься, будет действительно интересно, особенно если статьи побудят вас обратить внимание на Эликсир либо стать его последователями.»


В этой части мы научимся тестировать каналы.

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

Bare words в JavaScript

Время на прочтение1 мин
Количество просмотров9.2K
Однажды отдыхая в диване, я вспомнил мимолетный замечательный ролик из своего детства, который назывался WAT. И там была такая штука как bare words, которая показывалась на примере Ruby.

image

«Голые слова» (barewords) — это слова без кавычек, которые вы можете использовать в качестве строк.

В JavaScript их, вроде как и нет, поэтому я попробовал их в него пропихнуть, что в целом получилось.
Читать дальше →

ES8 вышел и вот его основные новые возможности

Время на прочтение5 мин
Количество просмотров100K
Новые фичи восьмой редакции EcmaScript.

image

EcmaScript 8 или EcmaScript 2017 был официально выпущен комитетом TC39 в конце июня. Кажется, мы много говорили о EcmaScript в прошлом году и это было не просто так. На данный момент стандартом является выпуск новой спецификации раз в год. ES6 был опубликован в 2015, а ES7 в 2016, но кто-нибудь помнит, когда вышел ES5? Это было в 2009 году, до волшебного взлета JavaScript.

Как вырваться из чтения туториалов по программированию

Время на прочтение4 мин
Количество просмотров32K

У всех это было: учишь какой-то язык, штудируешь один учебник за другим — и ничего. Тогда начинаешь сомневаться: «это слишком сложно», «программирование, наверное, не для меня». Уверен, это чувство вам знакомо.

Меня самого недавно настигла эта напасть: мне — уже неплохо освоившемуся младшему PHP-разработчику — вдруг захотелось слегка глубже изучить Python, особенно Django.

Поискав в Интернете, я нашел чуть ли не идеальное руководство: достаточно сложное, чтобы было интересно, но и не слишком перегруженное.

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

Однако осилив 80% руководства, я начал сомневаться. Я просмотрел видео и вручную переписал весь код. У меня был отличный проект, который можно показать другим. Так почему же мне казалось, что за все это время навыков у меня не прибавилось?

Переведено в Alconost
Читать дальше →

Как я нашёл баг в процессорах Intel Skylake

Время на прочтение9 мин
Количество просмотров47K
Инструкторы курсов «Введение в программирование» знают, что студенты находят любые причины для ошибок своих программ. Процедура сортировки отбраковала половину данных? «Это может быть вирус в Windows!» Двоичный поиск ни разу не сработал? «Компилятор Java сегодня странно себя ведёт!» Опытные программисты очень хорошо знают, что баг обычно в их собственном коде, иногда в сторонних библиотеках, очень редко в системных библиотеках, крайне редко в компиляторе и никогда — в процессоре. Я тоже так думал до недавнего времени. Пока не столкнулся с багом в процессорах Intel Skylake, когда занимался отладкой таинственных сбоев OCaml.

Первое проявление


В конце апреля 2016 года вскоре после выпуска OCaml 4.03.0 один Очень Серьёзный Индустриальный Пользователь OCaml (ОСИП) обратился ко мне в частном порядке с плохими новостями: одно из наших приложений, написанное на OCaml и скомпилированное в OCaml 4.03.0, падало случайным образом. Не при каждом запуске, но иногда вылетал segfault, в разных местах кода. Более того, сбои наблюдались только на их самых новых компьютерах, которые работали на процессорах Intel Skylake (Skylake — это кодовое название последнего на тот момент поколения процессоров Intel. Сейчас последним поколением является Kaby Lake).

За последние 25 лет мне сообщали о многих багах OCaml, но это сообщение вызывало особенное беспокойство. Почему только процессоры Skylake? В конце концов, я даже не мог воспроизвести сбои в бинарниках ОСИПа на компьютерах в моей компании Inria, потому что все они работали на более старых процессорах Intel. Почему сбои не воспроизводятся? Однопоточное приложение ОСИПа делает сетевые и дисковые операции I/O, так что его выполнение должно быть строго детерминировано, и любой баг, который вызвал segfault, должен проявлять себя при каждом запуске в том же месте кода.
Читать дальше →

Обобщённое копирование связных графов объектов в C# и нюансы их сериализации

Время на прочтение7 мин
Количество просмотров6.5K
Задачи по копированию отдельных объектов и связных графов часто встречаются в программировании. Методов их решения существует несколько в зависимости от исходных условий и требований. Цель статьи — рассмотреть ключевые разновидности решений, обозначить область применения, выделить преимущества и недостатки.

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

Правда ли уже пора использовать CSS Grid Layout?

Время на прочтение7 мин
Количество просмотров31K

Я учусь пилотировать легкие самолеты. Это отвлекает меня от компьютеров. Недавно мне никак не удавалось удержать Сессну-150 на малой высоте, когда мы приближались к аэропорту Бристоля. Меня буквально засосало в облако восходящим потоком. Мой летный инструктор сказал: «Это не ваша вина, но ваша проблема». Он имел в виду, что я обязана была удерживать высоту, пусть даже что-то работало против меня. Мне нужно было узнать, что бывает такая ситуация, и научиться справляться с ней при пилотировании.


Уже после приземления я подумала, что фраза «это не ваша вина, но ваша проблема» отлично подходит практически к любым ситуациям. В этой статье я раскрываю тему поддержки старых браузеров при использовании новых технологий наподобие CSS Grid Layout. Мы, разработчики, часто робеем при обсуждении браузерной поддержки с заказчиками и коллегами, как будто это мы виноваты в том, что сайты не выглядят в IE9 в точности так же, как в новейших Firefox или Chrome. Пора нам уже принять, что это не наша вина. Но обязанность справиться с этим как следует, с пользой для каждого — во многом наша проблема.

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

Информация

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