Pull to refresh
12
Karma
0
Rating
Александр @NormIridium

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

  • Followers
  • Following 2
  • Posts
  • Comments

Отправка сообщений через API VK средствами PHP для ленивых

PHPAPI
Sandbox
Recovery mode
Что мы будем делать: настроим отправку сообщений от имени конкретного пользователя в несколько чатов и другим пользователям используя HTTP запрос средствами PHP, с минимальными усилиями.

Собственно, одними сообщениями мы не ограничимся. Все будет работать через standalone приложение vk по тому принципу, что мы потенциально сможем делать все действия, которые будут доступны этому самому пользователю (точнее все то, на что мы выдадим сами себе права, но об этом чуть позже).

Сообщения рассматриваем именно по той причине, что с ними можно работать только в standalone-приложениях.

План действий:
1. Создаем приложение
2. Получаем access_token
3. отправляем сообщения
Читать дальше →
Total votes 30: ↑11 and ↓19-8
Views111K
Comments 24

Телефон за 25 баксов от Nokia

GadgetsSmartphones
Давно вы не видели новых телефонов с кнопками? Две SIM-карты, 46 часов прослушивания MP3-музыки или 16 часов просмотра видео, поддержка microSD, FM-радио — все это новый Nokia 130, оснащенный прекрасным 1,8 дюймовым цветным дисплеем. Рекламный ролик — под катом.

В России он в продаже, правда, не появится. АПД: появится в России уже в этом квартале.

image
Читать дальше →
Total votes 49: ↑38 and ↓11+27
Views45K
Comments 69

Незаметные сложности ракетной техники: Часть 5. Стартовые сооружения

Astronautics

Стартовые сооружения — это отдельный интересный аспект космической техники. В самом деле, ракету надо собрать, вывезти на стартовый стол, ещё раз проверить, заправить, посадить экипаж (если пуск пилотируемый) и запустить. И каждая из задач бросает вызов инженерной сообразительности, материаловедению, сопромату и множеству других дисциплин.
Читать дальше →
Total votes 227: ↑223 and ↓4+219
Views97K
Comments 73

CSS-препроцессоры против постпроцессоров

Website developmentCSS
Translation
CSS-препроцессоры прекрасны, они сделали революцию в мире интернет-вёрстки. Создание кросс-браузерного CSS стало гораздо проще, потому что все вендорные префиксы и хаки можно завернуть в примеси, заглушки или что у вас там. До сих пор этого вполне хватало, но так как мы неистово одержимы контролем, хотим большего. Всегда. БОООООЛЬШЕ. Скажи привет CSS-постпроцессорам!

Postprocessing? я запутался!


Это неудивительно, мне кажется “postprocessing” не слишком подходящим словом, но он вполне способно донести саму суть – CSS-препроцессоры (Sass, Less и т.д.) читают и собирают язык расширения в CSS, тогда как постпроцессоры читают и собирают сам CSS. Это ужасно, простите, но если было непонятно, то теперь всё должно встать на свои места.

Уже существует несколько постпроцессоров, например – Autoprefixer, PostCSS и rework.

Зачем использовать постпроцессор?


Что ж, давайте возьмём для примера Autoprefixer, он читает ваш CSS и добавляет вендорные префиксы, используя при этом базу данных Can I Use. Представьте, что вы пишете на Sass и хотите применить правило из CSS3, плохо поддерживаемое без префиксов, так что используете примесь:

@mixin box-sizing($value) {
  -webkit-box-sizing: $value;
     -moz-box-sizing: $value;
          box-sizing: $value;
}
.box {
  @include box-sizing(border-box);
}


Почему Autoprefixer лучше? Потому что можно вот так:

.box {
  box-sizing: border-box;
}
Читать дальше →
Total votes 49: ↑39 and ↓10+29
Views68K
Comments 79

Ресурсы в архиве или как уменьшить количество подгружаемых файлов

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

