Как стать автором
Обновить
5
0
ViViVi @ViViVi

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

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

Ловушка (тарпит) для входящих SSH-соединений

Время на прочтение4 мин
Количество просмотров38K
Не секрет, что интернет — очень враждебная среда. Как только вы поднимаете сервер, он мгновенно подвергается массированным атакам и множественным сканированиям. На примере ханипота от безопасников можно оценить масштаб этого мусорного трафика. Фактически, на среднем сервере 99% трафика может быть вредоносным.

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

Чаще всего тарпиты применяют для защиты. Технику впервые разработали для защиты от компьютерных червей. А сейчас её можно использовать, чтобы испортить жизнь спамерам и исследователям, которые занимаются широким сканированием всех IP-адресов подряд (примеры на Хабре: Австрия, Украина).
Читать дальше →
Всего голосов 86: ↑84 и ↓2+82
Комментарии66

Бег на месте и веб-разработка

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

Сейчас я расскажу вам одну странную историю. Однажды, я жил в кондоминимуме, в котором, на первом этаже, был зал для фитнеса с беговыми дорожками. В юности, я активно занимался спортом и тогда мне удалось познать состояние, которое возникает во время бега и называется «второе дыхание»: это когда вдруг начинаешь чувствовать себя окрыленным божеством, не знающим усталости. Дыхание, сердцебиение и движения тела входят в какой-то особый резонанс, и превращают тебя в бегущую машину. Ощущение тем ярче, на мой взгляд, чем больше вы НЕ любили бегать до этого момента. Так вот, я каждый день ходил мимо беговых дорожек и думал, что хорошо бы вспомнить молодость. Ну и вспомнил. Беговая дорожка отлично в этом помогла, она позволяла тонко настроить темп и достичь нужного ритма. На улице у меня так не получается: бежать с ровной скоростью по городу — очень трудно, мешают рельеф и препятствия. Через какое-то время я переехал в обычную квартиру (без фитнес-зала), и стал задумываться о приобретении собственной беговой дорожки.
Читать дальше →
Всего голосов 27: ↑18 и ↓9+9
Комментарии147

Как парни из Storyline вернулись из Кремниевой долины в Минск с $770 тысячами на стартап

Время на прочтение16 мин
Количество просмотров24K
В 2017 году Василий Шинкоренко и Максим Абрамчук создали сервис Storyline, где можно разрабатывать приложения для голосового помощника от Amazon не используя программирование. Парни участвовали в двух акселераторах в Кремниевой долине — Boost VC и Y Combinator. Весной 2018 они получили $770 тысяч инвестиций.

Мы с fillpackart позвонили им и обо всем расспросили — что под капотом сервиса, каково быть разработчиком в стартапе, как им жилось в долине и как скоро голосовые ассистенты изменят мир.


Всего голосов 40: ↑38 и ↓2+36
Комментарии75

Руководство по SEO JavaScript-сайтов. Часть 1. Интернет глазами Google

Время на прочтение15 мин
Количество просмотров33K
Представляем вашему вниманию перевод первой части материала, который посвящён поисковой оптимизации сайтов, построенных с использованием JavaScript. Речь пойдёт об особенностях сканирования, анализа и индексирования таких сайтов поисковыми роботами, о проблемах, сопутствующих этим процессам, и о подходах к решению этих проблем.

В частности, сегодня автор этого материала, Томаш Рудски из компании Elephate, расскажет о том, как сайты, которые используют современные JS-фреймворки, вроде Angular, React, Vue.js и Polymer, выглядят с точки зрения Google. А именно, речь пойдёт о том, как Google обрабатывает сайты, о технологиях, применяемых для анализа страниц, о том, как разработчик может проанализировать сайт для того, чтобы понять, сможет ли Google нормально этот сайт проиндексировать.

image

JavaScript-технологии разработки веб-сайтов в наши дни весьма популярны, поэтому может показаться, что они уже достигли достаточно высокого уровня развития во всех мыслимых направлениях. Однако, в реальности всё не так. В частности, разработчики и SEO-специалисты всё ещё находятся в самом начале пути к тому, чтобы сделать сайты, построенные на JS-фреймворках, успешными в плане их взаимодействия с поисковыми системами. До сих пор множество подобных сайтов, несмотря на их популярность, занимают далеко не самые высокие места в поисковой выдаче Google и других поисковых систем.
Читать дальше →
Всего голосов 30: ↑30 и ↓0+30
Комментарии6

