Как стать автором
Обновить
21
0
Springa @Springa

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

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

Осторожность с датой не помешает

Время на прочтение1 мин
Количество просмотров946
imageМне для своего проекта, на php, всегда надо точно знать какой номер недели сейчас. Я пользовался командой date() для этого и получал год и номер недели. Например 22 декабря 2008 года была 52 неделя года. просто замечательно все было пока не пришло 29 число. Потому 29 декабря 2008 года идет как неделя 00, что мягко говоря неправильно. Поэтому я окончательно уверился в том, что для точных и калледарных вычислений data вовсе не подходит. Больше всего подходит функция strftime(’%W’);
Читать дальше →
Всего голосов 69: ↑61 и ↓8+53
Комментарии44

Терминатор tXt

Время на прочтение1 мин
Количество просмотров1K
image

Гипертекстовая игра про «Терминатора 4». Я сделал это just for fun, как говорил Линус Торвальдс. Немного графики из постеров, немного скринов из тизеров и щепотку дерзости.

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

Технические характеристики:
— движок: HTML
— объем кода и графики: менее 1 мб
— общий объем чистого текста (не кода) — около 60 кб
— число узлов (страниц) — 132
— концовок: хороших три, остальных более десятка
— локаций: как минимум пять
— присутствуют перестрелки, погони, драки на ножах с терминаторами и битва с харвестером
И все это — в текстовой игре!

Зацени и обругай, предложи идею или напиши о замеченном баге.
Не жди, пока наступит будущее. Стань Джоном Коннором уже сегодня! :)
Всего голосов 157: ↑138 и ↓19+119
Комментарии97

Marquee умер, да здравствует marquee

Время на прочтение1 мин
Количество просмотров17K
imageТег <marquee> известен многим. Этот тег позволяет создавать на странице простейшую анимацию в виде плавного скроллинга текста. <marquee> появился в Internet Explorer и не является стандартным тегом, тем не менее, поддерживается большинством браузеров в целях совместимости. В наши дни W3C не рекомендует использовать <marquee>.

Однако не многие знают, что marquee обретает жизнь в новом лице.
Читать дальше →
Всего голосов 54: ↑50 и ↓4+46
Комментарии49

Демон конвертации видео в FLV

Время на прочтение3 мин
Количество просмотров3.6K
Решил поделиться недавно написанным кодом демона для видеохостинга.
Принцип демона прост. Демон смотрит в папку, куда загружаются видеофалы, и при появлении там новых, копирует в другую папку, запускает в фоне процесс конвертации, создает превьюшку, и копирует полученное видео в папку пользователя.
Читать дальше →
Всего голосов 40: ↑39 и ↓1+38
Комментарии31

Что за файл?

Время на прочтение1 мин
Количество просмотров11K
Бывает такая ситуация, когда приходят данные в непонятном виде. Если не та кодировка, это решается достаточно просто, а если неизвестные бинарные данные? Экзотический архиватор, шифрованные данные, хеш или вообще мусор?

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

Отсюда вопрос / идея / предложение.
Читать дальше →
Всего голосов 44: ↑32 и ↓12+20
Комментарии35

Правильная «резина»

Время на прочтение3 мин
Количество просмотров15K
Задачей этой статьи является систематизация знаний о том, как правильно растягивать сайт для различных разрешений экрана.
Читать дальше →
Всего голосов 102: ↑77 и ↓25+52
Комментарии109

Oxite — первый взгляд

Время на прочтение2 мин
Количество просмотров1.5K
Совсем недавно группа разработчиков с ресурса Mix Online (часть Microsoft) анонсировала проект Oxite — CMS для создания блогов на базе MVC Framework. Проект находится в состоянии alpha-версии и самими разработчиками позиционируется как эксперимент, целью которого ставится показать разработчикам то, как можно писать на MVC Framework.

Подобных систем для .NET очень мало, поэтому я решил посмотреть на то, что Oxite представляет собой. Под катом вы найдете мои впечатления о проекте и ссылку для самостоятельного изучения установленного Oxite.

