Снова возвращаюсь в нормальное состояние. Сменили комп, поставил линупс, теперь вот все почти делаю в консоли, в ней же работаю с свн и гит, правлю код в виме, бд тыкаю тоже из консольного клиента. Выучил команду для открытия из консоли в гуе файлов, которые по-другому не посмотреть (офис например). Осталось из шелла научить в багтрекер писать и почту аутлуковую читать.
Подскажите. Вот у меня есть питоновский код, часть его генерится в рантайме на основе описания апи. Как мне сгенерировать, допустим, *.pyc файлы, чтобы в них попали сгенерированный функции и не требовалось тащить описание api.
Описывать апи базы в json было однозначно правильным решением. Теперь за день кодинга у меня есть код, который может работать как в ораклом, так и с мускулом не взирая на соответствие типов и разнле именование методов. Еще и help() выдает красиво инфу по всем объектам и их методам. Вот бы еще прикрутить чтобы хелп параметры функций нормально выдавал, а не так как я их реально обрабатываю.
Второй день на работе пишу на питоне. Полностью забил на свои обязанности как руководителя и полностью погрузился в рефакторинг. Даже после уонца рабочего дня код не отпускает.
Гребаный микрософт. Где нормальные клиенты под EWS? Почему приличные гуевины не имеют поддержки его протокола? Может потому, что его спека занимает несколько тысяч страниц? Или лицензионные ограничения?
Наконец у меня нормальная ОС на рабочем компе. Можно сидеть в шелле, ставить проги из репозиториев. А на крайний случай есть оффтопик в виртуалке.
Который раз пытаюсь понять RxJava, ничгео в голове не сходится. И тут путем допроса знакомых до меня дошло: Observable в Rx не имеет никакого отношения к паттерну Observer и не уведомляет об изменениях
Ищу ios разработчика!
The Changelog 201 просто прекрасен.
Ричард Хипп рассказывает, как он создал и поддерживает SQLite (кстати, произносится эс-кью-эл-айт, как минерал).
Вообще просто шикарные подробности: Ричард писал программу на tcl в 90-е и работал с информиксом периодически сеть отваливалась, программа выдавала "Can't connect to database" и ему звонили за поддержкой, мол программа сломалась. В итоге его заебало и он решил, что в жопу этот клиент-сервер, ща на коленке сделаем костылик и тупо в файлик сохраним. Ну и досохранялся.
Ещё позабавил момент про тред/процесс. Типа ведущие ему
— А вот mysql embedded заводит отдельный тред, к которому можно цепляться и командовать им, балансировка там, вот это всё, а sqlite ничего такого не делает и за счёт отсутствия оверхеда работает быстрее на многих применениях (без большого write concurrency), как вы додумались до столь крутой оптимизации?
а он такой
— Ну… Вы понимаете, mysql писали реальные db-эксперты, теория баз данных однозначно говорит, что так надо, поэтому у них правильная реализация, а когда я писал sqlite мне никто не сказал, что надо делать тред, а эксперт по базам данных из меня так себе, поэтому сделал тупо в лоб. Ну а то, что быстрее — вообще я не виноват, лол
И слоган меня порадовал "We do not compete with Oracle. We compete with fopen()"
Короче, всем слушать, как надо делать опенсорц.
На фоне обычного пафоса их гостей, которые рассказывают про инвестиции и серьёзным тоном вещают про захват рынка и долю в корпорации, Ричард как делает sqlite, так и в подкаст пришёл с таким вот лицом https://encrypted-tbn1.gsta...BI-6Ng35kTi2DX4sECzw
Написали про нас:
http://www.rbc.ru/technolog...d3824a7ee1?from=main
Моя мини-либа по сворачиванию json таки доступна в jcenter.
Описание и инструкции тут: https://github.com/Tishka17/gson-flatten
Жара, двадцать пять.
Легкий дождик прошел
Во мне бокал пива
И мне хорошо
Гуляю по городу
Иду налегке
Сквозь незнакомый район
Добираюсь к реке
Там люди, там праздник
Неделя прошла
Там все отдыхают
Танцует душа
На телефон стало на один мессенджер больше - добавился kakao talk.
Не могу не процитировать ответ представителя одной компании по поводу использования их портала вместо excel-файла в качестве багтрекера:
Вы вполне можете использовать *** портал, что добавит несколько уровней в коммуникацию и точно не ускорит процесс. Поверьте, сейчас Вы работаете практически внутри проекта и XLS файл является "отражением" внутренней системы разработки. Задачи <имя нашей компании> имеют наивысший приоритет. Это эксклюзивный уровень поддержки!
Вчера неплохо покодил перед сном. Три часа убил на казалось бы простую задачу: при парсинге json сворачивать вложенные объекты. То есть из json вида {a: {x:100}}
делать объект {y:100}
Уже засыпая понял, как сделать на порядок проще. Сегодня допилю сериализацию и выложу. Фактически, добавилась аннотация @Flatten
, а так же необходимо зарегистрировать парсер в gson-объекте. Использовать в духе:
Class MyClass {
@Flatten("a::x")
int y;
}
В отличие от найденных в интернете решений, позволяет мерджить несколько полей из вложенных объектов, а так же не требует оберток вокруг результирующего типа.
Сегодня еще погоняю с кастомными типами и наверно на днях буду учиться выкладывать это в jcenter.
Так. ребят. Выпускаю апдейт, но пока хз, как он отработает.
Поскольку последние мои потуги по изучению матчасти говорят о том, что надо капитально переписывать ВСЁ, апдейт по текущему состоянию кода может быть последним, а дальше начнется чуть ли не с нуля.
Короче.
Есть немного кеша (кешируется вся последняя загруженная лента). То, о чем просил Veresk (загружать не только кеш, но и позицию прокрутки, типа "ничего и не умирало") может работать нестабильно. В любом случае, кеш загрузится, а в худшем случае позиция прокрутки не сохранится.
Было проведено дохрена работы по стабилизации и рефакторингу, оно должно возыметь эффект.
Улучшено отображение мракдауна.
Прошу извинить, если что не так с кликабельностью ссылок. При отключенном эконом-режиме они в любом случае выносятся заголовками с кнопками перехода.
APK может быть больше в размере, чем обычно. Лишние библиотеки будут выпиливаться, потерпите. Сейчас голова банально не там.
Короче, не казните, ежели чо.
В любом случае, можно открывать баги по адресу https://github.com/torgash-...blch/DasPoint/issues
я их получу по СМС незамедлительно.
https://play.google.com/sto...int.torgash.daspoint
Потратил весь вечер на написание парсера для gson. В результате, сотворил свои аннотации, а пасрер так и не работает. Падает с segfault. А казалось бы, джава.