[ /b/ /u/ /rf/ /dt/ /vg/ /r/ /cr/ /lor/ /mu/ /oe/ /s/ /w/ /hr/ ] [ /a/ /ma/ /sw/ /hau/ /azu/ ] [ /tv/ /cp/ /gf/ /bo/ /di/ /vn/ /ve/ /wh/ /fur/ /to/ /bg/ /wn/ /slow/ /mad/ ] [ /d/ /news/ ] [ Главная | Настройки | Закладки | Плеер ]

 [ Скрыть форму ]
Имя
Не поднимать тред 
Тема
Сообщение
Капча Капча
Пароль
Файл
Вернуться к
  • Публикация сообщения означает согласие с условиями предоставления сервиса
  • В сообщениях можно использовать разметку wakabamark
  • На данной доске отображаются исходные имена файлов!
  • Разрешенные типы файлов: pdf, archive, image, vector, flash, music, text, video, code
  • Тред перестает подниматься после 500 сообщений.
  • Треды с числом ответов более 100 не могут быть удалены.
  • Старые треды перемещаются в архив после 40 страницы.

No.48777 Ответ [Открыть тред]
Файл: Leezonka.jpg
Jpg, 593.57 KB, 1920×1080 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Leezonka.jpg
Кое-как выучил Python по книге Мэтиза и разобрался с ООП по статьям из сети. Недавно начал читать книгу по алгоритмам и параллельно почитывать "C++. Базовый курс". Так же пытаюсь разобраться с Lua и фреймворком LÖVE2D, получается пока что не очень, скорее всего придётся читать книгу по Lua, чтобы лучше вникнуть.
Но знаете что? Я не написал ещё ни одной программы, ни одной. Я писал различные формулы и недокалькуляторы в консоли, заливал фон синим цветом в LÖVE и всё.
Я не понимаю что делать дальше. Продолжать читать книги по языкам, алгоритмам и CS или же идти что-то писать? Помогите, аноны.
24 posts are omitted, из них 5 с файлами. Развернуть тред.
>> No.48946 Ответ
>>48944
У меня мозг от любой тех.литературы кипит. Мне проще сразу погружаться по книгам, которые описывают C++11, стандартную библиотеку и основы ООП.

>>48945
Чтобы работать за 300 долларов в месяц и говорить какие веб-девы тупые, очевидно ведь.
>> No.48947 Ответ
>>48946
> и основы ООП
коза.ебись(онегин);
>> No.48948 Ответ
>>48947
А в скобках что такое? Это мы записываем метод ебись класса коза, а аргумент просто так? Пытаюсь в нём найти какое-то скрытое послание.
А вообще, под основами я имел ввиду именнно синтаксис для определённого языка, а то в этом вашем пистоне я до сих пор в стане от этого ООП-синтаксиса, благо разобрался быстро, хоть и болезненно. По ООП, полагаю, лучше книги почитать, которые заточены именно под эту тему и не берут какой-то язык в качестве среды для показа этого объектного говна. Скорее всего я неправ, так как хуй с горы.
>> No.48949 Ответ
Файл: 15055769674640.jpg
Jpg, 54.64 KB, 604×454 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
15055769674640.jpg
>>48948
Долбоёб? Нахуя читать книги про ООП, если ООП - простейшая парадигма. Попробуй применить объекты реального мира и сразу всё станет понятно. какой объект, какие свойства есть у объекта, что может делать объект.
>> No.48950 Ответ
>>48948
Автор комментария хотел сказать, что коза ебет онегина.
>> No.48951 Ответ
Файл: IMG_20180130_164334.jpg
Jpg, 85.69 KB, 447×526 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
IMG_20180130_164334.jpg
>>48950
Нет девочка. Онегин меняет внутреннее состояние козы.
>> No.48952 Ответ
>>48951
Нет ты.

Из названия функции это не понятно.
Стоит переименовать в
коза.сношается_бай(онегин);
В случае с
коза.ебись(онегин);
более очевидно, что коза ебет онегина.

Не прошел ревью твой код

Ну или надо было объявление класса козы выкатывать, из него бы было понятно, что онегин - константный, а метод - нет.
>> No.48953 Ответ
>>48949
И чего мне с этого? На примерах из реального мира всё действительно просто, а в этом вашем коде эту ебатню нужно реализовать, ещё и грамотно реализовать. Иначе если оно не будет эффективно в моей программе, то зачем мне вообще её применять? Я в связи с этим и не сую ООП в свои недопроекты, потому что он там нахуй не нужен, а писать с ООП ради ООП это говно какое-то. Как только перейду черту, когда буду писать на 1000+ строк, тогда буду применять ООП. Ну или когда наконец начну хоть что-то писать на плюсах, но пока что я их только учить пытаюсь.
>> No.48958 Ответ
>>48953
> а писать с ООП ради ООП это говно какое-то
Как раз таки так и нужно делать. Ты можешь написать один и тот же функционал разными подходами. Можешь подсовывать аргументом функцию обработчик, а можешь подсовывать объект который умеет обрабатывать
>> No.48960 Ответ
>>48953
> писать с ООП ради ООП это говно какое-то
Нет. Так и стоит делать. Ты можешь реализовать какой либо функционал подсовывая функцию обработки или подсовывая объект который умеет обрабатывать. ООП - это один из подходов к решению задачи, а не инструмент решения каких-то конкретных задач


No.48895 Ответ [Открыть тред]
Делимся годными гайдами, либами, примерами etc.
Вот например либа, которая очень помогает в работе с реалмом: https://github.com/vicpinm/Kotlin-Realm-Extensions

Также сейчас постигаю dependency injection. Кое-как освоил надеюсь Dagger 2, но в интернетах уже есть инструменты поинтереснее - Kodein (инфы мало) и KOIN (ещё меньше). Собсно стоит пытаться на них перелезать с Dagger'a?
>> No.48896 Ответ
Зачем ты так спойлеры используешь?


No.36714 Ответ [Открыть тред]
Файл: 20z_ZW7lnTw.jpg
Jpg, 47.63 KB, 820×325 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
20z_ZW7lnTw.jpg
У нас есть Vim-тред, пусть будет и Emacs.
176 posts are omitted, из них 26 с файлами. Развернуть тред.
>> No.47220 Ответ
>>47216
Нет, это совсем не то.
>> No.47221 Ответ
>>47215
Я думал тут за пол часа набросать тебе решение, но понял что задача нетривиальная ввиду того, что путешествуя по истории регионов (выделений) ты будешь создавать новые выделения. В любом случае, публикую свои наработки:
http://pastebin.com/W321qZwe
>> No.47318 Ответ
Файл: -.png
Png, 3.51 KB, 235×49
edit Find source with google Find source with iqdb
-.png
Файл: -.png
Png, 9.83 KB, 900×92
edit Find source with google Find source with iqdb
-.png

