1

Этап 1

Перестать пользоваться MS Access

2

Этап 2

По теории

3

Этап 3

Тренировки на кошках

4

Этап 4

Конкретные реализации 1. Раскурить SQLite

5

Этап 5

Конкретные реализации 2. Раскурить MySQL

6

Этап 6

Конкретные реализации 3. Раскурить PostgreSQL

7

Этап 7

Боевые задачи

1

Этап 1

Перестать пользоваться MS Access

2

Этап 2

По теории

3

Этап 3

Тренировки на кошках

4

Этап 4

Конкретные реализации 1. Раскурить SQLite

5

Этап 5

Конкретные реализации 2. Раскурить MySQL

6

Этап 6

Конкретные реализации 3. Раскурить PostgreSQL

7

Этап 7

Боевые задачи

03 декабря 2015 06 октября 2016
Цель просрочена на 3111 дней

Цель заброшена

Автор не отписывался в цели 8 лет 6 месяцев 29 дней

Автор цели

Карьера и работа

Уметь в базы данных

У меня есть небольшой опыт работы с базами данных. Но это пара небольших курсовых в универе с Postgre ну и сейчас чуть побольше база MS Access на работке.

Ну в общем понарошку это всё как бы. Хочу уметь в базы данных по-пацански.

Насчёт пунктов: будет добавляться.

  1. Перестать пользоваться MS Access

  2. По теории

    "Введение в системы баз данных" К. Дж. Дейт

  3. Тренировки на кошках

    1. SQLBolt

    2. http://www.sql-ex.ru

  4. Конкретные реализации 1. Раскурить SQLite

    1. Начитаться

    2. Запилить БДшку

    3. Запилить приложение, работающее с этой БДшкой

  5. Конкретные реализации 2. Раскурить MySQL

    1. Начитаться

    2. Запилить БДшку

    3. Запилить приложение, работающее с этой БДшкой

  6. Конкретные реализации 3. Раскурить PostgreSQL

    1. Начитаться

    2. Запилить БДшку

    3. Запилить приложение, работающее с этой БДшкой

  7. Боевые задачи

    1. Запилить преферанс и куртизанок в своей БД

    2. Запилить преферанс и куртизанок в своей БД v.2.0

    3. Запилить преферанс и куртизанок в своей БД v.3.0

  • 4930
  • 03 декабря 2015, 20:58

Дневник цели

Комментарии

Dreamer07.07.2019

Как идут дела?

252день

Запись к этапу «Запилить преферанс и куртизанок в своей БД.»

leleg10 авг. 2016, 13:37

Так или иначе, я запилил некоторый преферанс и куртизанок в свою БД. Далее по плану - раскурить SQLite и запилить преферанс и куртизанок v2.0. Но это уже https://i.ytimg.com/vi/gF060AIFiB8/hqdefault.jpg

228день

Запись к этапу «Раскурить SQLite»

leleg17 июля 2016, 21:09

Искал по интернетам, с чего бы начать начинающему С/С++ говнокодеру обмазываться в базы данных в контексте взаимодействия приложений с ними. Лазая по разным местам, набрёл на совет "начать с SQLite". На хабре нашёл статью, где немного рассказывается про её основные особенности и плюшки. Так же показан небольшой пример кода на Си, чтоб показать как оно шпили-вили. Скопировал, запустил, взлетело. Ну из интересного тут то, что она как бы встраиваемая (нет сервера) и с открытым исходным кодом. Т.е. включив в свой проект пару файлов (заголовочный и исполняемый), я сделаю так, что моя программуля смогёт в полноценную реляционную базу данных. Ещё интересная особенность - тип столбца не определяет тип хранимого значения, то есть в любой столбец можно занести любое значение. Самое необычное, имхо, - нельзя удалить или изменить столбец в таблице (ALTER TABLE DROP COLUMN…, ALTER TABLE ALTER COLUMN… ). Делается оно таким макаром: создаётся временная копия таблицы в RAM, старая таблица удаляется, создаётся новая на винте с требуемыми изменениями по столбцам, из временной таблицы в RAM изменения копируются в новую таблицу на винте... Как-то так.

Имеется консольная утилита от разработчиков, также существует куча прочих с гуи.

Что интересно (на будущее), имеется расширение для spatial data https://en.wikipedia.org/wiki/SpatiaLite

