Как стать автором
Обновить
0
0
Андрей @endorphin

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

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

Всё, что нужно знать о выравнивании во Flexbox

Время на прочтение7 мин
Количество просмотров50K
Об авторе: Рэйчел Эндрю — не только главный редактор журнала Smashing Magazine, но и веб-разработчик, писатель и спикер. Она автор ряда книг, в том числе The New CSS Layout, один из разработчиков системы управления контентом Perch. Пишет о бизнесе и технологиях на своём сайте rachelandrew.co.uk.

Краткое содержание: в этой статье мы рассмотрим свойства выравнивания во Flexbox и некоторые основные правила, как работает выравнивание по основной и поперечной осям.

В первой статье этого цикла я рассказала, что происходит при объявлении свойства display: flex для элемента. Сейчас рассмотрим свойства выравнивания и как они работают с Flexbox. Если вы когда-либо приходили в замешательство, применить align или justify, надеюсь, эта статья многое прояснит!

История выравнивания во Flexbox


За всю историю CSS правильное выравнивание по обеим осям казалось самой сложной проблемой. Появление этой функции во Flexbox для многих стало главным преимуществом этой технологии. Выравнивание свелось к двум строчкам CSS.
Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии3

Как я возил робота, чуть не поседел и залил кровью серверную

Время на прочтение13 мин
Количество просмотров211K
Это история одного из самых запомнившихся случаев в моей инженерной практике. По понятным причинам я поменял имена, места и некоторые узнаваемые детали, чтобы нельзя было точно определить заказчика и других участников истории.


Вот так выглядит ленточное хранилище (наше было поменьше) и библиотечный робот (наш такой же). Китаец в комплект не входит.

Часть 1. Коробка


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

Коробка меня, безусловно, беспокоила, но не меньшее беспокойство мне внушал пакет с сухим молоком, который в последний момент мне вручил менеджер проекта. «У них там какие-то траблы с молочкой сейчас… из-за непогоды что ли… ребята местные просили 2 кг им привезти. Тебе ж не сложно?» — сказал он. По выражению его лица и характерному жесту ладони, как бы прикрывавшей мне рот, было ясно, как он сейчас хотел, чтобы я оказался сговорчивым или даже немым.
Читать дальше →
Всего голосов 505: ↑496 и ↓9+487
Комментарии135

Научитесь создавать собственные команды bash менее чем за 4 минуты

Время на прочтение4 мин
Количество просмотров23K
В этой статье я научу вас создавать собственные псевдонимы команд bash, а также как одновременно запускать несколько команд с помощью одной команды bash.

TL;DR В первой части описывается, почему псевдонимы — это так важно, сколько времени они экономят и т.д., но, если вы просто хотите узнать, как создать собственные псевдонимы, то перейдите к шагу 1.


Читать дальше →
Всего голосов 37: ↑21 и ↓16+5
Комментарии29

27 отличных open source-инструментов для веб-разработки

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


Перевод 27 Amazing Web Development Tools for the Past Year (v.2018)

В 2017-м мы сравнили около 7 500 open source-инструментов для веб-разработки, из которых выбрали 27 лучших (0,4%). Это крайне конкурентный список, в который вошли инструменты, библиотеки и проекты, опубликованные в течение 2017-го. Mybridge AI оценивает их качество на основании популярности, заинтересованности и новизне. Чтобы было понятно, у выбранных продуктов среднее количество звёзд на Github — 5260.

Open source-инструменты могут почти даром повысить вашу продуктивность. Также вы можете чему-то научиться, читая исходный код и создавая что-нибудь на основе этих проектов. Так что рекомендуем уделить время и поэкспериментировать с инструментами из нашей подборки, возможно, какие-то из них прошли мимо вас.
Читать дальше →
Всего голосов 70: ↑55 и ↓15+40
Комментарии10

Делаем адаптивный HTML, добавляя одну строку в CSS

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

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

И самое классное: адаптивность будет добавлена с помощью одной строки CSS.
Это означает, что нам не нужно загромождать HTML лишними классами (Col-sm-4, col-md-8) или создавать медиа-запросы для каждого размера экрана.