Есть одна проблема. Использую емаксклиент, так вот если им попытаться открыть файл который нельзя читать, то вместо ошибки, происходит пик 1, дальше я жму ^C и терминал ломается до перезапуска, перестает отображаться вводимый текст и перевод каретки, весь вывод отображается в одну строку, можно ли это исправить?
>> No.47468 Ответ
>>47318
У меня выводится сообщение об ошибке в таком случае. Какая версия emacs, открываются ли файлы которые можно читать?
>> No.47469 Ответ
>>47468
Читаемые файлы открываются. Если emacsclient -c, то ошибка выводится, а если emacsclient -t, то ломается терминал.
Версия 24.5.1
>> No.47470 Ответ
>> No.48089 Ответ
Файл: magit-400x400px.png
Png, 10.03 KB, 400×400 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
magit-400x400px.png
Подайте автору магита, кто сколько может.
https://www.kickstarter.com/projects/1681258897/its-magit-the-magical-git-client
>> No.48855 Ответ
Не осталось ли у кого книги Д.Бушенко по elisp? В гугле нихрена нет...
>> No.48885 Ответ
>> No.48893 Ответ
>>48885
Спасибо.


No.31137 Ответ [Открыть тред]
Файл: 07_009.jpg
Jpg, 62.06 KB, 1024×573 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
07_009.jpg
В рамках треда предлагаю обсуждать веб как он есть, задавать ответы по темам верстки и серверново программирования, да и просто обсуждать всякие рющечки веба и пить чаек с печеньками.

>>u/62144 Собсно кафедра в университете. Полезные ссылочки >>u/91168 >>u/91394

Алсо PHP-тред >>23225 SQL-тред >>29820 Python-тред >>28158

Тред создан во имя поисковой оптимизации.
280 posts are omitted, из них 48 с файлами. Развернуть тред.
>> No.48505 Ответ
>>48504
Это техническая литература, а не художественная, она намного проще.
>> No.48506 Ответ
Файл: 1420693858-79f71fb0c0155621db3674c0338b08e1.jpg
Jpg, 161.77 KB, 850×637 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1420693858-79f71fb0c0155621db3674c0338b08e1.jpg
>>48505
Я, конечно, попробую, но реквест русскоязычных источников оставлю в силе.
>> No.48526 Ответ
>>48501
А насколько он вообще нужен и распространён?
>> No.48527 Ответ
>>48526
Весьма удобен, когда надо накидать аккуратную вебморду, а ты не понимаешь в этих всех цссах и верстках.
>> No.48528 Ответ
>>48527
А как мне самому прикинуть уровень своих знаний и умений? И заодно узнать как выглядит вёрстка со стороны разработчика.
>> No.48560 Ответ
Насколько я понял, есть два пути: путь ложной простотыphp+sql и путь явной сложностиhtml+css+javascript +php+sql || +python+sql. Ох уж эта веб-разработка, я-то думал, что за год на базовом уровне всё освою.
>> No.48564 Ответ
>>48560
Всегда начинали изучение с простого. Возьми книгу «JavaScript for Kids», потом «Understanding ECMAScript 6» и с них начинай.
>> No.48568 Ответ
>>48564
> «JavaScript for Kids»
Слишком сложно, пробую пока http://jsforcats.com/
>> No.48682 Ответ
Анон, выручай.
Сбацал, значится, на коленке сайт, чтобы текст выводить, поднял на Апаче, да столкнулся с проблемой - жабаскрипт не работает!
Конкретно: через PHP реализована "сборка" веб-страницы (из шаблонов, плюс параметры), с помощью которой я добавил тэг <script> и вызвал функцию из файла. Сам файл лежит в папке scripts, которая в корне.
В консоль выводит следующее:
`Uncaught SyntaxError: Unexpected token <`
Причём эта ошибка перенаправляет почему-то на вообще левый файл.
А вот это:
`Uncaught ReferenceError: getWork is not defined`
говорит о том, что функцию оно почему-то вообще не воспринимает как уже объявленную.
ЧЯДНТ? И как вообще правильно встраивать через пыху жабаскрипт?
>> No.48811 Ответ
Файл: 79-Slowpoke.png
Png, 95.98 KB, 800×647 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
79-Slowpoke.png
>>48682
Просто руками перепиши места, на которые ругается консоль. Мне обычно помогает, если я сразу не вижу ошибку.


No.48457 Ответ [Открыть тред]
Файл: 1-soPiTsrgWsHZO2Z...
Png, 1468.07 KB, 2000×958
edit Find source with google Find source with iqdb
1-soPiTsrgWsHZO2ZHCQA_IA.png
Файл: vdfs.png
Png, 37.74 KB, 1207×826
edit Find source with google Find source with iqdb
vdfs.png
Файл: rustacean-error.png
Png, 37.41 KB, 573×300
edit Find source with google Find source with iqdb
rustacean-error.png

Зачем нужен? Во имя закапывания няшного и крестов. По крайней мере там, где можно избежать легаси и хочется писать как белый человек. Embedded пока с парой костылей вроде xargo, операционки, браузеры, всякий тяжелый код. Язык, где ты можешь отстрелить себе конечности, но ружья выдают только по карточкам. Компилятор в основном занимается твоим унижением.

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

Чего нет или ещё нет? Типов высшего порядка, константных генериков, alloca и ещё парочки похожих штук. Но работы ведутся. Ещё нет библиотек на все случаи жизни. За те несколько лет существования не успели. 1.5 вакансии уже есть, но их только 1.5. Использование нестабильной версии всё ещё актуально.

Оффициальный сайт: https://www.rust-lang.org/
Мануал: https://doc.rust-lang.org/book/second-edition/
Пакеты: https://crates.io/
18 posts are omitted, из них 3 с файлами. Развернуть тред.
>> No.48695 Ответ
Файл: King_sombra-s_eyes_at_the_top_of_the_shadow_S3E1.png
Png, 470.40 KB, 1280×720 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
King_sombra-s_eyes_at_the_top_of_the_shadow_S3E1.png
>>48694
> попробуй сначала доучить язык
у меня ограничено время на эту ересь
> Глава "Время жизни" и глава "Изменяемость (mutability)"
займемся
> Форматируй код нормально
это моя извечная проблема, ее решить мне так и не удается, но если не понятно, то есть двумерный список структур, у структуры есть функция, которая анализирует элименты вокруг него и если понадобится передвигает себя в один из этих элиментов. вообщем я думаю ты уже запутаешься на этом моменте, поэтому буду страдать.
> Heresy::lock()
это действительно ересь. надо было Obj::lock()
> Так ещё хуже, чем скриншотами
вот это обидно, я старался, хотя понимаю. лучше свич сделал, но все делалось на коленках и мозги были в отпустке
> И глобальные функции/переменные не используй. СОВСЕМ не используй
кстати на заметку. у меня такие есть и их даже 3...
>> No.48705 Ответ
Файл: Sombra_mouth_wide...
Png, 56.89 KB, 300×169
edit Find source with google Find source with iqdb
Sombra_mouth_wide_open_S3E2.png
Файл: helpneed.png
Png, 9.06 KB, 467×443
edit Find source with google Find source with iqdb
helpneed.png

я конечно туплю, но не знаю что делать. не подключается
>> No.48706 Ответ
Файл: 342-12.02.13-sombra_by_sajira-d5ko3xr.png
Png, 103.50 KB, 322×531 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
342-12.02.13-sombra_by_sajira-d5ko3xr.png
>>48705
проблема решена
>> No.48716 Ответ
Файл: sombra1.jpg
Jpg, 48.90 KB, 1280×720 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
sombra1.jpg
ну что, новая проблема. программа запускается, работает, но в определенный момент виснет. без ошибок и всякого такого. мне хотелось бы узнать. почему? как удалось выяснить?