В принципе, в базовый SQL я умею, могу создавать/изменять таблицы, заливать в них данные, писать хитрые и не очень селекты. Думаю, на первых порах этот вариант мне подойдёт для разработки моего говноприложения на С++, которое должно уметь в базку данных (локальную). Собственно, включил в качестве этапа "раскурить SQLite". Под этим подразумеваю более-менее разобраться с API.

211день

Запись к этапу «Запилить преферанс и куртизанок в своей БД.»

leleg30 июня 2016, 13:27

С месяцок назад я тут написал, что мной был обнаружен некий потолок. Ну дык вот вам моя

Феласофская телега с претензией на что-нибудь (чтоб быть интересной мыслью. или съесть конфету. или... взобраться на твою мамку азазаза)

Когда усердно и с пристрастием работаешь в каком-то ремесле, рано или поздно ты достигнешь потолка. Потолка этого ремесла. Быть может, затем ты пробьёшь этот поток, сотворив тем самым что-то новое, ранее невиданное и чудесное.

Ты, возможно, и сейчас усердно трудишься в своём ремесле. И даже если ты делаешь это не правильно, ты всё равно достигнешь потолка. Но, увы, если ты делаешь не правильно, тебе не удастся пробить потолок. И тогда в какой-то момент ты осознаешь, что у тебя всё шиворот-навыворот, всё с ног на голову. И этот потолок на самом деле - пол. Точнее дно. Днище. DNIWE EBANOE111!один

Загрузить 3 комментария
leleg04.07.2016

Лена, не, не буду никого убивать, живи да радуйся, цветочки нюхай :)

Здесь не исключение, реляционная модель подходит отлично. Просто я, за неумением (пока что) воспользоваться другими более эффективными инструментами, слишком многого запросил от вот этой вот майкрософтовской функциональной надстройки над базовым SQL (ну, местный диалект). Оно всё делает, но медленно, потому что запросы работают над неоправданно большими массивами данных (но по-другому в таком варианте и не выйдет).

Как я и писал ранее, по-нормальному производить расчёты траекторий межзвёздных летательных аппаратов и заниматься построением моделей искривления пространства-времени должно приложение, написанное на ЯВУ. А СУБД должна 1 - по запросу выдавать исходные данные для расчётов, 2 - по запросу принимать новые данные для записи и 3 - проверять целостность хранимых данных в рамках конкретной реляционной модели и масштабах её компетенции. А вычислять при помощи СУБД что-то сложнее чем (y == (a * x + b) ? true : false) это - копать в сторону дна.

... Нападла. Да, занятно звучит :)

Лена04.07.2016

"за неумением (пока что) воспользоваться другими более эффективными инструментами" - это и для меня бич божий. Читаешь, вроде все здорово - да! Это оно! Начинаешь применять - а тот, кто писал, видимо, пошутил просто... или сам не до конца в теме.. или писать не умеет... И медленно но уверенно, с каждой написанной строчкой кода, с каждой реализованной подзадачей понимаешь, что это все надо (...). переписывать, потому что инструмент не тот.... это действительно дно. Писать дальше - руки ни разу не лежат, выдавливаешь из себя, потому что бросить на пол пути тоже провалу подобно... а потом это время записываешь в категорию "про..л", хотя и знаешь, что на самом деле это не так... Я день-другой отдыхаю, чищу перышки и берусь дальше время тратить... Увлечение у нас такое... с сюрпризами. За что я это все и люблю, наверное....

leleg04.07.2016

Лена, ну да, пожалуй две самые распространённые ошибки в начале проектирования, которые сразу поворачивают проект в сторону дна: 1 - уродливая архитектура, неадекватная объекту моделирования; 2 - НЕ ТОРТ инструмент для реализации. Причём здесь имхо работает логическое "или". Или что-то одно из этого, или оба сразу и... результат предсказуем.

Ну да, умом-то понимаешь, что надо научиться пользоваться пылесосом. А тут такая шляпа, что надо чтобы уже было готово ещё вчера. И срочно берёшь, такой, в руки зубную щётку начинаешь в спешке мыть ею палубу авианосца. В итоге получается уродливый мутант, который не несмотря, но вопреки, работает!

З.Ы. Кстати, я сегодня "придумал" как костыльнуть, чтоб сделать ещё уродливее, но при том чтоб ещё можно было поработать с этим некоторое время ;) Нашёл ямку в дне лул )

