Обновить
1
0
Александр@Funcraft

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

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

Selenium: работаем с элементами страницы, используя @FindBy и PageFactory

Время на прочтение4 мин
Охват и читатели106K
В этой статье будет рассмотрена возможность использования аннотации @FindBy для поиска элементов на странице, а так же создание своих классов для работы с элементами и контейнерами вроде форм, таблиц и т.д.
Читать дальше →

Коллизии в 512-битных блоках MD5

Время на прочтение2 мин
Охват и читатели22K
Голландский исследователь Марк Стивенс (Marc Stevens) обнародовал подробности успешной атаки на MD5 (PDF) и выложил программу на C++ для поиска коллизий в пределах одного 512-битного блока данных.
Читать дальше →

Проектирование алгоритмов поисковых систем — путь к успеху проектирования сайтов и оптимизации

Время на прочтение4 мин
Охват и читатели3K

Вступление


Самый простой способ разработки методик продвижения и развития сайта в конкретных ПС – это разработка собственной ПС.
Я не говорю о реализации сложных алгоритмов, нам нужны абстрагированные решения. Можно просто представить упрощенную модель алгоритма и работать с ней. При этом важно постараться получить все сопутствующие параметры. Например, примерное время на реализацию, нагрузку на сервера и время работы алгоритмов. Измерив эти параметры, можно получить множество дополнительной информации и использовать ее в своих целях.
Читать дальше →

Python, scipy.weave и openMP — разгоняем код

Время на прочтение3 мин
Охват и читатели14K
Здравствуйте %username%, данная статья посвящена проблеме увеличения скорости математических вычислений на основе языка python с использованием scipy.weave и openMP.
Далее

JavaScript. Оптимизация: опыт, проверенный временем

Время на прочтение10 мин
Охват и читатели43K

Предисловие


Давно хотел написать. Мысли есть, желание есть, времени нету… Но вот нашлось, так что привет, Хабра.
Здесь я собрал все идеи, которые помогали и помогают в разработке веб-приложений. Для удобства я разбил их на группы:
  1. Память
  2. Оптимизация операций
  3. Выделение критических участков
  4. Циклы и объектные свойства
  5. Немножко о DOM
  6. DocumentFragment как промежуточный буфер
  7. О преобразованиях в объекты
  8. Разбитие кода
  9. События перетаскивания
  10. Другие советы

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

Память

Хоть это и не должно волновать клиентского программиста, но не забываем, что память всё-таки не бесконечна и когда-нибудь может закончиться, например, когда запущено несколько массивных программ: офис, графический редактор, компиляция большой программы и др. Несмотря на то, что приведенный пример тривиален, у меня действительно такое случилось, хоть и не из-за браузера, но он тоже сыграл свою роль: 1,3 Гб оперативы (отладчик, около 30 вкладок), начались тормоза по перегрузке страниц ОП в файл подкачки.
Чтобы уменьшить расход памяти, я предлагаю несколько способов:
Читать дальше →

ЛитТайм.ру – лента книжных новинок

Время на прочтение3 мин
Охват и читатели928
Здравствуйте, друзья. Вроде бы стоит взять пафосную ноту и рассказать о своем мега-проекте, но не получается. Я хочу просто рассказать вам о своем проекте, которым занимался почти 3 года (историю оставлю на потом). Точнее о его первой готовой ступени – ленте выходящих в разных издательствах книг. Пишу потому, что уже кому-то из вас она уже может оказаться полезной. Итак, LitTime.ru

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

Аутентификация в OpenVPN c помощью Рутокен ЭЦП

Время на прочтение4 мин
Охват и читатели35K
image
OpenVPN — кроссплатформенное, гибкое и удобное решение для организации VPN. Для допуска в виртуальную сеть, построенную на базе OpenVPN, клиент должен авторизоваться. В OpenVPN это можно сделать 3 способами:
  • по логину и паролю
  • по ключу и сертификату в файлах
  • по ключу и сертификату на «борту» криптографического USB-токена или смарт-карты
Последний способ является наиболее безопасным. В топике будет описана авторизация в OpenVPN с помощью криптографического USB-токена Рутокен ЭЦП. Рутокен ЭЦП надежно защищен PIN-кодом от несанкционированного доступа и блокируется при исчерпании попыток ввода PIN-кода, поэтому злоумышленник не попадет в VPN даже в случае кражи токена. Кроме того, в Рутокен ЭЦП аппаратно реализованы алгоритмы ГОСТ и RSA, поэтому аутентификация производится «на борту» токена. Благодаря этому закрытый ключ никогда не покидает токен и его невозможно украсть из оперативной памяти компьютера с помощью троянов.

