Search
Write a publication
Pull to refresh
39
0
Антон Мельников @antonsnowy

Программист

Send message

Знакомимся с PayPal API

Reading time13 min
Views87K
На данный момент, PayPal — это самая популярная платформа электронных платежей. Именно то, насколько легко можно открыть счет и начать получать на него средства, по сравнению с традиционными способами получения платежей, и является причиной #1 его запредельной популярности. Второй причиной, многие со мной согласятся, является мощный API, предоставляемый PayPal. В этом топике я по порядку разложу все способы и трюки, связанные с работой PayPal API, чтобы вы избежали проблем с его интеграцией.
Читать дальше →

Рекомендации по написанию HTML-кода начинающим web-разработчикам

Reading time2 min
Views4.8K
Очевидные вещи, которые выделил для себя. Хотелось бы, чтоб грамотные люди дополнили этот небольшой список. Цель — сделать код и свой, и других — более красивым, валидным, легко понимаемым и семантически грамотным.

Использование тега <br />

В основном это бывает нужно, для улучшения восприятия текста, точнее для форматирования одного элемента. Поэтому, когда нам нужно разделить несколько элементов или просто, чтоб новый элемент был в новой строчке, нужно использовать блочный элемент (div, p, h1..., у которых по умолчанию css-свойство display:block, но при этом, старайтесь не плодить лишних элементов). И если нужно сделать отступ, не нужно вставлять десять <br>, а нужно описать в css свойство margin.

Использование атрибута style и свойство !important

Это нужно в исключительных случаях, когда место уникальное. Почти всегда нужно использовать css-класс со свойствами вынесенными в css-файл. И даже если вам нужно спрятать элемент (display:none), лучше создать универсальный класс, (например css: .hidden {display:none;}), и писать <span class=”error hidden”>.
В описании класса, если у вас не применяется какое-то свойство, не нужно писать !important, чаще всего достаточно впереди дописать родительский селектор, и желательно — class, а не id.
Читать дальше →

Мгновенный поиск в 75 гигабайтах

Reading time8 min
Views35K
Речь пойдет о том, как был реализован быстрый поиск по большим объемам данных на этой страничке. Там можно искать пароль по хешу, для игрового сервера PvPGN, и генерировать эти же хеши.
Поиск написан на чистом PHP, без использования модулей и сторонней БД. В принципе, таким образом можно наращивать объемы до многих терабайт, было бы место — скорость от этого не сильно пострадает.

Далее от начала до конца описан весь процесс, который включает в себя брутфорс, создание хеш таблицы, её сортировка и, собственно, поиск.


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

Создаём шрифт, имитирующий ваш рукописный почерк

Reading time3 min
Views1.1M
Учащимся старших классов и студентам ВУЗов, зачастую, делая домашнюю работу, приходится выполнять большое количество письменных упражнений. Например, наш преподаватель по обществознанию каждый урок задает нам ДЗ, заключающееся в том, чтобы мы нашли материал в библиотеке или Интернете, и написали его от руки (только за это можно получить оценку «отлично»), даже если найденный материал будет верным, но распечатанный на компьютере, выше четвёрки не жди…

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

Итак, в этой статье я расскажу вам, как сделать шрифт, имитирующий ваш почерк.
Читать дальше →

История одной компьютерной войны

Reading time4 min
Views53K
Данная заметка — сокращенный пересказ почти 10-летнего эпоса о находчивости и предательстве, изобретательности и хитрости, происходящих от человеческой лени. Началось все с того, что на неком айтишном факультете некого университета запустили для контроля знаний учащихся по одному из семестровых курсов систему дистанционного обучения. Дальнейшая борьба представляла из собой пошаговую стратегию с фазами в семестр, причем со стороны студентов каждый раз были новые люди со свежими идеями.

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

Как сделать конкурс так, чтобы в нём участвовало больше 2 человек

Reading time6 min
Views39K
Думаю, почти все тут помнят недавний конкурс за MS-планшет, который призвал к жизни кучу мертворожденных топиков и вызвал некоторое бурление. Это было пример того, как можно сделать популярно, активно, динамично, но не в тему. Проблема в том, что иногда даже так сделать не получается.

Если вы сами проводили конкурсы и всё было ок — не читайте топик. Если где-то ждал облом — добро пожаловать под кат.

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

Кое-что о соглашениях об именах почтовых ящиков

Reading time4 min
Views55K

