Category: it

Category was added automatically. Read all entries about "it".

волк на фоне солнца

Крестики нолики с историей ходов (видео)

Для студентов решаю задачки.
С этой думал быстро управлюсь. Найду старый проект 2012 года, который делал для кружка по программированию, и просто там впилю новую фичу - историю ходов, но жизнь внесла свои коррективы.
Во первых свой код я не нашёл. Во вторых нашёл кретики нолики которые написали мои сотрудники, когда я рулил отделом в Рускоме, мы это делали в учебных целях, для расширения кругозора, что бы не только на PL/SQL писать.
Взял я Сашин вариант, самый красивый, попытался понять как у него код устроен. Код как то устроен, но мне не зашло. К этому моменту уже натикало два часа трудозотрат, а я выставил три, со скидкой, то есть к моменту два часа - код должен был быть написан :)
Потом я долго не мог понять как мне организовать классы. Какие роли, какие исполнители. Ух! А потом я понял что прошло 8 часов, и у меня играть в крестики нолики можно, а истрии ходов ешё нет.
Прикрутил историю, стал тестить, моник нае*лся, то есть наелся окончательно.
Тут оказалось что запасной моник я выкинул год назад. С потерей моника я смирился, меня волновало сохранился ли код :) потому что Visual Studio это не IDEA, бэкапы не сохранённых изменений не делает, автосейв по умолчанию не настроен, короче кто не сохранился - тот дурак.
Два часа переживал, заказал моник на ситилинке (citilink.ru), заснул. Проснулся, Маша предложила из садика принести моник, принесла, он оказался исключительно VGA, я меня ни на матери, ни на видяхе нет такого разъёма :)
Пришлось поехать в Верхнюю Пышму, у Машинного племянника был лишний монитор, я переживал подойдёт ли разъём, мне повезло - подошёл.
Моник 2008 года, VGA + DVI-D (цифровой), DVI бывает ещё и DVI-I (аналоговый). Мне повезло, разъём оказался цифровым.
Поэтому прогу я таки дописал.
Ещё ночью до меня доехало как всё можно было написать топорно, так как делают студенты, но я уже не могу так писать.
Так что не дай бог препод посмотрит в код, там явно не студенческая работа. Студенты пишут не так.
У меня получились крестики нолики которые можно играть на поле произвольной формы и размера.
Если их чуть чуть доработать напильником то команд может быть произвольное количество, и линия может быть не три в ряд а два в ряд, или десять, настраивает по вашему желанию.
Если ещё сильнее доработать напильником, то можно будет давать победу не за линии (три в ряд), а за произвольные фигуры.
Короче должен архитектор делать гибкие и расширяемы решения - архитектор сделал :)Collapse )
портрет засвеченный мягкий

Ссылки и объявления

волк на фоне солнца

Тут на NGINX наезжали

Тут на NGINX наезжали, обычный такой рейдерский захват.
По этому поводу на Хабре с два десятка постов.
В одном из постов вот такой комент от пользователя @olehorg :
"
Я читаю статьи с реакцией на аресты NGINX — и мне «грустно и смешно» за страну, не изучавшую в школе обществоведение и логику.

Вы, господа, не понимаете элементарных причинно-следственных связей.
Пока страна будет проводить реконструкцию НКВДшников а не (например) космонавтов — в стране будут сажать.

Пока вы, господа, не заставите власть ИЗВИНИТЬСЯ за все то зло которое коммунисты причинили людям оправдывая это «пользой стране» — вы будете жить с новостями о подобном зле «на пользу стране».
Ваша власть уверена что лучше всего люди работают в шарагах за решеткой — а вы не протестуете. Получите.

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

Помните — «Невозможно в одно и то же время подметать трамвайные пути и устраивать судьбы каких-то испанских оборванцев!»?
Точно так же «Нельзя одновременно гордиться Крымом и сожалеть о аресте какого-то программера.»
Вы выступаете против мелочного следствия — а надо выступать против причины.
Удачи вам.
"
Очень и очень здраво, очень и очень вено, но как всегда к жизн не применимо :)
волк на фоне солнца

Основатель «2ГИС» Александр Сысоев (ссылки)

Основатель «2ГИС» Александр Сысоев


Интервью с директором 2гис.
Лукавит Сысоев в своём интервью.
На Аутсовресе они делали 2гис, ну ну. R&D у них только 9 лет назад появился, ну ну.
Сысоев сам программист и сын у него программист, и когда я в 2007 закончил ВУЗ (с февраяля 2006 я рабтал сис админов 2гиса в Екатеринбурге), мне сказали хочешь быть программистом в 2гисе - переезжай в Новосибирск.
Так что программисты в 2гисе были всегда, вот видимо началось всё с тех ребят на чердаке, какой там год ? 1997 ?
2гис это программный продукт и работа операторов и картографов это работа над электронным контентом справочника.
Бумажного 2гиса не было ни когда.
Сысоев всё делает по учебнику, по науке, по уму. Этого не отнять. И это пример другим, чего можно достичь если просто всё делать как надо, а не как получилось.
волк на фоне солнца

(no subject)

Организуем хаос или как внедрить процессный подход в организации


Здравая статеечка о том как писать документацию.
Главный посыл не пишите стены текста, ни кто читать не возьмётся.
Другой посыл - рекламируй свои тексты, но это не главное.
А главное в том что как и в программировании текст не должен быть стеной, текст должен быть разбит на короткие кусочки, которые на своём уровне абстракции рассказывают о процессе.
Текст должен быть таким, что бы его было удобно проглатывать, таким что бы не надо было думать над тем какого размера кусок откусить и как его пережевать, всё уже должно быть готово к моменту "приёма" "пищи".
Пишите короткие структурированные тексты и читатель к вам потянется !
(ссылки в сносках ни кто не отменял)
волк на фоне солнца

Собеседование мечты (работа)

Сходил на собеседование мечты. ТриниДата. Директр Сергей видимо бывший программист. Михаил руководитель разработки - стреляный воробей. Все всё знаю, все всё понимают. То что надо.
Плюс они работают на интересных технологиях. Плюс можно будет писать на Node.js + Vue.
Я не знаю, что ещё тут можно хотеть ? 
волк на фоне солнца

Открывашка, переходим на MySql (не отказываясь от Sqlite)

Потратил сегодня ещё три часа что бы "Открывашку" перевести на MySql, по ходу дела нашёл один баг.
Переименовал неймспейс и пачку классов.
Конечно с переименовыванием ещё не закончено, что бы закончить надо сделать вычитку ВСЕГО кода что написан к сегодняшнему дню, не то что бы это много, но мне лень.
Не представляю что бы я делал без авто-тестирования.
Руками столько проверять задолбаешься.
Да я на самом деле и не знаю, может быть если проверять руками через пользовательских интерфейс, может и не работает ни чего :)
Но в интерфейсе тестирования всё ок !

Итого 6 часов потрачено на возможность использования произвольного драйвера PDO и возможность использования MySql.
Но на самом деле если бы я заюзал какую то ORM, то у меня для перехода на MySql ушло бы полчаса.
Но учитываю пару рабочих дней на изучение любой ORM (а может быть и недели), эту идею пока приходиться отложить в сторонку.

Короче на работе программирования нет, так приходиться дома программированием заниматься. И то что у меня получается мне нравиться :)
волк на фоне солнца

Зачем нужен Docker

Три дня на новой работе пытался локально запустить сайтик.
Настраивал локальный веб сервер, сервер СУБД, и "искал" правильный исходники.
А вот если бы был докер-контейнер, то весь запуск занял бы время только на монтаж образа, и у меня уже был бы и настроенный веб сервер, и сервер СУБД, и правильные исходники, но не хрена подобного, три дня коту под хвост.

Фишка в том что серверное окружениене должно быть идентично окружению разработки. По хорошему я должен был посмотреть что там на сервере стоит, и установить себе тоже самое, но у меня к серверу доступа не было, а когда появился мне это было уже не интересно - я как здравый человек поставил себе: веб сервер XAMPP с последней версией PHP (7.2), последнюю версию СУБД MySQL (8.0.12), выкачал репозиторий проекта.

Потом надо было :
Collapse )



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

Самое смешное, что когда я только поставил XAMPP с PHP 7.2 всё было ок, а когда я стал дружить PHP 5.6 с PHP 7.2, во тогда что то сломалось.
То есть с 7.2 оно спокойно коннектилось к базе, и спокойной генерило страничку, вот только тип переменной в одном месте php не понравился и было сообщение об ошибке, и собственно с возвратом на 5.6 это сообщение должно было пропасть, и пропало, только почему то сразу php перестал понимать кодировку ответа сервера и способ аутентификации.

На World Press под PHP 7.2, почему то не получается зацепиться к базе с первого раза и второй раз оно цепляется с помощью mysql_connect() , а эту функцию выпилили в семёрке, поэтому падает с ошибкой "Call to undefined function". Но вообще мне кажется если подебажить то можно это исправить, только уже не хочется, хватит с меня трёх дней отладки, хрен знает чего хрен знает как.

А вот если бы у нас был Docker-контейнер, то всё бы прошло как по маслу и я бы в эти админские дери не лезх и даже не подозревал сколько граблей можно собрать и сколько шишек набить.

Мутите Docker-контейнеры !

сэкономите время и нервы ! выгода от трёх дней !  
волк на фоне солнца

Приколы Composer и PhpStorm (работа)

Опять позвонил Коля, попросил срочно помочь, а потом выяснилось, что помочь я ни чем не могу, потмоу что если давать мне мелкую задачу, то там дольше объяснять чем делать, а крупных задач нет.
Collapse )
Подтянул репозитрий, прописал виртуальных хост, запустился - 500 Internal Error, мле .. спросить не у кого - все спят .. подебажил (с полчаса), ошибка была на самом последнем этапе в самых недрах Ларавеля - "No application encryption key has been specified", полез с этим разбираться - сделайте "php artisan key:generate" - не помню почему, но я решил сделать сначала "composer install". А оно висит и висит.
Два часа пытался запустить композер и так и сяк, в итоге забил и тупо стал писать код - проверит не получить и чёрт с ним, хотя бы черновик кода будет, Коля с Димой захотят допишут как надо.
В пять утра закончил писать, голова мутная, но желание борьбы не пропало.
Закрыл PhpStorm, запустил "composer" и о чудо ! оно не зависло, оно как и должно выдало справку ! ура ура, композер заработал, делаю composer install, всё робит, только какие то там эксепшены на пост инсталл, но в шесть утра это было уже не существенно :)
На новую работу надо было к 14 часам, я как раз успевал поспать, заснул.

На понедельник вечер было что то намечено, был занят. Во вторник полтретьего ночи проснулся от голода, перекусил чем бог послал.
Решил приколоться за вчерашнюю тему, понял что запущеный PhpStorm подвешивает процессы и тут я заметил кнопку "Stop Listening for PHP Connections" - я всё понял :))
Скрипт запускался для выполнения в php.exe, к нему цеплялся PhpStorm и останавливал процесс для дебага, вот и всё, поэтому команды "composer install" и "php artisan key:generate" подвисали.
Ещё удивлялся когда PhpStorm автоматом дебажить начинал .. вот оно в чём было дело ! надо, надо знать свои инструменты :) но как всегда это скучно и ни когда сделано не будет :)