Ричард Хэмминг: Глава 1. Ориентация

Время на прочтение18 мин
Количество просмотров24K
«Цель этого курса — подготовить вас к вашему техническому будущему.»

imageПривет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2265 в закладки, 353k прочтений)?

Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, написанная по мотивам его лекций. Давайте ее переведем, ведь мужик дело говорит.

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

Мы уже перевели 10 (из 30) глав.

Глава 1. Ориентация


(За перевод спасибо Savva Sumin, который откликнулся на мой призыв в «предыдущей главе».) Кто хочет помочь с переводом — пишите в личку или на почту magisterludi2016@yandex.ru

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

Я буду рассматривать, критиковать и демонстрировать различные стили мышления. Для иллюстрации стилевых особенностей я буду использовать технические знания, знакомые большинству из вас, что, опять же, надеюсь, станет для вас полезным повторением основ. Вам следует рассматривать этот курс в качестве дополнения к уже изученным вами техническим курсам. Многим вещам, о которых я буду говорить, не нашлось места в стандартных курсах, однако я глубоко убеждён, что вам необходимо о них знать. Этот курс существует потому, что Отдел Электрической и Компьютерной Разработки Аспирантуры Университета Морской Пехоты осознаёт необходимость общего, широкого образования, наряду со специализированным, технологическим обучением, которого потребует ваше будущее.
Читать дальше →
Всего голосов 34: ↑34 и ↓0+34
Комментарии5

Вы и ваша работа *

Время на прочтение40 мин
Количество просмотров816K
Длинный материал. Время чтения – около 40 минут.

image

Доктор Ричард Хэмминг, профессор морской школы Монтерея в штате Калифорния и отставной учёный Bell Labs, прочёл 7 марта 1986 года очень интересную и стимулирующую лекцию «Вы и ваши исследования» переполненной аудитории примерно из 200 сотрудников и гостей Bellcore на семинаре в серии коллоквиумов в Bell Communications Research. Эта лекция описывает наблюдения Хэмминга в части вопроса «Почему так мало учёных делают значительный вклад в науку и так многие оказываются в долгосрочной перспективе забыты?». В течение своей более чем сорокалетней карьеры, тридцать лет которой прошли в Bell Laboratories, он сделал ряд прямых наблюдений, задавал учёным очень острые вопросы о том, что, как, откуда, почему они делали и что они делали, изучал жизни великих учёных и великие достижения, и вёл интроспекцию и изучал теории креативности. Эта лекция о том, что он узнал о свойствах отдельных учёных, их способностях, чертах, привычках работы, мироощущении и философии.
Читать дальше →
Всего голосов 239: ↑229 и ↓10+219
Комментарии127

Service Workers. Инструкция по применению

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


Количество выходов в интернет с мобильных устройств ежегодно растёт на 2-4% в год. Качество связи не успевает за такими темпами. Как итог, даже самое лучшее веб-приложение обеспечит ужасный опыт, если пользователь не сможет его загрузить.

Проблема в том, что до сих пор нет хорошего механизма управления кэшем ресурсов и результатов сетевых запросов. В своей статье я хочу рассказать как Service Worker (SW) может помочь в решении этой задачи. Объясню в формате рецептов — какие элементы и в какой пропорции смешать, чтобы получить нужный результат, исходя из задачи и требований.
Поехали!
Всего голосов 57: ↑57 и ↓0+57
Комментарии40

Bitcoin не станет новыми цифровыми деньгами: ограниченная эмиссия и функции денег

