Изучение Java

1. Ibrogim 1313 03.05.15 12:10 Сейчас в теме
Решил изучать java
Если найдутся коллеги с интересом к этому языку, то предлагаю делиться ссылками на курсы и т.п.

Вот например весёлый курс в виде игры по футураме )
Первые 10 уровней бесплатно.

Зарегистрируйтесь по моей ссылке и я смогу пройди дальше 10 уровня (когда дойду до него)
reotem; DoctorRoza; +2 Ответить
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
403. awk 741 16.06.15 14:44 Сейчас в теме
(401) Lokiy, Ух ты... А ты говоришь... Теряет как в примере (402)
404. Lokiy 136 16.06.15 14:46 Сейчас в теме
(403) awk, чего чего ? какой пример 402, я его вижу в первый раз... не надо мне мозги забывать, мне еще UnityADS SDK седня надо интегрировать :(
405. alex_sh2008 4 16.06.15 14:46 Сейчас в теме
(401) Lokiy, При перевыборке данных из базы локальные данные становятся не актуальными и соответственно ссылки тоже, для того что бы остаться на той же строке, нужно использовать ключевые поля базы, и после выборке данных, в локальном наборе выполнять позиционирование по ключу. Если мне память не изменят SwapCursoк как раз реализовывает такой механизм.
406. Lokiy 136 16.06.15 14:48 Сейчас в теме
(405) alex_sh2008, Ну я видел что google объявил cursor.requery() deprecated, потому что там какие-то проблемы с синхронизацией у него были. Но вникать некогда, работать надо :)))
408. alex_sh2008 4 16.06.15 15:06 Сейчас в теме
(406) Lokiy, А потом люди жалуются почему у их андроидов память быстро заканчивается)
410. Lokiy 136 16.06.15 15:15 Сейчас в теме
(408) alex_sh2008, да ну брось. У меня вон рейтинг приложения 4.7, если бы оно память жрало там знаешь сколько бы было говна в комментах.
https://play.google.com/store/apps/details?id=countdown.reminder.widget&hl=ru
411. alex_sh2008 4 16.06.15 15:19 Сейчас в теме
(410) Lokiy, У тебя выборки данных не большие, по пробуй с большими данными работать. Использовать глобальные серверные курсоры не очень экономично, получается что у тебя в памяти одновременно два набора данных и серверный и локальный.
415. Lokiy 136 16.06.15 15:30 Сейчас в теме
(411) alex_sh2008, Дак это понятно, я когда большие то выборки делал понятно делал по нормальному через cursorLoader и loadInBackground , а тут я в базе просто данные по разблокировке иконок храню в одной таблице и при появлении окна диалога их надо прочитать и показать какие разблокированы, какие нет, ну и для этого использовать асинхронную загрузку мне показалось странноватым.
416. alex_sh2008 4 16.06.15 15:34 Сейчас в теме
(415) Lokiy, Дело не в загрузке а в реализации,
cursor объявлен глобально в диалоге.

То есть у тебя объект курсор хранит данные и ListView тоже хранит данные, и получается 2 набора данных, смысл держать их в памяти.
417. Lokiy 136 16.06.15 15:39 Сейчас в теме
(416) alex_sh2008, всмысле ? а разве ListView берет данные не из этого курсора ?
ну т.е. вот получил я курсор, передал его в адаптер, когда у меня появилось 2 набора данных ?
ну т.е. в следующий раз когда я перечитал курсор, то да, появилось, я согласен, дак а тут какие варианты то если я в тот же курсор не могу перечитать ? старый закрыл, перечитал, сделал swapcursor. Или я не догоняю чего-то ?
418. alex_sh2008 4 16.06.15 15:41 Сейчас в теме
(417) Lokiy, Я тебе написал из той информации которую ты предоставил, смотри реализацию класса ListView, как он использует интерфейс связи с серверным курсором, подозреваю что закачивает в себя все данные или по странично, смотря как ты прописал ему.
420. Lokiy 136 16.06.15 15:53 Сейчас в теме
(418) alex_sh2008, да ну ты гонишь, ListView вообще не хранит курсор, оно хранит вьюшки, а курсор хранит CursorAdapter а в CursorAdapter таже самая ссылка, пока я не перечитаю курсор в эту переменную.
вот что происходит в исходниках BaseAdapter
void init(Context context, Cursor c, int flags) {
mCursor = c;
}
взял да запомнил ссылку на переданный курсор, с ним и работает дальше.
я даже столкнулся с тем что прочитал курсор - передал в адаптер, произошел вывод на экран,
курсор который объявлен в глобально в диалоге, оказался прочитанным на последнюю запись, т.е. адаптер его прочитал до конца, пока вывод делал.
422. alex_sh2008 4 16.06.15 15:59 Сейчас в теме
(420) Lokiy, Я не сказал что ListView хранит курсор, я сказал что ListView хранит у себя выборку данных из курсора, вот и получается два набора данных, 1 в курсоре, 2 в ListView, а адаптер служит для синхронизации этих двух наборов.
423. Lokiy 136 16.06.15 16:02 Сейчас в теме
(422) alex_sh2008, да не, ListView хранит уже готовые вьюшки, которые на базе данных были построены. Ну дак если мне нужно обновлять данные из базы в процессе жизни ListView мне один фиг приходится хранить курсор, какие еще варианты то ? Причем сборщик мусора не убъет созданные курсор, пока он связан с адапретром потому что адаптер ссылку хранит.
425. alex_sh2008 4 16.06.15 16:05 Сейчас в теме
(423) Lokiy,
ListView мне один фиг приходится хранить курсор, какие еще варианты то ?

