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

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

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

Чем проще задача, тем чаще я ошибаюсь

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

Эта тривиальная задача возникла в один из пятничных дней и должна была занять 2-3 минуты времени. В общем, как всегда.

Коллега попросил поправить скрипт у него на сервере. Сделал, сдал ему и обронил ненароком: «Время спешит на 5 минут». Сервер его, пусть сам и разбирается с синхронизацией. Полчаса, час прошел, а он всё пыхтит и тихо матерится.

«Бестолочь! — подумал я, переключаясь в консоль сервера — ну ладно оторвусь ещё на пару минут.»

Смотрим, ntp, rdate, sdwdate не установлены, timesyncd отключен и не запущен.

# timedatectl
      Local time: Sun 2019-08-25 20:44:39 +03
  Universal time: Sun 2019-08-25 17:44:39 UTC
        RTC time: Sun 2019-08-25 17:39:52
       Time zone: Europe/Minsk (+03, +0300)
     NTP enabled: no
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a

Здесь сразу отмечу, что аппаратное время верное: по нему будет легче ориентироваться дальше.

Отсюда и началась череда ошибок.
Читать дальше →
Всего голосов 93: ↑92 и ↓1+91
Комментарии37

Web tools, или с чего начать пентестеру?

Время на прочтение11 мин
Количество просмотров45K
Продолжаем рассказывать о полезных инструментах для пентестера. В новой статье мы рассмотрим инструменты для анализа защищенности веб-приложений.

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

Читать дальше →
Всего голосов 46: ↑46 и ↓0+46
Комментарии8

Книга «Конкурентность и параллелизм на платформе .NET. Паттерны эффективного проектирования»

Время на прочтение8 мин
Количество просмотров11K
image Привет, Хаброжители! Книга Рикардо Террелли (Riccardo Terrell) дает представление о рекомендуемых методах создания конкурентных и масштабируемых программ в .NET, освещая преимущества функциональной парадигмы и предоставляя соответствующие инструменты и принципы, позволяющие легко и правильно поддерживать конкурентность. В итоге, вооружившись новыми навыками, вы получите знания, необходимые для того, чтобы стать экспертом в предоставлении успешных высокопроизводительных решений.

Если вы пишете многопоточный код на .NET, то эта книга может вам помочь. Если вы заинтересованы в использовании функциональной парадигмы для упрощения конкурентного программирования и максимального повышения производительности приложений, то данная книга станет для вас важным руководством. Она принесет пользу любым разработчикам на .NET, желающим писать конкурентные, реактивные и асинхронные приложения, которые масштабируются и автоматически адаптируются к имеющимся аппаратным ресурсам везде, где бы ни работали такие программы.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии2

Веб скрапинг для веб разработчиков: краткое резюме

Время на прочтение7 мин
Количество просмотров17K
Знание только одного подхода к веб скрапингу решает проблему в краткосрочной перспективе, но все методы имеют свои сильные и слабые стороны. Осознание этого экономит время и помогает решать задачу эффективнее.

image

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

  • Какие есть варианты программного извлечения данных с веб-страницы?
  • Плюсы и минусы каждого подхода?
  • Как использовать облачные ресурсы для увеличения степени автоматизации?

Статья поможет получить ответы на эти вопросы.
Читать дальше →
Всего голосов 19: ↑13 и ↓6+7
Комментарии1

Руководство по работе с Redux

Время на прочтение80 мин
Количество просмотров283K
Сегодня Redux — это одно из наиболее интересных явлений мира JavaScript. Он выделяется из сотни библиотек и фреймворков тем, что грамотно решает множество разных вопросов путем введения простой и предсказуемой модели состояний, уклоне на функциональное программирование и неизменяемые данные, предоставления компактного API. Что ещё нужно для счастья? Redux — библиотека очень маленькая, и выучить её API не сложно. Но у многих людей происходит своеобразный разрыв шаблона — небольшое количество компонентов и добровольные ограничения чистых функций и неизменяемых данных могут показаться неоправданным принуждением. Каким именно образом работать в таких условиях?

В этом руководстве мы рассмотрим создание с нуля full-stack приложения с использованием Redux и Immutable-js. Применив подход TDD, пройдём все этапы конструирования Node+Redux бэкенда и React+Redux фронтенда приложения. Помимо этого мы будем использовать такие инструменты, как ES6, Babel, Socket.io, Webpack и Mocha. Набор весьма любопытный, и вы мигом его освоите!
Читать дальше →
Всего голосов 65: ↑59 и ↓6+53
Комментарии51

Нужно ли чистить строки в JavaScript?

Время на прочтение6 мин
Количество просмотров79K
Что? Строки могут быть «грязными»?

Да, могут.

//.....Какой-то код
console.log(typeof str); // string
console.log(str.length); // 15
console.log(str); // "ччччччччччччччч"

Вы думаете, в этом примере строка занимает 30 байт?

А вот и нет! Она занимает 30 мегабайт!
Читать дальше →
Всего голосов 220: ↑219 и ↓1+218
Комментарии224

Microsoft реализовала аналог Synergy (управление несколькими ПК одной мышкой)

Время на прочтение2 мин
Количество просмотров37K
В рамках инициативы Microsoft Garage разработана утилита Mouse without Borders (MWB), которая позволяет управлять четырьмя компьютерами с помощью одной мыши и клавиатуры. Концепция напоминает известную open-source программу Synergy, которая уже обсуждалась на Хабре.