Время на прочтение5 мин
Количество просмотров20K
Я ежедневно сталкиваюсь с множеством мнений относительно биткоина. Одни уверены, что будет дорожать, другие уверены в том что пузырь лопнет, третьих интересует блокчейн как технология. Но доводов этих людей в пользу своих мнений я не встречал. Безусловно, доводы были, но они мало что общего имели с текущими экономическими моделями в мире и больше были похожи на сектантскую мантру. Иногда выходят статьи на крупных ресурсах срывающие покровы, но читая их я начинаю недоумевать как очевидные вещи могут стать откровением. Часть людей из IT, тех кто является той массой людей что популяризуют биткоин, плохо представляют себе как работает экономика. В свою очередь, экономисты еще слабо представляют что такое блокчейн.

В цикле публикаций я решил разобраться с текущим положением дел и провести параллели между биткоином и фиатными деньгами.
Читать дальше →
Всего голосов 44: ↑35 и ↓9+26
Комментарии279

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

Время на прочтение11 мин
Количество просмотров18K
Всем доброго!

Что ж, как и обещали, делимся с вами очередным материалом, который мы изучали в рамках подготовки нашего курса по PHP. Надеемся, что он окажется для вас и интересным, и полезным.

Вступление

В последнее время кажется, что все и каждый говорят о машинном обучении. Ваши ленты в социальных сетях забиты сообщениями об ML, Python, TensorFlow, Spark, Scala, Go и т. д .; и если у нас с вами есть что-то общее, то вы можете поинтересоваться, а что насчет PHP?

Да, как насчет машинного обучения и PHP? К счастью, кто-то был достаточно сумасшедшим, чтобы не только задать этот вопрос, но и разработать универсальную библиотеку машинного обучения, которую мы можем использовать в нашем следующем проекте. В этом посте мы рассмотрим PHP-ML — библиотеку для машинного обучения на PHP — и мы напишем класс анализа тональности, который мы сможем позже использовать для нашего собственного чата или твит-бота. Основными задачами этого поста являются:

  • Изучение общих понятия, касающиеся машинного обучения и анализа тональности текста
  • Обзор возможностей и недостатков PHP-ML
  • Определение задачи, которую мы будем решать.
  • Доказательство того, что попытка машинного обучения на PHP не является абсолютно безумной целью (опционально)


Читать дальше →
Всего голосов 36: ↑35 и ↓1+34
Комментарии5

Нехватка оперативной памяти в Linux на рабочем ПК: оптимизация и действия при зависании

Время на прочтение5 мин
Количество просмотров86K
На любой операционной системе часто не хватает оперативной памяти. Рассмотрим, как и сэкономить на увеличении аппаратных ресурсов машины с Linux, и продолжить более-менее комфортно пользоваться компьютером с Linux в условиях нехватки памяти.
Читать дальше →
Всего голосов 39: ↑39 и ↓0+39
Комментарии36

Scrum внедрили, agile — забыли

Время на прочтение5 мин
Количество просмотров38K
Недавно мне посчастливилось начать работу с одной относительно немаленькой компанией (~100 человек), где, как выразился наниматель, “по-отдельности все хорошие специалисты, а вместе работать не получается”. Ну, думаю, я как раз специализируюсь на создании команд, дай, думаю, помогу чем смогу. Пообщались на собеседовании на тему общего понимания цели компании, об условиях, в которых возможна успешная совместная работа, о максимальном использовании компетенций сотрудников и о вовлечении в общее дело. Казалось бы, мысли у нас с нанимателем сходятся, но сам держу ухо востро — знаю о негативной репутации компании у потенциальных соискателей в городе. Ну что же, тем интереснее будет задача!

image
Читать дальше →
Всего голосов 53: ↑48 и ↓5+43
Комментарии50

Как работает Android, часть 1

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


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

Читать дальше →
Всего голосов 92: ↑91 и ↓1+90
Комментарии51

Путь из программиста в предприниматели (и стоит ли по нему идти)

Время на прочтение2 мин
Количество просмотров29K
Выкладываю видеозапись своего выступления, в котором я постарался дать обзор возможностей открытия своего дела с точки зрения человека из IT.

Презентация не является мотивационной речью. Скорее напротив — указывает на те сложности, с которыми придется встретиться, и старается сфокусировать на тех основных вещах, которые наиболее важны на старте. Несмотря на очевидность некоторых тезисов, мне порой приходилось потратить очень много времени и денег, чтобы к ним прийти. Надеюсь, что выводы из моего опыта, представленные в выступлении, облегчат кому-то путь к построению собственного начинания.
Всего голосов 50: ↑34 и ↓16+18
Комментарии44