Создать курсор, выгрузить данные в промежуточный массив, закрыть курсор и соединение с базой данных, а потом использовать локальный массив, тем самым ты высвободишь кучу памяти. И не забывай память для курсоров выделяется по умолчанию не в приложении а на сервере sql.
430. Lokiy 136 16.06.15 16:16 Сейчас в теме
(425) alex_sh2008,в Android sql сервера то нету :) это же база sqlLite внутри приложения. я конечно не совсем уверен как sqlLite реализована на уровне dalvik, Но судя по тому что для работы Cursora И ListView Google специально сделали CursorAdapter и в принципе им все пользуются, то не так там все страшно, как ты описываешь.
431. alex_sh2008 4 16.06.15 16:22 Сейчас в теме
(430) Lokiy, Для всех серверов есть реализация через курсоры,а sqlLite одна из реализаций сервера, у Microsoft ведь тоже есть такая же редакция, но это не отменяет того что это сервер. И да использование курсоров с адаптерами, это наиболее простой и быстрый способ написания приложений, не нужно думать об оптимизации и производительности, создал 3 объекта, связал их и в путь, даже не нужно знать как они работают.
432. alex_sh2008 4 16.06.15 16:24 Сейчас в теме
(430) Lokiy,
не так там все страшно, как ты описываешь.

Конечно не страшно. Каждый выбирает что ему удобно и подходит для выполнения задачи
419. alex_sh2008 4 16.06.15 15:51 Сейчас в теме
(417) Lokiy,
ну т.е. в следующий раз когда я перечитал курсор, то да, появилось, я согласен, дак а тут какие варианты то если я в тот же курсор не могу перечитать ?

Если ты связал серверный курсор c ListView ты уже не можешь какие то операции делать над курсором, все операции делаются только на уровне ListView.
421. Lokiy 136 16.06.15 15:55 Сейчас в теме
(419) alex_sh2008, мы вообще про Android говорим ? :) может в Android SDK это чуть подругому чем в java реализовано просто.
424. alex_sh2008 4 16.06.15 16:03 Сейчас в теме
(421) Lokiy, Это реализовано во всех системах одинаково, вопрос в реализации, есть серверная реализация, а есть локальная, сами по себе курсоры делают только последовательную выборку, что бы использовать в списке ListView, нужно выгрузить все данные в промежуточный кэш, которые создает ListView. В локальной же реализации, создается курсор, данные качаются в промежуточный массив и курсор закрывается, тем самым высвобождая память, под соединение с базой данных.
426. awk 741 16.06.15 16:06 Сейчас в теме
(424) alex_sh2008, Не пиши просто - не позорься... Уже и так в луже по макушку сидишь...
428. Lokiy 136 16.06.15 16:10 Сейчас в теме
(426) awk, ну тут же тема не для писькомерства, как бы не стремно в чем-то заблуждаться.
427. Lokiy 136 16.06.15 16:09 Сейчас в теме
(424) alex_sh2008, т.е. ты хочешь сказать что передавать в ListView данные через CursorAdapter это вообще неверно в корне, потому что курсор остается открытым пока адаптер живет.
429. alex_sh2008 4 16.06.15 16:13 Сейчас в теме
(427) Lokiy,
это вообще неверно в корне

Это один из вариантов реализации представления данных, и да в таком варианте курсор остается открытым пока есть связь через адаптер. Обычно такую реализацию используют когда необходимо изменять данные.
414. awk 741 16.06.15 15:28 Сейчас в теме
(410) Lokiy, Человек не врубается в тему... Нашел серверные курсоры...
454. alex_sh2008 4 18.06.15 08:35 Сейчас в теме

Из чего же состоит объект?

Прежде чем определять объем потребляемой памяти, следует разобраться, что же JVM хранит для каждого объекта:

Заголовок объекта;
Память для примитивных типов;
Память для ссылочных типов;
Смещение/выравнивание — по сути, это несколько неиспользуемых байт, что размещаются после данных самого объекта. Это сделано для того, чтобы адрес в памяти всегда был кратным машинному слову, для ускорения чтения из памяти + уменьшения количества бит для указателя на объект + предположительно для уменьшения фрагментации памяти. Стоит также отметить, что в java размер любого объекта кратен 8 байтам!




Структура заголовка объекта

Каждый экземпляр класса содержит заголовок. Каждый заголовок для большинства JVM(Hotspot, openJVM) состоит из двух машинных слов. Если речь идет о 32-х разрядной системе, то размер заголовка — 8 байт, если речь о 64-х разрядной системе, то соответственно — 16 байт. Каждый заголовок может содержать следующую информацию:

Маркировочное слово (mark word) — к сожалению мне так и не удалось найти назначение этой информации, подозреваю что это просто зарезервированная на будущее часть заголовка.
Hash Code — каждый объект имеет хеш код. По умолчанию результат вызова метода Object.hashCode() вернет адрес объекта в памяти, тем не менее некоторые сборщики мусора могут перемещать объекты в памяти, но хеш код всегда остается одним и тем же, так как место в заголовке объекта как раз может быть использовано для хранения оригинального значения хеш кода.
Garbage Collection Information — каждый java объект содержит информацию нужную для системы управления памятью. Зачастую это один или два бита-флага, но также это может быть, например, некая комбинация битов для хранения количества ссылок на объект.
Type Information Block Pointer — содержит информацию о типе объекта. Этот блок включает информацию о таблице виртуальных методов, указатель на объект, который представляет тип и указатели на некоторые дополнительные структуры, для более эффективных вызовов интерфейсов и динамической проверки типов.
Lock — каждый объект содержит информацию о состоянии блокировки. Это может быть указатель на объект блокировки или прямое представление блокировки.
Array Length — если объект — массив, то заголовок расширяется 4 байтами для хранения длины массива.
Показать

http://habrahabr.ru/post/134102/
Описано достаточно просто и понять не сложно.
464. spacecraft 18.06.15 12:48 Сейчас в теме
никто Вас не заставлял говорить. Предложите что-то свое.
492. Lokiy 136 18.06.15 14:06 Сейчас в теме
фигню всякую обсуждаете,
лучше скажите как Ссылку на Listener в DialogFragment при повороте экрана сохранить/восстановить. Вот это проблема из проблем.
Ну т.е. условно
Мы создали диалог, в нем описали интерфейс, в конструктор передали собственно того, кто диалог вызвал, применив ему интерфейс.
 public class UnlockDialog extends DialogFragment {	
	
    public interface OnUnlockCallback {      
        void onLinkUnlock(String link);
    }

     public UnlockDialog(OnUnlockCallback callBack) {		
		this.callBack=callBack;
	}
}
Показать

И вот тут этот гад пользователь - поворачивает мать его экран.
И диалог, создается вновь через пустой конструтор.
А сохранять в методе
	public void onSaveInstanceState(Bundle outState) {		 
		outState.putString("linkToPreview",linkToPreview);		
		super.onSaveInstanceState(outState);
	}

можно только определенные типы.
494. alex_sh2008 4 18.06.15 14:10 Сейчас в теме
(492) Lokiy, Где создается объект Listener, в самом диалоге?
502. Lokiy 136 18.06.15 14:18 Сейчас в теме
(494) alex_sh2008,

Ну т.е. вот так, условно внутри Activity вызывается этот диалог, и внутрь него, передается ссылка на это активити (типа владельца диалога). А когда диалог закончит что-то там делать, об этом надо оповестить Acivity. Все это работает нормально, если экран не поворачивать. А вот если повернуть Экран, то Фрагменты в Android восстанавливают свою структуру сами типа, как были, но через пустой конструтор new UnlockDialog(), ну и соответственно туда ссылка на Acivity Не передается, и типа забывается...

