Pull to refresh
5
0

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

Send message

Теперь я не могу сделать даже маленький сайт

Reading time3 min
Views153K


Короче, я хорошо помню, как в 2013 году я сел и написал небольшой сайт за один день.

Это был сайт про события моего родного города. На одной странице выводились все мероприятия на грядущую неделю.

Я сделал страничку с мероприятиями, и небольшую админку, где они редактировались. У меня была книжка по PHP, поэтому сайт я написал на PHP, подключил MySQL-базу, сверстал на HTML и CSS, и залил на виртуальный хостинг. Сайтом пользовались, а я усердно добавлял мероприятия каждое утро, пока не ушёл в армию, не оставив никого на поддержку. Так сайт и почил.

Идея сайта всё ещё казалась хорошей, и я решил его возродить. Казалось бы, бери и делай, но против меня играло то, что я толком не помнил PHP, и уже успел набраться опыта разработки в очень больших, средних и маленьких компаниях.

Я решил взяться за дело и стал думать.
Читать дальше →
Total votes 401: ↑370 and ↓31+339
Comments319

10 песен про IT: от Столлмана до исходников

Reading time9 min
Views17K


Мне интересны и IT, и музыка, поэтому я всегда обращал внимание на их пересечение: песни айтишников. Порой это пародии на известные хиты с переделанным текстом, порой — полностью оригинальные сочинения. Одни из них примечательны автором (самый известный — Ричард Столлман), другие форматом (самый нестандартный — пение кода).


Обычно такие песни несерьёзные, так что пятница — подходящий день для подборки из них. Но заодно это и повод разобраться: какими они вообще бывают и чем различаются?


Я не рассматривал случаи, когда компьютерную тематику затрагивали известные музыканты, никогда не работавшие в IT. Здесь только хардкор — песни, написанные теми, кто и код писать умеет! Дополняйте в комментариях теми, которые запомнились вам.

Читать дальше →
Total votes 28: ↑25 and ↓3+22
Comments31

Аудит изменения данных PostgreSQL

Reading time4 min
Views34K
image

Возникла необходимость вести аудит изменения данных в существующей системе.

Требования:


  • Простота подключения/отключения логгирования отдельных таблиц.
  • Сократить до минимума изменения в уже существующих функциях БД.
  • Минимизировать деградацию производительности.

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

Изменение схемы таблиц PostgreSQL без долгих блокировок. Лекция Яндекса

Reading time10 min
Views23K
Если одновременно выполняется много операций по изменению схемы БД, сервис не может корректно работать на запись. Разработчик Владимир Колясинский объяснил, какие операции в PostgreSQL требуют длительных блокировок и как команда Яндекс.Коннекта обеспечивает почти стопроцентную доступность сервиса на запись во время выполнения подобных операций. Кроме того, вы узнаете о библиотеке для Django, которая призвана автоматизировать часть описанных процессов.


У нас большие нагрузки, тысячи RPS, и простой в несколько минут, не говоря о большем времени, недопустим. Нужно, чтобы миграции происходили незаметно для пользователя. А с такими нагрузками уже не получится встать в четыре часа ночи, что-то накатить, когда нет нагрузки, и снова лечь спать — потому что нагрузка идет круглые сутки.

Total votes 61: ↑61 and ↓0+61
Comments41

Pylint изнутри. Как он это делает

Reading time15 min
Views22K
Разные помощники в написании классного кода нас просто окружают, линтеры, тайпчекеры, утилиты для поиска уязвимостей, всё с нами. Мы привыкли и используем не вдаваясь в детали, как «черный ящик». Например, мало кто разбирается в принципах работы Pylint — одного из таких незаменимых инструментов для оптимизации и улучшения кода на Python.

А вот Максим Мазаев знает, насколько важно понимать свои инструменты, и нам рассказал на Moscow Python Conf++. На реальных примерах показал, как знание внутреннего устройства Pylint и его плагинов помогло уменьшить время code review, улучшить качество кода и вообще повысить эффективность разработки. Ниже расшифровка-инструкция.


Total votes 39: ↑38 and ↓1+37
Comments2

Квантовая механика для всех, даром, и пусть никто не уйдёт обиженным: часть вторая

Reading time6 min
Views68K
Здравствуйте! Квантовая механика продолжается во второй части цикла Элиезера Юдковски, и сегодня вы узнаете немного больше о конфигурациях, а также поймёте, почему процесс наблюдения влияет на объект наблюдения. Критики в адрес непонятливого человечества, само собой, тоже будет предостаточно. В общем, не проходите мимо!
Читать дальше →
Total votes 53: ↑45 and ↓8+37
Comments33

C# .NET: Пять маленьких чудес, которые сделают ваш код лучше. Часть 1