Заведя для себя «почту для домена» на Яндексе, я решил открыть свободную регистрацию посторонним юзерам почтовых ящиков на своем «модном» домене. Помимо включения функции catch-all, которая направляет всю входящую почту несуществующих ящиков моего домена на мой основной ящик, предо мной встала необходимость зарезервировать за собой все «стандартные» названия ящиков, чтобы не было недоразумений, когда какое-то имя уже забил посторонний, и вся «служебная» почта уходит совсем не вам. В П.Д.Д. можно, конечно, в любой момент экспроприировать любой ящик подконтрольного домена, но ведь осадочек-то остается. Я озадачился: какие же имена почтовых ящиков являются стандартными и системными? Техподдержка Яндекса ответила, что они резервируют для себя только имя postmaster@ на каждом домене, чтобы отслеживать жалобы и проблемы с почтой, и что на данный момент вопрос о наборе резервированных имен у них остается открытым. Далее, результат поиска в интернете оказался немного предсказуем.
Читать дальше →

5 полезных приемов

Reading time3 min
Views7.3K
Эти маленькие куски кода я насобирал за весь свой стаж JavaScript-программирования. Они должны серьезно облегчить жизнь Web-разработчика, и научить решать проблемы проще, не прикручивая тяжеловесные JavaScript-библиотеки. Не спорю, иногда они могут оказаться весьма полезными, но подгружать JQuery для создания таймера — это, по-моему, дикость…

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

Обработка входящей почты на PHP

Reading time2 min
Views38K
Хочу поделиться рецептом, как совместить php-скрипт и почтовый сервер Postfix для автоматической обработки входящей почты.

С помощью такой связки мы собираем статистику по количеству возвратов bounce-писем:Undelivered Mail Returned to Sender.

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

Как это сделать...

Сборник советов и фактов по оптимизации PHP-скриптов

Reading time9 min
Views45K
image Эту статью давно стоило переписать (слишком много «экономии на спичках»), но руки не доходят. Пускай весит и напоминает о том, как мы глупы в молодости.
Одним из основных критериев успешности любого интернет-ресурса является скорость его работы и с каждым годом пользователи становятся всё более и более требовательными по этому критерию. Оптимизация работы php-скиптов — это один из методов обеспечения скорости работы системы.
В этой статье я бы хотел представить на суд общественности свой сборник советов и фактов по оптимизации скриптов. Сборник собирался мною достаточно долго, основан на нескольких источниках и личных экспериментах.
Читать дальше →

Документирование по ГОСТ 34* — это просто

Reading time12 min
Views497K
Сегодня мы поговорим об отечественных стандартах на проектную документацию. Как эти стандарты работают на практике, чем они плохи и чем хороши. При разработке документации для государственных и серьезных частных заказчиков у нас обычно нет выбора — в требования по документированию ТЗ вписано соблюдение стандартов. На практике мне приходилось сталкиваться с различными примерами недопонимания структуры стандартов, того, что должно быть в документах и зачем эти документы нужны. В итоге из-под пера техписателей, аналитиков и специалистов выходят порой такие перлы, что непонятно, в каком состоянии сознания они писались. А ведь на самом деле все достаточно просто. Поиск по Хабру не вернул ссылок на более-менее целостный материал на данную тему, потому предлагаю закрасить этот досадный пробел.
Читать дальше →

Интересные вопросы о программировании

Reading time1 min
Views9.8K
На сайте programmers.stackexchange.com люди задают различного рода вопросы, связанные с программированием и не только. Вот, на мой взгляд, наиболее интересные(ответы, правда, на английском).
Читать дальше →

Статья-размышление про вход на сайт без пароля

Reading time6 min
Views7.4K
На Хабре уже не раз и не два публиковались статьи о необходимости разрешить пользователю войти через Google/Twitter/Facebook и т.д. Собственно говоря, прогрессивное человечество давно решило, что требовать от пользователя придумывать логины и пароли — вчерашний день. В данной статье я хочу обсудить возникающие проблемы и способы их решения.
Читать дальше →

Видео: основатель HH.ru Юрий Вировец лично о рекрутинге, перспективах, инвестициях…

Reading time1 min
Views986
15 июня состоялась встреча с Юрием Вировцом, президентом Группы компаний HeadHunter.
Юрий более 11 лет работает в Рунете и имеет за плечами огромный опыт построения бизнеса и инвестирования.

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

На встрече, посвященной инвестициям, Юрий Вировец осветил следующие темы:
— Как HH получал инвестиции и инвестировал сам;
— На что обращает внимание инвестор при принятии решения
— Какие незначительные, на первый взгляд, ошибки могут сломать бизнес;
— Как презентовать проект максимально привлекательно для инвестора.
— Был рассмотрен конкретный кейс про инвестирование в компанию ITmozg