public class TaskSettings extends ActionBarActivity implements OnUnlockCallback {

UnlockDialog dlg1 = new UnlockDialog(this);
dlg1.show(getFragmentManager(), "dlg1");
}
506. alex_sh2008 4 18.06.15 14:20 Сейчас в теме
(502) Lokiy, Я думаю что диалог надо инициализировать не в событии базового объекта, а при начальной инициализации, а в событии только открывать его.
508. Lokiy 136 18.06.15 14:23 Сейчас в теме
(506) alex_sh2008, хм...надо попробовать, угу... мысль верная. Хотя ведь ведь фрагменты восстановив структуру уже создадут этот диалог, как я его найду :(... надо подумать.
511. alex_sh2008 4 18.06.15 14:30 Сейчас в теме
(508) Lokiy, Ну если по большому счету то вроде как менеджер окон Android, не восстанавливает модальные окна, они же не попадают в общей контейнер главного окна.
521. Lokiy 136 18.06.15 14:47 Сейчас в теме
(511) alex_sh2008, восстанавливает восстанавливает. Это раньше в 2.2 не восстанавливал, потому что они были как бы отдельно открыты, а с 3.0 с появлением фрагментов внутри одной Activity, диалоги восстанавливаются, там в них даже нужно специально создавать пустой конструтор, иначе приложение падает в исключение при повороте экрана.
523. alex_sh2008 4 18.06.15 14:49 Сейчас в теме
(521) Lokiy, Значит есть подозрение что вы где то с логикой что то напутали, может не в том событии открываете диалог, я не знаю библиотеки, которые вы используете сказать точно не могу.
524. Lokiy 136 18.06.15 15:08 Сейчас в теме
(523) alex_sh2008, блин...я дибил... начал тебе писать и понял как вроде...
я то делал вот так криво:

	@Override
	public void onAttach(Activity activity) {		
		super.onAttach(activity);
		((TaskSettings) getActivity()).setRewardKeyCallback(this);		
	}

а надо было просто проверять, реализует ли activity входящая соответствующий интерфейс, и его задавать :(((
525. alex_sh2008 4 18.06.15 15:12 Сейчас в теме
(524) Lokiy, Бывает, я тоже часто в логике косячу)))
526. Lokiy 136 18.06.15 15:16 Сейчас в теме
(525) alex_sh2008, ты бы видел как я после 1С, написал первое приложение :))) это такой ад, я даже боюсь туда щас смотреть и что-то в нем дописывать :(
А потом попробовал написать текстовый квест, и вообще бросил, запутавшись в архитектуре :)))
щас уже значительно лучше стало :)))
527. alex_sh2008 4 18.06.15 15:34 Сейчас в теме
(526) Lokiy, Создание на Java приложений требует архитектурных подходов, в 1С за нас думает фирма 1С. Очень сложно переходить с языка 1С на более структурированные и архитектурно жесткие языки программирования. Мне повезло я перешел на 1С после С++ (PowerBuilder) и C# (ASP.NET), после недели отменной матершины привык к стилю написания кода в 1С.
528. Lokiy 136 18.06.15 15:40 Сейчас в теме
(527) alex_sh2008, Да это понятно. Еще для меня было открытием, что если ты хочешь формочку, которая будет интуитивно работать и не выглядеть, как адское ггг.., над ней сидеть приходится часами по 10ку раз переделывать :))) А зачастую еще и иконки перерисовывать :)
В 1С-то просто, редко такое бывает что ты сидишь и тупишь над формой, чтобы у тебя кнопка адекватно срабатывала :)
Хотя с другой стороны в 1С и не продукт делаешь, а формы для внутреннего пользователя.
529. alex_sh2008 4 18.06.15 15:46 Сейчас в теме
(528) Lokiy, Учись применять наследование и не только классов но и форм.
530. Lokiy 136 18.06.15 15:56 Сейчас в теме
(529) alex_sh2008, угу, здраво... ты прав, грешу копипастой в формах, вместо наследования.
531. alex_sh2008 4 18.06.15 15:59 Сейчас в теме
(530) Lokiy, или еще как вариант в качестве основы взять принципы при разработке сайтов, проектирование макета страницы.
532. Lokiy 136 18.06.15 16:08 Сейчас в теме
(531) alex_sh2008, Я в последнем приложении, даже дизайн документ изначально составлял, со всеми формами, окнами, которые должны быть, но по итогу получилось вообще все другое :) Пробовал сделать как планировал, сделал, смотришь в живую, щупаешь, не нравится, переделываешь. Но вообще именно сам дизайн документ помогает поначалу, хотя бы сделать удобоваримую общую структуру.
533. alex_sh2008 4 18.06.15 16:15 Сейчас в теме
(532) Lokiy, В чем и есть преимущество концепции интернет дизайна, разрабатываешь общий макет формы, а потом наполняешь его блоками, и в свою очередь эти блоки можно наследовать, тем самым меняя вид приложения в зависимости от условий, и программировать в целом приложение становится проще.
534. Lokiy 136 18.06.15 16:18 Сейчас в теме
(533) alex_sh2008, мне вот так-то еще надо бы с кем-нибудь более опытным совместный проект пописать, но че-то пока не судьба видимо. Сам в своих мыслях варишься - это плохо.
535. alex_sh2008 4 18.06.15 16:32 Сейчас в теме
(534) Lokiy, Это потому что ты программируешь свое приложение по принципу как в 1С, а надо выкинуть 1С из головы и писать приложение исходя из концепции создания приложение на OOП языках.
536. Lokiy 136 18.06.15 16:34 Сейчас в теме
(535) alex_sh2008, Да не, я все равно уже от принципов 1С отошел на самом деле. Уже в 1С целый год ничего не писал :) Последнюю халтуру на 1С сделал в июле 2014. Я даже названия переменных с большой буквы перестал писать :)))
537. alex_sh2008 4 18.06.15 16:39 Сейчас в теме
(536) Lokiy, Но создаешь приложение так же как в 1С, без обдумывания всего приложения целиком, а потом на определенном этапе переписываешь почти весь код приложения.
Для примера посмотри как реализовали свой движок здесь: http://www.orchardproject.net/
Хороший пример то как надо выстраивать архитектуру целого приложения, и кстати применить можно не только к сайтам.
500. awk 741 18.06.15 14:17 Сейчас в теме
(492) Lokiy, outState.putExtra(OnUnlockCallback.class.getCanonicalName(), callback);

Только класс должен быть сериализуемый.

Не побывал на профильных форумах вопросы задавать?
507. Lokiy 136 18.06.15 14:21 Сейчас в теме
Я кстати пару популярных библиотек для пикеров смотрел на Android, там таже проблема, никак не решена, если при вызванном диалоге повернуть экран приложения, то он не возвращает ничего.
538. Lokiy 136 30.06.15 15:20 Сейчас в теме
Так что-то тут все заглохло, давайте я подкину простенькую задачку :)
Сел я тут разбираться с UV текстурированием, ладно с горем пополам в блендере я получил вот такую картинку:
http://www.dropbox.com/s/btof76k1prswc2b/uvtest.png?dl=0
Блендер на выходе мне дал условно 4 массива:
вертексы геометрии:
v -1.000000 1.000000 -1.000000
v -1.000000 -1.000000 -1.000000

вертексы текстуры:
 vt 0.749957 0.250044
 vt 0.999913 0.250044

вертексы нормалей:
vn -1.000000 -0.000000 0.000000
vn 1.000000 0.000000 0.000000


и индексы faces (поверхностей)
 f 2/1/1 3/2/1 4/3/1
 f 5/4/2 8/5/2 7/6/2


по сути индексов на самом деле 3 массива, первая цифра на геометрию, вторая на текстуры, третья на нормали...
Но беда в том, что на вход в openGL я могу передать только один индекс, а тут 3.

stackoverflow говорит: You must reorder the texcoords and vertices such that they share the same index. You cannot use a separate index for different attributes.