если кто захочет по мучаться, то опишу константы. HEIGHT,WIDTH- высота и ширина соответственно, N= колличество ячеек по ширине и высоте, должно быть равно константе в inf, RANDEA- шанс появления еды, RENDMUда-да, знаю что неправильно, исправлять лень,- шанс мутаций. Vtp- схема отображения 0- пищевая, 1- защитная, 2- энергетическая. с остольным разбобраться можно, благо я даже названя нормальные давал а если не удастся то не судьба

extern crate sdl2;
extern crate rand;
//use sdl2::pixels::PixelFormatEnum;
use sdl2::event::Event;
use sdl2::keyboard::Keycode;
use sdl2::pixels::Color;
use sdl2::gfx::primitives::DrawRenderer;
use sdl2::render::Canvas;
use sdl2::video::Window;
use std::f64;
//use std::mem;
ну что, новая проблема. программа запускается, работает, но в определенный момент виснет. без ошибок и всякого такого. мне хотелось бы узнать. почему? как удалось выяснить?

если кто захочет по мучаться, то опишу константы. HEIGHT,WIDTH- высота и ширина соответственно, N= колличество ячеек по ширине и высоте, должно быть равно константе в inf, RANDEA- шанс появления еды, RENDMUда-да, знаю что неправильно, исправлять лень,- шанс мутаций. Vtp- схема отображения 0- пищевая, 1- защитная, 2- энергетическая. с остольным разбобраться можно, благо я даже названя нормальные давал а если не удастся то не судьба