Читать дальше →
Всего голосов 39: ↑26 и ↓13+13
Комментарии20

Абсолютный минимум для новой жизни

Время на прочтение2 мин
Количество просмотров852
Психологи утверждают, что молодой, энергичный и амбициозный человек (а других вряд ли станут рассматривать на должность менеджера проекта) “выдерживает” на одном рабочем месте не более 5-6 лет. А для некоторых психологических типов этот срок составляет 2-3 года. Практический опыт чаще всего подтверждает эту позицию. Далее менеджеру проектов требуются новые перспективы, причем далеко не только финансовые.

Переход менеджера на новую работу — серьезный поступок, требующий взвешенного решения и тщательной подготовки. Ведь, как правило, есть что терять на том месте, где вы уже работаете. Одновременно, на новом месте всегда ждет риск. Работа менеджера проекта сродни работе футбольного тренера. Так же как и в футболе, в провале проекта будет виноват его менеджер, какими бы “объективными” ни были обстоятельства поражения. Обстоятельства надо изучать заранее и обсуждать их со своим, пока еще будущим руководством.

Главное что надо понять, прежде чем согласиться заняться проектом, это что от вас хотят и что вы сможете сделать. Понять все на 100% вряд ли удастся, но разобраться необходимо. В конце концов, представляя объем работы, легче торговаться изза зарплаты и бонусов. Предлагаю свой список, “Абсолютный минимум” шагов, которые надо предпринять до того, как сказать “да” и выйти на работу в новую команду. Ответьте “да” или “нет” на следующие вопросы:

1. Представляете ли вы себе структуру компании?
2. Знаете ли кому будете подчиняться и с кем будете взаимодействовать внутри компании?
3. Одинаково ли понимаете с вашим будущим руководством роль менеджера проекта?

4. Видит ли ваше будущее руководство перспективы ваших проектов через год?
5. Владеете ли вы методами и инструментами управления проектами, которые применяются в компании?
6. Знаете ли вы как принято документировать проект в компании?
7. Для каждого порученного вам проекта существует документация?
8. Для каждого порученного вам проекта существует план работ?
9. Существует ли отдел контроля качества?
10. Ознакомились ли вы со списком ошибок по вашим проектам в системе багтрекинга?
11. Ознакомились ли вы с резюме каждого участника вашей будущей команды?
12. Знакомы ли вы с лидером вашей команды?
13. Ознакомились ли вы со списком требований к проектам?
14. Ознакомились ли вы с общей архитектурой каждого из ваших будущих проектов?
15. Знаете ли вы заказчика вашего проекта?
16. Существует ли представитель заказчика?

17. Знаете ли вы кто был предыдущим менеджером проекта?
18. Знаете ли вы кто должен передать вам дела по проектам?

Список получился длинным, но я скорее соглашусь добавить еще пунктов, чем что то выкинуть. На все вопросы можно ответить “да” или “нет” и подсчитать количество положительных ответов. Сколько вам нужно положительных ответов чтобы согласиться на новые проекты — выбирайте сами. Тут многое зависит от индивидуального темперамента и от предлагаемой компенсации. Да много еще от чего зависит.
Чтобы ответить на все вопросы, надо серьезно поработать и изрядно потратить времени. Не всегда это время есть, особенно когда на переговоры приходится ездить в другой город. Если вы получите утвердительный ответ на все 18 вопросов, вы имеете отличные шансы на успех. Вопросы 2,3, 13, 15, 16 являются наиболее критичными, и, в случае отрицательного ответа хотя бы на один из них, надо очень осторожно давать согласие на новую работу. В этом случае вы исключительно рискуете.

Удачного старта!
Всего голосов 42: ↑33 и ↓9+24
Комментарии31

Через год

Время на прочтение1 мин
Количество просмотров1K
Может это и правильно, но как-то неожиданно.

select
'2008-02-27' + INTERVAL 1 YEAR, -- 2009-02-27
'2008-02-28' + INTERVAL 1 YEAR, -- 2009-02-28
'2008-02-29' + INTERVAL 1 YEAR, -- 2009-02-28
'2008-03-01' + INTERVAL 1 YEAR; -- 2009-03-01