Где и почему стоит регистрировать компанию для нового стартапа

Время на прочтение4 мин
Количество просмотров16K
Многие молодые стартаперы воодушевлены своими идеями. Все, о чем они думают это запустить проект и заработать миллиард изменить мир. У них есть гениальная идея, невероятная мотивация и даже команда единомышленников. Они в деталях знают свой будущий проект, но они не задумываются о бизнес составляющей этой идеи. Вопросы юридического оформлениях их стартапа, большинство делают пост-фактум, а ведь многих проблем можно избежать просто подумав зарание.
Читать дальше →
Всего голосов 12: ↑8 и ↓4+4
Комментарии16

Секреты Progressive Web Apps: часть 2

Время на прочтение10 мин
Количество просмотров6.8K
Для тех, кто пропустил первую часть статьи: вам сюда. Ну а для всех остальных, как обычно, привет, Хабрахабр. Мы продолжаем тему PWA и изучение базового алгоритма синхронизации (не бросать же начатое?). В прошлой части мы закончили на том, что наше условное приложение умеет запрашивать статьи с сервера, получать только актуальные материалы, следить за изменениями и удалениями статей и грамотно всё это обрабатывать. Работало это всё через вычисление дельты: разницы между тем, что есть у приложения, и тем, что хранится на сервере.



В этой части мы изучим различные конкретные схемы по реализации описанных выше теорий, обсудим их сильные и слабые стороны. Ну а перед тем как мы начнём, давайте опишем требования к искомым алгоритмам.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии1

Секреты Progressive Web Apps: часть 1

Время на прочтение14 мин
Количество просмотров26K
Привет, Хабр! Мы продолжаем цикл статей по Progressive Web Apps. В прошлый раз мы познакомили вас с опытом разработчиков из Airberlin, ну а сегодня у нас в виртуальных гостях Jan Lehnardt, человек, стоящий за такими штуками, как Hoodie, Apache CouchDB и Greenkeeper i/o.

И пусть вас не смущает аббревиатура PWA (Progressive Web Apps): несмотря на то, что в заголовке есть Apps, принципы и технологии, используемые в PWA, применимы в целом к вебу и к приложениям. Лучшим вступлением к статье будет просмотр видео с Google I/O 2016, в котором Джейк Арчибальд рассказывает о PWA.



Я очень рекомендую посмотреть его, прежде чем продолжать читать статью, особенно если эта тема для вас в новинку.
Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии3

Нейронные сети на Javascript

Время на прочтение7 мин
Количество просмотров166K
image
Идея для написания этой статьи возникла прошлым летом, когда я слушал доклад на конференции BigData по нейронным сетям. Лектор «посыпал» слушателей непривычными словечками «нейрон», «обучающая выборка», «тренировать модель»… «Ничего не понял — пора в менеджеры», — подумал я. Но недавно тема нейронных сетей все же коснулась моей работы и я решил на простом примере показать, как использовать этот инструмент на языке JavaScript.

Мы создадим нейронную сеть, с помощью которой будем распознавать ручное написание цифры от 0 до 9. Рабочий пример займет несколько строк. Код будет понятен даже тем программистам, которые не имели дело с нейронными сетями ранее. Как это все работает, можно будет посмотреть прямо в браузере.
Читать дальше →
Всего голосов 58: ↑54 и ↓4+50
Комментарии79

Собираем ваш первый WebAssembly-компонент

Время на прочтение6 мин
Количество просмотров29K
Когда я впервые услышал о технологии WebAssembly — она сразу показалось мне крутой вещью и мне сразу захотелось попробовать её в деле. От первого желания, до чего-то работающего мне, однако, пришлось потратить немало времени и порой испытать кое-какие разочарования. Для того, чтобы сохранить ваше время и ваши нервы, если вам захочется повторить тот же путь, и написана данная статья.

image
Предупреждение читателю

