Мне для своего проекта, на php, всегда надо точно знать какой номер недели сейчас. Я пользовался командой date() для этого и получал год и номер недели. Например 22 декабря 2008 года была 52 неделя года. просто замечательно все было пока не пришло 29 число. Потому 29 декабря 2008 года идет как неделя 00, что мягко говоря неправильно. Поэтому я окончательно уверился в том, что для точных и калледарных вычислений data вовсе не подходит. Больше всего подходит функция strftime(’%W’);
Springa @Springa
Пользователь
Терминатор tXt
1 мин
1KГипертекстовая игра про «Терминатора 4». Я сделал это just for fun, как говорил Линус Торвальдс. Немного графики из постеров, немного скринов из тизеров и щепотку дерзости.
Тексты писал сам, графику собирал из доступных источников, для разбивки текста в HTML использовал собственноручно написанный скрипт на Python.
Технические характеристики:
— движок: HTML
— объем кода и графики: менее 1 мб
— общий объем чистого текста (не кода) — около 60 кб
— число узлов (страниц) — 132
— концовок: хороших три, остальных более десятка
— локаций: как минимум пять
— присутствуют перестрелки, погони, драки на ножах с терминаторами и битва с харвестером
И все это — в текстовой игре!
Зацени и обругай, предложи идею или напиши о замеченном баге.
Не жди, пока наступит будущее. Стань Джоном Коннором уже сегодня! :)
+119
Marquee умер, да здравствует marquee
1 мин
17KТег <marquee> известен многим. Этот тег позволяет создавать на странице простейшую анимацию в виде плавного скроллинга текста. <marquee> появился в Internet Explorer и не является стандартным тегом, тем не менее, поддерживается большинством браузеров в целях совместимости. В наши дни W3C не рекомендует использовать <marquee>.
Однако не многие знают, что marquee обретает жизнь в новом лице.
Однако не многие знают, что marquee обретает жизнь в новом лице.
+46
Демон конвертации видео в FLV
3 мин
3.6KРешил поделиться недавно написанным кодом демона для видеохостинга.
Принцип демона прост. Демон смотрит в папку, куда загружаются видеофалы, и при появлении там новых, копирует в другую папку, запускает в фоне процесс конвертации, создает превьюшку, и копирует полученное видео в папку пользователя.
Принцип демона прост. Демон смотрит в папку, куда загружаются видеофалы, и при появлении там новых, копирует в другую папку, запускает в фоне процесс конвертации, создает превьюшку, и копирует полученное видео в папку пользователя.
+38
Что за файл?
1 мин
11KБывает такая ситуация, когда приходят данные в непонятном виде. Если не та кодировка, это решается достаточно просто, а если неизвестные бинарные данные? Экзотический архиватор, шифрованные данные, хеш или вообще мусор?
Думаю, далеко не у всех, кто с этим сталкивается, хватает своих знаний и средств чтобы разобраться.
Отсюда вопрос / идея / предложение.
Думаю, далеко не у всех, кто с этим сталкивается, хватает своих знаний и средств чтобы разобраться.
Отсюда вопрос / идея / предложение.
+20
Правильная «резина»
3 мин
15KЗадачей этой статьи является систематизация знаний о том, как правильно растягивать сайт для различных разрешений экрана.
+52
Oxite — первый взгляд
2 мин
1.5KСовсем недавно группа разработчиков с ресурса Mix Online (часть Microsoft) анонсировала проект Oxite — CMS для создания блогов на базе MVC Framework. Проект находится в состоянии alpha-версии и самими разработчиками позиционируется как эксперимент, целью которого ставится показать разработчикам то, как можно писать на MVC Framework.
Подобных систем для .NET очень мало, поэтому я решил посмотреть на то, что Oxite представляет собой. Под катом вы найдете мои впечатления о проекте и ссылку для самостоятельного изучения установленного Oxite.
Подобных систем для .NET очень мало, поэтому я решил посмотреть на то, что Oxite представляет собой. Под катом вы найдете мои впечатления о проекте и ссылку для самостоятельного изучения установленного Oxite.
+13
Абсолютный минимум для новой жизни
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 являются наиболее критичными, и, в случае отрицательного ответа хотя бы на один из них, надо очень осторожно давать согласие на новую работу. В этом случае вы исключительно рискуете.
Удачного старта!
Переход менеджера на новую работу — серьезный поступок, требующий взвешенного решения и тщательной подготовки. Ведь, как правило, есть что терять на том месте, где вы уже работаете. Одновременно, на новом месте всегда ждет риск. Работа менеджера проекта сродни работе футбольного тренера. Так же как и в футболе, в провале проекта будет виноват его менеджер, какими бы “объективными” ни были обстоятельства поражения. Обстоятельства надо изучать заранее и обсуждать их со своим, пока еще будущим руководством.
Главное что надо понять, прежде чем согласиться заняться проектом, это что от вас хотят и что вы сможете сделать. Понять все на 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 являются наиболее критичными, и, в случае отрицательного ответа хотя бы на один из них, надо очень осторожно давать согласие на новую работу. В этом случае вы исключительно рискуете.
Удачного старта!
+24
Через год
1 мин
1KМожет это и правильно, но как-то неожиданно.
UPD По результатам обсуждения резюмирую:
а) это стандартное поведение и других СУБД и более того
б) данный способ расчета годового периода узаконен и применяется в офлайн.
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 По результатам обсуждения резюмирую:
а) это стандартное поведение и других СУБД и более того
б) данный способ расчета годового периода узаконен и применяется в офлайн.
+49
Типографская раскладка Ильи Бирмана 2.0
1 мин
12KНа сайте Ильи Бирмана появилась вторая версия его замечательной типографской раскладки.
Судя по дате создания файлов в архиве, новый продукт вышел 26 декабря ушедшего года.
Наиболее заметные улучшения:
Рассмотреть и забрать готовую типографскую раскладку 2.0 можно на сайте Ильи Бирмана.
Судя по дате создания файлов в архиве, новый продукт вышел 26 декабря ушедшего года.
Наиболее заметные улучшения:
- Появились стрелочки, которых действительно очень не хватало
- Знак бесконечности — тоже не помешает
- Короткое тире
- Минус
- Буквы дореволюционной орфографии
- Появилась версия под Мак
Рассмотреть и забрать готовую типографскую раскладку 2.0 можно на сайте Ильи Бирмана.
+66
Набор… кода. Новый вид заработка.
2 мин
1.7KЗдравствуйте, господа!
Премилейший диалог состоялся с незнакомым фрилансером, с которым свёл друг.
Моей целью разговора было мокнуться во фриланс, узнать что же это за зверь такой и попробовать по-работать из-дому в сотрудничестве с вышеупомянутым человеком. А то всё по студиям, да по студиям. Да и, чего уж там, безработный я с первого числа. Ушёл в поисках лучшей зарплаты.
Мы представились, поговорили немного о своём предыдущем опыте. Парень моего примерно возраста, по его словам фрилансер со стажем. Фигурирует даже на одном зарубежном сайте в колонке «Top Rated» с тремя с лишним сотнями положительных отзывов. Я же сообщил, что 5 лет программирую на php, тоже опыт кой-какой имеется, работы показал. Т.е. люди, вроде как, неглупые совсем встретились.
Насторожили уже молчаливо предложенная им ссылка регистрации на фриланс-сайте с его ником на конце и способность сайтописания со скоростью «несколько дней/сайт».
Слово за слово и случился у нас такой вот диалог (орфография и пунктуация сохранены, личные данные сокрыты по известным причинам):
Премилейший диалог состоялся с незнакомым фрилансером, с которым свёл друг.
Моей целью разговора было мокнуться во фриланс, узнать что же это за зверь такой и попробовать по-работать из-дому в сотрудничестве с вышеупомянутым человеком. А то всё по студиям, да по студиям. Да и, чего уж там, безработный я с первого числа. Ушёл в поисках лучшей зарплаты.
Мы представились, поговорили немного о своём предыдущем опыте. Парень моего примерно возраста, по его словам фрилансер со стажем. Фигурирует даже на одном зарубежном сайте в колонке «Top Rated» с тремя с лишним сотнями положительных отзывов. Я же сообщил, что 5 лет программирую на php, тоже опыт кой-какой имеется, работы показал. Т.е. люди, вроде как, неглупые совсем встретились.
Насторожили уже молчаливо предложенная им ссылка регистрации на фриланс-сайте с его ником на конце и способность сайтописания со скоростью «несколько дней/сайт».
Слово за слово и случился у нас такой вот диалог (орфография и пунктуация сохранены, личные данные сокрыты по известным причинам):
+76
Тонкости свойства disable у кнопок формы, отправляемой на сервер (Как делать кнопки неактивными)
3 мин
69KУже неоднократно на хабре (вот в этой публикации и в этой) ставился вопрос о том, что было бы хорошо кнопкам формы, отправляемой на сервер, ставить свойство
Однако, до сих пор так и не разобрались, зачем это нужно и как все-таки это делать. Казалось бы, что может быть проще и о чем здесь вообще можно разговаривать, ан нет — на поверку все оказалось не так тривиально. Сразу замечу, что нижеследующие рассуждения применимы к обеим типам форм: как отправляемым через обычный SUBMIT, так и с помощью AJAX.
disabled = "disabled"
.Однако, до сих пор так и не разобрались, зачем это нужно и как все-таки это делать. Казалось бы, что может быть проще и о чем здесь вообще можно разговаривать, ан нет — на поверку все оказалось не так тривиально. Сразу замечу, что нижеследующие рассуждения применимы к обеим типам форм: как отправляемым через обычный SUBMIT, так и с помощью AJAX.
+55
jQuery Alert Dialogs — замена стандартным функциям Alert(), Confirm() и Prompt()
2 мин
38KПеревод
Плагин jQuery Alert Dialogs призван заменить основную функциональность стандартных предупреждений JavaScript, alert(), confirm(), и prompt() функций. Они полностью настраиваются с помощью CSS (это позволит выглядеть вашему сайту гораздо более привлекательно). И вы также можете настроить пользовательский заголовок для каждого диалогового окна.
Эти методы моделируют обычные модальные диалоговые окна. Они автоматически изменяют свое положение при изменении окна браузера. Если включить jQuery UI Draggable плагин, то окна можно перемещать, перетаскивая их за заголовки. В отличие от стандартных JavaScript функций, вы можете использовать HTML в сообщении. Например, чтобы задать переход на новую строку, вы можете использовать либо \n, либо < br / >.
+45
Clear или overflow:hidden — очистка всего потока или создание контекста форматирования?
2 мин
35KСвойство
clear
со значениями left, right, both
действительно очищает поток в отличие от overflow
со значеним hidden
, которое создаёт отдельный контекст форматирования для выбранного элемента, тем самым локализуя действие свойства float внутри элемента к которому применён.+110
CSS хитрости IE 7: -ms-interpolation-mode
1 мин
2.7KЭта тема в сети не новая, но тут статью об этом не нашла. Оказывается, у IE, начиная с версии 7, есть поддержка интерполяции (режима масштабирования) изображений и управления им через CSS-свойство -ms-interpolation-mode, описанного в MSDN.
Свойство имеет 2 значения:
— nearest-neighbor (менее качественный режим) — по умолчанию
— bicubic (более качественный бикубический метод)
W3C рекомендует использовать это свойство с префиксом -ms.
Свойство имеет 2 значения:
— nearest-neighbor (менее качественный режим) — по умолчанию
— bicubic (более качественный бикубический метод)
W3C рекомендует использовать это свойство с префиксом -ms.
+29
Анонс и история Explay CMS 3 (Core)
4 мин
1.3KНемного истории
Где-то в конце августа — начале сентября, постепенно понимая парадигмы объектно-ориентированного программирования и приходя в ужас от своего старого кода, я решил забыть Explay 2.1 как страшный сон и взялся писать все с чистого листа. Да, это, вероятно, было не самым лучшим шагом в сторону пользователей Эксплея, но вы уж извините мою глупую натуру.
+48
Сообщение об ошибках. Мой вариант.
2 мин
451Недавно захотелось мне сделать, что бы на моем проекте ошибки отображались именно там, где они были совершены. Т.е. если вы не верно ввели e-mail, то и ошибка должна отображаться именно рядом с «инпутом» для ввода e-mail’а. Так в чем проблема? Писать прям под этим «инпутом» и все. Нет! А если не хватает места? Вот именно такая ситуация возникла у меня, в некоторых местах «впендюрить» ошибку просто некуда из-за отсутствия места для нее.
В связи с этим, мы понимаем, что нужно использовать подобие JavaScript’ового «алерта». Знаю, «алерт» — это не кошерно. Поэтому необходим выскакивающий-плавающий «див», причем привязанный в меступрестпуления совершения ошибки.
Поискав немного среди плагинов для «jQuery» я не нашел ничего путного. Либо я плохо искал, либо действительно ничего подходящего нет. Поэтому прошу взглянуть на мой вариант:
В связи с этим, мы понимаем, что нужно использовать подобие JavaScript’ового «алерта». Знаю, «алерт» — это не кошерно. Поэтому необходим выскакивающий-плавающий «див», причем привязанный в месту
Поискав немного среди плагинов для «jQuery» я не нашел ничего путного. Либо я плохо искал, либо действительно ничего подходящего нет. Поэтому прошу взглянуть на мой вариант:
+10
Управление потоком в CSS: создаём контекст форматирования
4 мин
5.2KУправлять потоком можно не только свойствами
Статья не содержит универсальных решений, но открывает вашему взору дополнительный инструментарий для управления потоком.
clear
или overflow
. Возможно, вы найдёте полезным для себя использование display:inline-block
или display:table-cell
, способных полностью заменить вам упомянутый overflow
, избавляя вас от опасности указания размеров элемента, а также предоставляя дополнительные возможности.Статья не содержит универсальных решений, но открывает вашему взору дополнительный инструментарий для управления потоком.
+60
Любителям текстовых квестов. Конструктор.
2 мин
5.1K31 декабря я предложил идею о создании сайта, на котором любой пользователь сможет создать и разместить свой собственный текстовой квест. Потом был довольно затянувшийся новый год, и вот я снова в строю.
В этом топике я хочу поделится с вами своими соображениями по конструктору квестов — наиболее важном элементе проекта. Хотелось бы услышать как ваши замечания по планируемому функционалу, так и по архитектуре в целом.
В этом топике я хочу поделится с вами своими соображениями по конструктору квестов — наиболее важном элементе проекта. Хотелось бы услышать как ваши замечания по планируемому функционалу, так и по архитектуре в целом.
+19
Когда программисту нечего делать…
1 мин
1.4K… он возьмет и сделает бесполезную ерунду вечерком, просто так, для себя. Недоработано, сыро и не поддерживает оперу, извиняюсь, конечно, но мне хотелось спать =)
UPD: Перенес в JavaScript, надеюсь, я все правильно сделал
UPD: Перенес в JavaScript, надеюсь, я все правильно сделал
+80
Информация
- В рейтинге
- Не участвует
- Откуда
- Германия
- Дата рождения
- Зарегистрирована