PS фото с мероприятия можно посмотреть здесь и еще на Flickr

Поговорим о margin, он же маргин( часть 1-я )

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

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

В этой части статьи я напишу о вертикальном маргине. О горизонтальном поговорим в следующей части.
Читать дальше →

Использование макросов в LibreOffice

Reading time4 min
Views88K
Хабравчане, хочу вам представить перевод от юзера rze. Его ещё нет на Хабрахабре, но он не отказался бы от инвайта. Отправить можно на почту mail@worze.org.

АПД: спасибо Mithgol, инвайт получен. :)

Привет, хабражители!
Сегодня я хочу Вам рассказать об использовании макросов в LibreOffice.

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

Opensource engineering или нарисуй плагин к своей машине

Reading time4 min
Views602
В свободное от отдыха время у меня в голове роятся разные технические идеи. Иногда глупые, иногда вполне себе ничего. Довольно увесистая часть из них, спустя год или несколько, находит реализацию в жизни, часто в точности так, как я это себе представлял.
Хочу воспользоваться этим эффектом в «корыстных целях» и рассказать сообществу еще одну такую идею, которую было бы крайне интересно увидеть в жизни.


Есть один хороший способ подарить своему проекту популярность и долгую жизнь — сделать его предметом хобби. Это уже давно и успешно опробовано в индустрии софта: API + SDK + сообщество вольных разработчиков — и вскоре с вашим детищем начинают нянчиться, как со своим, тысячи людей, не жалея на это сил, времени и часто — денег.
Людям мало просто пользоваться — люди хотят творить!
Вам остается исправно продавать, поддерживать и обновлять ядро системы, остальное сделает за вас сообщество.
Еще лучше — открытый исходный код. Но в это углубляться я не стану, ибо статья не о софте, а напротив, о самом что ни на есть «железе».

Кто сказал, что opensource может быть только в софте?

Между тем, в промышленности сегодня всё ровно наоборот.
Каждая гайка старательно патентуется, изделие обвешивается различными и TM, как герой войны медалями, а за внесение модификаций в изделие и даже за простое вскрытие его корпуса производитель лишает вас гарантии и подвергает всяческому остракизму.

А вместо этого можно было бы сделать следующее…

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

Жизненный цикл криптографических хэш-алгоритмов

Reading time2 min
Views3.5K


У каждой технологии есть свой жизненный цикл, не исключением являются и хэш-функции. Программист и писатель Валери Аврора (в прошлом она работала ведущим программистом в Red Hat, сейчас — директор The Ada Initiative и журналист-фрилансер) составила небольшую табличку. Судя по всему, у владельцев веб-сервисов не остаётся другого выхода, кроме как менять хэш-алгоритм каждые пару лет в поисках оптимального соотношения производительности и защищённости (в смысле, защищённости хотя бы на несколько лет вперёд).
Читать дальше →

schema.org — сборник рецептов HTML-разметки для эффективной индексации сайта от Google, Yahoo! и Microsoft

Reading time1 min
Views7.2K
В Сети можно обнаружить массу советов, статей и FAQ для web-маcтеров, которые посвящены теме взаимодействия сайтов и поисковых систем. Поэтому принципиально нового в идее schema.org, конечно, нет. На нем собрано (пока довольно небольшое) число примеров рекомендуемой HTML-разметки и некоторой другой полезной информации, использование которой web-мастерами позволит создавать «правильные» сайты, анализ которых поисковыми системами будет наиболее быстрым и эффективным, что, в свою очередь, позволит пользователям быстрее находить интересующую их информацию.

Более любопытным является то, что создателями сайта являются три крупных игрока IT-рынка, для двух из которых область интернет-поиска является, как минимум, ключевой в их бизнесе. Сайт создан Google, Yahoo! и Microsoft и, признаться, не часто приходиться видеть объединение конкурирующих компаний в деле, которое реально может быть полезным для обычных пользователей сети.

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

Наивный Байесовский классификатор в 25 строк кода

Reading time3 min
Views90K
Наивный Байесовский классификатор один из самых простых из алгоритмов классификации. Тем не менее, очень часто он работает не хуже, а то и лучше более сложных алгоритмов. Здесь я хочу поделиться кодом и описанием того, как это все работает.

И так, для примера возьму задачу определения пола по имени. Конечно, чтобы определить пол можно создать большой список имен с метками пола. Но этот список в любом случае будет неполон. Для того чтобы решить эту проблему, можно «натренировать» модель по маркированным именам.
Если интересует, прошу
под кат

Information

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