Pull to refresh
52
0
Леонид Святов @Svyatov

Веб-разработчик

Send message

Кладезь полезной информации

Reading time1 min
Views2.8K
«Чем больше я знаю, тем больше понимаю, что ничего не знаю».

Даже если вы уже давно не чайник и не боитесь увеличить относительный уровень своего незнания — попробуйте проделать на своей машине:
sudo apt-get install fortunes-ubuntu-server
а потом просто вызывайте
/usr/bin/ubuntu-server-tip

Многократный мысленный оргазм гарантирован.
Вот просто некоторые примеры:
  • Для создания копии файла без дублирования пути файла используйте команду '$
    cp /long/path/to/file/name{,.orig}', которая создаст копию файла с суффиксом ".orig".
  • Если вы выполнили команду и забыли про 'sudo', вы можете набрать 'sudo !!'
    для вторичного запуска предыдущей команды с использованием 'sudo'.
  • Последующие команды обычно принимают аналогичный аргумент. 'Alt-.' вставляет
    последний аргумент предыдущей команды. Чтение документации рулит!

Приятного чтения!

Этап подготовки проекта в теории

Reading time12 min
Views55K
В данной статье рассмотрены теоретические основы важнейшего этапа в управлении проектами – именно его подготовки. Это должно быть интересно как новичкам в таком непростом деле, как менеджмент проектов, так и начинающим стартаперам, и возможно, опытным менеджерам.

Что же такое проект?
Читать дальше →

Облачные вычисления, краткий обзор или статья для начальника

Reading time11 min
Views100K
В своей работе очень часто сталкиваюсь с тем, приходится делать краткие обзоры ИТ технологий для начальника, коллег и др. Данная информация обычно оформляется в статью и отвечает на следующие вопросы:
— почему «это» лучше чем «то» (специально написал обезличено, так как такой вопрос задают очень часто и на различные тематики связанные с ИТ и не только);
— в чем достоинства и недостатки при переходе на «то» или «это»;
— как лучше сделать чтобы … и др.

Проблема в том, что написание краткой статьи по «этому» или «тому» неизбежно, хотя объяснить намного быстрее, чем набирать текст, но надо текст и с этим ничего не поделаешь, а так жалко времени, которое бесценно и убегает с каждой секундой. Я думаю, что я не один сталкиваюсь с такой проблемой, поэтому предлагаю начать раздел под названием – «Начальнику в помощь» в котором будем публиковать статьи подобного рода (тем более, что они и так будут написаны вами), тем самым сэкономим время и поможем друг другу. В один прекрасный момент и к вам обратятся с таким вопросом, и возможно, кто-то уже написал ответ на этом вопрос и будет легче написать статью или просто скинуть ссылку на уже написанную, сэкономив драгоценное время.

Итак приступим. Вопрос с которым ко мне обратились был следующим. «Почему облачные вычисления лучше, чем классическая схема построения сетевой инфраструктуры, какова основная причина того, многие организации „перебираются в облака“?». Далее мои мысли по этому поводу.
Читать дальше →

Рекомендации по доступности страниц для людей с ограниченными возможностями

Reading time4 min
Views5.9K
Многие слышали о рекомендациях WAI-WCAG (Web Accessibility Initiative Web Content Accessibility Guidelines), призванных в частности помочь пользователям с ограниченными возможностями (например с дефектами или отсутствием зрения).

Но, зачастую, он игнорируется или отправляется как backlog task в долгий ящик. Это кажется лишним, не востребованным, да и в принципе, что слепой будет делать у меня на сайте?

Braille

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

В моем же случае — это требование заказчика. Согласно Section 508 если я хочу продать продукт любому федеральному органу США – я должен поддерживать этот стандарт.

Многие скажут, что вряд ли собираются что-то продавать правительству США, но в России такой стандарт тоже есть (ГОСТ Р 52872–2007) и никто не гарантирует, что завтра он вас/нас не коснется.

Следует также отметить, что если вы уже следуете принципам корректной разметки (согласно w3c) и оптимизации для поисковых систем, то кардинальных изменений от вас не потребуется.