Очень часто веб-разработчики сталкиваются с проблемой большого количества мелких файлов. Картинки, скрипты, css — неудобно, все дела. Нужно как-то бороться с этим. import, спрайты, блаблабла — это хорошо, но можно попробовать и иначе. Мой вариант — упаковка всех необходимых ресурсов в архив на стороне сервера(реализация — на php), получение данных на клиенте, установка ресурсов в нужных местах.

Проблемы на данный момент: не придумал толком, как кешировать полученный архив, таким способом не стоит паковать динамический контент или большие файлы.
Для распаковки архива на клиенте использована библиотека JSZip, для удобства — jQuery.

Читать дальше →
Total votes 40: ↑19 and ↓21-2
Views6.5K
Comments 38

Эмоции.js

Website developmentJavaScriptjQuery
Sandbox


В статье описывается опыт создания текстового поля с возможностью вставки смайлов, проблемы которые мне встретились и их решения, а так же ссылка на репозиторий с готовым jQuery плагином. Если вам интересно, прошу под кат.
Читать дальше →
Total votes 27: ↑19 and ↓8+11
Views20K
Comments 35

Как найти показатель степени двойки за O(1) с помощью последовательности де Брёйна

Algorithms
Sandbox

Аперитив


Всем, наверное, известно, как посчитать количество бит в числе. Например, подойдут следующие два способа:
while (n)
{
    ++count;
    n &= (n-1);
}

while (n)
{
    if (n&1)
        ++count;
    n >>= 1;
}

Упражнение: какое в среднем количество операций будет выполнено в первой и во второй реализации?

Блюдо


Пусть у нас есть n-битное число вида 2^i. Нам необходимо найти i за O(1).
Как это сделать? Пусть n = 2^k. Построим последовательность де Брёйна (de Bruijn) над алфавитом {0,1} для подстрок длины k.

Что такое последовательность де Брёйна?

Читать дальше →
Total votes 60: ↑52 and ↓8+44
Views27K
Comments 49

Кош на комплексной плоскости

Mathematics
В какой-то из весенних дней этого года я ехал в троллейбусе и листал комикс о Коше. В одном из выпусков была такая фраза «НО! Её можно понять, она же фракталами в горизонт перетекает, я бы тоже замешкался...». После этого я посмотрел в окно и понял, что если мы возьмём два подходящих дробно-линейных преобразования комплексной плоскости a(z) и b(z), и рассмотрим систему итерированных функций для a(z), b(z), a−1(z), b−1(z), взяв в качестве начального множества картинку с Кошем, то Кош будет перетекать фракталами в горизонт!

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

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



Читать дальше →
Total votes 214: ↑206 and ↓8+198
Views63K
Comments 26

Руководство по собеседованию на вакансию PHP-программиста

PHP
Sandbox
Вездесущий… это определённо то слово, которым можно описать язык PHP по отношению к вебу. Он действительно вездесущ. В настоящее время, среди всех серверных языков программирования, PHP используется наиболее широко. На нём написаны более 80% сайтов, при этом следующий по популярности ASP.NET со своими 17% остаётся далеко позади.



Почему? Что позволило PHP стать настолько популярным и широко используемым? На этот вопрос нет однозначного ответа, но простота использования языка, безусловно, существенный фактор, поспособствовавший его успеху. Новички в PHP могут быстро выйти на достаточный уровень и разместить динамический контент на своих веб-сайтах с минимум познаний в программировании.

Именно в этом и заключается основная проблема поиска высококвалифицированных PHP-разработчиков. Относительно низкий порог вхождения и 20 лет развития языка привели к тому, что PHP-программисты стали такими же вездесущими, как и сам PHP. Многие из них могут на законных основания утверждать, что «знают» язык. Однако разработчики, которые действительно являются экспертами по PHP, способны создавать куда более функциональное, надёжное, масштабируемое и простое в сопровождении программное обеспечение.