Эта статья написана 24-го июня 2016-го года. Поскольку WebAssembly очень молодая и динамично развивающаяся технология, со временем многие описанные в данной статье вещи устареют или полностью изменятся — учитывайте это.

А теперь поехали.

Что такое WebAssembly?

Официальная документация говорит следующее: «WebAssembly или wasm это новый портабельный, эффективный по размеру и скорости загрузки формат компиляции для веба». Эм-м-м-м… Что? Формат чего? Текстовый или бинарный? Да, это откровенно плохое описание. Так что убирайте уже ваши баззворд-бинго карточки и я, на основе моего опыта, дам своё определение:

«WebAssembly или wasm это спецификация байткода для написания производительных, браузеро-независимых компонентов для веба». Это определение, тоже, конечно, не вершина эпистолярного жанра, но я попробую его дополнить. WebAssembly позволяет повысить производительность с помощью использования статически типизированных переменных, которые обходятся на рантайме значительно дешевле динамических. WebAssembly разрабатывается W3C Community Group и планируется быть внедрённым во все основные браузеры. И с этого момента на стол выкладывается киллер-фича: вы сможете писать код веб-компонентов на любом языке программирования.

Теперь звучит лучше, неправда ли?
Читать дальше →
Всего голосов 48: ↑44 и ↓4+40
Комментарии30

Все врут, а ты не ври, или Развенчание мифа о запоминании

Время на прочтение5 мин
Количество просмотров93K
Сколько человек запоминает после пройденного им обучения? Обучаемый в среднем запоминает 10% прочитанного, 20% услышанного, 30% увиденного … 90% того, что сделал сам. Многие сталкивались c этими цифрами. Они приводятся отдельно или часто совмещаются с так называемой пирамидой обучения или конусом опыта. И все было бы хорошо и замечательно, если бы этими цифрами не был заполнен весь интернет, а сами они не являлись обманом и мистификацией.


Читать дальше →
Всего голосов 47: ↑36 и ↓11+25
Комментарии51

Каково это — быть разработчиком, когда тебе сорок

Время на прочтение18 мин
Количество просмотров229K
Примечание от переводчика:

Этот пост был написан и опубликован на Medium разработчиком приложений Адрианом Космачевским из Швейцарии. Кроме подготовки перевода его публикации, я также пригласил и самого автора, Адриана ( akosma ), на Хабр, для того, чтобы он смог лично ответить на любые вопросы участников сообщества, если таковые возникнут. Думаю, для общего удобства при общении в комментариях с ним стоит использовать английский (и, при желании, дублировать на русском).



Привет всем, я — сорокадвухлетний программист-самоучка, а это моя история.

Пару недель назад я наткнулся на твит, в котором была картинка, прикрепленная ниже, и он заставил меня задуматься о моей карьере.

image

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

Я дебютировал в роли разработчика программного обеспечения в 10 часов утра 6 октября 1997 года, в городе Оливос, к северу от Буэнос-Айреса, в Аргентине. Был понедельник. Не так давно я праздновал свой 24-й день рождения.

Мир в 1997 году


Тогда он был немного другим. На веб-сайтах не было предупреждений об использовании cookie. Новаторскими в сети были сайты вида Excite.com, а моим любимым поисковиком был AltaVista.

Мой электронный ящик имел вид kosmacze@sc2a.unige.ch и был расположен на личном веб-сайте, который размещался по адресу http://sc2a.unige.ch/~kosmacze. Тогда мы еще оплакивали принцессу Диану, а Стив Джобс только-только вернулся на роль CEO и убедил Microsoft «вбросить» в Apple Computer 150 миллионов долларов. Digital Equipment Corporation подала в суд на Dell, останки Че Гевары вернули на Кубу, только начался четвертый (!) сезон «Друзей». Был убит Джанни Версаче, скончались Мать Тереза, Рой Лихтенштейн и Жанна Кальман. Люди зависали за Final Fantasy 7 на PlayStation, будто бы были наркоманами, Би-Би-2 начал вещание телепузиков, а Кэмерон только собирался показать миру свой «Титаник».
Читать дальше →
Всего голосов 200: ↑194 и ↓6+188
Комментарии321
1
23 ...

Информация

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