Всё же приведу ряд рекомендаций которые покрывают значительную часть элементов разметки. Их можно взять на заметку и смело использовать при следующей верстке.
Читать дальше →

Графематический модуль. Выделение предложений

Reading time2 min
Views5.4K
Выделение предложений из сплошного текста – процедура необходимая для дальнейшего анализа текста в любой системе анализа естественных языков.

Что такое предложение?


Первый ответ на этот вопрос – это что-то, заканчивающееся на символы «.», «!», или «?». Но если рассмотреть встречающиеся тексты более внимательно, то можно обнаружить, что «.» используется не только для определения конца предложения, но и для аббревиатур и сокращений, а иногда выполняет обе эти роли. Вне зависимости от этого точка в 90% случаев является индикатором конца предложения (Riley 1989).
Читать дальше →

Основные положения тестирования

Reading time9 min
Views146K
Области применения, цели и задачи тестирования ПО разнообразны, поэтому тестирование оценивается и объясняется по-разному. Иногда и самим тестировщикам бывает сложно объяснить, что такое тестирование ПО 'as is'. Возникает путаница.

Для распутывания этой путаницы Алексей Баранцев (практик, тренер и консалтер в тестировании ПО; выходец из Института системного программирования Российской академии наук) предваряет свои тренинги по тестированию вводным видео про основные положения тестирования.

Мне кажется, что в этом докладе лектор смог наиболее адекватно и взвешенно объяснить «что такое тестирование» с точки зрения ученого и программиста. Странно, что этот текст еще не появлялся на хабре.

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

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

От песка до процессора

Reading time9 min
Views397K
Сложно в это поверить, но современный процессор является самым сложным готовым продуктом на Земле – а ведь, казалось бы, чего сложного в этом куске железа?

image

Как и обещал – подробный рассказ о том, как делают процессоры… начиная с песка. Все, что вы хотели знать, но боялись спросить )

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

База всех населенных пунктов и регионов России

Reading time2 min
Views7.5K
Мне для одного проекта понадобилось создать базу географических наименований России. Из всех источников подобной информации наиболее авторитетными мне показались 2:

Последняя показалась мне более простой, полной и менее избыточной, хотя наименований населенных пунктов там в четыре раза больше. Я выбрал ОКАТО, поскольку нашел хотя бы какое-то описание базы на википедии, а в почтовых индексах присутствовала совсем непонятная информация. В этой базе предстояло отсеять ненужные административные единицы от требуемых мне географических.
Читать дальше →

Список полезных инструментов для php разработчика

Reading time10 min
Views150K
PHP один из самых широко используемых языков для создания вебсайтов. PHP фреймворки, такие как Zend, CakePHP, CodeIgniter и т.д и open source классы и библиотеки упростили разработку.
Независимо от того, являетесь ли вы опытным разработчиком или новичком, инструменты, которые вы используете, имеют прямое влияние на вашу продуктивность. Здесь собран список действительно полезных утилит и расширений для PHP разработчиков, которые помогут ускорить разработку, и улучшит итоговое качество кода.
Читать дальше →

Майкл Махемофф: «Вы не можете учиться, только читая или слушая»

Reading time8 min
Views1.4K
Майкл Махемофф — авcтралиец, закончил Мельбурнский университет, сейчас работает в лондонском офисе Гугл. По словам Майка, его дальние предки были родом из России и Польши, но родители появились на свет уже в Австралии. На недавнем GDD Майкл произвел яркое впечатление. Харизматичный и эмоциональный, он выделялся даже на фоне традиционно сильных спикеров гугловской команды. Особенно это было заметно на хакатонах, где он был самым заинтересованным и активным участником из десятка присутствовавших гуглеров. Как мне кажется, Майкл Махемофф — одна из восходящих звезд нового поколения Google inc.
Интервью записано чешским блоггером Мартином Хассманом уже после GDDru
elgephest координатор Kyiv GTUG Center (за помощь в украинском переводе спасибо @MsCentaurea)

