Pull to refresh
205
0
Артемий @enartemy

User

Send message

Три интересные задачи на знание SQL — Решения

Reading time9 min
Views35K
В недавнем своем топике я приводил три на мой взгляд интересные задачи по MySQL с желанием посмотреть на возможные решения хабралюдьми. Как я и обещал, я привожу свои решения этих задач. Для того, чтоб текст был интересным и познавательным я решил детально разжевать что зачем и как. Итак…

Читать дальше →
Total votes 23: ↑18 and ↓5+13
Comments15

Три интересные задачи на знание SQL

Reading time4 min
Views30K
image

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

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

Читать дальше →
Total votes 62: ↑43 and ↓19+24
Comments82

Нулевое столетие

Reading time1 min
Views708
Пара строчек из документации к PostgreSQL (секция 9.9.1. EXTRACT, date_part):

The first century starts at 0001-01-01 00:00:00 AD, although they did not know it at the time. This definition applies to all Gregorian calendar countries. There is no century number 0, you go from -1 to 1. If you disagree with this, please write your complaint to: Pope, Cathedral Saint-Peter of Roma, Vatican.

Дословный перевод:
Первое столетие начинается в 0001-01-01 00:00:00 нашей эры, хотя тогда еще это не было известно. Это определение относится ко всем странам Григорианского календаря. Нет никакого нулевого столетия, следом за -1-ым идет сразу 1-ое. Если вы не согласны с этим, пожалуйста напишите свою жалобу на следующий адрес: Папа Римский, Собор Святого Петра, Ватикан.


С одной стороны заставило улыбнуться, с другой — интересный факт. Это один из немногих случаев, когда естественный порядок нумерации нарушен.
Total votes 30: ↑27 and ↓3+24
Comments28

Небольшая разминка мозгов (или quine на php)

Reading time1 min
Views3.1K
Встерил тут я на каком-то сайте интересную задачку, а именно:

Написать php-скрипт, который бы выводил собственный код.
Условия:
— Использовать функции чтения файла и потока нельзя.
— Код должен быть выведен от и до, включая символы <?php… ?>
— Код должен быть как можно короче.


Честно говоря, сначала я впал в ступор, но после получаса времени пришел к такому результату
(перенос строки убрать, поставлен чтоб на баннер не наезжало).

<?$a='<?$a="%s";printf(str_replace(chr(34),chr(39),$a),$a);?>';
printf(str_replace(chr(34),chr(39),$a),$a);?>



Но что-то мне подсказывает что сеё далеко не единственное решение. Поэтому просто интересно мнение сообщества — кто-нибудь может предложить еще решения? Включая всевозможные хаки, (halt_compiler разные) и др.
Total votes 14: ↑11 and ↓3+8
Comments8

Безопасная загрузка изображений на сервер. Часть вторая

Reading time7 min
Views28K
Это вторая часть перевода. Начинать прочтение лучше с первой.

Итак, после применения описанных в первой части методов, мы можем прекратить волноваться? К сожалению, нет. То, какие расширения файла будут переданы транслятору PHP, будет зависеть от конфигурации сервера. Разработчик часто не знает и не контролирует конфигурацию веб-сервера. Мы видели веб-серверы, с такой конфигурацией, что файлы .html и .js выполнялись как php. Некоторые веб-приложения могут потребовать, чтобы файлы .gif или .jpeg интерпретировались PHP (это часто случается, когда изображения, например графы и диаграммы, динамически строятся на сервере самим PHP).

Даже если мы знаем точно, какие расширения файла интерпретируются PHP, у нас нет никакой гарантии, что это не изменится в будущем, когда другие приложения будут установлены на сервер. К тому времени можно забыть, что безопасность нашего сервера зависит от этих изменений.
Читать дальше →
Total votes 63: ↑59 and ↓4+55
Comments31

Безопасная загрузка изображений на сервер. Часть первая

Reading time10 min
Views138K
В данной статье демонстрируются основные уязвимости веб-приложений по загрузке файлов на сервер и способы их избежать. В статье приведены самые азы, в врят-ли она будет интересна профессионалам. Но тем неменее — это должен знать каждый PHP-разработчик.

Различные веб-приложения позволяют пользователям загружать файлы. Форумы позволяют пользователям загружать «аватары». Фотогалереи позволяют загружать фотографии. Социальные сети предоставляют возможности по загрузке изображений, видео, и т.д. Блоги позволяют загружать опять же аватарки и/или изображения.

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

Проводимые тесты показали, что многие веб-приложения имеют множество проблем с безопасностью. Эти «дыры» предоставляют злоумышленникам обширные возможности совершать несанкционированные действия, начиная с просмотра любого файла на сервере и закачивания выполнением произвольного кода. Эта статья рассказывает об основных «дырах» безопасности и способах их избежать.
Читать дальше →
Total votes 77: ↑69 and ↓8+61
Comments57

Графические фильтры на основе матрицы скручивания

Reading time6 min
Views43K
UPD: Заголовок изменен, что бы более соответствовать теме статьи

В статье пойдет речь об использовании convolution matrix (матрицы скручивания или матрицы свертки), с помощью которой можно создавать и накладывать на изображения фильтры, такие как blur, sharpen и многие другие.

Cтатья будет интересна не только веб-программистам, но и всем кто так или иначе занимается программной обработкой изображений, поскольку функции для работы с матрицей скручивания имеются во многих языках (точно известно о php и flash). Так же, статья будет интересна дизайнерам, использующим Adobe Photoshop, поскольку в нем имеется соответствующий фильтр (Filter-Other-Custom).

Примеры будут на языке PHP с использованием библиотеки GD. Теория, практика, примеры (осторожно, много картинок!)

под катом
Total votes 100: ↑98 and ↓2+96
Comments37

Пишем на картинках

Reading time7 min
Views14K
В течение последнего времени что-то часто стали мелькать статьи про обработку изображений на php. Скругленные края уже были, тени были, мокрый пол был, еще куча всего было.

А вот надписей вроде еще не было. Значит будут. :-)

Представляю вашему вниманию не большой, но в тоже время достаточно богатый возможностями класс (на основе GD) написания текста на картинках TrueType-шрифтами.
Код и пример под катом
Total votes 104: ↑88 and ↓16+72
Comments36

Браузерное оружие

Reading time2 min
Views1.9K
Сразу после рождественских выходных Билл Гейтс молча вошел в кабинет совещаний корпорации Microsoft и сел на своё место.
— Господа, — проговорил основатель Microsoft, — наша разведка доложила, что Google разрабатывает свой браузер. Это очень плохая новость. Скоро мы потеряем наши преимущества в браузерных технологиях, которые и так безнадежно устарели. Даже несмотря на седьмую версию эксплорера. Какие будут предложения?
Воцарилось молчание. Судя по всему, все присутствующие на совещании, не знали что сказать.
— Более того, — продолжил Билл Гейтс, нарушая тишину, — мы продолжаем подвергаться атакам этих красных террористов – Firefox и Opera. Они все еще слабы, но численность их пользователей увеличивается. Причем Google им в этом активно помогает. Наш Internet Explorer храбро сражается, но без достаточной поддержки его дни сочтены.
Читать дальше →
Total votes 161: ↑123 and ↓38+85
Comments82

Почему iPhone 3G провалился в России

Reading time1 min
Views3.8K
Стив Джобс сидел в своем кабинете и раскладывал на своем компе пасьянс «Паук». Он уже почти закончил, когда в его кабинет без стука вбежал взмыленный директор по маркетингу:
— Стив! Я понял причину провала iPhone в России!
Читать дальше →
Total votes 492: ↑414 and ↓78+336
Comments170

Про Стива Джобса и свежие решения

