Pull to refresh
21
0

User

Send message

Киоск электронного правительства с пасьянсом и маджонгом

Reading time2 min
Views5.4K
Доброго вечера,
Сегодня я расскажу вам о киосках электронного правительства, которые может выключать любой желающий, который любит тыкать куда не надо или хоть раз пользовался GNOME 2. А еще там есть пасьянс.



Локация


Санкт-Петербург, подземный переход метро Ветеранов, выход на Дачный проспект, переход закрывают решетками в 20:00. Так что, наш подопытный терминал расположен довольно удачно (в плане вандалоустойчивости).

В статье в основном фото ЖК-дисплея с мыльницы, их много, не боящихся испортить глаза прошу под кат.
Читать дальше →
Total votes 152: ↑141 and ↓11+130
Comments178

Генетический алгоритм. Просто о сложном. Рассказ Марка Андреева

Reading time7 min
Views304K

В последнее время все больше «ходят» разговоры про новомодные алгоритмы, такие как нейронные сети и генетический алгоритм. Сегодня я расскажу про генетические алгоритмы, но давайте на этот раз постараемся обойтись без заумных определений и сложных терминах.
Как сказал один из великих ученных: «Если вы не можете объяснить свою теорию своей жене, ваша теория ничего не стоит!» Так давайте попытаемся во всем разобраться по порядку.
Читать дальше →
Total votes 74: ↑55 and ↓19+36
Comments40

Принцип «уверенности» высококачественного веб-дизайна

Reading time10 min
Views21K
Краткий синопсис

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

image

Под катом примерно 1.1 Мб трафика.
Читать дальше →
Total votes 70: ↑58 and ↓12+46
Comments30

Как сделать веб-сервис для конвертации файлов Excel, Word, TXT и других в PDF в режиме «как вижу»

Reading time5 min
Views17K
Откуда пошла дурацкая привычка сохранять счета, бухгалтерские и финансовые документы в формате MS Excel? Зачем хранить и передавать документы, предназначенные для печати в формате электронной таблицы, если есть специальный формат PDF? Однако, во всех бухгалтерских программах документы в первую очередь обязательно экспортируются в MS Excel и уже потом предлагаются альтернативные способы сохранения документов. От сюда и возникла задача: пусть бухгалтер сохраняет свои документы как хочет, но клиент должен получить их в формате PDF и обязательно точно в том образе, который бухгалтер сваял в шаблоне MS Excel.
В качестве бухгалтерской программы мы использовали бесплатную ВС: Бухгалтерию. (По правде сказать из этой программы можно сразу сохранять документы в PDF, но раз сказали excel, значит – excel.)
Бухгалтер выгружает XLS-файл в определенный каталог на диске, откуда мы должны его забрать, перевести в PDF и сохранить в другой каталог. Все это должно быть реализовано в виде веб-сервиса, то есть клиент должен увидеть и иметь возможность скачать свои pdf-документы в «Личном кабинете» на сайте.

Пути решения:

Первое, что захотелось сделать, – это отыскать готовую библиотеку для PHP или Perl и прямо «на лету» конвертировать файлы.
Такие библиотеки для работы с форматом Excel действительно нашлись, например: PHPExcel, PHPExcelReader, Spreadsheet::ParseExcel и др.
Эти библиотеки действительно хорошо работают, но делают именно то, для чего предназначены: выискивают данные в электронной таблице Excel и оперируют с ними.
Нам же нужно совсем иное – получить экселевскую таблицу в виде как для печати, со всеми картинками с печатями и подписями, с форматами шрифтов, и ячеек.

Второй вариант решения — виртуальный принтер. Суть его в том, что мы открываем файл в подходящей программе и отправляем его на печать, но не на настоящий принтер, а – на виртуальный, который вместо бумаги сохранит в файл, сначала в постскрипт формате ps, а потом сделает из него файл PDF.
Поскольку система ко всему еще и должна функционировать как веб-сервис, я выбрал в качестве платформы Linux с Apache. А в качестве программы, которая умеет открывать все файлы MS Office – бесплатный OpenOffice.org 3.4

Итак, что делаем:

Устанавливаем OpenOffice. В руководстве по по установке конвертера PyODConverter предлагают устанавливать версию OpenOffice.org 2.4 обязательно -headless, но я просто установил OpenOffice.org 3.4 из репозитория и все получилось.
После установки я попробовал запустить программу, но система отказалась, захотев еще Java Runtime Environment. А нужен ли он? Оказалось, что нет. И запускать OpenOffice целиком, чтобы отправить файл на виртуальный принтер вовсе ни к чему. У программы есть прекрасный конвертер в pdf, который легко вызвать из командной строки.

Делается это так:

Читать дальше →
Total votes 36: ↑25 and ↓11+14
Comments32

Шаблонные сайты VS эксклюзивные сайты

Reading time5 min
Views62K