В топике будет показано, как развернуть тестовый VPN, а также корпоративный УЦ на базе open source приложения XCA. С помощью УЦ будет создан ключ и сертификат сервера OpenVPN и произведена инициализация токена клиента. Затем настроим клиент OpenVPN таким образом, чтобы пользователь мог авторизоваться в OpenVPN с помощью Рутокен ЭЦП.
Читать дальше →

Где хранить пользовательские настройки

Время на прочтение2 мин
Охват и читатели3.1K
Когда-то, во времена Вседозволенности и Хаоса программы хранили настройки пользователей где-придётся. Многие держали одну копию настроек на всю систему. Со временем все ОС обзавелись нормальными профилями пользователей, начали ограничивать доступ к системным папкам и всех программистов стали с яслей учить хранить настройки пользователя в папке (ветке) его профиля. Казалось бы, на том и сказочке конце. Но нет. Есть случаи, когда этот подход не работает. Я продемонстрирую это на примере ошибки (именно архитектурной ошибки, а не банального бага в следствии опечатки) в одном из приложений Google.
Читать дальше →

Использование vkontakte js api для полуавтоматической публикации сообщений из rss лент

Время на прочтение4 мин
Охват и читатели24K

Введение


Данный пост я решил написать после прочтения Автоматическое оповещение читателей о новостях с помощью ВКонтакте. Часть 4, и решить в нем проблему с «access token», путем использования iframe приложений и js api.
После прочтения данной статьи, любой желающий сможет ходить по воде, ловить пули зубами создать iframe приложение, которое умеет публиковать записи на стене группы или пользователя из rss ленты.

Код и буквы

Когда нужен RVM, а когда достаточно rbenv

Время на прочтение2 мин
Охват и читатели17K
В данной статье я не буду вдаваться в подробности работы RVM и rbenv. Информации по данным штуковинам хватает на просторах интернета. Здесь же я хочу попытаться раскрыть вопрос: когда стоит использовать rbenv, а когда нет?

Цель


Для этого давайте для начала разберемся для чего же создавался RVM, а для чего rbenv. Для этого достаточно взглянуть на возможности обоих систем.
Читать дальше →

Доступ к буферу обмена операционной системы из веб-приложения

Время на прочтение5 мин
Охват и читатели25K
Возможно, вам понадобится использование буфера обмена операционной системы прямо со страницы веб-приложения в браузере. Немного изучив информацию можно обнаружить, что сделать это напрямую со страницы HTML средствами javascript невозможно в связи с политикой безопасности, конкретно, запись в него может быть использована в нехороших целях злоумышленниками. Обходных путей несколько, о них можно найти много ссылок и примеров.
Читать дальше →

Смена изображений

Время на прочтение4 мин
Охват и читатели6K
Как то раз на просторах интернета наткнулся на одну замечательную галерею — адрес забыл, но идея ее осталась в памяти. И вот на один из сайтов понадобилась какая то нестандартная смена картинок (затухание и сьезжание уже приелись) И вот я вспомнил про нее.



Суть в чем? Чтобы изображение открывалось по частям (квадратам, полосам итп.) при чем не просто появлялось а чтоб все это было напичкано эффектами.

Ну чтож, приступим.
Читать дальше →

50 советов для разработки безупречного дизайна iOS приложения

Время на прочтение12 мин
Охват и читатели58K
Привожу перевод статьи Ника Карсона. В статье собраны вместе, как мне кажется, основные правила построения интерфейса для iOS приложений.

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

2. Ориентируйтесь на устройство при создании приложений: учтите не только размер экрана, но и где и когда устройство используется. Больше всего iPad используется для развлечений между 8-11 часами вечера, перед сном, тогда как iPhone — в очереди на автобус или в кофейне. Учтите различные сценарии использования при разработке приложений – включая и то, как далеко устройство расположено от лица пользователя.

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

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

5. При адаптации приложения к экранам различных размеров, помните, что при значительном его изменении – например, от iPhone к iPad – способ использования устройства также изменится. Если размеры ограничены, используйте основные функции приложения, при их увеличении – можно включить любые дополнительные функции, которые не вошли в более сжатую версию, так как у вас появляется возможность обыграть дополнительное пространство.