т.е. нельзя мне чтоб индексы были 2/1/1 3/2/1 надо, чтоб были 2/2/2 3/3/3 и т.п. и вот тут че-то я не вкуриваю с какой стороны зайти... Пока только придумал тупо отказаться от индексов, тупо по индексам получить все координаты и ими пользоваться, но вроде как некошерно.
539. alex_sh2008 4 01.07.15 12:32 Сейчас в теме
(538) Lokiy, Тогда есть вариант что при расчете матрицы вы задали условия не соответствующие исходному оборудованию, может задали не для матрицы смартфона, а матрицы компьютера.
540. Lokiy 136 01.07.15 13:23 Сейчас в теме
(539) alex_sh2008, не не, там вообще оборудования не участвует еще, это небольшая нестыковка спецификаций форматов. Просто wavefront (obj) предполагает использования 3х массивов индексов, а openGL один, вот и все.
Я сделал без индексов работает в принципе , надо будет собраться пересчет индексов написать.
P.S. кстати ищу кого-нить кто мечтает посвятить время на копание с 3d графикой на Android без сторонних движков :) че-то так скучно одному :) могу там помочь сказать с чего начать, что курить... чтоб как я не пытаться воткнуть в мануалы в которых вообще мозг сломаешь, кое как сделаешь и ничего не поймешь :)
541. alex_sh2008 4 01.07.15 16:38 Сейчас в теме
(540) Lokiy, Я бы и рад подключится но работы и так хватает, а вчера вносил изменения в программу на C#, и с дуру обновил библиотеки, дак пришлось код частично переписывать, вдруг инструкции которые раньше работали перестали работать)
542. fzt 02.07.15 07:44 Сейчас в теме
нет времени) Но ветка толкнула меня в сторону андроид приложений. Вдруг осознал, где оно не помешает.
543. Lokiy 136 02.07.15 09:15 Сейчас в теме
(542) fzt,) я когда начинал ввел себе правило - день в неделю работы над android приложениями не взирая на спешность и срочность задач работодателя :) иногда, с 9 до 11 работа над андроид приложениями, с 11 до 18 по проектам :) И причем нормально, я даже скорость работы не упала, потому что в голове сидела мысль, что вместо того чтоб там расслаблятся, нужно выполнять хорошо и быстро основную работу, потому что на нее теперь меньше времени. Лишний раз мисту не пойдешь почитать, там лишний раз втыкать проакрастинировать себе не позволишь и нормально.
544. fzt 13.07.15 09:24 Сейчас в теме
(543) Lokiy, это хорошо =) у меня проблемы не с мотивацией, или тайм менеджментом. Я руку сломал :D теперь все занимает побольше времени.
545. Lokiy 136 13.07.15 20:28 Сейчас в теме
сегодня сгонял на собеседование http://www.rabota66.ru/vacancy/company/203479
че-то я не доволен результатом, так себе я показал, про многопоточные нагруженные системы ничего не знаю,
серьезных игр с огромными объемами текстур не писал :(
максимум предложат juniora :( а было бы неплохо окунуться в геймдев, но не за 45 тыщ в месяц :(
зато пока ездил, понял че у меня в машине стучит и починил за 100 рублей :) а жена все...тачка старая, то одно то другое, то там стучит то там... надо новую...100 рублей - и все...ездим дальше :) какая еще нафиг новая тачка :)
P.S. надо завести бложек.
546. fzt 15.07.15 11:02 Сейчас в теме
(545) Lokiy,
максимум предложат juniora :( а было бы неплохо окунуться в геймдев, но не за 45 тыщ в месяц :(

Зависит от того, что тебе нужно. Если денег - то кодинг в геймдеве, это не то.
Кто придумал, получает 1 доллар, кто произвел - 10, тот, кто продал - 100
© Поговорка пендостана.
1С фрилансер и производит, и продает.
А вообще:
http://www.youtube.com/watch?v=IIFuA8tH3yM
549. alex_sh2008 4 17.07.15 15:41 Сейчас в теме
(545) Lokiy,
про многопоточные нагруженные системы ничего не знаю,

Значит пришло время писать приложения для многоядерных процессоров )
547. Семёныч 17.07.15 15:30 Сейчас в теме
А реально ли вообще во взрослом возрасте лет в 35 - 40 с 1С на Java перейти?
548. alex_sh2008 4 17.07.15 15:35 Сейчас в теме
(547) Семёныч, Что бы создавать приложения корпоративного класса практически не реально, но а в остальном все зависит от вас.
550. Lokiy 136 17.07.15 18:03 Сейчас в теме
(547) Семёныч, ну я вроде как перешел мобилки :) java + android sdk, в 1С с мая 2014 не заходил. Правда никуда пока по серьезному не устраивался, один работаю. Так ради прикола был на 3х собеседованиях.
На одном предложили 50к в месяц в ЕКБ (1сником 65 предлагали), я забил.
В одном месте сразу на собеседовании сказал что мне неинтересно, то что они делают - там специфическая разработка, под их подзаказ сделаный девай и нужно копаться на уровне железа , с++ и драйверов, я подумал , что потом эти навыки неприменимы больше нигде.
Ну и вот online игрушку делать не взяли :) потому что мало опыта обычной джавы и мало опыта по работе с графикой и текстурами.
Но я больше ради прикола на эти собеседования хожу... скучно... сидишь один как дурак в 4х стенах :) так хоть можно походить, людям попоказывать что умеешь, какую-то обратную связь получить :))) Ну и мало ли что-то очень интересное попадется, можно будет вписаться.
Вобщем я что имею в виду - в мобилках сейчас не такая прям сложность знаний и разработки требуется, чтобы ее невозможно было охватить, сфера достаточно новая, поэтому еще не такой катострофический объем наработанного существует, всяких там фреймворков и прочего... а базу азы java + Android SDK + Support library изучить за год реально. И цены ошибки/отсутствия опыта ниже, потому что все же это font end, нет тут высоконагруженных серверов и не требуется серьезная оптимизация (исключение - 3d графика, или 2d с огромным объемом текстур)
P.S. мне 33, ковырять Android Я начал где-то в 30.
P.S.2 Зацените какую я штуку на openGL сделал :) http://www.youtube.com/watch?v=MYjC9Bm3eVk
551. MidnightKiller 18.07.15 19:12 Сейчас в теме
(550) Lokiy, Поглядел творение, мне понравилось.
552. Lokiy 136 19.07.15 09:20 Сейчас в теме
(551) MidnightKiller, да ладно фигня на самом деле ведь :) все...начинаю че-нить более серьезное делать на GLES :)
553. Serginio 938 19.07.15 12:47 Сейчас в теме
Смысл использования изучать C# (.Net) в том, что его можно применять прямо в 1С
Использование сборок .NET в 1С 7.x b 8.x
554. Serginio 938 20.07.15 11:18 Сейчас в теме
Компиляция C# и XAML в JavaScript
В этой статье мы расмотрим расширение для Visual Studio под наванием 'C#/XAML for HTML5'. Данное расширение позволяет транслировать имеющийся код на C# и XAML в код HTML5+JavaScript. Благодаря подобной трансляции мы сможем создавать на C# приложение, которое после трансляции в JavaScript будет запускаться и на тех платформах, где .NET по умолчанию не поддерживается и где есть поддержка HTML5 и Javascript - Android, iOS, Mac, Chromebooks, Linux, Windows и т.д. То есть по сути у нас получается гибридное приложение.
555. awk 741 20.07.15 18:24 Сейчас в теме
(554) Serginio, И? Неужели в JavaScript другие языки не транслируются? И прикинь везде эти как там статье?