Как же отличить тех, кто обладает реальной компетентностью в PHP (не говоря уже о тех, кто входит в 1% наиболее опытных кандидатов) от тех, у кого только поверхностные знания?
Читать дальше →
Total votes 96: ↑73 and ↓23+50
Views248K
Comments 107

Модульные комиксы — простой способ увлечь аудиторию

Vector graphics
Sandbox
Борьба за внимание читателя/аудитории набирает обороты. Автор длительное время наблюдает за поведением людей на презентациях (сидя рядом) и слегка шокирован скоростью вхождения большинства индивидуумов в полусонное состояние.

Лекции о визуальном мышлении и разнообразные рецепты улучшения «перевариваемости» информации уже успели набить оскомину. Собственно, почему комиксы?

image

Читать дальше →
Total votes 110: ↑97 and ↓13+84
Views33K
Comments 27

Делаем настольное устройство для изготовления печатных плат в один клик

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

image

Ниже я расскажу о том, как делал этот девайс.
Читать дальше →
Total votes 161: ↑161 and ↓0+161
Views145K
Comments 164

Собеседование на должность JavaScript разработчика

JavaScriptProgramming


Недавно прочитал неплохой пост на тему поиска работы QA и подумал, что похожий пост был бы полезен для JavaScript разработчиков. В конечном счёте, веб движется вперед семимильными шагами, и соискателей на позицию JavaScript программиста хоть отбавляй (разумеется, хороших всегда меньше).
Читать дальше →
Total votes 126: ↑115 and ↓11+104
Views282K
Comments 313

Простой способ передачи табличных данных из PHP в Excel

PHP
Sandbox
К написанию данного топика меня подтолкнула одна заметка о генерации xls в PHP.
Способ, представленный в той заметке действительно очень прост, но не всегда может быть удобен.
Есть множество других способов передать табличные данные из PHP в Excel, я опишу тот, который показался мне наиболее простым и функциональным. Нужно особенно отметить, что что я не говорю о генерации xls файла, а лишь предлагаю пользователю открыть полученные данные при помощи Excel так, что пользователи не искушённые в программировании не заметят подлога.
Читать дальше →
Total votes 45: ↑36 and ↓9+27
Views40K
Comments 38

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

ADV/web-engineering co. corporate blogWebsite development.NET

Привет, Хабр!

В данной статье расскажем, какое применение мы нашли для технологии Excel Services, входящей в состав сервера SharePoint, для построения калькуляторов банковских продуктов.

В 2011 году мы разрабатывали сайт банка ВТБ24, одной из важных задач, которую должен решить новый сайт, было предоставление удобного инструмента для создания и обслуживания калькуляторов и заявок, связанных с продуктами банка. Например, для продукта кредитования «АвтоСтандарт» банк предоставляет пользователю сайта возможность самостоятельно рассчитать с помощью калькулятора сумму выплат и в случае, если все устраивает, можно отправить заявку.
Создаем калькулятор
Total votes 48: ↑30 and ↓18+12
Views20K
Comments 16

Крошечный Excel на чистом JavaScript (30 строк кода)

Website developmentJavaScript
Translation
Особенности:
  • Около 30 строк обычного JavaScript
  • Использованные библиотеки: отсутствуют
  • Синтаксис как в Excel (формулы начинаются с "=")
  • Поддерживаются произвольные выражения(=A1+B2*C3)
  • Обнаруживаются циклические ссылки
  • Автоматическое сохранение в localStorage

image
Читать дальше →
Total votes 238: ↑232 and ↓6+226
Views131K
Comments 98

«Кто я?» — чтение мыслей и никакого мошенничества (посмотрите исходник)

Information SecurityCSSJavaScript
Веб-сайт Who Am I? использует «продвинутые достижения нейробиологии», чтобы определить увлечения любого человека. Для верного анализа достаточно выполнить простую процедуру: в произвольном порядке щёлкнуть по всем красным квадратикам в массиве.



И после этого нажать кнопку “done!”
Как он это делает?
Total votes 199: ↑176 and ↓23+153
Views136K
Comments 83