Рассмотрим все подробнее.
Читать дальше →
Всего голосов 67: ↑66 и ↓1+65
Комментарии103

Объясняем современный JavaScript динозавру

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


Если вы не изучали JavaScript с самого начала, то осваивать его современную версию сложно. Экосистема быстро растёт и меняется, так что трудно разобраться с проблемами, для решения которых придуманы разные инструменты. Я начал программировать в 1998-м, но начал понимать JavaScript только в 2014-м. Помню, как просматривал Browserify и смотрел на его слоган:


Browserify позволяет делать require («модули») в браузере, объединяя все ваши зависимости


Я не понял ни слова из предложения и стал разбираться, как это может помочь мне как разработчику.


Цель статьи — рассказать о контексте, в котором инструменты в JavaScript развивались вплоть до 2017-го. Начнём с самого начала и будем делать сайт, как это делали бы динозавры — безо всяких инструментов, на чистом HTML и JavaScript. Постепенно станем вводить разные инструменты, поочерёдно рассматривая решаемые ими проблемы. Благодаря историческому контексту вы сможете адаптироваться к постоянно меняющемуся ландшафту JavaScript и понять его.

Всего голосов 174: ↑171 и ↓3+168
Комментарии505

Деловая переписка на английском языке: фразы и советы

Время на прочтение18 мин
Количество просмотров617K
Елена Соловьева, менеджер проектов в компании Лаборатория Касперского, специально для блога Нетологии поделилась советами о том, как вести деловую переписку с иностранными коллегами и партнерами на английском языке. Статья участвует в конкурсе.

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

Задача становится сложнее, если вы общаетесь на неродном английском языке с представителями других культур. В статье я поделюсь, на что в этом случае обратить внимание, как избежать ошибок и достичь взаимопонимания с иностранными коллегами и партнерами.
Читать дальше →
Всего голосов 104: ↑100 и ↓4+96
Комментарии80

Телеком «секонд хенд»

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

Чем привлекательная барахолка? В первую очередь возможностью купить необходимую вещь в несколько раз дешевле аналогичной новой. В условиях финансового кризиса возможность сэкономить выходит на первый план. Однако на ум сразу же приходит поговорка “Скупой платит дважды”. Оно и верно. Риск приобрести вещь, которая не прослужит долго, слишком велик, однако никаких гарантий на вторичном рынке, к сожалению, не дают.

Все вышеперечисленные страхи и надежды можно отнести к компаниям, строящим или совершенствующим свою IT-инфраструктуру и вынужденным обратить свой взор на оборудование, которое уже было в употреблении.
Читать дальше →
Всего голосов 28: ↑26 и ↓2+24
Комментарии43

Часть 3. Где хранить данные децентрализованным приложениям на блокчейне?

Время на прочтение8 мин
Количество просмотров15K
В первой части статьи мы обнаружили проблемы с хранением данных приложений в блокчейне. Во второй части мы описали требования к хранилищу данных и рассмотрели, насколько существующие реализации отвечают этим требованиям. Результаты были неутешительные — удовлетворительной реализации не нашлось. В данной части мы предложим концепцию децентрализованного хранилища данных, которое удовлетворяет поставленным требованиям. Разумеется, для более глубокого понимания сути происходящего рекомендуется просмотреть две предыдущие части.
Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии2

Одна из уязвимостей технологии WPS

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

Для начала рассмотрим что такое WPS


Большинство современных роутеров поддерживают механизм WPS (Wi-Fi Protected Setup). С его помощью пользователь за считанные секунды может настроить безопасную беспроводную сеть, вообще не забивая себе голову тем, что «где-то еще нужно включить шифрование и прописать WPA-ключ.

WPS позволяет клиенту подключиться к точке доступа по 8-символьному коду, состоящему из цифр (PIN). Однако из-за ошибки в стандарте нужно угадать лишь 4 из них. Таким образом, достаточно всего-навсего 10000 попыток подбора и вне зависимости от сложности пароля для доступа к беспроводной сети вы автоматически получаете этот доступ, а с ним в придачу — и этот самый пароль как он есть.

