Разработка → Семантическое управление версиями 1.0.0-rc.1
В мире разработки программного обеспечения, существует страшное место, называемое «ад зависимостей». Чем больше ваша система, тем больше шанс, что в один из дней вы попадете в эту ловушку.
В системе с большим количеством зависимостей, выпуск новых пакетов может быстро превратиться в кошмар. Если зависимости слишком прочные, вы не можете обновить пакет, не обновив при этом версии всех зависимых пакетов. Если зависимости слишком свободные, у вас возникнут проблемы с распущенностью версий. «Ад зависимостей», это когда слишком прочные, или наоборот, слишком свободные зависимости не дают вам легко и безопасно развивать ваш проект.
В системе с большим количеством зависимостей, выпуск новых пакетов может быстро превратиться в кошмар. Если зависимости слишком прочные, вы не можете обновить пакет, не обновив при этом версии всех зависимых пакетов. Если зависимости слишком свободные, у вас возникнут проблемы с распущенностью версий. «Ад зависимостей», это когда слишком прочные, или наоборот, слишком свободные зависимости не дают вам легко и безопасно развивать ваш проект.
Qt Software → Компиляция QT-программы под Windows — зависимости
Ради интереса решил пощупать Qt.
Соответственно, скачал Qt Creator, создал проектик, поигрался с экшнами и прочим. И захотелось проектик этот собрать в .exe-файл.
Дебаг в рамках Creator выполнялся идеально, а вот после Build — .exe выдал мне требование зависимости mingwm10.dll.
Полез в Google, и после некоторого времени поиска сообразил скопировать
C:\QT\QTCreator\bin\mingwm10.dll, а так же
C:\QT\QTCreator\qt\bin\QtCore4.dll
C:\QT\QTCreator\qt\bin\QtGui4.dll
в папку с билдом. Только после этого и заработало.
Но остаётся проблема последующего распространения программы. Неужели для того, чтобы передать другому человеку своё творение размером в 100 килобайт, надо делать инсталлер, чтобы закидывать вышеуказанные файлы в System32?
Уважаемые знатоки, просвятите меня — разве никак нельзя собрать проект вместе с зависимостями?
Может, как-то можно уменьшить объём 13-ти мегабайт библиотек для работы 100 килобайтной программы?
UPD: Знатоки пишут, что библиотеки обязательны.
Выбор невелик тогда — или паковать NSISом (получилось 4.5 мегабайта на пустой проект), или же делать сетевой инсталлер с вспомогательной программкой, которая будет тянуть зависимости, или же делать solid — как есть.
Даже если собирать библиотеки static — то получится просто раздутый .exe-файл
Соответственно, скачал Qt Creator, создал проектик, поигрался с экшнами и прочим. И захотелось проектик этот собрать в .exe-файл.
Дебаг в рамках Creator выполнялся идеально, а вот после Build — .exe выдал мне требование зависимости mingwm10.dll.
Полез в Google, и после некоторого времени поиска сообразил скопировать
C:\QT\QTCreator\bin\mingwm10.dll, а так же
C:\QT\QTCreator\qt\bin\QtCore4.dll
C:\QT\QTCreator\qt\bin\QtGui4.dll
в папку с билдом. Только после этого и заработало.
Но остаётся проблема последующего распространения программы. Неужели для того, чтобы передать другому человеку своё творение размером в 100 килобайт, надо делать инсталлер, чтобы закидывать вышеуказанные файлы в System32?
Уважаемые знатоки, просвятите меня — разве никак нельзя собрать проект вместе с зависимостями?
Может, как-то можно уменьшить объём 13-ти мегабайт библиотек для работы 100 килобайтной программы?
UPD: Знатоки пишут, что библиотеки обязательны.
Выбор невелик тогда — или паковать NSISом (получилось 4.5 мегабайта на пустой проект), или же делать сетевой инсталлер с вспомогательной программкой, которая будет тянуть зависимости, или же делать solid — как есть.
Даже если собирать библиотеки static — то получится просто раздутый .exe-файл
Веб-разработка → Объединение JS-файлов 2.0 (2/2)
Часть 1.
Итак, в конце прошлой части мы оставили нового пользователя наедине
со единственным JS-файлом, не включающем ничего лишнего. Стал ли при этом
пользователь счастливее? Ничуть. Наоборот, в среднем
пользователь1 стал более несчастным, чем раньше, а причина этому —
увеличившееся время загрузки страницы.
Итак, в конце прошлой части мы оставили нового пользователя наедине
со единственным JS-файлом, не включающем ничего лишнего. Стал ли при этом
пользователь счастливее? Ничуть. Наоборот, в среднем
пользователь1 стал более несчастным, чем раньше, а причина этому —
увеличившееся время загрузки страницы.
Веб-разработка → Объединение JS-файлов 2.0 (1/2)
В последнее время стало модно объединять все внешние Javascript-файлы вашего сайта в один большой, загружаемый один раз и навсегда. Это, скажем прямо, хорошо — браузер не делает сто миллионов запросов на сервер для отображения одной страницы 1, скорость загрузки повышается, пользователи счастливы, разработчики отдыхают.
Как всегда, в бочке мёда есть ложка дёгтя — в объединённый файл в этом случае попадает много того, что при первом запросе можно было бы и не загружать.2 Здесь должна была быть ссылка на хабратопик с соответствующим обсуждением. Успешно потеряна. Чаще всего для борьбы с этим предлагают выкидывать ненужные части руками… Лично у меня перспектива каждый раз перелопачивать несколько десятков (а то и сотен 3) килобайт Javascript кода вызывает острое нежелание работать — а у вас?
под катом: описание простейшего алгоритма разрешения зависимости между модулями
Как всегда, в бочке мёда есть ложка дёгтя — в объединённый файл в этом случае попадает много того, что при первом запросе можно было бы и не загружать.2 Здесь должна была быть ссылка на хабратопик с соответствующим обсуждением. Успешно потеряна. Чаще всего для борьбы с этим предлагают выкидывать ненужные части руками… Лично у меня перспектива каждый раз перелопачивать несколько десятков (а то и сотен 3) килобайт Javascript кода вызывает острое нежелание работать — а у вас?
под катом: описание простейшего алгоритма разрешения зависимости между модулями
GTD → Нужна помощь!
Здравствуйте!
Это пишу я, автор статьей «Легкий способ борьбы с ленью» и «Легкий способ избавиться от привычек, зависимостей, а также вставать по утрам».
Недавно я получил от издательства «Добрая книга» (которое издает книги Аллена Карра) предложение о написании полноценной книги «Легкий способ борьбы с ленью».
Поэтому большая просьба тем, кому мои методики помогли: напишите, пожалуйста, о том, как они вам помогли (либо какие вопросы в связи с ними возникли). Эти результаты и ответы на эти вопросы я включу в книгу (разумеется, с упоминанием (если разрешите) персон, а также Хабра :) ). Также это сильно мне поможет в ее написании.
Жду ваших отзывов! Можете писать мне здесь или на e-mail: dilesoft@dilesoft.ru.
Это пишу я, автор статьей «Легкий способ борьбы с ленью» и «Легкий способ избавиться от привычек, зависимостей, а также вставать по утрам».
Недавно я получил от издательства «Добрая книга» (которое издает книги Аллена Карра) предложение о написании полноценной книги «Легкий способ борьбы с ленью».
Поэтому большая просьба тем, кому мои методики помогли: напишите, пожалуйста, о том, как они вам помогли (либо какие вопросы в связи с ними возникли). Эти результаты и ответы на эти вопросы я включу в книгу (разумеется, с упоминанием (если разрешите) персон, а также Хабра :) ). Также это сильно мне поможет в ее написании.
Жду ваших отзывов! Можете писать мне здесь или на e-mail: dilesoft@dilesoft.ru.
GTD → Легкий способ избавиться от привычек, зависимостей, а также вставать по утрам
(Эта статья хорошо работает в связке со статьей «Легкий способ борьбы с ленью».)
У меня было две серьезных проблемы. Первая: я был зависимым от интернета и от чтения книг. Чуть что кидался к компьютеру или книжке и читал их по несколько часов в день. И ладно бы читал что-нибудь новое и полезное, нет, я тупо перечитывал одно и то же и даже просто водил туда-сюда полосу прокрутки браузера.
Вторая я поздно вставал по утрам. Будильник меня пробуждал, да, но, несмотря ни на какие внутренние аргументы, я снова впадал в сон.
Я долго думал, мучался, спорил с собой, но мне ничто не помогало. Я читал о самых разных способах контроля над собой (и придумывал их сам), но они либо не помогали, либо давали временный эффект.
И в какой-то момент мне пришла в голову удивительная в своей простоте идея.
У меня было две серьезных проблемы. Первая: я был зависимым от интернета и от чтения книг. Чуть что кидался к компьютеру или книжке и читал их по несколько часов в день. И ладно бы читал что-нибудь новое и полезное, нет, я тупо перечитывал одно и то же и даже просто водил туда-сюда полосу прокрутки браузера.
Вторая я поздно вставал по утрам. Будильник меня пробуждал, да, но, несмотря ни на какие внутренние аргументы, я снова впадал в сон.
Я долго думал, мучался, спорил с собой, но мне ничто не помогало. Я читал о самых разных способах контроля над собой (и придумывал их сам), но они либо не помогали, либо давали временный эффект.