Говоря о шаблонных сайтах, мы нередко слышим, что такие проекты не живут дольше нескольких месяцев. Потенциальные клиенты, услышав слово «шаблонный», не хотят продолжать разговор и делают обиженные лица. Студии, которые делают «шаблонные» решения – часто лишены должного уважения в профессиональном сообществе. И, наконец, сайты, которые дешевле 20 000 руб часто называют, простите, «говносайтами». Вы тоже так думаете? Давайте разберемся насколько это действительно так и восстановим мировой баланс (если он существует).
Читать дальше →
Total votes 93: ↑78 and ↓15+63
Comments74

20 вещей, которые я должен был знать в 20 лет

Reading time3 min
Views716K
1. Мир пытается оставить тебя тупым. Начиная от банковских платежей и процентов и заканчивая чудо-диетами — из необразованных людей легче вытрясти деньги и ими проще управлять. Занимайтесь самообразованием столько, сколько можете — для того, чтобы быть богатым, независимым и счастливым.
Читать дальше →
Total votes 544: ↑445 and ↓99+346
Comments544

Ключевые моменты в управлении временем

Reading time5 min
Views12K

Ключевые моменты в управлении временем



Если ты будешь упорно работать по восемь часов в день, то со временем станешь начальником и получишь право работать по двенадцать часов в день.

Самый большой груз несет самый сильный верблюд.
Законы Мерфи о работе.

1


Нужно помнить, что наше сознание одновременно может оперировать не более 7±2 объектами (число Ирвин-Миллера). Это касается левого полушария. Возможности правого (условно полагаем, что оно отвечает за подсознание) гораздо шире. Поэтому сложные оценочные решения нужно отдавать подсознанию, т.е. развивать то, что называют интуицией.

2


При обучении информация проходит следующие стадии автоматизации. Вначале есть некие знания, которые мы усваиваем. После отработки в практикумах эти знания переходят на уровень умений. То есть когда я не только могу рассказать и ответить на вопросы по области знаний, а умею применять полученные знания для решения практических задач. Когда мы несколько раз решили практические задачи, то умения могут сформироваться в навыки. Навыки — более высокий уровень автоматизации, и они находятся уже в подсознании. Что такое навык? Когда вы можете выполнить задание «не задумываясь», то есть быстро и легко.
Читать дальше →
Total votes 27: ↑24 and ↓3+21
Comments12

Просим пользователя сообщать о падении сайта

Reading time2 min
Views1.5K
Не так давно на хабре появилась статья Мониторинг сайта с помощью Google Docs. Суть которого была в том, что в Google Docs создавался документ со скриптом, периодически опрашивающим сайт на предмет доступности и высылающим письмо владельцу в случае падения.

Это интересное решение, но есть некоторые проблемы на местах. У меня кеширование в nginx настроено так, что он может днями выдавать страницы из кеша при упавшем php. Так что опрос главной страницы сайта не предоставляет особенного интереса, в отличии от внутренних страниц.

Читать дальше →
Total votes 10: ↑5 and ↓50
Comments12

Кроссбраузерное отражение элементов на CSS3

Reading time3 min
Views12K
image
На сегодняшний день уже существуют box-reflect и mask-image, которые позволяют создавать отражение элементов, но данные свойства доступны только в Safari и Chrome, да и работают не так как хотелось бы. Поэтому я хочу рассказать Вам как реализовать кроссбраузерное отражение на CSS.
Читать дальше →
Total votes 21: ↑17 and ↓4+13
Comments18

Засеки 25 минут!

Reading time2 min
Views5.2K
Как часто вам бывает нужно просто засечь время? Я думаю, что такая необходимость периодически возникает у всех. Кто-то просто смотрит на часы, кто-то использует специальные программы, кто-то ставит будильник на телефоне.

Но помимо всех этих способов можно ещё сделать вот так:

sleep 25m ; xmessage 'Hey! :)'

Всего две команды, которые довольно легко запоминаются.

Вместо xmessage может быть, разумеется, что угодно ещё. Например:

sleep 8h 30m ; mplayer /home/user/Music/pink_floyd-the_happiest_days_of_our_lives.flac

Впрочем, тут надо учитывать, что команда не будет выполнена, если вы закроете терминал. Если же необходимо, чтобы команда всё-таки выполнилась, то есть несколько способов это сделать.
Читать дальше →
Total votes 134: ↑98 and ↓36+62
Comments78

Недельный дайджест #3: Simple-Science — простые опыты

Reading time1 min
Views56K
image image
image image
image image

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

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

Под катом 6 роликов.
Читать дальше →
Total votes 60: ↑46 and ↓14+32
Comments36

Как правильно сортировать контент на основе оценок пользователей

Reading time5 min
Views91K


В оригинале название звучит как «How Not To Sort By Average Rating». Я подумал, что дословный перевод «Как не сортировать по усреднённому рейтингу» будет малопонятен и хуже отражает содержание статьи.

Постановка проблемы


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

Неправильное решение №1

Рейтинг= (Число положительных оценок) - (Число отрицательных оценок)

Читать дальше →
Total votes 458: ↑423 and ↓35+388
Comments134

Очередная схватка с веб-вирусами