Майкл Махемофф работает в Google в качестве Chrome Developer Advocate. Он уже много лет пишет для Ajaxian, а также в 2006 году написал книгу Ajax Design Patterns, которая вышла в издательстве O'Reilly. Он автор таких полезных инструментов как ListOfTweets.com, а также забавного проекта IE6IsOlderThanYourGrandpa.com. Он ведет блог на Softwareas.com и активен в твиттере под ником @ mahemoff.

image
Майкл Махемов на JSConf2010
Ты уже пять лет пишешь для Ajaxian, т.е. ты внимательно следишь за развитием в этой сфере. Какие, по твоему мнению, самые важные изменения в JavaScript и AJAX произошли за последние пять лет?
Произошло много изменений, как в нашем понимании JavaScript, которые постепенно совершенствовались, появились, например, библиотеки и такие инструменты как jQuery и Firebug, существенно упростившие жизнь разработчиков. Еще одним преимуществом стало
Читать дальше →

Алгоритмы организации тэгов

Reading time3 min
Views27K
Тэги – неотъемлемая часть всех современных сайтов и косвенный признак принадлежности сайта к пресловутому Вэб-Два-Ноль.

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

Практические советы тем, кто хочет построить веб-сообщество ч.2

Reading time4 min
Views1.4K
В виду того, что к моему предыдущему посту набралось больше положительных отзывов, чем отрицательных, а также я получил много писем с вопросами в личку (и даже ВКонтакте, аське и на самом автотуристе были отзывы), решил продолжить свою писанину про то, как я делал свой проект, с чем сталкивался на пути реализации и, собственно, давать советы.

Глава 4. Куда сеем? В контент!

Многие спросили, как я набрал первоначальную массу пользователей, после набора которой сообщество, собственно, как-то задышало. Было дело так: когда я на одном из бесплатных LiveStreet'овском (CMS моего проекта) дизайне только-только открыл проект, сразу же встал вопрос о привлечении на него аудитории. Но на что придёт аудитория, не на голое же место?

image

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

Проверяем Creative Commons на ГК РФ

Reading time3 min
Views11K
Например, вы написали роман. Интересный. Он попал в руки к издателю, который хочет заработать на вашем произведении денег. В этом случае необходимо заключить договор. Дело это непростое, необходимо рассмотреть и согласовать все тонкости. Процесс утверждения может длиться очень долго, но потом окажется, что что-то забыто и не указано, и в итоге роман издается, но вы даже автором не числитесь.

Понимаю, что ситуация гиперболична. Смысл в том, что зачем изобретать велосипед, когда давно уже все придумано. Постаралась для авторов некоммерческая организация Creative Commons (далее – СС), которая выступает за расширение творческих работ, доступных другим для распространения и использования их в качестве основы другими произведениями. CC выпустила 6 лицензий по авторскому праву, которые можно брать готовенькие и использовать в качестве лицензионного договора. Компании, которые пользуются данными лицензиями, и другие новости CC есть в их блоге.

Creative Commons Attribution − это одна из шести основных лицензий, представленных некоммерческой организацией CC. Данная лицензия предоставляет наибольшую свободу по использованию лицензиатом произведения. Она подходит для авторов, которые не хотят денег за свой труд, а жаждут соблюдения правил использования их произведений всеми желающими − указание автора, передача дальше по той же лицензии и т.п.

Возможно ли использование данной лицензии российскими правообладателями? Для ответа на этот вопрос необходимо понять, соответствуют ли положения этой лицензии законодательству РФ.
Читать дальше →

Как заработать на мобильных приложениях

Reading time4 min
Views38K
Под катом мы хотим поделиться своим опытом продажи мобильных приложений начиная с 2007 года и по сей день. iTunes, Win mobile и Android market. В основе лежит забавная история, как курсовая из 2000 года принесла нам $3000 и контракт со Смешариками.
image
Всё началось осенью 2007 года. Наша компания была Microsoft Certified Partner и хотела развиваться в этом направлении. Было решено получить сертификат MGCP (Microsoft Gold Certified Partner), так как он давал нам ряд преимуществ, начиная с экономии на ПО и заканчивая повышением статуса компании.
Читать дальше →

Настройка и оптимизация MySQL сервера