Учитывая, что это взаимодействие происходит до любых проверок безопасности, в секунду можно отправлять по 10-50 запросов на вход через WPS, и через 3-15 часов (иногда больше, иногда меньше) вы получите ключи.

Когда данная уязвимость была раскрыта производители стали внедрять ограничение на число попыток входа (rate limit), после превышения которого точка доступа автоматически на какое-то время отключает WPS — однако до сих пор таких устройств не больше половины от уже выпущенных без этой защиты. Даже больше — временное отключение кардинально ничего не меняет, так как при одной попытке входа в минуту нам понадобится всего 10000/60/24 = 6,94 дней. А PIN обычно отыскивается раньше, чем проходится весь цикл.
Читать дальше →
Всего голосов 18: ↑11 и ↓7+4
Комментарии16

Бравый справочник css-свойств для новичка

Время на прочтение1 мин
Количество просмотров28K
Как новички изучают css-свойства? Они читают про все свойства, которые только есть, что-то запоминают, в основном только width, height и background, а потом постоянно рыщут по своим конспектам и гуглу, пытаются вспомнить какое свойство за что отвечает, как оно пишется и какие у него есть значения.

И тут мне пришла в голову идея. А что если сделать такую штуку, которая наглядно показывает как пишутся и работают все css-свойства? Причем, все это на одной странице.

Таким образом, за два вечера создался вот такой css-помощник: lesson-web.ru/modules/css_helper
Читать дальше →
Всего голосов 29: ↑22 и ↓7+15
Комментарии17

Подборка подкастов по программированию на русском и английском языках

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

Подкасты представляют собой звуковые файлы, которые можно слушать в любое время на вашем компьютере или другом устройстве (IPod, IPad, смартфон и т.д.). Это самый портативный способ потреблять контент и узнавать что-то новое. Популярность подкастов росла на протяжении многих лет и теперь они охватывают очень широкий круг вопросов.

И да, есть много интересных и популярных подкастов для разработчиков и программистов. Подкасты невероятно полезны, они будут держать вас в курсе всего что происходит в интересующей вас сфере, а также помогут вам развить более широкий взгляд на постоянно развивающуюся область информационных технологий.
Читать дальше →
Всего голосов 74: ↑71 и ↓3+68
Комментарии63

Как думать на SQL?

Время на прочтение8 мин
Количество просмотров616K
Надо “SELECT * WHERE a=b FROM c” или “SELECT WHERE a=b FROM c ON *” ?

Если вы похожи на меня, то согласитесь: SQL — это одна из тех штук, которые на первый взгляд кажутся легкими (читается как будто по-английски!), но почему-то приходится гуглить каждый простой запрос, чтобы найти правильный синтаксис.


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


SELECT members.firstname || ' ' || members.lastname
AS "Full Name"
FROM borrowings
INNER JOIN members
ON members.memberid=borrowings.memberid
INNER JOIN books
ON books.bookid=borrowings.bookid
WHERE borrowings.bookid IN (SELECT bookid
  FROM books
  WHERE stock>(SELECT avg(stock)
    FROM books))
GROUP BY members.firstname, members.lastname;

Буэ! Такое спугнет любого новичка, или даже разработчика среднего уровня, если он видит SQL впервые. Но не все так плохо.


Легко запомнить то, что интуитивно понятно, и с помощью этого руководства я надеюсь снизить порог входа в SQL для новичков, а уже опытным предложить по-новому взглянуть на SQL.

Читать дальше →
Всего голосов 54: ↑48 и ↓6+42
Комментарии166

Давайте уже разберемся в DNS

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

image
Внимательный читатель найдет на этой картинке IPv6


Люди часто озадачены доменами. Почему мой сайт не работает? Почему эта хрень поломана, ничего не помогает, я просто хочу, чтобы это работало! Обычно, вопрошающий или не знает про DNS, или не понимает фундаментальных идей. Для многих DNS — страшная и непонятная штука. Эта статья — попытка развеять такой страх. DNS — это просто, если понять несколько базовых концепций.


Что такое DNS