UPD По результатам обсуждения резюмирую:
а) это стандартное поведение и других СУБД и более того
б) данный способ расчета годового периода узаконен и применяется в офлайн.
Всего голосов 79: ↑64 и ↓15+49
Комментарии58

Типографская раскладка Ильи Бирмана 2.0

Время на прочтение1 мин
Количество просмотров12K
На сайте Ильи Бирмана появилась вторая версия его замечательной типографской раскладки.
Судя по дате создания файлов в архиве, новый продукт вышел 26 декабря ушедшего года.

Наиболее заметные улучшения:
  • Появились стрелочки, которых действительно очень не хватало
  • Знак бесконечности — тоже не помешает
  • Короткое тире
  • Минус
  • Буквы дореволюционной орфографии
  • Появилась версия под Мак
Напомню, что сделать свою собственную раскладку под Виндоус можно с помощью MKLC.
Рассмотреть и забрать готовую типографскую раскладку 2.0 можно на сайте Ильи Бирмана.
Всего голосов 78: ↑72 и ↓6+66
Комментарии93

Набор… кода. Новый вид заработка.

Время на прочтение2 мин
Количество просмотров1.7K
Здравствуйте, господа!

Премилейший диалог состоялся с незнакомым фрилансером, с которым свёл друг.

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

Мы представились, поговорили немного о своём предыдущем опыте. Парень моего примерно возраста, по его словам фрилансер со стажем. Фигурирует даже на одном зарубежном сайте в колонке «Top Rated» с тремя с лишним сотнями положительных отзывов. Я же сообщил, что 5 лет программирую на php, тоже опыт кой-какой имеется, работы показал. Т.е. люди, вроде как, неглупые совсем встретились.

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

Слово за слово и случился у нас такой вот диалог (орфография и пунктуация сохранены, личные данные сокрыты по известным причинам):
а ты набираешь, попутно учишься...
Всего голосов 154: ↑115 и ↓39+76
Комментарии165

Тонкости свойства disable у кнопок формы, отправляемой на сервер (Как делать кнопки неактивными)

Время на прочтение3 мин
Количество просмотров69K
Уже неоднократно на хабре (вот в этой публикации и в этой) ставился вопрос о том, что было бы хорошо кнопкам формы, отправляемой на сервер, ставить свойство disabled = "disabled".

Однако, до сих пор так и не разобрались, зачем это нужно и как все-таки это делать. Казалось бы, что может быть проще и о чем здесь вообще можно разговаривать, ан нет — на поверку все оказалось не так тривиально. Сразу замечу, что нижеследующие рассуждения применимы к обеим типам форм: как отправляемым через обычный SUBMIT, так и с помощью AJAX.
Читать дальше →
Всего голосов 75: ↑65 и ↓10+55
Комментарии38

jQuery Alert Dialogs — замена стандартным функциям Alert(), Confirm() и Prompt()

Время на прочтение2 мин
Количество просмотров38K
image
Плагин jQuery Alert Dialogs призван заменить основную функциональность стандартных предупреждений JavaScript, alert(), confirm(), и prompt() функций. Они полностью настраиваются с помощью CSS (это позволит выглядеть вашему сайту гораздо более привлекательно). И вы также можете настроить пользовательский заголовок для каждого диалогового окна.

Эти методы моделируют обычные модальные диалоговые окна. Они автоматически изменяют свое положение при изменении окна браузера. Если включить jQuery UI Draggable плагин, то окна можно перемещать, перетаскивая их за заголовки. В отличие от стандартных JavaScript функций, вы можете использовать HTML в сообщении. Например, чтобы задать переход на новую строку, вы можете использовать либо \n, либо < br / >.
Читать дальше →
Всего голосов 59: ↑52 и ↓7+45
Комментарии46

Clear или overflow:hidden — очистка всего потока или создание контекста форматирования?

Время на прочтение2 мин
Количество просмотров35K
clear и overflowСвойство clear со значениями left, right, both действительно очищает поток в отличие от overflow со значеним hidden, которое создаёт отдельный контекст форматирования для выбранного элемента, тем самым локализуя действие свойства float внутри элемента к которому применён.

Читать дальше →
Всего голосов 130: ↑120 и ↓10+110
Комментарии75

CSS хитрости IE 7: -ms-interpolation-mode

Время на прочтение1 мин
Количество просмотров2.7K
Эта тема в сети не новая, но тут статью об этом не нашла. Оказывается, у IE, начиная с версии 7, есть поддержка интерполяции (режима масштабирования) изображений и управления им через CSS-свойство -ms-interpolation-mode, описанного в MSDN.

Свойство имеет 2 значения:
nearest-neighbor (менее качественный режим) — по умолчанию
bicubic (более качественный бикубический метод)

W3C рекомендует использовать это свойство с префиксом -ms.
Пример использования
Всего голосов 47: ↑38 и ↓9+29
Комментарии48

Анонс и история Explay CMS 3 (Core)

Время на прочтение4 мин
Количество просмотров1.3K
Explay

Немного истории



Где-то в конце августа — начале сентября, постепенно понимая парадигмы объектно-ориентированного программирования и приходя в ужас от своего старого кода, я решил забыть Explay 2.1 как страшный сон и взялся писать все с чистого листа. Да, это, вероятно, было не самым лучшим шагом в сторону пользователей Эксплея, но вы уж извините мою глупую натуру.
Читать дальше →
Всего голосов 94: ↑71 и ↓23+48
Комментарии79

Сообщение об ошибках. Мой вариант.

Время на прочтение2 мин
Количество просмотров451
Недавно захотелось мне сделать, что бы на моем проекте ошибки отображались именно там, где они были совершены. Т.е. если вы не верно ввели e-mail, то и ошибка должна отображаться именно рядом с «инпутом» для ввода e-mail’а. Так в чем проблема? Писать прям под этим «инпутом» и все. Нет! А если не хватает места? Вот именно такая ситуация возникла у меня, в некоторых местах «впендюрить» ошибку просто некуда из-за отсутствия места для нее.

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

Поискав немного среди плагинов для «jQuery» я не нашел ничего путного. Либо я плохо искал, либо действительно ничего подходящего нет. Поэтому прошу взглянуть на мой вариант:

Читать дальше →
Всего голосов 38: ↑24 и ↓14+10
Комментарии69

Управление потоком в CSS: создаём контекст форматирования

Время на прочтение4 мин
Количество просмотров5.2K
Управлять потоком можно не только свойствами clear или overflow. Возможно, вы найдёте полезным для себя использование display:inline-block или display:table-cell, способных полностью заменить вам упомянутый overflow, избавляя вас от опасности указания размеров элемента, а также предоставляя дополнительные возможности.

Статья не содержит универсальных решений, но открывает вашему взору дополнительный инструментарий для управления потоком.
Читать дальше →
Всего голосов 66: ↑63 и ↓3+60
Комментарии34

Любителям текстовых квестов. Конструктор.

Время на прочтение2 мин
Количество просмотров5.1K
31 декабря я предложил идею о создании сайта, на котором любой пользователь сможет создать и разместить свой собственный текстовой квест. Потом был довольно затянувшийся новый год, и вот я снова в строю.

В этом топике я хочу поделится с вами своими соображениями по конструктору квестов — наиболее важном элементе проекта. Хотелось бы услышать как ваши замечания по планируемому функционалу, так и по архитектуре в целом.

Читать дальше →
Всего голосов 35: ↑27 и ↓8+19
Комментарии33

Когда программисту нечего делать…

Время на прочтение1 мин
Количество просмотров1.4K
… он возьмет и сделает бесполезную ерунду вечерком, просто так, для себя. Недоработано, сыро и не поддерживает оперу, извиняюсь, конечно, но мне хотелось спать =)

UPD: Перенес в JavaScript, надеюсь, я все правильно сделал
Всего голосов 128: ↑104 и ↓24+80
Комментарии61

Информация

В рейтинге
Не участвует
Откуда
Германия
Дата рождения
Зарегистрирована