Reading time9 min
Views317K
В этой статье будут описаны различные настройки MySQL, преимущественно те, которые влияют на производительность. Для удобства все переменные разделены по разделам (базовые настройки, ограничения, настройки потоки, кэширование запросов, тайминги, буферы, InnoDB). Сначала уточним имена некоторых переменных, которые изменились в версии 4 MySQL, а в сети продолжают встречаться и старые и новые варианты имен, что вызывает вопросы.
Читать дальше →

Важные аспекты RESTful API для вашего проекта

Reading time6 min
Views35K
Данная статья давно назревала в моей голове, но совсем в ином формате.
Прочитав последние несколько неуклюжих статей на тему WEB-сервисов (например: http://habrahabr.ru/blogs/development/108973/) и применения в них REST технологии, решил что настало время все-таки откинуть лень, выделить время и написать «переформатированную» в своей голове статью.
Итак, кратко, что Вы найдете в статье и кому она будет полезна:

новичкам, которые интересуются или планируют написать WEB-сервис для проекта
профи вряд ли найдут что-то новое для себя
— общая идеология REST
— применение CRUD в WEB-сервисах
— принципы KISS при построении раутеров
— лучшие практики
— немного пиара ;)
— ссылки, литература
Читать дальше →

Эвристические алгоритмы формирования портфеля инвестиций

Reading time10 min
Views12K
Предположим, что у нас есть 100 млн. долларов, которые нужно вложить в несколько возможных инвестиций. Каждое из этих вложений имеет различную стоимость и различный ожидаемый доход. Мы должны решить, как потратить деньги, чтобы получить максимальную прибыль.
Задачи такого типа называются задачами формирования портфеля. У нас есть несколько позиций (инвестиций), которые должны поместиться в портфель фиксированного размера (100 млн. долларов). Каждая позиция имеет свою прибыльность. Необходимо найти набор позиций, которые помещаются в портфель и дают максимальную прибыль.
Многие из вас скажут, что никакие эвристики тут не нужны, и что вполне можно обойтись полным перебором. Другие заявят, что и полный перебор не нужен, ведь существует метод ветвей и границ. Но как быть, если количество возможных инвестиций 65? Полное дерево решений содержит более 7*10^19 узлов. Предположим, что метод ветвей и границ перебирает десятую часть процента этих узлов, а компьютер проверяет миллион узлов в секунду. В этих условиях для решения задачи потребовалось бы более 2 млн. лет. Именно для таких сложных задач и используются эвристики. Если вам интересно, милости прошу под кат.
Читать дальше →

Инструментарий веб-разработчика под мобильные устройства

Reading time2 min
Views11K
С каждым днем количество веб-сайтов и сервисов под мобильные платформы становится все больше и больше. Я уже как то писал про эмуляторы, а сейчас хочу представить несколько полезных инструментов, начиная от самых простых, показывающих как будет сайт выглядеть на том или ином устройстве, заканчивая различными оптимизаторами контента.
Читать дальше →

Нерекурсивная выборка всего дерева Adjacency List

Reading time4 min
Views4.1K
Вообще, чем мне не нравится Adjacency List, так это рекурсией, особенно, когда нужно выбрать дерево, без каких либо ограничений, например:
  • Все дерево комментариев;
  • Карта сайта;
  • Навигационное меню;
  • и т.д.;
Предлагаемые решения формирования массива дерева с помощью указателей, конечно, позволяют избавиться от лишних запросов к базе, но увы не исключают рекурсию, пусть по массиву, но все же. А у нас…
Читать дальше →

Асинхронная синхронность. JSDeferred

Reading time4 min
Views6.8K
В последнее время на хабре появилось несколько статей про работу с асинхронными вызовами (После всех асинхронных вызовов, Синхронизация асинхронных вызовов. WaitSync). Но при ближайшем рассмотрении область их применения довольно узка так как эти способы не решают всех проблем.
Но для начала попробуем определить эти самые проблемы, с которыми мы сталкиваемся при работе с асинхронными вызовами.
Читать дальше →

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity

Specialization

Fullstack Developer, Web Developer
Lead
Git
PostgreSQL
Docker
Redis
Ruby on Rails
Ruby
Nginx
Linux
SQL
English