Reading time5 min
Views26K
Здравствуй, Хабрасообщество. Хотелось бы представить на суд твой свои переводы серии статей Джеймса Майкла Харе (James Michael Hare) «Маленькие чудеса C#». Итак, первая часть перед вами!
Эти маленькие советы и рекомендации сделают ваш код более кратким, производительным и обслуживаемым. Наверное, многие из вас знают обо всех или некоторых из них, но игнорируют их, либо просто не знают.
Подробности
Total votes 87: ↑59 and ↓28+31
Comments35

Квантовая механика для всех, даром, и пусть никто не уйдёт обиженным: часть первая

Reading time10 min
Views215K
Здравствуйте! Я хотел бы представить вашему вниманию отличное введение в квантовую механику, написанное Элиезером Юдковским; быть может, он известен вам по своему сайту lesswrong.com, посвящённому рационализму, предрассудкам, когнитивным парадоксам и ещё многим интересным вещам.
Читать дальше →
Total votes 119: ↑109 and ↓10+99
Comments149

Рассказы о копирайте и интеллектуальной собственности

Reading time3 min
Views47K


Вот уже некоторое время мы с коллегами составляем список художественных произведений на тему копирайт-пиратство. И вот недавно я неожиданно узнал, что пользователь под ником Рыжий Тигра (связаться с ним пока не удалось) тоже давно составляет подобный список, и он нашел таких произведений гораздо больше. Желающие могут ознакомиться с его списком и дополнениями в комментариях по поисковой фразе «хрестоматия копирайта».

Я объединил наши списки, и постарался отбросить наименее интересные работы, которые часто представляют собой просто художественно оформленные споры о копирайте. В итоге получилось около 20 рассказов. Ссылки приведены только для тех работ, которые авторы опубликовали сами, или распространяются по свободным лицензиям (были случаи, когда авторы протестовали против размещения ссылок на произведения). Некоторые вещи написаны профессионалами, некоторые — любителями, в том числе программистами. Не советую читать сразу все подряд, так как тема, в общем-то, одна, и может наскучить, хотя сюжеты и драматические эффекты встречаются весьма разнообразные.
Читать дальше →
Total votes 37: ↑30 and ↓7+23
Comments13

Вдогонку про самолёты и правила

Reading time5 min
Views128K
Собирался написать комментарий, но незаметно вырос целый пост.

Не согласен с половиной пунктов и этого топика, но это мои личные заморочки.
Кроме того, отсутствует самый главный — «Избегайте сдачи чего-либо в багаж любой ценой». Я давным -давно использую во всех поездках исключительно рюкзак и «разгрузки». Причина одна — среди моих знакомых уже, наверное, половина стали жертвами недоставки багажа. Некоторые — даже по два раза.
Таки чего он хочет нам сказать?
Total votes 202: ↑168 and ↓34+134
Comments222

Алгоритмическая неразрешимость – это не препятствие для алгоритмического ИИ

Reading time11 min
Views25K
В замечательном произведении Аркадия и Бориса Стругацких «Понедельник начинается в субботу» есть такой диалог:
– Голубчики, – сказал Фёдор Симеонович озабоченно, разобравшись в почерках. – Это же проблема Бен Бецалеля. Калиостро же доказал, что она не имеет решения.
– Мы сами знаем, что она не имеет решения, – сказал Хунта, немедленно ощетиниваясь. – Мы хотим знать, как её решать.
– Как-то странно ты рассуждаешь, Кристо… Как же искать решение, когда его нет? Бессмыслица какая-то…
– Извини, Теодор, но это ты очень странно рассуждаешь. Бессмыслица – искать решение, если оно и так есть. Речь идёт о том, как поступать с задачей, которая решения не имеет. Это глубоко принципиальный вопрос, который, как я вижу, тебе, прикладнику, к сожалению, не доступен.
Читать дальше →
Total votes 94: ↑89 and ↓5+84
Comments167

String aggregation in the SQL Server world

Reading time4 min
Views51K
На практике, задачи по объединению строк в одну попадаются достаточно часто. Весьма печально, но стандарт T-SQL не предусматривает возможности использовании строковых данных внутри агрегирующей функции SUM:

Msg 8117, Level 16, State 1, Line 1
Operand data type char is invalid for sum operator.


Хотя для решения подобного рода задач, для MySQL была добавлена функция GROUP_CONCAT, а в Oracle LISTAGG. В свою же очередь, SQL Server такого встроенного функционала пока не имеет.

Однако, не стоит рассматривать это как недостаток, поскольку возможности T-SQL позволяют выполнять конкатенации строк более гибко и эффективно за счет применения других конструкций, которые будут рассмотрены далее.
Подробнее
Total votes 8: ↑7 and ↓1+6
Comments6

Видео-курс «Введение в логику» на русском языке

Reading time1 min
Views61K
Здравствуй, Хабр!

Представляю вам курс «Введение в логику», недавно прошедший на Хекслете. Он основан на учебнике по математике Романа Добровенского. Курс состоит из шести лекций общей продолжительностью 2 часа 20 минут.