extern crate sdl2;
extern crate rand;
//use sdl2::pixels::PixelFormatEnum;
use sdl2::event::Event;
use sdl2::keyboard::Keycode;
use sdl2::pixels::Color;
use sdl2::gfx::primitives::DrawRenderer;
use sdl2::render::Canvas;
use sdl2::video::Window;
use std::f64;
//use std::mem;
//use std::ptr;
use rand::{Rng,thread_rng};
use std::time::Duration;
const Vtp:i16 = 2;
static HEIGHT:u32 = 600;
static WIDTH:u32 = 800;
const N:u32 = 40;
const RANDEA:u32 = 1;
pub fn main() {
let context = sdl2::init().unwrap();
let video = context.video().unwrap();
let mut rng = rand::thread_rng();
let window = video.window("rust-sdl2 demo: Video", WIDTH, HEIGHT)
.position_centered()
.opengl()
.build()
.unwrap();
let mut canvas = window.into_canvas().build().unwrap();
let tc = canvas.texture_creator();
let mut tex = tc.createtexturestatic(tc.defaultpixelformat(), 150,
150).unwrap();
canvas.clear();
canvas.setdrawcolor(Color::RGB(255, 210, 0));
let mut a:[[inf::Obj;N as usize];N as usize] =
unsafe{std::mem::uninitialized()};
for i in a.iter_mut(){
for j in i.iter_mut(){
unsafe{::std::ptr::write(j,inf::Obj::newNu())}
}
}
a[10][10]=inf::Obj::newPl(100,0,0);
let mut eventpump = context.eventpump().unwrap();
let mut run = true;
while run {
for event in eventpump.polliter() {
match event {
Event::Quit {..} | Event::KeyDown { keycode:
Some(Keycode::Escape), .. } => {
run = false;
},
_ => {}
}
}
for i in a.iter_mut(){
for j in i.iter_mut(){
if j.otp() == 2 {
*j= j.mkcour();
} else if (j.otp() == 0) &(rng.gen_range(0,100) < RANDEA) {*j =
inf::Obj::newEa();}
}
}
for i in 0..((N) as usize){
for j in 0..((N) as usize){
let a0 = a[i][j].copy();
if (a[i][j].otp() == 2) & (a0.getcour()){a[i][j]= a0.itr(&mut
a,i,j);}
}
}
fild(&canvas,&a);
canvas.present();
// std::thread::sleep(Duration::from_millis(2000));
}
// let mut eventpump = context.eventpump().unwrap();
// 'running: loop {
// for event in eventpump.polliter() {
// match event {
// Event::Quit {..}
// | Event::KeyDown { keycode: Some(Keycode::Escape), .. } => {
// break 'running
// },
// _ => {}
// }
// }
// }
}
fn fild(canvas:&Canvas,arr:&[[inf::Obj;N as usize];N as usize]){
let r = (if HEIGHT/(2 + 3(N-1)/2) < (((WIDTH as f64)/(((2N+1) as
f64)(( f64::consts::PI/3.0).sin()))) as u32) {HEIGHT/(2+3(N-1)/2)} else
{((WIDTH as f64)/(((2N+1) as f64)(( f64::consts::PI/3.0).sin()))) as u32}) as
i16;
let a =(( f64::consts::PI/3.0).sin() * (r as f64)) as i16;
let mut x;
let mut c;
let mut y = r;
let mut f = true;
for i in (&arr).iter(){
if f {
x=a;
f=false;
} else {
x=2*a;
f=true;
};
for j in i.iter(){
c=j.col(Vtp);
hex(&canvas,x,y,r,Color::RGB(c.0,c.1,c.2));
x+=2*a;
}
y+=(3*r/2);
}
}
fn hex(c:&Canvas,x:i16,y:i16,r:i16,color:Color){
let a =(( f64::consts::PI/3.0).sin() * (r as f64)) as i16;
&c.filled_polygon(&[x,x+a,x+a,x,x-a,x-a],&[y-r,y-r/2,y+r/2,y+r,y+r/2,y-
r/2],color);
}
mod inf {
extern crate rand;
use rand::{Rng,thread_rng};
const N:usize = 40;
const RENDMU:i32 = 0;
pub struct Obj {
course:bool,
cond:i16,
side:i16,
tp:i16,
hp:i16,
def:i16,
off:i16,
liveiter:i16,
livebreed:i16,
liveancestor:i16,
table:Vec< [(i16,i16);4]>
}
impl Obj{
pub fn newPl(hp:i16,lb:i16,la:i16) -> Obj {
Obj
{course:false,cond:0,side:0,tp:2,hp:hp,def:0,off:0,liveiter:0,livebreed:lb,livea
ncestor:la,table:vec![Obj::vecstr()]}
}
pub fn newEa() -> Obj{
Obj
{course:false,cond:0,side:0,tp:1,hp:10,def:0,off:0,liveiter:0,livebreed:0,livean
cestor:0,table:vec![]}
}
pub fn newNu() -> Obj{
Obj
{course:false,cond:0,side:0,tp:0,hp:0,def:0,off:0,liveiter:0,livebreed:0,liveanc
estor:0,table:vec![]}
}
pub fn lock() -> Obj{
Obj
{course:false,cond:0,side:0,tp:3,hp:0,def:0,off:0,liveiter:0,livebreed:0,liveanc
estor:0,table:vec![]}
}
pub fn col(&self,t:i16) -> (u8,u8,u8){
match t {
0 => if self.tp == 0 {(255,255,255)} else if self.tp == 1
{(0,255,0)}else if self.tp==2 {((self.off255/2) as u8,0,((2-self.off)255/2) as
u8)} else {(0,0,0)},
1 => if self.tp == 0 {(255,255,255)} else if self.tp == 1
{(0,255,0)}else if self.tp==2 {if self.def == 0 {(244,205,138)} else if self.def
== 1 {(114,130,87)} else {(66,13,74)} } else {(0,0,0)},
2 => if self.tp == 0 {(255,255,255)} else if self.tp == 1
{(0,255,0)}else if self.tp==2 {((self.hp*255/100) as u8,0,0)} else {(0,0,0)}
_ => (0,0,0),
}
}
fn vecstr() -> [(i16,i16);4] {
[(0,0),(0,0),(1,0),(1,0)]
}
pub fn otp(&self) -> i16{
self.tp
}
fn war(&self,a:&mut Obj) -> bool{
((self.off == 0) & ((a.tp == 0)|(a.tp == 1))) | ((a.tp == 2) &
(self.off > a.def))
}
pub fn mkcour(&self ) -> Obj {
Obj
{course:true,cond:self.cond,side:self.side,tp:2,hp:self.hp,def:self.def,off:self
.off,liveiter:self.liveiter,livebreed:self.livebreed,liveancestor:self.liveances
tor,table:self.table.clone()}
}
pub fn getcour(&self) -> bool {
self.course
}
pub fn itr(&self,a1:&mut [[Obj;N];N],i:usize,j:usize) -> Obj{
println!("{},{} - {} -{}",i,j,self.hp,self.side);
for i0 in self.table.iter(){
print!("({},{}),({},{}),({},{}),({},{})",
i0[0].0,i0[0].1,i0[1].0,i0[1].1,i0[2].0,i0[2].1,i0[3].0,i0[3].1);
}
println!("");
if self.hp > 100{
self.division(a1,i,j)
} else {
let mut lock = Obj::lock();
let a =match (self.side) {
0 => if j+1 < N {&mut a1[i][j+1]} else {&mut lock},
1 => if i%2 == 0 {
if i+1 < N {&mut a1[i+1][j]} else {&mut lock}
}else{
if (i+1 < N) & (j+1 < N) {&mut a1[i+1][j+1]} else
{&mut lock}
},
2 => if i%2 == 0 {
if (i+1 < N) & (j >0) {&mut a1[i+1][j-1]} else {&mut
lock}
} else {
if i+1
},
3 => if j > 0 {&mut a1[i][j-1]} else {&mut lock},
4 => if i%2 == 0 {
if (i > 0) & (j >0) {&mut a1[i-1][j-1]} else {&mut
lock}
} else {
if i > 0 {&mut a1[i-1][j]} else {&mut lock}
},
5 => if i%2 == 0 {
if i > 0 {&mut a1[i-1][j]} else {&mut lock}
} else {
if (i > 0) & (j+1 < N) {&mut a1[i-1][j+1]} else
{&mut lock}
},
_ => &mut lock,
};
let (l,ncond) = self.table[self.cond as usize][a.tp as usize];
let nhp = self.hp - (1 + (self.table.len() as i16)/5) - (if l ==
3 {0} else {1})*(self.def +1)/(if (l==1) |(l==2){2} else {1});
if nhp <= 0{
Obj::newNu()
} else {
match l {
0 => {
if self.war(a){
*a = Obj
{course:false,cond:ncond,side:self.side,tp:2,hp:(nhp + a.hp -
3*self.off),def:self.def,off:self.off,liveiter:
(self.liveiter+1),livebreed:self.livebreed,liveancestor:self.liveancestor,table:
self.table.clone()};
Obj::newNu()
} else {
Obj
{course:false,cond:ncond,side:self.side,tp:2,hp:nhp,def:self.def,off:self.off,li
veiter:
(self.liveiter+1),livebreed:self.livebreed,liveancestor:self.liveancestor,table:
self.table.clone()}
}
},
1 => Obj {course:false,cond:ncond,side:(if self.side ==
5 {0} else {self.side +1}),tp:2,hp:nhp,def:self.def,off:self.off,liveiter:
(self.liveiter+1),livebreed:self.livebreed,liveancestor:self.liveancestor,table:
self.table.clone()},
2 => Obj {course:false,cond:ncond,side:(if self.side ==
0 {5} else {self.side -1}),tp:2,hp:nhp,def:self.def,off:self.off,liveiter:
(self.liveiter+1),livebreed:self.livebreed,liveancestor:self.liveancestor,table:
self.table.clone()},
3 => Obj
{course:false,cond:ncond,side:self.side,tp:2,hp:nhp,def:self.def,off:self.off,li
veiter:
(self.liveiter+1),livebreed:self.livebreed,liveancestor:self.liveancestor,table:
self.table.clone()},
_ => Obj::lock(),
}
}
}
}
fn division(&self,a1:&mut [[Obj;N];N],i:usize,j:usize) -> Obj{
let hp = (self.hp -20)/2;
let inc:[(i16,i16);6] = [(i as i16,(j as i16)+1),if i%2 == 0 {((i as
i16)+1,j as i16)} else{((i as i16)+1,(j as i16)+1)},if i%2 == 0 {((i as i16)+1,
(j as i16)-1)} else {((i as i16)+1,j as i16)},(i as i16,(j as i16)-1),if i%2 ==
0 {((i as i16)-1,(j as i16)-1)}else {((i as i16)-1,j as i16)},if i%2 == 0 {((i
as i16)-1,j as i16)} else {((i as i16)-1,(j as i16)+1)}];
let mut i1=self.side as usize;
if ((inc[i1].0 >=0) & (inc[i1].1>=0) & (inc[i1].0 <(N as i16)) &
(inc[i1].1 < (N as i16))){
if (a1[inc[i1].0 as usize][inc[i1].1 as usize].tp == 0) {
a1[inc[i1].0 as usize][inc[i1].1 as usize] = self.baby((i1
as i16),hp);
}
} else {
while {
if i1 == 0 {i1 = 5} else {i1-=1};
if (inc[i1].0 >=0) & (inc[i1].1>=0) & (inc[i1].0 < N as
i16 ) & (inc[i1].1 < N as i16){
a1[inc[i1].0 as usize][inc[i1].1 as usize].tp == 0
} else {i1 == (self.side as usize)}
} {}
if((i1==(self.side as usize)) & (inc[i1].0 >=0) & (inc[i1].1>=0)
& (inc[i1].0
if (a1[inc[i1].0 as usize][inc[i1].1 as usize].tp == 0) {
a1[inc[i1].0 as usize][inc[i1].1 as usize] =
self.baby((i1 as i16),hp);
}
}
}
self.baby((i1 as i16),hp)
}
fn baby (&self,side:i16,nhp:i16) -> Obj{
let mut rng = rand::thread_rng();
if (rng.gen_range(0,100) < RENDMU){
println!("mutation!");
let mut ndef= self.def;
let mut noff= self.off;
let mut ntable = self.table.clone();
if rng.gen() {
if rng.gen() {
ndef = match ndef {
0 => 1,
1 => if rng.gen() {0} else {2},
2 => 1,
_ => 0,
};
} else {
noff = match noff {
0 => 1,
1 => if rng.gen() {0} else {2},
2 => 1,
_ => 0,
};
}
} else {
let i = rng.gen_range(0,self.table.len());
let j = rng.gen_range(0,4);
if rng.gen() {
ntable[i][j] = (rng.gen_range(0,4),ntable[i][j].1);
} else {
let k = ntable[i][j].1;
let nk = rng.gen_range(0,ntable.len()+1);
ntable[i][j] = (ntable[i][j].0,nk as i16);
if nk == ntable.len(){ntable.push(Obj::vecstr());}
let mut f =true;
for i1 in 0..(ntable.len()){
for j1 in 0..4 {
if ((ntable[i1][j1].1 == k) & (i1 != (k as
usize))) {f=false;}
}
}
if f & (k != 0){
for i1 in 0..(ntable.len() -1){
if (i1 >= (k as usize)){
ntable[i1] = ntable[i1+1];}
for j1 in 0..4{
if ntable[i1][j1].1 > k {
ntable[i1][j1] = (ntable[i1]
[j1].0,ntable[i1][j1].1-1);
}
}
}
ntable.pop();
}
}
}
Obj {course:false,cond:0,side:rng.gen_range(0,
6),tp:self.tp,hp:nhp,def:ndef,off:noff,liveiter:0,livebreed:0,liveancestor:self.
liveiter,table:ntable.clone()}
} else {
Obj {course:self.course,cond:self.cond,side:rng.gen_range(0,
6),tp:self.tp,hp:nhp,def:self.def,off:self.off,liveiter:0,livebreed:self.livebre
ed+1,liveancestor:self.liveiter,table:self.table.clone()}
}
}
pub fn copy(&self) ->Obj {
Obj
{course:self.course,cond:self.cond,side:self.side,tp:self.tp,hp:self.hp,def:self
.def,off:self.off,liveiter:self.liveiter,livebreed:self.livebreed,liveancestor:s
elf.liveancestor,table:self.table.clone()}
}
}
}

>>48694
> Форматируй код нормально
> Так ещё хуже, чем скриншотами
братишка, я тебе покушать принес
Сообщение слишком длинное. Полная версия.
>> No.48717 Ответ
>>48716
> братишка, я тебе покушать принес
А, ну ясно. Значит моя помощь не требуется.
>> No.48719 Ответ
Файл: sombra1.png
Png, 3599.93 KB, 1278×1406 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
sombra1.png
>>48717
да не, нужна
>> No.48724 Ответ
>> No.48740 Ответ
Файл: _mlp__king_sombra_by_gloriajoy-daim11i.png
Png, 898.20 KB, 1024×882 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
_mlp__king_sombra_by_gloriajoy-daim11i.png
я так и не получил ответ на свой вопрос, но все же задам новый. как с помошью Arc ну или без него передать переменную в поток событие, что-бы значение изменилось в основнм потоке. причем надо сделать 3 потокасобытия в начинающиеся в одном.

кстати, с того момента моя программа получила еще пару багов: иногода она не запускается, а еще изредка вообще из-за нее виснут иксы
>> No.48742 Ответ
Файл: Sombra_mouth_wide_open_S3E2.png
Png, 56.89 KB, 300×169 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Sombra_mouth_wide_open_S3E2.png
>>48740
https://kgv.gitbooks.io/rust_book_ru/content/src/concurrency.html
вроди как тут. надо не просто объявлять а с мьютексом
>> No.48756 Ответ
Файл: talking_captcha.png
Png, 0.97 KB, 300×20
edit Find source with google Find source with iqdb
talking_captcha.png
Файл: comp-1.gif
Gif, 128.33 KB, 320×240
edit Find source with google Find source with iqdb
comp-1.gif

Упс. Забыл про последнюю часть: https://habr.com/post/354784/


No.48658 Ответ [Открыть тред]
Файл: 1389194-will-program-for-food.jpg
Jpg, 131.32 KB, 660×440 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1389194-will-program-for-food.jpg
Привет, /s/.
Думаю, много кто знаком с подобной ситуацией.

Закончил вуз по направлению разработки ПО.
С тех пор прошло полтора года (почти 2). Пытался пилить небольшой проект на коленке (не потянул конкуренцию), затем начал как следует изучать стек технологий и, думаю, теперь, вполне себе сойду за твёрдого джуниора.

И тут самое интересное. Начал искать вакансии для junior .net разработчика, а их нет (в выбранном городе).

Быть может, можно как-то иначе найти вакансию джуниора?
Думаю, по рассылать резюме на вакансии для мидлов (с пояснением, что я тяну только на джуна, но стремлюсь за пол года - год дорасти до мидла), но не спугну ли я навсегда часть работодателей?
>> No.48661 Ответ
>>48658
Попробуй в твиттере, телеграмме и фейсбуке поискать. Часть вакансий публикуется в локальных тусовочках.
>> No.48665 Ответ
>>48661
Однако. Хлопотный вариант.
Подожду какое-то время, да попробую. Спасибо.
>> No.48666 Ответ
>>48665
Из тусовок могу посоветовать в твиттере канал backendsecret.
>> No.48677 Ответ
>>48666
Не нашел подходящих вакансий, но спасибо, что поделился.
>> No.48678 Ответ
>>48677
Ты из этого канала можешь людей всяких зафоловить, иногда они репостят вакансии. Фронтендер Козуля регулярно какие-то репостит.
>> No.48701 Ответ
Файл: 1523677383213.jpg
Jpg, 615.76 KB, 850×477 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1523677383213.jpg
>>48658
> Пытался пилить небольшой проект на коленке (не потянул конкуренцию), затем начал как следует изучать стек технологий
Разве не в обратном порядке надо делать?
>> No.48704 Ответ
Файл: 1334515748_231.png
Png, 726.73 KB, 787×522 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1334515748_231.png
>>48701
«Мы все учимся созидая» ©
>> No.48743 Ответ
>>48701
По моему, это немного спорный вопрос.
После корявой практики (при поддержке гугла) теория заходит существенно лучше.
Хоть и, понятно, что практика будет корявой.

В идеале, оно должно как-то хитро переплетаться для достижения максимальной эффективности изучения.
>> No.49188 Ответ
Файл: Felix.jpg
Jpg, 77.56 KB, 700×415 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Felix.jpg
Выбор правильного места работы или как работая программистом не умереть от инфаркта

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

Лет до 25 я в буквальном смысле слова болтался "как говно в проруби" по разным, не побоюсь этого слова, конторам. Зачастую часто увольнялся после нескольких месяцев и практически не рос в профессиональном плане. Часто работал "за копейки" "у чёрта на куличиках", в весьма сомнительных организациях, где не было перспектив как карьерного, так и профессионального роста. Всё изменилось после моего трудоустройства в компанию Мвидео в 2011 году: я попал в огромную корпорацию №1 в России по продаже бытовой техники. Думаю, не нужно объяснять, чем компания с оборотом в 203 миллиарда отличается от типовой ЗАО "Рога и Копыта". В этой компании я проработал несколько лет и настолько привык к хорошим условиям труда, уважению к сотрудникам и наличию салфеток в туалете, что отныне не испытываю ни малейшего желания работать в более худших условиях.

Я сформировал ряд правил на основе своего опыта работы в различных компаниях, которыми, на мой взгляд, должны руководствоваться соискатели при поиске работы. Если кто-то захочет дополнить данный документ - пожалуйста, я не буду против.

Выбор правильного места работы или как работая программистом не умереть от инфаркта

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

Лет до 25 я в буквальном смысле слова болтался "как говно в проруби" по разным, не побоюсь этого слова, конторам. Зачастую часто увольнялся после нескольких месяцев и практически не рос в профессиональном плане. Часто работал "за копейки" "у чёрта на куличиках", в весьма сомнительных организациях, где не было перспектив как карьерного, так и профессионального роста. Всё изменилось после моего трудоустройства в компанию Мвидео в 2011 году: я попал в огромную корпорацию №1 в России по продаже бытовой техники. Думаю, не нужно объяснять, чем компания с оборотом в 203 миллиарда отличается от типовой ЗАО "Рога и Копыта". В этой компании я проработал несколько лет и настолько привык к хорошим условиям труда, уважению к сотрудникам и наличию салфеток в туалете, что отныне не испытываю ни малейшего желания работать в более худших условиях.

Я сформировал ряд правил на основе своего опыта работы в различных компаниях, которыми, на мой взгляд, должны руководствоваться соискатели при поиске работы. Если кто-то захочет дополнить данный документ - пожалуйста, я не буду против.

Я надеюсь также (очень), что когда-нибудь программистишки поебошат друг друга в мелкий винегрет - и нам всем станет немного легче.

Избегайте компаний-голодранцев и компаний-эксплуататоров

На сайте orabote.top я обнаружил очень хорошую статью под названием "Основные виды работодателей", её автор выделил три основные типа компаний:

Компании-голодранцы - задерживают и/или не выплачивают з/п. Официально не оформляют. Начальники-самодуры и дилетанты:

Как правило, подобные фирмы умеют зарабатывать деньги, да и то небольшие, только себе, но не своим сотрудникам. Некто организатор, чаще всего, выдает желаемое за действительное, предварительно как следует не просчитав все риски и собственные возможности. В компаниях-голодранцах вас будут кормить обещаниями великих свершений, заставлять петь, хлопать в ладоши и всячески отвлекать от справедливого вопроса - за счет чего вы заработаете миллионы. Как правило, сфера приложения усилий сотрудников таких компаний достаточно специфична, поэтому работа в них развивает больше стрессоустойчивость и креативность нежели финансовый уровень. Более того, вас будут убеждать, что маленькие гонорары - это следствие вашей не достаточной активности и нерасторопности. Ни о каком официальном трудоустройстве "согласно трудового кодекса" и речи быть не может.

Компании-эксплуататоры - платят, но мало. Каждый рубль вы отработаете и с вас спросят.

Аналог завода:

Это компании с внятной стратегией, чаще с регламентом, где каждый сотрудник знает, что именно он должен делать в течении рабочего дня, за что получит премию, а за что будет оштрафован. Самыми наглядными примерами таких компаний являются торговые сети, например, "Магнит", "Пятерочка", "Метро", "МакДональдс", "Евросеть", "Эльдорадо" и подобные. Сама тенденция мира к глобализации подталкивает бизнес к такому формату. К сожалению внедрение системы подразумевает сведЕние влияния сотрудника на рабочий процесс к порядку определенных и понятных действий, что автоматически переводит того в разряд несложнозаменимых. Зарплаты в таких компаниях весьма и весьма скромные и за каждый рубль вы отработаете - будьте уверены.

Компании-эффективные (наиболее редко встречающийся вид) - позволяют вам реализоваться как специалисту, при этом вы зарабатываете:

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

Вы должны искать именно компанию третьего типа - эффективную. Если вы устроитесь программистом в компанию-голодранцев или в компанию-эксплуататоров, то будьте уверены - вас хватит максимум на год-полтора. Дальше - перманентный стресс, убитые нервы и депрессия. Автор этих строк работал в одной московской телекоммуникационной компании, которая являлась 100% компанией-эксплуататором: "рулила" отделом разработки женщина 30 лет, которую достаточно открыто гнобило руководство на протяжении 6 лет её работы в компании. Она же, в свою очередь, гнобила разработчиков. Приемы гнобления сотрудника варьировались от публичного упрёка в медлительности/некомпетенции, до приватных претензий в духе "ты получаешь больше всех в отделе, а работаешь не так, как я бы этого хотела". Бессмысленные требования каждый день присылать отчет по выполненным задачам и "наезды" в случае, если левой пятке руководителя что-то не понравилось - были совершенно обыденными вещами. При всём при этом темп разработки был просто сумасшедший, за день разработчики выполняли по 2-5 задач, которые в другой компании, с более мягким и лояльным руководством, делались бы несколько дней. Качество кода при этом хромало, что усиливало энтропию проекта. Работать в таких условиях было невыносимо. Основной контингент сотрудников были люди приезжие/с детьми/с кредитами и т.д., т.е. все те, кто не мог позволить себе оказаться без финансов даже на непродолжительное время увольнения, поэтому всем приходилось терпеть.

Старайтесь устроиться в крупные компании и корпорации

Забудьте раз и навсегда про веб-студии, конторы из 2-3 человек, местечковые интернет-магазины, "стартапы" и прочий "мусор". Рассматривайте предложения только от больших корпораций - лидеров розничного рынка, банков, госучереждений, лидеров в сфере медицинских услуг и т.д.

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

- своевременная з/п без задержек
- индексация и повышение з/п
- 13-я зарплата
- скидки на товары для сотрудников
- налаженный процесс разработки, адекватное руководство
- действительно интересные и глобальные задачи
- какие-никакие, но все же ж корпопротивные мероприятия

Ещё основной плюс больших компаний и корпораций - это не только финансовая стабильность. Это постоянное ощущение течения жизни, минимум застоя.

Перед тем, как пойти на собеседование - читайте отзывы о работодателе в интернете

Банально, но факт - это работает и позволяет узнать многое.

Вакансии компании висят на сайтах по поиску работы неправдоподобно долго

Вариантов несколько:

- Неадекватный отдел персонала или неадекватный технический руководитель, которому "никто не подходит".
- Текучка кадров.
- Загнивающий проект, с которого бегут разработчики.

Делать там нечего. Хорошие вакансии долго простаивать не могут.

Перед собеседованием выясните, будет ли вас собеседовать специалист

Собеседование исключительно с представителем отдела персонала - очень плохой показатель. Скорее всего, HR-ы просто делают вид, что работают. Компания в программисте не нуждается или нуждается, но не так остро.

Если после собеседования с HR-ом, вам говорят, что "технический специалист сейчас с вами не может провести собеседование" - "он занят/на встрече/заболел" - это показатель высшей степени неблагонадежности компании и наплевательского отношения к сотрудникам. Ни одна сопливая девочка из HR не имеет права решать, работать вам в компании или нет - это решение должен принимать ТОЛЬКО технический специалист после собеседования.

Если вам отказывают в собеседовании с техническим специалистом - немедленно уходите. Расценивайте это как наплевательство по отношению к вам и вашему личному времени. Дайте соответствующий отзыв в интернет - это поможет другим соискателям сэкономить их время.

Вам предлагают сделать тестовое задание

Конечно, у вас уйма свободного времени, почему нет. Потратьте 4-8 часов, вам же все равно делать нечего - вы же безработный.

Конечно, когда хозяева "компании" - воры в законе, а руководство - фраера, совершенно естественно, что рядовой сотрудник становится чем-то вроде генерального секретаря параши. Почему нет?..

А так-то достаточно посмотреть код соискателя, чтобы понять его уровень. Например, попросить прислать код какого-нибудь проекта или библиотеки.

Буду краток: бегите оттуда.

У вас спрашивают результат работы выражения $i+++++$i, что быстрее - пре-инкремент или пост-инкремент и другие не "Real-Life задачи".

Собеседующий вас - идиот, которому посчастливилось чудом вылезти в начальники. Теперь он испытывает "синдром вахтера" и идёт на "Хабр" с вопросом что бы такое задать, чтобы вас завалить. Ему не нужен работник - ему нужно потешить Чувство Собственной Важности, поиздеваться над вами.

На самом деле ни одному профессиональному разработчику не придет в голову писать в реальном коде что-то вроде $i+++++$i;. Профессиональный разработчик тем и отличается от новичка, что пишет код так, чтобы его понимал в первую очередь человек, а уж потом - интерпретатор.

Ни один профессиональный разработчик не интересуется - что быстрее работает - пре-инкремент или пост-инкремент. Профессиональный разработчик знает, где и когда использовать тот или иной вариант. Профессиональный разработчик не экономит "на спичках" и не забивает гвозди микроскопом.

Конечно, когда фирма срослась с государством и тут теперь мусара на хозяйстве - травить компьютерных задротов (ну хотя бы на собеседованиях) вполне естественно. Как мы вас в щколке пиздили.

Икарочи, - если у вас спрашивают подобные "задачки", смело бегите от такого тимлида. Ничего хорошего из этого не выйдет.

После трудоустройства

После трудоустройства внимательно присмотритесь к процессам внутри компании, оцените состояние внутри коллектива, внимательно прислушивайтесь к "звоночкам". В очень большом количестве компаний айтишники представляют собой отдельную касту сотрудников, со своими, мягко говоря, странными повадками и моделями поведения, отличными от моделей поведения всех других сотрудников предприятия.

Сверхурочная работа

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

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

Программирование и ваша жизнь

Профдеформация

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

Нельзя делать из программирования культ и смысл жизни

Подобными действиями очень часто грешат новички: уходят в программирование с головой, спускают на обучение годы жизни, уделяют профессии 90% свободного времени. Должна быть разумная черта, грань, за которую вы не должны переступать. Бесконечное оттачивание навыков в IT не сделает из вас миллионера или человека с достатком сильно выше среднего (да-да, забудьте мифы о программистах-миллионерах), вы не станете знаменит или бессмертен. Но есть все шансы потерять лучшие годы жизни. Необходимо развивать в себе иные качества личности, которые пригодятся в реальной жизни, совершенствоваться в других сферах. Например, жизненно важно уметь делать тривиальный бытовой ремонт, разбираться в устройстве автомобиля, уметь владеть инструментом. Полезно ходить в походы, заниматься активно спортом, делать всё то, что не лежит в плоскости IT, что является антиподом мыслительно-сидячей работы.

Рано или поздно придётся уходить

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

Современное IT подобно ветру - оно очень быстро развивается и гнаться за всеми нововведениями и тенденциями, следить за огромным количеством фреймворков и технологий многие годы не получится. Хотя по правде говоря, это скорее поток кровавого поноса. И хотите вы этого или нет - рано или поздно придется остановиться и искать иной путь заработка, более "стабильный" и менее стрессовый, т.к. к тому времени вы просто морально сгорите как рядовой специалист. Уделять всю свою сознательную жизнь программированию и быстро меняющимся технологиям может только человек, живущий исключительно в мире нулей и единиц, т.е. весьма отрешенный человек без личной жизни и оффлайн-перспектив. Выходом может быть только самоубийство.
Сообщение слишком длинное. Полная версия.


No.48599 Ответ [Открыть тред]
Файл: 15211418425220.png
Png, 54.75 KB, 625×459 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
15211418425220.png
Есть архивчик, там файлы 96-99 годов (даже 92-го). Анон сказал, что использовался язык программирования RPG. Я скачал компилятор Lattice RPG II на DOS, программа сама запускается, но вот как посмотреть код? Как вообще это всё было написано?

https://drop.me/BP2pGV
>> No.48603 Ответ
>>48599
Внутри файла Z.exe всё написано:

Создание, удаление и обработка лицевых счетов
Создание, удаление и обработка групп лицевых счетов
Создание, удаление и обработка сводов групп
Работа с планом расчетов: создание, удаление и работа
Работа со справочником имен, закрытие месяца и т.п.

Разработал А.Корнейчук
Фирма Плюс/МИКРО
ZluKA 3.30 1993

Гугл считает, что они находятся в Караганде: https://www.ctopm.net/blank-cfvg

>>48599
Внутри файла Z.exe всё написано:

Создание, удаление и обработка лицевых счетов
Создание, удаление и обработка групп лицевых счетов
Создание, удаление и обработка сводов групп
Работа с планом расчетов: создание, удаление и работа
Работа со справочником имен, закрытие месяца и т.п.

Разработал А.Корнейчук
Фирма Плюс/МИКРО
ZluKA 3.30 1993

Гугл считает, что они находятся в Караганде: https://www.ctopm.net/blank-cfvg

Но проще написать на любом современном языке обёртку над этими файлами, т.к. TXT/CLG/RPS/RPG — обыкновенные текстовые файлы (нет, они не написаны на RPG).
Сообщение слишком длинное. Полная версия.


No.48481 Ответ [Открыть тред]
Файл: 4-Minimal-Scala-Web-Frameworks-for-Web-Developers.png
Png, 8.42 KB, 635×282 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
4-Minimal-Scala-Web-Frameworks-for-Web-Developers.png
Очередной тред про самый лучший язык для JVM.

Лучшая книга по Скале: http://www.ozon.ru/context/detail/id/31921731/
Учебник по Скале на русском: http://twitter.github.io/scala_school/ru/index.html
Второй учебник по Скале на русском: http://twitter.github.io/effectivescala/index-ru.html
Курс по fp на Скале для слоупоков: https://www.coursera.org/course/progfun
Конфа треда: https://t.me/hcdev

Список годноты: https://github.com/lauris/awesome-scala
Презентации летнего ScalaDays: https://www.parleys.com/channel/53a7d269e4b0543940d9e535/presentations?sort=views&state=public
Два недавних форка компилятора, один от тайплевела и второй от баттхертнутого:
https://github.com/typelevel/scala (https://github.com/typelevel/scala/wiki/Differences)
https://github.com/paulp/policy

Очередной тред про самый лучший язык для JVM.

Лучшая книга по Скале: http://www.ozon.ru/context/detail/id/31921731/
Учебник по Скале на русском: http://twitter.github.io/scala_school/ru/index.html
Второй учебник по Скале на русском: http://twitter.github.io/effectivescala/index-ru.html
Курс по fp на Скале для слоупоков: https://www.coursera.org/course/progfun
Конфа треда: https://t.me/hcdev

Список годноты: https://github.com/lauris/awesome-scala
Презентации летнего ScalaDays: https://www.parleys.com/channel/53a7d269e4b0543940d9e535/presentations?sort=views&state=public
Два недавних форка компилятора, один от тайплевела и второй от баттхертнутого:
https://github.com/typelevel/scala (https://github.com/typelevel/scala/wiki/Differences)
https://github.com/paulp/policy

Завтра ищешь в интернете книжку Programming in Scala. Похуй если ничего не поймешь. Затем идешь на scala-lang.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию скала кода - от EPFL естественно, чтобы от зубов отскакивало. Когда напишешь свой первый клон Twittera, по пути изучив основы дискретного и лямбда исчисления, скачиваешь и изучаешь любой асинхронный скала вебсервер, рекомендую Play!. Как переделаешь твиттер клон, чтобы выдавал по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop и Spark, сверхбыстрые асинхронные key-value хранилища, NoSQL и прочие мира открытого исходного кода приблуды. Отсос хиккующих питонистов / просто неудачников типа годаунов или рубифанбоев, сосут по жизни, не заставит себя ждать и уже через пол года ты будешь подворачивать штаны, есть маффины, запивая смузи и любая баба будет течь от упоминания твоей зарплаты.
Сообщение слишком длинное. Полная версия.
>> No.48510 Ответ
>>48481
Нам нужен готовый красивый продукт, который хотим развивать. Так просто это не осметить. Нужно встречаться и разговаривать о затраченном времени. Мы вам перезвоним.


No.37645 Ответ [Открыть тред]
Файл: sweet_dreams__alex_by_koriart-d5qvspe.jpg
Jpg, 87.73 KB, 600×780 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
sweet_dreams__alex_by_koriart-d5qvspe.jpg
Сабж. Ненавистники идут ненавидеть, все остальные - добро пожаловать. Тут вас ждет помошь и реабилитация от губительного влияния устаревшей программы обмучения поцкалем.

Обойдемся без срача и фанатизма.
110 posts are omitted, из них 16 с файлами. Развернуть тред.
>> No.45088 Ответ
>>44887
Паскаль - это не только борландовское поделие всё-таки.
Если интересно - в лазарь спокойно обрабатывает в OnKeyDown и таб и альт. У меня линь 64 если что.
>> No.46968 Ответ
Файл: pascal-0-01.jpg
Jpg, 218.88 KB, 800×553 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
pascal-0-01.jpg
Сап, доброкодеры. А добропомогите мне по одному вопросу. Какого чёрта SCHOOL PAK выдаёт мне псевдографику вместо нормальных лат. и рус. букв? Вот написал программу, потом поальттабил, вернулся к программе – всё, пиздец. Закрыл, запустил по новой, та же фигня.
HAHAHA DISREGARD THAT, I COOK SOCKS
Уже разобрался с проблемой. Как выяснилось, переключение раскладок руны/чел.яз. осуществляется правым альтом.
...
А теперь уже нет. В общем забудьте и считайте это таким видом бампа.
>> No.47046 Ответ
Файл: test.dec.jpg
Jpg, 869.97 KB, 200×200 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
test.dec.jpg
>> No.48044 Ответ
Файл: 072-1024x768-32-[SIG6b0d2c18a7a7c1c9d65f7b2afc8289.jpg
Jpg, 118.95 KB, 1024×768 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
072-1024x768-32-[SIG6b0d2c18a7a7c1c9d65f7b2afc8289.jpg
Нет в мире ничего прекраснее, чем познавать новое, учиться, читать и запоминать на всю жизнь мудрые строки!
Поздравляю!
>> No.48178 Ответ
Посоветуйте что-нибудь в духе справочника по паскалю хотя бы на уровне школы
>> No.48218 Ответ
>>48178
Удваиваю.
>> No.48227 Ответ
>>48178
Когда в школе учился мне хватало http://pas1.ru/ с головой. Если тебе именно синтаксис учить, да задачки тренироваться решать.
>> No.48228 Ответ
pas cal
>> No.48229 Ответ
>> No.48450 Ответ


No.47975 Ответ [Открыть тред]
Файл: freelance.jpg
Jpg, 51.56 KB, 600×400 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
freelance.jpg
В данный момент я студент по околоматематическому-околоайтишному направлению. Все больше я склоняюсь к мысли, что лучший вариант работы для меня - быть кодером. Программирование изучал со школы, попробовал несколько разных языков, параллельно писал небольшие проекты, в общем, мне это все нравится. Но только вот я никогда не работал на должности программиста. Подрабатывал всегда на всяких чернорабочих вакансиях вроде грузчика.
Дело в том, что к своему обучению я отношусь довольно серьезно и не хочу работать во вред ему даже если в будущем оно мне, возможно, и не пригодится. А с таким подходом найти нормальную работу в офисе не просто. Потому я подумал, что на время обучения можно попробовать вкатиться в мифический фриланс, о котором я столько слышал. Мне сейчас достаточно небольшого заработка, потому я мог бы контролировать нагрузку и параллельно учиться. Ну и зарабатывать "мозгами" куда приятнее, чем таскать тяжести.
Собственно вопросы к доброанонам, которые имеют опыт в этой сфере:
-Стоит ли мне пытаться идти во фриланс без какого-либо настоящего опыта работы в офисе?
-Сколько времени лично у тебя, анон, ушло на то, чтобы более-менее наладить свою работу в этой сфере? Я имею ввиду не только наладить рабочий процесс, но и иметь некоторый стабильный, хоть и небольшой, доход.
-Ну, и в целом, как ощущения от всего этого?
Также призываю здесь всех, кто даже не имеет опыта в этой сфере, делиться своим мнением и обсуждать явление фриланса в области программирования!
6 posts are omitted. Развернуть тред.
>> No.48370 Ответ
>>48369
Зачем нужны CMS/фреймворки, если php уже сам по себе комбайн со 100500 готовых библиотек?
>> No.48372 Ответ
>>48370
Ну фреймворки как правило то и делают, что объединяют наиболее стоящие из этих библиотек в какую-то поддерживаемую архитектуру.

CMS же это как конструктор в который каждый разработчик может добавлять свои блоки.
>> No.48389 Ответ
>>47975
Посмотри в сторону научного стека на питоне: numpy/scipy/matplotlib/seaborn/scipy/scikit-learn/theano/pymc3/pandas
Это пока ещё не такая засиженная тема, как формошлёпы, вошедшие в айти.
только апворк, в нашей стране на такое спроса нет.
>> No.48390 Ответ
>>48389
В вашей стране ни на что спроса нет.
Я уже лет десять работаю на заграницу. Предлагали съебать и работать в флориде. Статистика, датамайнинг, все дела. Но я же хикка, как я могу отказаться от созерцания говнища за окном.
Не зли меня.
>> No.48407 Ответ
>>48390
Где находил работу? Как происходит коммуникация с коллегами?
>> No.48417 Ответ
>>48407
Я не он, но рискну предположить, что на апвоке, а коммуникация через слак и скайп. Что ещё надо-то?
>> No.48418 Ответ
>>48417
Так это же Колобок из Колобкач-треда!
Он уже на другой доске написал, что они его сами находили в LinkedIn.
>> No.48446 Ответ
Кодеры, хочу примерно того же, что и ОП. Платиновый вопрос - что учить, с чего начинать? Математику и всякое такое не изучал с третьего класса, знаю немного питон.
>> No.48447 Ответ
>>48446
DiveIntoPython.txt
>> No.48448 Ответ
>>48447
Читал уже. Что дальше посоветуешь?


[0] [1] [2] [3] [4] [5] ... [51] [52] [53]
Пароль:

[ /b/ /u/ /rf/ /dt/ /vg/ /r/ /cr/ /lor/ /mu/ /oe/ /s/ /w/ /hr/ ] [ /a/ /ma/ /sw/ /hau/ /azu/ ] [ /tv/ /cp/ /gf/ /bo/ /di/ /vn/ /ve/ /wh/ /fur/ /to/ /bg/ /wn/ /slow/ /mad/ ] [ /d/ /news/ ] [ Главная | Настройки | Закладки | Плеер ]