возможности расширения пока ограничены
556. Serginio 938 20.07.15 19:03 Сейчас в теме
(555) Та вообще то не только язык, но XAML. А вообще они сейчас с новой студией много кроссплатформенного делают
Горячие нововведения превью-версий Win 10 и VS 2015

Visual Studio 2015 позволяет использовать единую кодовую базу для разных программно-аппаратных платформ. Таким образом, разработчик может писать код на C#, и он будет одинаково успешно выполняться на различных устройствах с разными операционными системами. Это стало возможно благодаря использованию инструментов Xamarin, теперь они интегрированы в Visual Studio 2015 в качестве расширения, имеющего соответствующее название — Xamarin for Visual Studio. Инструменты Xamarin скачиваются и устанавливаются во время создания проекта, его использующего.



На данный момент интеграция еще отсутствует, но ты зацени, насколько удобно все это в идеале должно получиться: GUI ты готовишь для каждой платформы отдельно, но код, несущий основную смысловую нагрузку (функциональность), пишется единожды, на языке C#. Твое приложение будет исполняться одновременно под Windows, Windows Phone, Android, iOS! Конечно, опять-таки в идеале — на данный момент Xamarin for Visual Studio обслуживает не все указанные платформы.


В числе дополнительно устанавливаемых компонентов Visual Studio 2015 Preview (выбирается на второй стадии инсталляции) есть Apache Cordova — инфраструктура для создания кросс-платформенных мобильных приложений, использующих HTML5 и JavaScript. Cordova представляет собой «контейнер» для веб-приложения, позволяющий последнему использовать системные API конкретной операционной системы, в которой он выполняется. Другими словами, Cordova предоставляет интерфейс для управления конкретной операционной системой из языка JavaScript. Это делает приложение кросс-платформенным: код на JavaScript, выполняющий полезную нагрузку, один, но в каждой системе для него используется своя инфраструктура. Такие условия прекрасно подошли для множества разных мобильных операционных систем, в том числе Windows Phone, iOS, Android, Bada, Tizen, BlackBerry, Symbian. Таким образом, Cordova для каждой платформы создает исключительный (предназначенный для конкретной операционной среды) исполняемый модуль, например для Windows Phone это архив XAP. Исполнение веб-контента из такого архива осуществляется встроенным в определенную систему веб-браузером. Как было упомянуто, Visual Studio 2015 поддерживает данную технологию из коробки, при условии установки соответствующего модуля. Visual Studio 2015 Preview послужит разработчикам при написании кода на JavaScript, тут имеются и соответствующий IntelliSense, проводник DOM, для отладки JavaScript-кода можно устанавливать точки останова, просматривать значения переменных и так далее.
557. awk 741 20.07.15 21:28 Сейчас в теме
(556) Serginio, Они опоздали лет на 10...
558. Serginio 938 20.07.15 23:29 Сейчас в теме
(557) Лучше поздно, чем никогда
559. DoctorRoza 21.07.15 17:56 Сейчас в теме
Коллеги! В Java есть коллекции, а какие аналоги в 1С есть имеющимся .. объектам что ли (если так можно ставить вопрос)?

Интерфейс Класс/Реализация Описание
//////////////
List--- ArrayList Список
LinkedList Список
Vector Вектор
Stack Стек