В отличие от Synergy, разработка Microsoft проще в установке и настройке, а также имеет ряд дополнительных возможностей: например, перетаскивание файлов мышкой с одного десктопа на другой, одновременная авторизация на всех компьютерах или PrtScreen с любого экрана. Недостаток по сравнению с Synergy очевиден: MWB работает только на одной платформе Windows, в то время как Synergy поддерживает Linux и Mac.
Читать дальше →
Всего голосов 56: ↑46 и ↓10+36
Комментарии43

Инфографика: Куда потратят госбюджет?

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


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

Читать дальше →
Всего голосов 116: ↑105 и ↓11+94
Комментарии86

Пробуем открыть свое дело

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

Пролог


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


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


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


Пробуем открыть свое дело. Часть 2

Много буковок...
Всего голосов 91: ↑78 и ↓13+65
Комментарии112

Bitstorm: самый простой битторрентовый трекер в мире

Время на прочтение2 мин
Количество просмотров3.4K
Всегда хотели быть админом трекера BitTorrent, но никогда не могли, потому что недоставало технических знаний? Тогда настал ваш счастивый день. При помощи Bitstorm кто угодно может настроить битторрентовый трекер буквально за несколько секунд, так как для Bitstorm нужен только хостинг, поддерживающий PHP. Просто загрузите единственный файл на вебсервер — и получите собственный действующий трекер BitTorrent.

Для начала давайте признаемся: запустить и поддерживать надёжный трекер с десятками тысяч пиров — это не каждому по плечу. Для этого надобны и навыки, и знания, чтобы всё действовало без сучка и задоринки. Кроме того, крупным трекерам (таким, как PublicBitTorrent) нужен гигабитный канал, а он есть не у всякого.

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

Пользуясь услугами какого угодно хостинга, поддерживающего PHP, запустить трекер можно быстрее, чем прочесть предыдущие два абзаца. Bitstorm раздаётся по лицензии GPL, состоит из единственного PHP-файла с немногими строками кода. Просто закачайте его к себе на сервер — и вот он, новорождённый трекер.

Разработчик, Питер Каприоли, разъяснил, что к созданию Bitstorm его подтолкнула неудача в поиске простого и безчепухового битторрентового трекера.

«Некоторое время тому назад мне надо было раздать пару крупных файлов паре десятков людей. Я предпочитал протокол BitTorrent — он и быстрый, и мне не понадобилось бы загружать все эти файлы по двадцать раз. Поэтому я начал искать трекер, чтобы установить его к себе на сервер».

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

Читать дальше →
Всего голосов 63: ↑58 и ↓5+53
Комментарии40

LDAP. Настройка отказоустойчивого LDAP сервера

Время на прочтение12 мин
Количество просмотров209K
The Internet Engineering Task Force (IETF)В этой статье я расскажу вам о сервере службы каталогов 389 Directory Server (он же Fedora Directory Server, он же Redhat Directory Server). Так уж повелось, что для доступа к серверу каталогов используется протокол LDAP. Если вы не работали с LDAP, я очень рекомендую ознакомиться со статьями в Wikipedia (тут про cлужбу каталогов, а тут про протокол LDAP).

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

Казалось бы, вполне логичен вопрос: а почему именно LDAP? Что мешает хранить учетные записи в MySQL или PostgreSQL? Ответ очевиден — ничего =)

Но над любой RDBMS служба каталогов обладает целым рядом преимуществ:

  • Это стандарт. Многие приложения поддерживают аутентификацию/авторизацию через LDAP;
  • Данные хранятся как иерархическое дерево, что позволяет делать эффективные операции поиска, выделив нужную часть дерева;
  • Число операций чтения в тысячи раз превышают число операций записи, в связи с этим появляется огромное число плюсов: нет необходимости применения транзакций и rollback'ов, репликация работает без проблем, которые присущи RDBMS;
  • Приложение должно видеть одну и ту же информацию на всех серверах службы каталогов, если сервер не хранит информацию, нужную клиентскому приложению, он может сам запросить ее у другого сервера или перенаправить само приложение к другому серверу;
  • Из-за описанных выше свойств службы каталогов, этот сервис отлично масштабируется горизонтально.


Выбор сервера службы каталогов пал на 389 Directory Server. История этого LDAP сервера тесно связана с компанией Netscape (если интересно, почитать историю можно тут).

Читать дальше →
Всего голосов 68: ↑60 и ↓8+52
Комментарии44

Теперь любой может заплатить вам по своей карте Visa или MasterCard

Время на прочтение1 мин
Количество просмотров3.4K
image
Ни для кого не секрет, что есть такая замечательная система Payoneer. Для тех, кто не знает, скажу: замечательна она тем, что вы можете заказать выпуск дебетовой карты Payoneer PrePaid MasterCard, получать деньги на неё (фрилансерство на зарубежных сайтах, электронная коммерция и др.) от ваших клиентов и снимать в любом банкомате, который работает с MasterCard. Теперь любой человек может перевести вам деньги на вашу карту со своей карты Visa или MasterCard! Как это сделать, читайте дальше!
Читать дальше →
Всего голосов 105: ↑92 и ↓13+79
Комментарии135

Закрепление табов

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

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

Лично у меня всегда есть несколько сайтов, которые открыты практически всегда — а места они занимают столько же, сколько и «временные табы», так что функция закрепления принесла много пользы!

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

Хорошего вечера!
UPD: Как это сделать? Нужно кликнуть правой кнопкой мыши по табу и выбрать пункт«Pin»

UPD2: От slik'a: можно перенести там в верхний левый угол и он закрепится
Всего голосов 119: ↑102.5 и ↓16.5+86
Комментарии96

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность