Search
Write a publication
Pull to refresh
0
Александр @asxread⁠-⁠only

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

Send message

Как подружить Surface Pro 3 и Linux

Reading time8 min
Views47K
Наверно многие, кто пользовался ноутбуком, хоть раз думали о том, что несмотря на свою портативность, у ноутбуков эта характеристика оставляет желать лучшего — в одной руке не удержишь, в экран не потыкать, шрифты на низком разрешении вблизи режут глаза. Все это типично для большинства ноутбуков. С другой стороны, существуют планшеты, которые частично лишены этих недостатков, но взамен мы теряем клавиатуру, процессор обычно не позволяет ставить сторонние ОС, да и производительность так себе. Линейка Surface Pro, как мне казалось, может стать хорошим компромиссом в данном вопросе.

Сам по себе Surface Pro 3 (SP3) очень интересен. В нем исправлено много недостатков предыдущих поколений, таких, как продолжительность работы от батареи, размеры экрана и разрешение. А процессор Intel Core i3/i5/i7 практически полностью развязывает руки, давая возможность установить полноценный GNU/Linux. Не раздумывая, я начал искать пути его заполучить, и вскоре после начала продаж он оказался у меня.

В данной статье я бы хотел поделиться опытом установки Debian на SP3, а так же возникшими трудностями и их преодолением. Если вам интересно, что у меня из этого вышло — прошу под кат.
Читать дальше →

SQL инъекции. Проверка, взлом, защита

Reading time4 min
Views341K
SQL инъекция — это один из самых доступных способов взлома сайта.
Суть таких инъекций – внедрение в данные (передаваемые через GET, POST запросы или значения Cookie) произвольного SQL кода. Если сайт уязвим и выполняет такие инъекции, то по сути есть возможность творить с БД (чаще всего это MySQL) что угодно.

Как вычислить уязвимость, позволяющую внедрять SQL инъекции?


Довольно легко. Например, есть тестовый сайт test.ru. На сайте выводится список новостей, с возможностью детального просомтра. Адрес страницы с детальным описанием новости выглядит так: test.ru/?detail=1. Т.е через GET запрос переменная detail передаёт значение 1 (которое является идентификатором записи в табице новостей).
Читать дальше →

Нефункциональные требования к программному обеспечению. Часть 1

Reading time10 min
Views365K

Введение


Разрабатывая новую информационную систему или внедряя уже существующую, вы неизбежно сталкиваетесь с необходимостью определить нефункциональные требования к вашей системе.

В этой статье я расскажу о следующем:
  • какими бывают нефункциональные требования,
  • как определять нефункциональные требования,
  • откуда берутся численные значения для нефункциональных требований.

итак, все о НФТ

Как улучшить свой стиль программирования?

Reading time6 min
Views139K

Исповедь 1


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

Весь мой опыт программирования складывается из университетских работ и пары лет пребывания в различных компаниях. Критикующие меня люди неоднократно говорили мне, что в целом я разбираюсь в теме, так что я далеко не клинический случай, как можно было подумать. Однако, очевидно, я выработал совсем не те программистские привычки (как минимум, на взгляд работодателя) и мне нужно срочно изменить их. Везде, где бы я ни работал, мои решения, использующие иерархии мелких классов с делегированием поведения, признавались плохими. Говорят, будто так и надо писать, но это не так. Потому что всё это «как надо» может стоить мне работы.
Читать дальше →

CSScomb 3.0: красивый код одной командой

Reading time5 min
Views49K
На этой неделе вышла новая версия CSScomb — инструмента, который делает CSS-код красивым. О том, как «расчёску» используют в Яндексе, недавно писал Beyondtheclouds. Я же расскажу, что нового появилось в третьей версии и что делать, если базовой функциональности не хватает. Например, как написать свой плагин или даже постпроцессор.
Читать дальше →

Методы Макдональдса не работают, что делать?

Reading time4 min
Views107K

Введение


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


Почему методы Макдональдса не работают?

Удаленное тестирование. Советы бывалого фрилансера

Reading time21 min
Views171K


Всем привет, меня зовут Алексей Петров. Я работаю в Mail.Ru Group директором по качеству в бизнес-юните «Почта и Портал». Сегодня я расскажу о такой интересной и привлекательной во всех отношениях деятельности, как фриланс в тестировании. Как таковым тестированием я начал заниматься в 2005 году. Я любил играть в компьютерные игры и параллельно их тестировал. Я был фанатом «Tony Hawk — American Wasteland», и когда игра попала ко мне за 1,5 месяца до официального мирового релиза, и я мог ее пройти, я был счастлив. После пятидесятого прохождения, когда мне дали диск с релизом, я его сжег, честно. Настолько мне это осточертело! Я до сих пор могу сказать, в какой миссии и какой квест нужно выполнить, все хинты и так далее.
Читать дальше →

Pebble My Data. «Хочешь сделать хорошо — сделай это сам!»