Reading time6 min
Views3.3K
Доброго времени суток, уважаемые хабрапользователи. Наконец-то у меня появился ещё один клиент позволивший на условиях анонимности описать решение его проблемы. Под катом рассказ о том, как происходила борьба с вредоносным кодом, появляющемся на сайтах заказчика несколькими путями одновременно. В связи с тем, что статьи большого объёма много кому не нравятся, в этот раз я постарался изложить всё как можно короче.
Читать дальше →
Total votes 53: ↑48 and ↓5+43
Comments14

Averia: самый средний шрифт

Reading time2 min
Views5.2K


Вы думали, что новые аутентичные шрифты создают дизайнеры? Может быть и так, но и программист тоже на это способен — особенно, если у него есть художественный вкус. Разработчик Дэн Сэйверс (Dan Sayers) сделал очень красивый фонт Avería, просто усреднив все шрифты, установленные на его компьютере.
Читать дальше →
Total votes 97: ↑91 and ↓6+85
Comments32

Самый частый шаблон SQL инъекций в РНР — бесполезное экранирование символов

Reading time2 min
Views35K
По роду своей деятельности, мне приходится выполнять аудиты безопасности исходного кода веб-приложений.
Много веб-приложений и много кода…

В этой статье я хотел бы поделиться одной простой (очень простой) истиной и статистикой, которые вывел и многократно проверил в течении трех последний лет просмотра тонн РНР кода.

Не секрет, что уязвимости внедрения операторов СУБД (SQL injections) являются самыми распространенными из всех серверных уязвимостей веб-приложений. Есть платформы и фреймворки, где такие вещи практически полностью исключены, например ORM'ом и прочим. Но статистика упорно говорит нам об абсолютном преобладании на просторах Интернета веб-приложений с простыми конкатенированными SQL запросами. Кроме того, есть случаи, где ORM вообще применим быть не может. Например, когда от пользовательских данных должны зависеть не только параметры выражений, но и сама логика запроса на уровне операторов.
Читать дальше →
Total votes 90: ↑78 and ↓12+66
Comments148

Подробно о свойстве float

Reading time4 min
Views213K
Правильное использование CSS свойства float может стать непростой задачей даже для опытного верстальщика. В этой статье собраны варианты применения float, а также некоторые ошибки, с наглядными примерами.

Читать дальше →
Total votes 153: ↑140 and ↓13+127
Comments89

Доброе утро или опыт использования «умного» будильника

Reading time4 min
Views99K
Приятный сон, утро, звонок будильника… Думаю, каждый из нас сталкивался с тем, что пробуждение бывает разным. Бывают дни, когда встаешь, делаешь все на автопилоте, твоя голова пуста, а в душе живет ненависть ко всей Вселенной и человечеству. В такие дни бывают самые тяжелые утренние часы: работа с утра совершенно не идет, в голове пусто, ни с кем не хочется ни то что разговаривать, но даже видеть. А бывают совсем другие дни. В эти дни встаешь легко, мозг сразу начинает работать, дела спорятся с самого утра.

По натуре я типичная «сова» и, как и для многих «сов», утро для меня является, скажем так, не очень приятным временем суток. Однажды, после очередного тяжелого пробуждения, я, сидя на работе, и листая интернет с чашкой кофе в руке, пытаясь прийти в себя, подумал: «А может, хватит уже мучиться? Может, пора что-то сделать?» Я прикинул, что когда я просыпаюсь в состоянии зомби, то теряю пару часов времени, чтобы настроиться на рабочий лад (я специально приезжал на работу на час раньше, чтобы к началу рабочего дня быть более-менее в форме), плюс настроение с утра влияет на то, как проходит мой день. Так я стал искать решение проблемы своего тяжелого пробуждения.

Читать дальше →
Total votes 62: ↑54 and ↓8+46
Comments63

Мониторинг сайта с помощью Google Docs

Reading time2 min
Views13K


Автор блога Digital Inspirations Амид Агарвал (Amit Agarwal) опубликовал скрипт для Google Docs, который опрашивает статус сайта и заносит ответ в ячейку таблицы. Таким образом, можно сделать сервис мониторинга своими руками. Google Docs позволяет запускать скрипт с минутным интервалом и получать уведомления на email.
Читать дальше →
Total votes 106: ↑100 and ↓6+94
Comments32

Ремарт: как я создавал свой бизнес

Reading time5 min
Views2.8K

Часть I. Идея и инвесторы



Началось все с мебели. Листая один популярный журнал, я заметил статью с описанием интересного бизнеса. Там американская компания производила и устанавливала скрытые проходы. Это что-то вроде того, что можно увидеть в фильме о приключениях Бэтмена. Я до этого случая видел что-то подобное только в фильмах, мол, расставляешь шахматные фигуры на поле с электроникой внутри, и если правильно их расставить – то дверь откроется. Удивительное дело, вот мне и запомнилась эта статья.
Через пару месяцев жизненные обстоятельства сложились таким образом, что передо мной стал вопрос, как организовать собственное дело.
Дальше - больше.
Total votes 72: ↑63 and ↓9+54
Comments36

Information

Rating
Does not participate
Registered
Activity