Первая лекция. Базовые понятия логики, логические операции, наша первая теорема и закон Де Моргана.


Читать дальше →
Total votes 62: ↑61 and ↓1+60
Comments8

События C# по-человечески

Reading time6 min
Views489K

Невозможно, просто взять и вникнуть в этот глубокий смысл, изучая События (event) в просторах базового и, на первый взгляд, бесконечного C#.

Когда я изучал События (не в рамках .NET!), потратил много сил, чтобы, наконец-то, разобраться, как они устроены и должны конструироваться. Поэтому, я решил опубликовать свою методику понимания структуры пользовательского события, коим представляется ключевое слово event в С#.
Не буду цитировать и без того замученную MSDN, а постараюсь объяснить понятно и доступно.
Читать дальше →
Total votes 63: ↑44 and ↓19+25
Comments60

Lightweight Tables или практические советы при проектировании БД…

Reading time9 min
Views22K
В данном топике хотелось бы поговорить о повышении производительности при работе с таблицами.

Тема не нова, но становится особенно актуальной, когда в базе наблюдается постоянный рост данных – таблицы становятся большими, а поиск и выборка по ним – медленной.

Как правило, это происходит из-за плохо спроектированной схемы – изначально не рассчитанной на оперирование большими объемами данных.

Чтобы рост данных в таблицах не приводил к падению производительности при работе с ними, рекомендуется взять на вооружение несколько правил при проектировании схемы.
Подробнее
Total votes 33: ↑29 and ↓4+25
Comments12

Контроллер центральный домашний, всемогущий КЦД-В-2-12

Reading time48 min
Views165K
История появления на свет центрального домашнего контроллера довольно запутанна. Мне кажется, если на секунду отвлечься и представить его в виде зимнего леса (вид сверху), то можно будет увидеть беспорядочные тропинки, плохо замаскированные ямы и, возможно, бродящего где-то в глуши И. Сусанина.

Функционал наращивался постепенно: сначала подключил беспроводные розетки, потом замахнулся на выключатели света. Аппетиты росли — датчики протечки, задымления, дверей, метеодатчики, радиореле и управление AV-техникой. Мастерство росло не так быстро. Поэтому получилось то, что получилось: вещь, бесконечно далекая от гайдлайнов по программированию и устройству электронных схем, но вполне работоспособная.

И знаете что? Меня это устраивает.
Читать дальше →
Total votes 80: ↑76 and ↓4+72
Comments46

А вы тоже ищете зависимости в SQL вручную? Тогда мы идем к вам! SQL Dynamite, поиск по объектам базы

Reading time2 min
Views26K
Привет, уважаемые Хабро-читатели и SQL-писатели. Команда ХостТрекера хочет поделиться полезной утилитой для SQL разработчиков и администраторов.

Какую задачу решаем?


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


Читать дальше →
Total votes 36: ↑31 and ↓5+26
Comments55

Каталогизация и резервирование персонального фотоархива

Reading time7 min
Views42K

В наш век общедоступных зеркальных и беззеркальных камер с разрешением матрицы от 16 мегапикселей и выше домашний фотоархив запросто может стать тем местом, где, как говорится, сам чёрт ногу сломит. В силу одних только размеров хранящихся в нём файлов, фотоархив запросто может забить не только диск ноутбука, но и средних размеров NAS или многодисковый внешний накопитель. Между тем, для фотографа, если он только не «бомбила», едва ли не всякий сделанный снимок имеет ценность; покажется сейчас, что вот эта вот нерезкая штуковина годится только для корзины, ан нет — через пару лет выяснится, что из этого снимка может выйти неплохой коллаж! О ностальгических воспоминаниях, привезённых в цифровом формате из Франции, Египта, с последнего звонка, со свадьбы троюродного брата первой тёщи в деревне Малые Дозы и так далее — я вообще не упоминаю. Это проходит по категории «хранить вечно».

Читать дальше →
Total votes 24: ↑18 and ↓6+12
Comments60

План обслуживания «на каждый день» – Часть 1: Автоматическая дефрагментация индексов

Reading time7 min
Views129K


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

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

Среди подобных задач можно выделить следующие:

1. Дефрагментация индексов
2. Обновление статистики
3. Резервное копирование

Рассмотрим по порядку автоматизацию каждой из этих задач.
Подробнее
Total votes 15: ↑13 and ↓2+11
Comments27

Metasploit Penetration Testing Cookbook – часть 7

Reading time14 min
Views46K

Перевод седьмой части книги «Metasploit Penetration Testing Cookbook»


metasploit cookbook

Глава 7. Работа с модулями


В этой главе изучим следующее:
  • Работа со вспомогательными скан-модулями
  • Работа со вспомогательными админ-модулями
  • SQL injection и DOS модули
  • Пост-эксплуатационные модули
  • Основы создания модулей
  • Анализ модулей
  • Создание пост-эксплуатационного модуля

Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments13

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity