Мы не любим ложь, мы ненавидим когда нас обманывают и ненавидим тех, кто нас обманывает. Праведный гнев охватывает нас, когда понимаем, что стали жертвой обмана. И в то же время мы постоянно лжём. Мы, люди - чемпионы по вранью. Лгут родители и лгут дети, лгут жены и лгут мужья, лгут политики, врачи, священники. Конечно же, лгут торговцы и мошенники. С одной стороны мы постоянно лжём, с другой стороны мы ненавидим ложь. Почему у нас двойные стандарты по отношению ко лжи. И откуда она, кривда, взялась?
Михаил Емельянов @sepulkary
Бэкенд программист
Данные по-прежнему важнее
6 min
7.5KTranslation
Вот цитата из Линуса Торвальдса за 2006 год:
Что очень похоже на «правило представления» Эрика Реймонда от 2003 года:
Здесь просто резюме идей, подобных мысли Роба Пайка от 1989 года:
Я огромный сторонник разработки кода вокруг данных, а не наоборот, и я думаю, что это одна из причин, по которой git был довольно успешным… По сути, я утверждаю, что разница между плохим программистом и хорошим заключается в том, считает ли он более важным свой код или свои структуры данных. Плохие программисты беспокоятся о коде. Хорошие программисты беспокоятся о структурах данных и их взаимоотношениях.
Что очень похоже на «правило представления» Эрика Реймонда от 2003 года:
Сверните знания в данные, чтобы логика программы стала глупой и надёжной.
Здесь просто резюме идей, подобных мысли Роба Пайка от 1989 года:
Доминируют данные. Если вы выбрали правильные структуры данных и всё хорошо организовали, то алгоритмы почти всегда будут самоочевидными. Структуры данных, а не алгоритмы, играют центральную роль в программировании.
+26
Делаем «mindmap» на Javascript с локальным хранением в базе данных браузера
25 min
56KЭто небольшой учебный пример редактора карты памяти. За счёт очень подробных комментариев и простого кода, понять его не составит проблем. Статья предназначена для знающих и изучающих Javascript.
Я опишу особенности создания редактора карты памяти, который использует базу данных браузера. Причём, это будет не LocalStorage, который не может превышать 5 мегабайт. Объём данных сможет превысить 100-200 мегабайт, так как используется IndexedDB или webSQL, смотря что доступно в конкретном браузере.
Исходники выложены в открытый доступ на Github.
Мы уложимся в 520 строк кода, при этом в нашей карте можно будет перетаскивать узлы между собой, удалять, переименовывать и создавать новые. А также можно будет назначать одну из 120 иконок через контекстное меню.
Секрет минимализма в том, что мы будем использовать проверенные в бою плагины:
- Ydn.db — хранение информации в базе данных браузера с автоматическим выбором лучшего метода и единым API
- jQuery context menu — контекстное меню, которое можно наполнять динамически при помощи Javascript
- jsPlumb — расширение позволяющее рисовать линии между HTML элементами
- jQuery UI — Drag&drop — перетаскивание элементов между собой
PS: Также мы научимся создавать «синглтон», облегчать себе асинхронное программирование при помощи jQuery и встроенного объекта $.Deferred(), а также при помощи плагина LiveReload, сохраним краску на клавише F5 при изменении свойств CSS и кода в HTML и Javascript.
+100
Custom layouts. Part 2. CellLayout
10 min
23KИ снова здравствуйте, коллеги.
И снова я пожаловал к вам с топиком кастомной разметки. На этот раз, я задумал сделать некую “ячейчатую” разметку.
Смысл прост: вся площадь контейнера делится на сетку из квадратных ячеек одинакового размера, и каждый потомок может занять произвольные клетки на этой сетке. Используя подобную разметку можно составлять красивую мозаику из кнопок или картинок, не прибегая к многочисленным вложенным layout’ам. И, поскольку, это специально заточенный для этих целей layout, он будет работать очень шустро.
И снова я пожаловал к вам с топиком кастомной разметки. На этот раз, я задумал сделать некую “ячейчатую” разметку.
Смысл прост: вся площадь контейнера делится на сетку из квадратных ячеек одинакового размера, и каждый потомок может занять произвольные клетки на этой сетке. Используя подобную разметку можно составлять красивую мозаику из кнопок или картинок, не прибегая к многочисленным вложенным layout’ам. И, поскольку, это специально заточенный для этих целей layout, он будет работать очень шустро.
+26
Information
- Rating
- Does not participate
- Location
- Уфа, Башкортостан(Башкирия), Россия
- Date of birth
- Registered
- Activity
Specialization
Backend Developer, Embedded Software Engineer
Lead
From 240,000 ₽
Python
C
C#
PostgreSQL
Linux
Fastapi
SQLalchemy