Reading time2 min
Views940
Как-то ранним утром Стив Джобс пришел на работу и тут же вызвал к себе директора по маркетингу.
— Ну чего там, с нашим айФоном? — спросил Джобс вытаскивая из кармана свою Нокию и кладя её на стол. — Как идут дела?
— Да так себе. Не очень успешно. Говорил же, надо было нормальный GPS сделать.
— Ладно. Я вот о чем подумал… — Стив Джобс расположился в кресле и положил ноги на стол. — Давненько мы мощных компьютеров не выпускали. С этими Эйрами и Фонами забыли про важный сегмент рынка. Надо сделать очень мощную графическую станцию. 8 гигабайт оперативы как минимум. А то скоро все дизайнеры на PC сбегут.
— Хорошая мысль… – маркетолог задумался. – А как назовем?
Читать дальше →
Total votes 270: ↑206 and ↓64+142
Comments65

Обрати свой взор сюда, коль вздумал ты писать на Хабре!

Reading time3 min
Views821
Наверно стоило это опубликовать в разделе «Юмор», но поскольку все-таки тут есть некоторые рациональные мысли, оставлю как есть.

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

Что же получилось через сутки:

Далее анализ опроса и небольшой бонус
Total votes 195: ↑152 and ↓43+109
Comments96

Маркетинговые ходы разработчиков CMS

Reading time3 min
Views1.7K
— Наше подсолнечное масло не содержит холестерина!
— Разумеется, ни одно подсолнечное масло не содержит холестерина.


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

Как известно, залог успешного бизнеса – это маркетинг и реклама. Рассказать о преимуществах, недостатки представить как преимущества, а которые не получилось – скрыть. С системами управления контентом точно такая же история. Битрикс и UMI считаются лидерами рынка не потому, что у них действительно хорошие продукты, а потому что у них действительно хорошие маркетологи. В действительности, все CMS по своей сущности мало чем отличаются – они предоставляют совершенно одинаковые возможности, одинаковым образом. Но продукт надо как-то выделить среди остальных, надо что-то написать в разделе «Преимущества системы». Вот и придумывают достоинства, которых не существует или которые вообще не являются достоинствами. Далее о наиболее распространенных из них.
Читать дальше →
Total votes 153: ↑121 and ↓32+89
Comments110

Пара идей о дальнейшем развитии микросайтинга

Reading time1 min
Views599
Я задумался над тем, как реально микросайтинг можно внедрить в жизнь и что на основе него можно сделать. Уточню: речь идет о следующих основых приемах:

1. Можно отобразить картинку, которая находится на другом сайте
2. Можно поставить ссылку на другой сайт, который после загрузки перекинет тебя обратно
3. Данные пользователя на основе сессии

Вот какие у меня радились мысли для стартапов, которые реально могут быть интересными:

Читать дальше →
Total votes 3: ↑3 and ↓0+3
Comments8

Микроапплеты

Reading time1 min
Views546
В своей прошлой статье — Микрохостинг микросайтов увжаемый ainu сказал:

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

Чтож, сказано — сделано. :-)

Представляю вашему вниманию следующий виток микросайтинга — микроапплеты.

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

И в качестве примера такого приложения я сделал реализацию всем вам хорошо известной игры — Сапер.

В комментарии!
Total votes 75: ↑65 and ↓10+55
Comments50

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

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

В статье я хочу рассказать об способах и алгоритмах тегирования информации.
Читать дальше →
Total votes 42: ↑39 and ↓3+36
Comments48

Кто ты, о %username%?

Reading time1 min
Views645
Навеяно комментарием ur001 в топике Return to innocence:

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

На самом деле, а почему бы просто в зависимости от характеристик пользователя таких как карма, сила, количество написаных топиков и комментариев, хабраналета и других не давать небольшую словесную характеристику хаброчеловеку?

Читать дальше →
Total votes 115: ↑71 and ↓44+27
Comments52
1

Information

Rating
Does not participate
Location
Казань, Татарстан, Россия
Date of birth
Registered
Activity