173день

Запись к этапу «Запилить преферанс и куртизанок в своей БД.»

leleg23 мая 2016, 11:47

Слишком сложный запрос

Пару недель ушло на поиск и исправление ошибок в данных. Зато теперь они корректные.

Однако, работает медленно, ибо так оно не должно делаться... У меня голая база ms access, всякие овер9000 вычислений делаются внутри 100500 запросов, вложенных друг в друга. В итоге опытным путём мною был обнаружен потолок такого подхода. Он на прикреплённом жпг-файле. Насколько я себе представляю, у нормальных людей так быть не должно. Оно должно быть как-то вот так: есть БД и есть приложение, к ней подключающееся, написанное на ЯВУ и всё такое прям объектно-ориентированное, что аж умеет и могёт чуть более чем всё в рамках всех поставленных задач. Всякие дикие траектории космических летательных аппаратов и искривления пространства-времени рассчитывает именно приложение, а СУБД выполняет лишь простенькие и крайне примитивные запросы по выдаче/манипуляции/записи данных, без сумасшедших вложений и вычислений, зато быстрые и эффективные... Но я пока тут сам себе сам и мне ещё пока позволительно немного поковыряться в песочнице.

На ближайшее будущее планирую запилить на С++ пару небольших программ (они должны облегчить мою работку), которые будут осуществлять некоторые полезные штуки с файлами в формате csv, полученными из вот этой вот "детсадовской", но всё-таки рабочей, базы данных.

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

138день

Запись к этапу «Запилить преферанс и куртизанок в своей БД.»

leleg18 апр. 2016, 13:09

За последние недели 3 мной в моей базке MS Access мной было понаписано тысячи 1.5 - 2 строк всяких разных SELECTов. В том числе нужного строк на 500. Есть некоторый прогресс. Наконец получил то, что хотел - > полученная модель позволяет хранить данные в нормальной форме (без всякой двоякости), что хорошо в плане целостности. Однако, местами не очень хорошо в плане производительности. Но, если ковырять, думать, потом читать, потом снова думать, а потом опять ковырять, то в процессе вынимания рук из ж*** и их последовательного выпрямления, выпрямляются и ускоряются SELECTы, набранные этими самыми руками.

Насчёт моей книжки по MySQL. Какая-то она тоненькая... Ну да, там написано, что Линукс - хорошо, написано как сделать себе гомункула LAMP, но совсем мало по теории. Мне, нубу, нужно что-нибудь более кирпичное. Ну и да, у MySQL много больше возможностей, но я пока не готов переползти.

106день

Запись к этапу «Запилить преферанс и куртизанок в своей БД.»

leleg17 мар. 2016, 13:17

Есть один простой (а может и нет) вопросик к тем, кто хорошо умеет в SQL, но до него сегодня так и не дошли руки из задницы. Попозже напишу, а то там картинку нарисовать надо, наверно. А сейчас всё бегом...

Руки не дошли, так как у нас тут на одном из объектов сменился арендатор и надо было быстренько слячкать новый договорчик. А чтоб не писать туда фигни, я решил, что настало время Валеры заглянуть-таки в кое-какие изменения в законодательстве. В том числе в части расчёта пеней за просрочки по платежам за ЖКУ. И я кое-что вспомнил. А заодно вот, решил, поделиться кое-какой информацией с вами, так как ЖКУ касаются почти каждого. А я чуть ли ни инсайдер чтоль...

1. Платёжный документ (квитанция) за ЖКУ выставляется в конце каждого расчётного периода (1 месяц) и направляется потребителю для оплаты.

2. На платёжном документе указывается срок оплаты (10 дней после окончания расчётного периода). После, уже считается как просрочка платежа.

3. НО! В течение первых 30 дней просрочки платежа физ.лицам пени НЕ НАЧИСЛЯЮТСЯ согласно законодательству эрэфии. п.14 ст. 155 ЖК РФ. Начисление пеней начинается с 31 дня в размере 1/300 ставки рефинансирования за каждый день просрочки (ну а с 91 дня аж в размере 1/130 ставки рефинансирования).

4. Пени на пени не начисляются. Так-то.