Как писать парсеры на JavaScript

JavaScriptProgramming
… а именно как писать LL парсеры для не очень сложных структур при помощи конструирования сложного парсера из более простых. Изредка возникает необходимость распарсить что то несложное, скажем некую XML-подобную структуру или какой нибудь data URL, и тогда обычно возникает либо простыня хитрого трудно читаемого кода либо зависимость от какой то ещё более сложной и хитрой библиотеки для парсинга. Здесь я собираюсь совместить несколько известных идей (какие то из них попадались на Хабре) и показать как можно просто и лаконично написать довольно сложные парсеры уложившись при этом в совсем немного строчек кода. Для примера я буду писать парсер XML-подобной структуры. И да, я не буду вставлять сюда картинку для привлечения внимания. В статье вообще картинок нет, поэтому читать будет трудно.

Читать дальше →
Total votes 60: ↑56 and ↓4+52
Views90K
Comments 53

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

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

Intercooler.js


Кто нибудь помнит FullAjax — разработку Руслана Синицкого sirus (нынешний основатель Jelastic)? Вкратце это библиотека для работы с AJAX с помощью объявления определенных атрибутов у элементов, а подробнее об этом написано в постах «Прямые ссылки на AJAX веб-сайтах – наша технология Fullajax Direct Link», «Полный AJAX. Теория и Примеры. Фишки и Фичи» и «Fly AJAX — пишите меньше, имейте больше. Нестандартный AJAX и индексация поисковиками». Вернемся к Intercooler, это нечто похожее:

<div id="targetDiv">Results Div...</div>
<i id="indicator" style="display:none" class="fa fa-spinner fa-spin">
<input id="hiddenInput" type="hidden" name="hidden" value="42"/>

<div ic-trigger-on="click" ic-verb="POST" ic-src="/example" ic-include="#hiddenInput" ic-indicator="#indicator" ic-target="#targetDiv" ic-transition="none">
    Click Me!
</div>

После клика по div, отправляется POST запрос со значением поля с #hiddenInput, а в процессе будет отображаться #indicator. Ответ будет передан в блок #targetDiv. Разве не здорово?

Читать дальше →
Total votes 63: ↑57 and ↓6+51
Views35K
Comments 11

Как я «крутил» поведенческие факторы

Search engines
Sandbox

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

Совсем чуть-чуть о поведенческих факторах
Поведенческие факторы – это совокупность действий посетителей на определенном сайте. Вход на сайт, время пребывания, просмотр страниц, “клики” на предлагаемые ссылки, возвращение на сайт – все эти моменты можно отнести к поведенческим факторам. Источник

Для чего я это пишу? Дело в том, что я являюсь владельцем двух коммерческих сайтов и, естественно, я заинтересован, чтобы они находились как можно выше в поисковой выдаче. И в какой-то момент, начитавшись различных статей, решился на эксперимент. Сразу оговорюсь, что результат был немного печален и я надеюсь, что эта статья послужит предостережением.
Подробнее
Total votes 44: ↑36 and ↓8+28
Views64K
Comments 40

Борьба за трафик. Как вывести сайт из-под спам-фильтра Google (Вторая Часть)

Rusonyx corporate blogSearch engines
Tutorial
Всем привет!

Настало время опубликовать вторую часть статьи — заключительную, с хеппи эндом. Для тех, кто не в теме, в первой части я подробно рассказала о том, как выяснить попал ли ваш сайт под спам-фильтры Google и что с этим делать, если все-таки, фильтры к вашему сайту были применены и трафик с Google упал.





Сегодня я расскажу, что делать дальше, если все этапы первой части успешно выполнены. Напомню, что статья написана исходя из личного опыта вытаскивания нашего сайта rusonyx.ru из-под фильтра Гугл.
Читать дальше →
Total votes 35: ↑28 and ↓7+21
Views17K
Comments 12
1

Information

Rating
Does not participate
Location
Рязань, Рязанская обл., Россия
Date of birth
Registered
Activity