DNS расшифровывается как Domain Name System. Это глобальное распределенное хранилище ключей и значений. Сервера по всему миру могут предоставить вам значение по ключу, а если им неизвестен ключ, то они попросят помощи у другого сервера.


Вот и все. Правда. Вы или ваш браузер запрашивает значение для ключа www.example.com, и получает в ответ 1.2.3.4.

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

А если найду? Перелет еще дешевле чем вы уже нашли

Время на прочтение3 мин
Количество просмотров123K
Если вы планируете поездку и уже нашли недорогой перелет, не спешите покупать билеты, потому что сейчас вы найдете билеты еще дешевле. И это не реклама очередного говноагрегатора.

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

Читать дальше →
Всего голосов 123: ↑99 и ↓24+75
Комментарии299

Безопасность сетевой инфраструктуры. Расширенные методы взлома и защиты. Видео

Время на прочтение1 мин
Количество просмотров64K
Мы решили продолжить нашу традицию публиковать записи наших предыдущих вебинаров для всех желающих с целью повышения уровня осведомленности в ИБ.
Программа курса:

Первое занятие — «Инструментарий пентестера»
Это занятие представляет из себя небольшой обзор истории появления и развития дистрибутива BackTrack и превращением его в Kali Linux.


Читать дальше →
Всего голосов 29: ↑26 и ↓3+23
Комментарии6

Как я экспериментировал с микрокредитами по WebMoney

Время на прочтение1 мин
Количество просмотров11K
Два года назад я за пару часов сделал микрокредитный сервис krotKred.ru (сейчас не работает).
Запускал не для прибыли, а для статистики. Живых таких сервисов на тот момент было штук семь.
Естественно, реализовано это было с помощью WebMoney, потому что только они дают такой большой выбор способов проверки заёмщика и у них есть так называемые долговые кошельки.

image
Читать дальше →
Всего голосов 108: ↑87 и ↓21+66
Комментарии73

Pinpoint — проект для которого и целого мира мало

Время на прочтение4 мин
Количество просмотров1.9K
PinpointУже более полугода, как я попал! Крепко попал в команду единомышленников. Это время упорной и вполне успешной работы в команде Pinpoint (http://pin.pn). Необычный и своеобразный стартап, глазами непосредственного участника продуктивного безобразия. Сразу признаюсь, во избежание излишнего флуда, в том, что видео ниже и картинки не мои. Чтобы не заморачиваться с граббингом, я разжился разными скринами у нашего идеолога с его разрешения (они ему чем-то не угодили).



Под катом кратко факты о проекте и немного лирики от меня лично.
Читать дальше →
Всего голосов 48: ↑31 и ↓17+14
Комментарии60

Анализ очередного варианта скрытого радмина

Время на прочтение4 мин
Количество просмотров31K
Сегодня на форуме в личку прошло сообщение с просьбой проверить файл. Я согласился, любопытно же. Немного опережу события и скажу, что это бэкдор созданный из радмина второй ветки и кое-что еще)
Полученный файл: kak_ponyat_muzhchin_bibl.ru.exe (md5:2138A224BDDD1A36329F398A37E10AB9)
Хэш суммы я буду указывать только для вредоносных файлов.
В общем по описанию — это какая-то книга, почему в exe — непонятно, глядим далее.
Воспользуемся PEiD:

UPX 0.89.6 — 1.02 / 1.05 — 2.90 (Delphi) stub -> Markus & Laszlo [RAR SFX]
Попробуем распаковать винраром, получим два файла:
Читать дальше →
Всего голосов 89: ↑78 и ↓11+67
Комментарии76

«Выглядит похоже». Как работает перцептивный хэш

Время на прочтение6 мин
Количество просмотров123K
За последние несколько месяцев несколько человек спросили меня, как работает TinEye и как в принципе работает поиск похожих картинок.

По правде говоря, я не знаю, как работает поисковик TinEye. Он не раскрывает деталей используемого алгоритма(-ов). Но глядя на поисковую выдачу, я могу сделать вывод о работе какой-то формы перцептивного хэш-алгоритма.
Читать дальше →
Всего голосов 149: ↑145 и ↓4+141
Комментарии46

Информация

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