Однако, многие исполнители (ТСЖ, управляющие компании и вот эти вот все ребята), частенько забивают на пункт 3 этого списка (да и на 4 тоже), и лупят пени сразу с первого дня. Что не законно. У меня так Гуф умер совсем недавно было. Пришла квитанция за январь, срок оплаты - 10 февраля. Но было много всяких мелких дел, и оплатили мы её на пару-тройку дней позже. Что же вы думаете? В квитанции за февраль появились пени на 5 с чем-то там рублей. Я их платить не стал, оплатил только сумму начислений. Мне не жалко 5 рублей, но это вопрос принципа. Посмотрим, что будет в квитанции за март, а там уже решу, как с ними действовать дальше (интересно, начислят ли нам пени на пени?).

Алсо есть ещё много прецедентов такого рода (и иного) рода безобразия в ЖКХ, но это уже совсем другие истории. Будьте здоровы! И будьте внимательны - не позволяйте всяким беспредельщикам грабить себя даже на 5 с чем-то там рублей.

98день

Запись к этапу «Запилить преферанс и куртизанок в своей БД.»

leleg9 мар. 2016, 09:20
Продолжаю фрезеровку по фекалиям.

Из хорошего: вроде более-менее определился, что нужно запилить в рамках этого безобразия, чтоб можно было меньше работать ту же самую работу, а высвобожденное время использовать для изучения вундерфали всякого.
З.Ы. Когда начинаешь немножко обмазываться SQL, некоторое из того, что предлагает MS, становится ненужным, вплоть до того, что это можно классифицировать как "ограбление корованов".

91день

Запись к этапу «Запилить преферанс и куртизанок в своей БД.»

leleg2 мар. 2016, 00:43
The book told me to kill you then myself

Книжка научила меня в SELECTы. Я пока не умею в базы данных, но теперь стал более лучше одеваться уверенно чувствовать себя при написании больших и толстых (с килограммами вложенных) SELECTов, которые всю БД туда-сюда и в хвост и в гриву.

Алсо-таки перепилил план цели про преферанс и куртизанок и добавил сюда уже в качестве полноправного пункта, а не просто как ссылочку.

Продолжаю существовать.

86день

Запись к этапу «Для продолжала: Осилить "Руководство по MySQL", Тахагхогхи С.»

leleg26 февр. 2016, 12:26

Осилил ещё пару глав из руководства по MySQL: "Работа в MySQL" и "Управление пользователями и привилегиями". Типа в каше из всяких сведений и отсутствием чёткого осознания, куда и что из этого мне применить... Как по улице бежать в трёх ботинках. Два на ногах и один в заднице. Алсо, отличный день для того чтоб взять, и перестать существовать.

В БД, которая у меня на работке (в которую нужно блэкджек и шлюх преферанс и куртизанок), сильно всю структуру перепилил. Да и круг задач чуть поменялся и утрясся. Да и методы чуть-чуть поменялись. Да в общем всё другое теперь. Нужно из этого 2 базы сделать. Или 3. Или ни одной. А ещё нужно соответствующую цель соответственно перепилить. Ну и временные рамки сделать. И перестать существовать.

Загрузить 3 комментария
Лена26.02.2016

someGuy, Средствами php - там все довольно неплохо. Есть библиотеки по управлению БД, которые не привязаны к конкретной реализации, тоже PDO к примеру - создается объект подключения при помощи которого выполняются запросы. В параметры передается имя бд, пароль пользователя, кодировка. Дальше программиста ничего не колышет. Таким образом, если приложение случайно вырастет до вселенских масштабов, поменять бд на более быструю-удобную станет меньшим напрягом, чем поменять бд и переделывать права... Я где-то так это понимаю. Вообще, как обычно, это делают разными способами, выбор которых зависит от конкретной ситуации...

PS мы наверное не совсем правильно друг друга поняли - я имела в виду нативные права в sql-bd... Насколько я знаю, ими не очень пользуются....

Вы тоже можете
опубликовать свою
цель здесь

Мы поможем вам ее достичь!

310 000

единомышленников

инструменты

для увлекательного достижения

Присоединиться
Регистрация

Регистрация

Уже зарегистрированы?
Быстрая регистрация через соцсети
Вход на сайт

Входите.
Открыто.

Еще не зарегистрированы?
 
Войти через соцсети
Забыли пароль?
Love
Дарья
Александр
Лена
Roman T
Лена
Лена
Лена
Лена
leleg
Лена
Лена
Лена
Лена
Лена
Лена
Лена
leleg