За остальными 45-ю — добро пожаловать подкат.
Читать дальше →

Демонстрация дизайна — как преподнести работу так, чтобы она вызвала аппетит

Время на прочтение4 мин
Охват и читатели32K
Меня просто бесит, когда менеджер проекта отправляет макет дизайна — письмом, с припиской «Вот, нарисовали. Смотрите. Ждем ваших замечаний». Убил бы.

Такой менеджер, по сути, ломает весь кайф. Он похож на официанта, который, вместо того, чтобы эффектно сорвать крышку с серебряного блюда и устроить обещанное fire-шоу, бесцеремонно грохает поднос на скатерть и бросает рядом спички. Типа, дальше сами разбирайтесь. А в глазах у него читается недвусмысленное: «Штоп вы подавились».


— Это возмутительно! И вот почему:


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

CSS3 с погружением

Время на прочтение7 мин
Охват и читатели37K
CSS3 видели и пробовали все, кого он мог заинтересовать. И закругленные уголки и падающие тени мы уже можем генерировать без лишнего труда.

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

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

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

IT образование в рф: реальность или миф?

Время на прочтение5 мин
Охват и читатели20K
Сегодня фраза ит технологии стала настолько модной и часто употребляемой, что даже президент, который всегда славился консервативностью и будто бы принципиальным нежеланием следить за тем, что происходит в стране, пропагандирует их как основу будущего страны. Ведь, по его словам, без них не будет ни производства, ни хорошего образования и вообще ничего хорошего. Это, конечно, все правильно, но существует и другая сторона медали. А есть ли кому эти технологии внедрять и поддерживать? Кто будет их разрабатывать?

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

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

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

Слайдинг в двух — нет, в четырех направлениях

Время на прочтение4 мин
Охват и читатели4.8K
На Хабре не раз встречались статьи про слайдинг экранов под Android ViewPager, ViewPagerIndicator. Я хочу предложить вариант слайдинга в четырех направлениях.


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

Конструктор по созданию уроков JS, Ruby и Python

Время на прочтение1 мин
Охват и читатели2.6K
Стартап Codecademy уже неоднократно упоминался на Хабре в связи с интерактивными обучающими курсами по JavaScript. К настоящему моменту на сайте пара десятков уроков, это совсем мало, ведь каждый урок можно пройти за несколько минут. В общем, они приняли очевидное решение и выпустили конструктор уроков Course Creator.



Course Creator — инструмент для создания и публикации собственных уроков по программированию. Если раньше уроки писали штатные или приглашённые эксперты (с помощью примерно такого же инструментария), то теперь сделать это может любой желающий. Никакой модерации нет, после создания урока автор сразу получает ссылку, которую может распространять на своё усмотрение, в общем, как на Youtube. Вдобавок к JavaScript, поддерживаются также языки программирования Ruby и Python.

Среди всей массы контента UGC модераторы Codecademy будут выбирать достаточно хорошие уроки для размещения на сайте в главном разделе, так что общее качество контента не пострадает.

Документация по Course Creator

Прокачиваем DropBox аккаунт почтой в зоне .EDU за 15 минут

Время на прочтение2 мин
Охват и читатели94K


Многие из нас имеют аккаунт в сервисе Dropbox, о данном сервисе написано много статей и лайф-хаков, но сегодня я хочу вам показать, как можно заполучить заветный e-mail в зоне .edu за 15 минут.

Интересно? Добро пожаловать под кат.

Топ-10 советов о том, как увеличить скорость загрузки страницы

Время на прочтение8 мин
Охват и читатели235K
Я думаю ни для кого не секрет, что скорость загрузки страницы влияет на множество факторов. Если кто-то не в курсе, то вкратце скажу следующее, что скорость загрузки влияет не только на то, дождется ли посетитель, когда загрузится Ваш сайт, но и на SEO оптимизацию. Ведь на сегодняшний день уже многие поисковые системы при ранжировании сайтов, начали учитывать скорость загрузки страницы. Поэтому чем быстрее будет грузиться Ваш сайт, тем больше посетителей Вы можете получить с поисковых систем, а, следовательно, и больше денег на этом заработать.

Поэтому в этой статья я решил собрать топ-10 советов о том, как же можно увеличить скорость загрузки веб-странички и сайта в целом. Статья не претендует на гениальность и рассчитана на новичков.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Казань, Татарстан, Россия
Дата рождения
Зарегистрирован
Активность