/////////////////
Set--- HashSet Множество
TreeSet Множество
SortedSet Отсортированное множество

/////////////////
Map--- HashMap Карта/Словарь
TreeMap Карта/Словарь
SortedMap Отсортированный словарь
Hashtable Хеш-таблица
/////////////////
Спасибо!
560. awk 741 21.07.15 18:27 Сейчас в теме
(559) DoctorRoza,

Map = Соответствие
List = Массив
561. Lokiy 136 07.08.15 18:51 Сейчас в теме
Че-то все заглохло :)
я тут себе книжку на озоне прикупил http://www.ozon.ru/context/detail/id/32658792/
читаю, пилю движок потихонечку :)
562. Ibrogim 1313 05.03.16 13:09 Сейчас в теме
Ну вот, не прошло и года как я опубликовал первое приложение )

Долго, т.к. 1С заставляет на себя обращать внимание постоянно. Кроме того пришлось изучать смежные технологии, такие как php, ajax
Как побочный продукт получился сервис по определению цепочек обновлений релизов 1С.
570. Xershi 1486 06.03.16 00:51 Сейчас в теме
(562) Ibrogim, из 1с планируете уходить?
574. Ibrogim 1313 09.03.16 10:38 Сейчас в теме
(570) Xershi, Нет, пока что не вижу коммерческих перспектив не 1С
Но всё может измениться.
571. Lokiy 136 06.03.16 01:29 Сейчас в теме
(562) Ibrogim, Ну и тему ты выбрал :)
....
А я ... а я... тоже без дела не сидел:
https://play.google.com/store/apps/details?id=labyrinth.d3D.maze
http://www.youtube.com/watch?v=-IlreaK7qpY
правда из России пока не скачать :) еще тестирую на азии и странах СНГ :)
575. Ibrogim 1313 09.03.16 10:58 Сейчас в теме
(571) Lokiy,
Ну и тему ты выбрал :)

Решил далеко от 1С пока не отплывать )
А я ... а я... тоже без дела не сидел:

Да респект тебе. Красиво!
576. Lokiy 136 09.03.16 11:58 Сейчас в теме
(575) Ibrogim, " Решил далеко от 1С пока не отплывать ) "
Я думаю что это твоя ошибка, ты этим жестко ограничил аудиторию своего приложения.
Я бы так сказал, ну не для того же ты изучаешь java и андроид, чтобы работать с теми же людьми и теми же пользователями :)
577. Ibrogim 1313 09.03.16 12:05 Сейчас в теме
(576) Lokiy,
ты этим жестко ограничил аудиторию своего приложения.

Да это я понимаю. С экономической точки зрения проще тогда уж обработку написать на 1С.

Но для первого приложения думаю сойдёт. дальше буду думать (на данный момент что бы не пришло в голову, уже есть)
580. Lokiy 136 09.03.16 14:17 Сейчас в теме
(577) Ibrogim, Самый простой способ - это сделать что-то что уже есть и востребовано, но в каком-то аспекте лучше. Это рабочий способ. Просто поищи что бы ты хотел сделать из существующего и в чем бы ты это изменил. А иногда работает просто сделать что-то что уже есть, но ты просто хочешь это сделать сам :) Это тоже нормальный подход :)
578. ture 606 09.03.16 12:10 Сейчас в теме
(575) Ibrogim,
Решил далеко от 1С пока не отплывать )

Это совсем как-то... ну ты и сам понимаешь ...в общем.

Короче регайся на степике, записывайся на всякие курсы по жабе. В конце получишь свои серты. В резюме пишешь тупо - "был инженером" (ведь программисты туда же), з/п скручивай 30% процентов, главное не упоминай 1С, только серты свои показывай. Вуаля - вот они предложения. Студенты не только тупые, они ведь еще и как дети, понимаешь?
579. Ibrogim 1313 09.03.16 13:09 Сейчас в теме
(578) ture, Возникает только вопрос "Зачем" )
Так что я пока эволюционным путём пойду, а не революционным.
581. Lokiy 136 09.03.16 14:19 Сейчас в теме
(578) ture, да вроде ни кто к бывшим 1Сникам не относится с предубеждением :)
Я ходил по собеседованиям в ЕКБ на андроид разработчика - просто показывал свои приложения которые делал. В общем надо просто партфолио небольшое сделать да и все... вперед.
583. ture 606 09.03.16 16:20 Сейчас в теме
(581) Lokiy, уверен?
Я не мог пройти "работодатель не готов сделать вам предложение", пока не убрал упоминания 1С. Может и стечение обстоятельств, но я четко понял, что надо помалкивать об 1С... пою песенку про SQL и отчетность.
584. Lokiy 136 10.03.16 10:12 Сейчас в теме
(583) ture, Ну как сказать уверен. Я видел по реакции собеседующего что он просто это не засчитывал в практический опыт :) Но такого чтобы фу бывший 1Сник не было :)
С другой стороны я по собеседованиям ходил просто прощупать спрос, в принципе отказался один раз, ходил на штуки 3 собеседования. На одном договорились на сдельную работу за проект, но потом они видимо нашли дешевле :) На втором я не потянул по серьезному собеседование потому что там чуваки серьезную ММО делали и как давай меня гонять по многопоточности в java, а я не бум бум...ну т.е. я в 2 потока конечно писал приложения :) а они спрашивали какие бывают проблемы когда файлы читают в 200 потоков :) На третьем в принципе готовы были взять, пришлось отказываться. Тут они хотели делать приложение для панарамной съемки для телефона собсбтвенной разработки под android.
563. starik-2005 3039 05.03.16 13:49 Сейчас в теме
Java - это хорошо. Работы в действительности много: и мобильная разработка, и фронтэнд-решения для бизнеса (и экономические знания не нужны совершенно, что для начинающих явный плюс). Мобильный сегмент сейчас самый быстрорастущий и темпы роста в нем будут только ускоряться, ибо количество проданных PC стремительно снижается, а вот количество проданных планшетов и телефонов только растет. Для любого устройства нужны программы и java для мобильной платформы на базе андорид-устройств - самое то. На Objective C++ можно и побольше заработать, разрабатывая под iOS, а доля Win Phone в 5% рынка заставляет усомнится в выгоде от изучения C#.

Также стоит отметить, что тенденции несколько смещаются. Для разработки iOS-приложений появился язык Swift от Apple, Google активно работает над языком Go. Оба с полностью открытым исходным кодом. Последний вообще работает на любой платформе, хотя, полагаю, первый тоже это может. Есть куда стремиться, да? ))
564. Xershi 1486 05.03.16 13:52 Сейчас в теме
(563) starik-2005, а на каких языках вы пишите?
И какой у вас план на ближайшие 5 лет?
565. starik-2005 3039 05.03.16 16:50 Сейчас в теме
(564) Xershi, план в чем? А по поводу языков, то я мало различий между ними вижу, поэтому могу писать на любом околоклассическом языке: от паскаля до java-script. Ассемблеры для различных процессоров, для х86 на ассемблере почти 20 лет назад писал много, до этого на ассемблере Macro-11 тоже много было написано.
566. Xershi 1486 05.03.16 20:56 Сейчас в теме
(565) starik-2005, синтаксис всех знаешь? Или посмотрев можешь дописать?
567. starik-2005 3039 05.03.16 22:44 Сейчас в теме
(566) Xershi, синтаксис всех чего? Языков или ассемблеров?))) Синтаксис -это лишь договоренность о том, как описать ту или иную операцию. Все программирование сводится к операциям присваивания, ветвлению и циклам. Вызрвы процедур и функций и объектная модель - это не более, чем дополнение доя повторного использования кода и его структурирования. Принципы везде одинаковые. Остальное упирается в типизацию. Для фугкциональной парадигмы существует свой набор договоренностей, отталкивающихся от того, что программа - это функция к входным данным.
568. spacecraft 05.03.16 23:24 Сейчас в теме
(567) starik-2005,
синтаксис всех чего? Языков или ассемблеров?)))

Хотите сказать, что нет языка ассемблера?
Синтаксис -это лишь договоренность о том, как описать ту или иную операцию

В общем-то так и есть. В итоге все приведется к машинном коду. Только в зависимости от языка код будет разный. И у разных языков свои ограничения и возможности.
569. Xershi 1486 06.03.16 00:49 Сейчас в теме
(567) starik-2005, то что принципы программирования едины это и так всем известно. Этому учат на уроках программирования.

Я вас спрашиваю практическую часть и наработанные навыки.
572. starik-2005 3039 06.03.16 10:01 Сейчас в теме
(569) Xershi, наработанные навыки сводятся к использованию тех или иных библиотек. Вот, например, разработка интерфейса на базе gtk, хранилища данных на базе библиотек доступа к СУБД, сетевого взаимодействия, прочего. Я на linux в с++ вполне данный момент освоил. Ну а зная плюсы легко делать что-то и на php или java - синтаксис у них похожий. По крайней мере что-то написать для андроид простое для меня труда не составляет. Мне труднее придумать идею, чем воплотить ее.

В конце 90-х я достаточно много софта писал на Borland Pascal под защищенный режим DOS. Там уже вся память была доступна, но было ограничение в 2^16 переменных. Все было написано на 100% в объектной модели, а пользовательский интерфейс на assembler'е (текстовый с псевдографикой и переопределением шрифтов, и графический на VESA 800х600х256), включая синхронизацию с экраном (команда wait) и звуковое сопровождение через sound blaster (или как его там?))).

Потом были разработки на delphi, где был в частности реализован прикладной объект, способный отображать себя в любом видимом списке - там в коллекциях listbox и прочих можно было хранить объекты с соответствующими методами для отображения себя на выделенной списком канве элемента.

Сейчас вот многопоточностью и исследованиями субд занимаюсь - тоже интересно. В основном на php и c++.
573. ture 606 09.03.16 08:54 Сейчас в теме
Вы всё строите планы? ...так можно вообще не рыпаться.

Да, стартовать с нуля, грызясь со студентами за место под солнцем и преодолевая выдурь HR. А вы что думали? сразу в дамки? ломать - не строить! Но ведь и ломаем мы не от хорошей жизни, т.ч. - дорогу осилит идущий!
582. Ibrogim 1313 09.03.16 16:12 Сейчас в теме
Просто поищи что бы ты хотел сделать из существующего

Убедил, сделаю то что уже есть но очень хочется самому )
585. Lokiy 136 10.03.16 10:16 Сейчас в теме
Надо еще сходить :) хоть кому-нить расскажу какие я клевые приложения делал :))) посмотрю реакции :)))
А то просто так-то никому не интересно :(
А на собеседовании им придется меня выслушать :)))
Ibrogim; Perrojka; +2 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот