?

Log in

No account? Create an account

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


Для того, чтоб сделать такую штуку, пришлось разобраться с потоками, пойду всё-таки читать учебник.

Сейшелы, декабрь-январь 2019 года. День 9. Ботанический сад Маэ
uralpanda
Софтинкой пользоваться одно удовольствие, это видно по скорости, с которой появляются новые посты :)

Сегодня я вылетаю домой в Москву, но самолёт мой вечером, и меня осеняет, что я не была в ботаническом саду острова Маэ! Находится он совсем рядом с Викторией, так что туда я и отправлюсь.
Мне хотелось сфотографировать вид на Викторию, поэтому, немного не доезжая до города, я вышла из автобуса и иду пешком


Read more...Collapse )

Вечером я вылетела домой. Заканчивались новогодние праздники :)

Сейшелы, декабрь-январь 2019 года. День 8. Морской заповедник и остров Муайенн
uralpanda
Сегодня у нас сибаритская экскурсия - мы едем кататься на яхте в морской заповедник Святой Анны, находящийся неподалёку от Виктории. Вот наша яхта - точнее это катамаран, похожий на тот, на котором мы катались на Кубе, но этот побольше


Read more...Collapse )

Сейшелы, декабрь-январь 2019 года. День 7. Фэйритейл Бич и Сансет Бич
uralpanda
Выкладываю долгожданный 7-й сейшельский день :)
Вообще-то в этот день у меня была забронирована поездка на острова Курьёз и Сент-Пьер, смотреть на местных птичек и плавать с маской. Но экскурсию отменили, о чём я была уведомлена накануне путём просовывания бумажки в дверь номера. Отменили, потому что никто не захотел ехать, кроме меня, никого птички и снорклинг не заинтересовали.
Поэтому сегодня я вновь гуляла самостоятельно, и с утра решила поехать на пляж Порт Лаунай, входящий в десятку лучших пляжей по версии путеводителей. Когда я рассматривала картинки в интернете, я начала подозревать, что мы с путеводителями воспринимаем реальность несколько дифферентли, но съездить было интересно. К тому же дорога к Порт Лаунай идёт через гористую среднюю часть острова, и я давно хотела там побывать. К слову дорога выше всяких похвал :) Я пыталась это запечатлеть на видео - не удалось, не передаёт видео испытываемого восторга в несущемся по узенькой петляющей дороге в джунглях автобусе, когда по обоим сторонам открывается периодически обрывистая бездна.
Приезжаю в Порт Лаунай, принадлежащий очередному пятизвёздочнику. И понимаю, что ожидания у меня примерно такими и были - это почти закрытая бухта с достаточно заурядным видом для Сейшел


Read more...Collapse )

Финальное демо стори 3
uralpanda
Ребята, софтинка готова! :)))


Конечно там есть ещё над чем работать - надо бы затенить кнопки, чтобы нельзя было листать за границы альбома, вынести настройки в ini-файл, может быть даже разобраться с селекшеном. Но на текущий момент есть самое главное - MVP, который позволит мне продолжать публиковать фотоотчёты из путешествий.
Совсем скоро продолжение Сейшел! :)))
Программирование продолжу изучать, это классное хобби :)

Софтинка, стори 2
uralpanda
Получилось. Она работает. Работает!!!


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

Хроники софтины
uralpanda
У меня готов первый результат по собственной софтинке :))))
В итоге учебник "Изучаем Java" O'Reilly я не дочитала, потому что очень не терпелось начать делать что-то реальное. Но к слову скажу - книжка прекрасная, совершенно зря её ругают в отзывах! Очень лёгкая и забавная, не так уж много в ней опечаток в коде (вообще только одну встретила), учебные примеры интересные, учебная драм-машина так просто загляденье. Не все разделы полезны, головоломки и кроссворды я просто пропускала.
Дочитав до середины главу о сокетах я поняла, что уже морально готова, и села за приложение. А дальше начался лёгкий трэшак, потому что каждая(!) мелкая задача, которую мне пришлось решать в софтине, в учебнике не освещалась вообще никак :)))
Моей первой целью была стори - по юзернейму получить коллекции и альбомы пользователя.
Первый затык решился довольно быстро - я освежила в памяти, что такое GET-запросы и успешно вызвала API Фликра. Но мало получить ответ - с ним же надо суметь что-то сделать, а для этого нужно поднять его в объект. Я почитала про способы подъёма в объекты xml, мне стало дурно, и я переключилась на поиск способа поднять в объект json, благо API Фликра умеет возвращать ответ и так и эдак. Мне повезло - я нашла библиотечку, которая распарсивает json в класс одним вызовом метода :)))
Дальше мне нужно было поднятые коллекции и альбомы разместить в листах. Я нашла пару стандартных имплементаций рендеринга объекта в текст для листа, у меня часа два ушло только на то, чтобы вообще понять этот код, но в итоге это мне успешно удалось :))) Дальше было просто - привязала слушатель к листу коллекций, и при выборе коллекции соседний лист теперь послушно изображает альбомы.
Записала демо на видео. Интерфейс пока очень далёк от стильного, но это потом :)


Следующий этап - вывод картинок в оконный список и выделение их мышью. Ожидаю много любви что будет ещё веселее с поиском решения.
Очень счастлива и довольна :)))

Кот и градиент
uralpanda
Чем я занимаюсь в 3 часа ночи в воскресенье


Оторваться невозможно. Кажется, это лучше, чем театр. Побегать, правда, пришлось, когда выяснилось, что картинка не ресайзится, а ресайзиться она не желала из-за целочисленного деления, но какое чувство счастья от достижения цели :))) Вобщем я на середине книжки O'Reilly уже. Скоро увидим с вами продолжение Сейшел, но до этого я стану создателем собственной софтинки, и это будут яркие впечатления :)))

Mabel
uralpanda
Энергетически цепляющая песенка, потанцевала бы под такое :)

Java
uralpanda
Изучаю java по комиксовой книжке O'Reilly.
Я на пятом уроке, дело иногда замедляется, потому что любопытство меня толкает на поиски того, чего в книжке на пятом уроке не имеется.
К примеру, выяснилось, что задача генерации уникальной случайной последовательности в java решается очаровательно - есть конструкция "множество", в которой элементы уникальны, так что достаточно туда рандомно напихать элементов до нужного количества, причём дубликаты просто автоматически не будут добавлены. Например нам надо создать множество из трёх элементов с рандомными, но уникальными числами:

import java.util.*;
public class SimpleDotComTestDrive {
public static void main (String[] args) {
HashSet<Integer> myHashSet = new HashSet<Integer>();
for (int i=0; i<=1000; i++) {
myHashSet.add((int)(Math.random()*7));
if (myHashSet.size()==3) {
break;
}
}
Вообще очень легко изучается, хотя синтаксис непривычен, Сишный синтаксис я в студенческие времена не любила. Но есть ощущение, что вещь функциональная и мощная.

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

import java.util.*;
class SimpleDotCom {
int[] locationCells;
int numOfHits=0;
boolean notsame;
HashSet<Integer> myHashSet = new HashSet<Integer>();
public void setLocationCells(int[] locs) {
locationCells=locs;
}
public String checkYourself (String stringGuess) {
int guess=Integer.parseInt(stringGuess);
String result="Мимо";
for (int cell:locationCells) {
if (guess==cell) {
result="Попал";
notsame=myHashSet.add(guess);
if (notsame==true) {
numOfHits++;
}
break;
}
}
if (numOfHits==locationCells.length) {
result="Потопил";
}
System.out.println(result);
return result;
}
}

Upd2. дочитала до того места, где авторы предлагают решение. Оказалось, что они используют неограниченный массив ArrayList, и выкидывают из него элементы, когда пользователь в них попадает. Неограниченный массив впечатлил, но моё решение лучше! Потому что оно оставляет в неизменности исходные данные (набор ячеек) :))))