Reading time4 min
Views6.5K
Одна из основных функций умных часов — отображение важной информации на экране, важной именно владельцу часов, а не разработчику приложения. Очень долго я искал приложение для часов Pebble, которому можно указать, какую именно информацию показывать на часах. Хотелось видеть на часах состояние моих серверов, данные с погодной станции, пробки в городе. После долгих поисков я осознал, то чего я ищу не существует и это придётся делать самому. Так появилось приложение для умных часов Pebble My Data, которое ходит по ссылке за JSON'ом и показывает данные на экране часов. Возможно, оно может пригодиться не только мне. О том, что такое часы Pebble можно узнать в этом обзоре или в этой статье.
Читать дальше →

Несколько интересностей и полезностей для веб-разработчика #22

Reading time4 min
Views38K
Доброго времени, суток уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Awesome Awesomeness


В прошедшие несколько недель мне регулярно попадались Awesome-* проекты, о которых я упоминал в последних подборках. Началось все с Awesome-PHP, потом появились «живые списки» полезностей для сисадминов и питонистов. Все заметили положительную тенденцию и как по желанию это переросло в целый тренд. Сейчас есть коллекции инструментов для языков Ruby, Go, NodeJS, JavaScript, Java, Scala, Bash и др. Уже даже существуют подобные наборы для целых направлениям в ИТ, к примеру Big Data. Awesome Awesomeness — это живой список живых списков всего самого необходимого для разработчика из той или иной сферы.

Breach — полноценный браузер на JavaScript




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

Вышла третья книга «Простая Наука»

Reading time2 min
Views96K
image

То, что я сейчас вам представлю, мы создавали в течение трех интересных и насыщенных месяцев. Первый месяц ушел на подготовку опытов. А когда у нас в руках оказались все видео- и фотоматериалы, мы приступили к верстке и монтажу. И если говорить лично о моем мнении, то результатом я очень доволен.
Читать дальше →

ANC9 — эволюция наушников с активным шумоподавлением

Reading time17 min
Views81K
В этот понедельник мы в блоге BoxOverview мы поговорим о наушниках с активной системой шумоподавления — Audio-Technica ATH-ANC9
Мой коллега frag1k уже писал про младшие наушники этой серии — ANC7, а я расскажу о старшей версии — ANC9.

image

Содержание


  1. Внешность
  2. Внутренность
  3. Характеристики
  4. Что такое децибелы
  5. Максимальная громкость
  6. Как устроено ухо
  7. Личные впечатления
  8. Плюсы и минусы
  9. Время работы

Под катом традиционный ликбез по физике, медицине, биологии, geek-porn, ну и обзор наушников, не без этого.
Читать дальше →

История провала интернет-магазина

Reading time7 min
Views165K
Обычно, изучая чужую деятельность, встречаешь только истории успеха. Однако зачастую большую пользу можно получить, изучая, почему та или иная задумка провалилась. На Хабре периодически встречаются подобные истории, и это говорит в пользу Хабра как мегаполезного ресурса, ну и в пользу смелости авторов этих историй.

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

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

Зачем на самом деле используют микроразметку. Обзор от Яндекса

Reading time8 min
Views43K
Мы уже писали о том, как устроен мир семантической разметки и почему стандартов синтаксиса так много. Теперь хотим рассказать, зачем все это нужно. Зачем разработано столько стандартов и где они используются. Почему всем это полезно знать?

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



Поисковые системы стремятся к улучшению выдачи: разрабатывают колдунщики, запускают партнерские программы, собирают «базы знаний». Большая часть этих задач решается с помощью разметки. Сайты могут получить красивый сниппет, передать данные для Яндекс.Островов, а «базы знаний», которые есть почти у всех поисковых систем (Google Knowledge Graph, Bing Satori, Яндекс Entity Search), получают свежие данные.

Facebook был заинтересован в развитии индустрии приложений, поэтому дал разработчикам возможность продвигать свои проекты в социальных сетях и связываться с другими приложениями. Так — тоже с помощью разметки — Open Graph публикует записи приложений в социальных сетях, а Applinks позволяет приложениям легко ссылаться друг на друга. Позже публиковать свои записи стало возможно и в Google+.

Читайте дальше и узнайте подробнее, как перечисленные ниже задачи решаются с помощью семантической разметки в разных продуктах и сервисах:
  • Улучшение выдачи в поисковиках: сниппеты в Яндексе, Google, Bing и Yahoo!
  • Пополнение Баз знаний: Яндекс Entity Search, Google Knowledge Graph, Bing Satori.
  • Другие варианты использования: приложения, глубокие ссылки и почта.
Читать дальше →

Адаптивная верстка с Restive.JS

Reading time4 min
Views20K
Для начала хотел бы вам сказать, что моя специализация — это Backend, но версткой и клиентской частью приходится заниматься постоянно, особенно в своих проектах, которые я делаю в одиночку. Уже давно стало негласным правилом то, что сайт должен быть удобен на всех устройствах, включая всё их разнообразие, особенно в век популяризации мобильного интернета. Благо, CSS3 позволяет это делать при помощи медиа-выражений (media queries). Но есть еще один способ, показавшийся мне более удобным. В зависимости от размера экрана, его ориентации, типа устройства, устанавливать глобальные стили тегу html (можно и другим элементам). А в CSS, отталкиваясь от этих классов, задавать особые стили для разных случаев. Так CSS станет более понятным и мы избавимся от использования медиа-выражений. Для этого нам и понадобится Restive.JS. Так как я человек-практик, да и полное описание лучше читать на сайте плагина, то в статье я ограничусь созданием адаптивной мини-страницы, в процессе которого, надеюсь, станет понятно, для чего всё это необходимо.
Читать дальше →

Печальная история социалочки “Уберлов”

Reading time3 min
Views21K

Немного предыстории, как родился этот проект.



Во всем виноват kashey. Шесть лет назад от него на хабре было несколько статей о гуглокартах. А потом, так вообще, еще и сайт сделал e-sosedi. Смотрел я на это все безобразие, истекал слюной и решил — хочу тоже “что-то с картами” и, конечно, модное в то время, социальное!
Идеи не было, а вот желание было большое, и я начал потихоньку писать и придумывать по вечерам. Все идеи, которые были на поверхности были уже реализованы или появлялись в ближайшее время, точки вайфая, банкоматы, шино-автосервисы…
И делал я абстрактный сервис с картами метаясь от одной идеи к другой. Пока, мне отец не рассказал, как он съездил, в очередной раз на рыбалку. На словах объясниться не удалось, куда он и как попал и пошли смотреть на гуглокарте, как он ехал. Тут я и понял, куда мои абстрактные карты придут.
Читать дальше →

Ловушка CMS

Reading time13 min
Views22K
В конце 2013 года Maxim Chernyak написал замечательную статью в которой подчеркивал исключительную важность поддержки архитектуры приложений настолько простой, насколько это возможно. Удивлен что на хабре до сих пор не было перевода, предлагаю ознакомиться с переводом данной статьи. Также прошу сообщать о всех возможных опечатках и неточностях перевода.

Преамбула

Много лет назад у нас было приложение Ruby on Rails. Все начиналось с объектов. Одни выступали прототипами для других объектов. Другие требовали множество связанных с ними частей, частей этих частей и т.д. Насколько много? Пожалуй, одним прототипам известно. Эти прототипы должны были иметь интерфейс для администрирования, но смена логики работы одного прототипа могла привести к цепной реакции в остальных частях. Любое изменение объектов и их прототипов пролегало через связанную сеть из различных моделей. Сложность интерфейса для администрирования быстро взлетела до небес. Дошло до того момента, когда у прототипов появилась возможность быть сериализованными и сохранять фрагменты своей логики. С этого момента каждая фича становилась предметом очень трудной реализации, и в конечном счете приложение скатилось к состоянию, когда модификация и доработка стали практически невозможны. Было такое чувство, будто CMS навязывала себя в качестве посредника между фичей и ее реализацией, подобно системам с нагромождением высокоуровневых абстракций, ориентированным исключительно на бизнес-логику.

Думаете это была худшая часть проекта? Это был еще только минимально жизнеспособный продукт в новом стартапе.
Читать дальше →

Проектировние интернет-магазина: субституты, комплементы, сравнение и другие инструменты увеличения конверсии

Reading time18 min
Views21K
Новая статья по проектированию интернет-магазинов, на этот раз описана механика ряда блоков, которые увеличивают конверсию. В этой части мы расскажем про субституты, комплементы, сравнение и другие инструменты увеличения конверсии. В прошлый раз мы осветили несколько десятков функциональных блоков магазинов: «Проектирование интернет-магазина: исследования», «Проектирование интернет-магазина: модули интернет-магазина» и «Проектирование интернет-магазина: карточка товара и не только» эта статья логическое продолжение.

image

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

Автоматическое определение подключения\отключения второго монитора

Reading time2 min
Views34K

Всем, доброго времени суток.


По сути, к реализации этой маленькой автоматизации меня сподвигла лень.

Собственно, с чего все началось.


У меня есть ноутбук с установленной gentoo, и i3wm оконным менеджером. Так же есть несколько мониторов(дома, на работе и т д). Разрешения на всех мониторах разные, способы подключения тоже (VGA, HDMI, DVI) разные. Активно, использую первые два.

Раньше, при подключении второго монитора, приходилось вызывать команды, которые инициализировали этот самый монитор. Запуск команды с автоматическим ключом, не всегда давал, желаемого результата(не угадывал разрешение).

xrandr --auto


Потому, приходилось запускать эту же команду, но с набором других ключей, разрешение например.

--mode

И хотя, в xrandr для каждого монитора у меня есть несколько вариантов разрешений, есть одно (максимальное для данного монитора, которое удовлетворяет), но на каждом мониторе оно разное(так как сами мониторы разные).

Потому пришлось искать решение…

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

PHP Zend сертифицирование сегодня

Reading time4 min
Views25K
image
Причины для прохождения PHP Zend сертифицирования могут быть разными: кто-то хочет проверить свои знания, кому-то хочется выделится из огромного числа php разработчиков, а у кого-то это требование на работе. Месяц назад мне удалось успешно пройти сертифицирование, и в этой статье я расскажу как выглядит этот экзамен сегодня, где искать материалы для подготовки, а так же солью немного инфы о реальных вопросах с экзамена.
Читать дальше →

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity