Skip to content

Instantly share code, notes, and snippets.

@codedokode
codedokode / datetime.md
Last active June 22, 2018 19:18
Дата и время в PHP

Этот урок переехал по адресу https://github.com/codedokode/pasta/blob/master/php/datetime.md. Ниже старая, неподдерживаемая версия.


##Календари и время

В этом уроке мы поговорим о том, как работать с датой и временем в PHP. Часто в задачах нужно производить какие-то вычисления, связанные со временем, например «определить, какой день недели был 12 февраля 1956 года» или «найти дату на 3 дня позже, чем 26 февраля 2012 года». Не стоит спешить открывать редактор и писать очередной велосипед для работы с датами, давай лучше посмотрим, какие возможности уже встроены в PHP.

###Unix timestamp

@codedokode
codedokode / Как хранить в БД древовидные структуры (паста).md
Last active April 21, 2024 11:27
Как хранить в БД древовидные структуры

Эта версия статьи устарела. Новая версия статьи перенесена по адресу: https://github.com/codedokode/pasta/blob/master/db/trees.md


Как хранить в БД древовидные структуры

Те, кто знают английский, могут сразу перейти сюда: http://stackoverflow.com/questions/4048151/what-are-the-options-for-storing-hierarchical-data-in-a-relational-database

Древовидные структуры - это такие структуры, где есть родители и дети, например, каталог товаров:

@codedokode
codedokode / cli.md
Last active February 20, 2024 09:03
Как начать пользоваться командной строкой (linux/win/mac)

Этот урок переехал в мой гитхаб: https://github.com/codedokode/pasta/blob/master/soft/cli.md

Ниже - старая, неактуальная версия.


Как начать пользоваться командной строкой

Я не знаю, ты пользуешься Линуксом или Уиндоузом (обычно туториалы рассчитаны на линуксоидов и макосников, уиндоуз не модный среди молодежи). В макоси все практически так же как и в линуксе, в windows пошли своим путем и сделали все как в DOS.

@codedokode
codedokode / !Как установить сфинкс.md
Last active May 3, 2024 08:50
Как установить и настроить сфинкс.

Как установить и настроить сфинкс.

Скачиваем сфинкс (берем версию с MySQL и со стеммингом на 15 языков Win32 binaries w/MySQL+PgSQL+libstemmer+id64 support соответствующую битности твоей ОС), распаковываем например в d:\temp\s\

На этом установка sphinx завершена. В дебиане просто делаем sudo apt-get install sphinxsearch.

Создаем таблицы:

CREATE TABLE news 

(id INT(10) AUTO_INCREMENT PRIMARY KEY, topic INT(10) NOT NULL, header VARCHAR(200) NOT NULL,

@codedokode
codedokode / Задача и теория по SQL, MySQL, PostgreSQL и базам даннх вообще.md
Last active February 26, 2024 11:23
Задачка и теория по SQL (изучаем базы данных)

Этот урок переехал по адресу https://github.com/codedokode/pasta/blob/master/db/databases.md . Копия ниже устарела и не будет больше обновляться.


Что такое базы данных

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

Конечно, можно попробовать сделать свое хранилище (к примеру, на файлах), но вряд ли оно будет работать так же быстро и надежно, как профессиональная база данных. Хорошая база данных гарантирует отсутствие потерь сохраненных данных, даже если неожиданно отключится питание, отсутствие проблем при одновременной работе нескольких пользователей, позволяет искать информацию по произвольным критериям.

@codedokode
codedokode / Задание про Арканоид.md
Last active March 4, 2020 09:42
Сделай свой Арканоид!

Задача про Арканоид

Арканоид — это классическая компьютерная игра, в которой нужно разбить все кирпичи на поле при помощи шарика, который игрок может отбивать битой. Если шарик проскочит мимо биты и уйдет за нижний край поля, игра проиграна.

Видео: http://www.youtube.com/watch?v=yVf0sqqUMak
История игры: http://ru.wikipedia.org/wiki/Arkanoid

Предлагаю тебе сделать свой небольшой аналог арканоида при помощи Javascript и Canvas.

  • Нужные знания: основы javascript, основы HTML

Этот урок переехал по адресу: https://github.com/codedokode/pasta/blob/master/security/password-hashing.md

Здесь старая версия урока, которая больше не обновляется.


Итак, ты решил сделать авторизацию и регистрацию через пароли. Как максимально обезопасить пароли пользователей от взлома и от своих же любопытных сотрудников (если ты работаешь не один, а в большой компании)?

Соли @ хешируй

@codedokode
codedokode / Задание на JS.md
Created March 9, 2014 18:20
Задание на JS

Задачка: сделай страничку, на ней текстовое поле. В него пользователь вводит название города, и по мере ввода появляются выпадающие подсказки, как в Google.

Поиск идет по первым буквам, например при вводе «Нов» появляется:

  • Нижний Новгород
  • Новогород
  • Новые Васюки

Введенная часть текста подсвечивается в подсказке.

@codedokode
codedokode / Задача на клон rghost.md
Last active October 10, 2022 17:30
Задача на клон rghost, ООП и MVC

Задание на ООП и MVC

Для выполнения задания нужно: иметь представление о HTML/CSS (так как мы делаем сайт на фреймворке, а страницы сайтов пишутся на HTML), иметь представление о SQL-запросах или желание в них разобраться (так как мы будем работать с базой данных), иметь представление об ООП (так как все популярные фреймворки используют ООП).

Нужно иметь установленные и настроенные Апач/PHP/любую SQL- или NoSQL-базу данных (или денвер/XAMPP но лучше бы установить компоненты по отдельности, дает полезные навыки).

Если есть пробелы в знаниях, у меня есть паста про установку Апача и пара уроков по ООП.

Задание поможет: разобраться в MVC, научиться использовать один из фреймворков, использовать современные подходы к разработке, писать более правильный код.

Как отформатировать код

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

Не бойся, сделать код аккуратным совсем не сложно. Самый универсальный способ — вставить его на сайт http://phpformatter.com и нажать кнопку Format. Робот сам выровняет твой код в лучших традициях.

Если ты используешь для редактирования кода IDE, то все еще проще (а если не используешь, то почему бы не начать?):

  • Eclipse PDT — жми Ctrl + Shift + F для автоматического форматирования кода.
  • Netbeans for PHP — жми Alt + Shift + F