저위험 중수익 이상 가성비좋은 재테크 방법들 알려주니 그냥 재미로 참고하기 바람. 참고로 위험도는 이짓을 100번했을때 손해볼 횟수를 주관적으로 계량화한 것임.



1. 만기 1년이내로 남은 스팩주 2040원 하단에서 매수하여 상폐후 환급받기


위험도 0



2. 비트코인 710만원 하단에서 매수하여 730만원 이상에서 매도하기


위험도 10



3. 하방경직성 좋은 고배당주 또는 채권형우선주 매수후 장기보유(대신증권우, 삼성화재우, 한화3우b, 미래에셋대우2우b)


위험도 15



4. 저축은행 비대면으로 1년만기예금 4900만원으로 저축은행별로 가입


위험도 0



5. 우리종금 cma 노트가입후 단기자금 일시예치


위험도0



주식 펀드 등은 쫄보라서 못하고 부동산은 자금부족인 형들은 저거 5개만 잘돌려도 1금융권 은행금리 2-3배이상은 매우 낮은위험으로 벌수있으니 참고들 하길.


출처 : 블라인드 재테크 게시판
블로그 이미지

가카리

소프트웨어와 하드웨어 프로그래밍, 취업 및 직장생활 전문 블로그

  몇 일전 재테크 경험글을 올렸는데, 별 생각 없이 올린글 때문에 쪽지와 메일


답장을 하느라 고단한 날을 보냈습니다.


한국인 대부분이 집이 전 재산 이기 때문에 어설픈 답장은 안하느니만 못하기 때문에 어떤 분의 메일은 30분도 넘게 고민하고 답을 보냈습니다.


  각설하고 저 역시 자산의 많은 부분이 부동산이고, 부동산 재테크가 수익창출의


수단이었음을 부정하지 않겠습니다. 때문에 그간 경험을 바탕으로 재테크의 단계와 자금 flow 만드는 방법을 공유 드립니다.


  부동산 투자는 저변동성 투자이고, 주식처럼 기관 외인이 들어오기 어려운 구조입니다.


  투자의 원칙을 세우고, 일희일비 안하면 투자의 기본은 되었다고 생각합니다.



1. 내집 마련 본능에 충실하자


 -  대부분 사회 초년생, 전/월세를 살고 있는 대부분 사람들의 꿈은 내집마련 일거라 생각합니다.


    재테크는 내 집이 생긴 다음부터 시작됩니다. 등기에 내 이름이 올라와 있는 집이 있어야지


집를 업그레이드 하든 평수를 늘리던 다음번 계획을 세울수 있습니다.


 - 부모님이 10억정도 도와줘서 20대에 반포 삼성 청담 압구정 아파트에 살고 있는거 아니면


    금리 / 국가정책 신경쓰지 말고 내집 마련하세요.



2. 투자의 원칙을 세우는게 9할이다.


 - 저의 원칙은 "집은 한번살면 왠만하면 팔지 않는다" 입니다. 다시 말하면 좋은지역에 좋은집을 사서 오랫동안 가지고 있어서 수익율을 극대화 하는 전략입니다.


 - 다주택자가 적폐라고 생각하는 분들이 있는데, 원칙을 가지고 장기투자 하는 사람들은


   주택시장을 안정화 시키는대 기여합니다.


3. Money flow가 중요하다.


 - 주택을 골라서 전세를 끼고 하나씩 사모으고 (한번 사면 안팔수 있는 좋은집) 나중에 그런집이


   5~7개 정도 되면 한채씩 월세로 전환을 하면됩니다. 처음에 40~50만원이 시간이 지날수록


   증가하고 자본소득이 근로소득을 뛰어넘는 상황을 만들수 있습니다. (은퇴 시점이지요)



4. 호재에 일희일비 할 필요 없다.


 - 물가와 급여와 다르게 주택시장은  계단 모양으로 상승합니다. 수년간의 보합기가 오다가


   일정 기간동안 급등하고 또 수년동안 보합기가 옵니다. 투자의 기본은 시간이고 위기일때


   투자는 더 큰 이익을 주는 경우가 많습니다. 주식처럼 일희일비 하지 마세요.



  자산은 눈덩이 같습니다. 처음 종자돈 1억이 2억이 될때가 시간이 오래 걸리고 힘들었는데,



  20억(순자산)이 21억이 되는데, 몇개월도 걸리지 않습니다. 내가 살집도 필요하고, 투자를 위한 부동산도 필요합니다. 모두 성투 하세요.


출처 : 블라인드 재테크 게시판


블로그 이미지

가카리

소프트웨어와 하드웨어 프로그래밍, 취업 및 직장생활 전문 블로그


회사에 출근하면 몇몇 동료들의 안색이 좋지 못합니다.



  수억에서 적게는 수천만원씩 주식을 하는 동료들인데, 요즘 주식시장을 보면 개미들의 무덤인듯 합니다. 그래서 저는 기관과 외인에 휘둘리는 주식을 하지 않습니다.



  재테크 관련 글을 쓰고 쪽지와 메일로 문의를 많이 받았는데, 2~3억정도 수준에서 투자를 고민 하는 분들이 많은거 같습니다. 이정도 금액이 서울 중간층 가구에서 투자 가능한 금액인듯 보입니다.



  부동산 투자를 할때 몇가지 원칙이 있고, 이 원칙에 맞춰서 최근 임장을 다녀온 곳을 소개해 드리겠습니다. (참고로 그 지역에 1%의 지분도 없습니다.)



* 서울 부동산 투자의 원칙


1. 2호선 9호선 라인 역세권 + 신분당선


  - 굳이 설명할 필요 없이 서울 메인 업무 지역을 통과하는 지하철 황금노선 입니다.


  가장 많은 사람들이 이 노선을 타고 출퇴근을 하고, 강남/삼성/잠실하면 가장 먼저 떠오르는 노선입니다.



2. 학군
  - 대치학군 / 목동학군은 말할것도 없고, 분당 평촌도 학군때문에 초중고 자녀를둔 어머니들이 선택하는 지역입니다.



3. 대형단지 / 소형평수


 - 투자는 1원칙은 환급성입니다. 과거 50~60평 대형평수 아파트가 주목받던 시절이 있었지만.. 환급성을 고려한다면 84m 이하의 중소형평수 + 1000세대 이상의  대형단지가 유리합니다.


4. 한강라인


 - 서울에서 한강뷰를 오롯이 볼수 있는 아파트는 3% 미만이고, 아리팍 같은 아파트는 쉽게 접근하기 어려운 가격 입니다. 하지만 한강라인의 아파트는 2~3억의 갭으로 접근 가능한 매물이 있으며, 올림픽대로 / 강변북로를 통해 자차로 이동편한 이점이 있습니다.



5. 임장지역


  - 2호선 역세권 + 소형평수 + 대형단지 + 학군 + 한강라인 = 3억 투자가능 지역은 구의현대2/3단지 입니다.


  - 타입과 층에 따라서 차이는 있지만 3억후반에 갭투 가능하며, 위 조건을 모두 만족 할 수 있는 지역 이었고, 해당 지역에 소고를 하겠습니다.



  - 현대2단지 (투자가치 : 85점 / 장점:구축이지만 좋은 컨디션+강변역 초역세권 , 단점 : 광남초X)



  강변역에서 도보로 5분거리 입니다. 구의 공원과 테크노 마트가 있고, 최근에 아파트 외장공사(?) 를 했기 때문에 20년차 아파트라고 보기 힘들 정도로 컨디션이 좋고, 주차 공간도 여유가 있었습니다.


     부분적 한강뷰가 있기 하지만 일부동 말고는 의미 없는 수준이고, 광남초 학군이 아닌점이 단점입니다.



     잠실대교를 통하면 자차 15분 정도로 롯데타워에 접근 가능합니다.


 -  현대3단지 (투자가치 : 87점 / 장점 : 광남학군 + 310동 full 한강뷰 , 단점 : 강변역 10분+주차부족)



  2단지와 비교를 하면 가장큰 장점은 광남학군 입니다. 길건너 초중고가 있고, 학군이 좋습니다.


  310동같은 경우 6~7층 이상이면 full 한강뷰가 나옵니다.


  단점은 주차공간 부족으로 2중 주차는 기본이고, 실거주 아파트 컨디션도 좋지 못합니다.


  이건 2단지와 비교했을때 단점이고, 기본적으로 투자의 가차 높으며, 향후 강변역 개발에 따른 호재도 기대해볼수 있는 지역입니다.


출처 : 블라인드 재테크 게시판


블로그 이미지

가카리

소프트웨어와 하드웨어 프로그래밍, 취업 및 직장생활 전문 블로그


1. 투자를 하러 왔다지만, 실상은 1년 미만 보유의 트레이딩을 하게된다.


2. 자신이 워렌 버핏이라고 착각한다. 가치투자는 정말 어려운 분야다. 초심자가 분석하는 기업 대부분 이미 주가가 급등한 유명해진 기업이다.


3. 진짜 고수는 주식투자의 위험성을 알기에 권유하지 않는다.


4. 주변에 운으로 수익난 지인따라 투자하다 같이 손실을 본다. 그 지인이 수익나서 따라가면 진짜 고점일 확률이 높다.


5. 처음 투자하는 시점은 대부분 주가가 고점인 경우가 많다. 왜냐면 주식하면 돈을 쉽게 번다는 소문을 듣고 와서이다.


6. 버티면 오를거라 착각한다.


7. 시중에 있는 책들을 실패한 투자에 실패한 투자자가 투자금을 위해서 쓴게 대부분이다. 몇십억 이상 수익난 사람은 귀찮아서 대부분 안쓴다.


8. 차트의 기본조차 모른다.


9. 원하는 가격이 올때까지 기다리지 않는다. 고수들은 몇달이상 진입가가 오기까지 기다린다.


10. 자신만의 매매법이 없다.


11. 운빨로 수익나도 욕심과 탐욕으로 투자금을 늘리다 결국 손실을 본다.


12. 현대의 전쟁은 총칼이 아니라 돈으로한다. 그렇듯 소중한 돈이 왔다갔다하는 주식판은 이미 전쟁터다. 하지만 초심자는 핵무장한 적이랑 총도 없이 싸우러 간다는 사실을 인지하지 못한다.


13. 잔인하지만 일반인이 하는 주식은 투자가 아니라 남의 돈을 뺏어여먼 돈을 번다.


14. 이 글들이 이해되지 않는다면 주식바닥에 오지 않는게 좋다.


15. 이렇게 경고해도 결국할거란 마음을 알기에 자기 자산의 1%만 투자해본다.


16. 1% 자본금이 자기의 전재산이라 생각하고 필사적으로 공부한다. 그래야 끝까지 살아남는다.
수익이 나기 시작하면 그때부터 투자금을 늘려도 늦지않는다.


17. 이런 사실을 깨우치기까지 짧으면 2~3년 길면 5~10년 이상걸린다.

출처 : 블라인드 재테크 게시판


블로그 이미지

가카리

소프트웨어와 하드웨어 프로그래밍, 취업 및 직장생활 전문 블로그


실행화면
1. 로그인을 합니다.


2. COURSE LIST 클릭


3. 다음과 같은 레이아웃을 구성하는 것이 이번 강의 목표



res/layout/fragment_course.xml

COUSE LIST를 눌렀을 때 보여주는 xml 파일입니다.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.kch.registration_v9.CourseFragment"
    android:orientation="vertical"

    >

    <RadioGroup
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/courseUniversityGroup"
        android:layout_gravity="center_horizontal"
        android:gravity="center_horizontal"
        android:orientation="horizontal"
        android:layout_marginTop="10dp"
        >

        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="undergraduate"
            android:id="@+id/university"
            />

        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="graduate"
            android:id="@+id/graduate"
            />

    </RadioGroup>

    <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:layout_marginTop="10dp"
            android:layout_gravity="center_horizontal"
            android:paddingRight="10dp">

            <Spinner
                android:layout_width="120dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginLeft="10dp"
                android:id="@+id/yearSpinner"></Spinner>

            <Spinner
                android:layout_width="100dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginLeft="10dp"
                android:id="@+id/termSpinner"></Spinner>

            <Spinner
                android:layout_width="140dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginLeft="10dp"
                android:id="@+id/areaSpinner"></Spinner>

        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:layout_marginTop="10dp"
            android:layout_gravity="center"
            android:gravity="center"
            android:paddingRight="10dp"
            >

            <Spinner
                android:layout_width="230dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginLeft="10dp"
                android:id="@+id/majorSpinner"></Spinner>

            <Button
                android:layout_width="80dp"
                android:layout_height="40dp"
                android:textSize="15dp"
                android:textStyle="bold"
                android:textColor="#ffffff"
                android:background="@color/colorWarning"
                android:text="Course Search"
                android:layout_gravity="center"
                android:id="@+id/searchButton"
                android:layout_marginLeft="10dp"/>


        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_margin="10dp"
            android:background="#ffffff"
            >

            <ListView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:id="@+id/courseListView"
                android:dividerHeight="10dp"
                android:divider="#ffffff"
                ></ListView>



        </LinearLayout>


</LinearLayout>

res/values/arrays.xml

Spinner를 클릭했을때 넣어줄 데이터를 여기에 정의 해줍니다.

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="major">
        <item>정보통신공학</item>
        <item>기계공학</item>
        <item>화학공학과</item>
    </string-array>
    <string-array name="term">
        <item>1학기</item>
        <item>여름학기</item>
        <item>2학기</item>
        <item>계절학기</item>
    </string-array>
    <string-array name="graduateArea">
        <item>전공선택과목</item>
        <item>교양과목</item>
        <item>전공필수과목</item>
    </string-array>
    <string-array name="universityArea">
        <item>전공필수과목</item>
        <item>전공선택과목</item>
    </string-array>
    <string-array name="year">
        <item>2018년도</item>
        <item>2019년도</item>
        <item>2020년도</item>
        <item>2021년도</item>
        <item>2022년도</item>
        <item>2023년도</item>
        <item>2024년도</item>
        <item>2025년도</item>
        <item>2026년도</item>
    </string-array>
</resources>


CourseFragment.java

스피너와 라디오버튼 그룹을 만들고 값을 넣어줍니다.

package com.example.kch.registration_v9;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Spinner;


/**
* A simple {@link Fragment} subclass.
* Activities that contain this fragment must implement the
* {@link CourseFragment.OnFragmentInteractionListener} interface
* to handle interaction events.
* Use the {@link CourseFragment#newInstance} factory method to
* create an instance of this fragment.
*/
public class CourseFragment extends Fragment {
    // TODO: Rename parameter arguments, choose names that match
    // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
    private static final String ARG_PARAM1 = "param1";
    private static final String ARG_PARAM2 = "param2";

    // TODO: Rename and change types of parameters
    private String mParam1;
    private String mParam2;

    private OnFragmentInteractionListener mListener;

    public CourseFragment() {
        // Required empty public constructor
    }

    /**
     * Use this factory method to create a new instance of
     * this fragment using the provided parameters.
     *
     * @param param1 Parameter 1.
     * @param param2 Parameter 2.
     * @return A new instance of fragment CourseFragment.
     */
    // TODO: Rename and change types and number of parameters
    public static CourseFragment newInstance(String param1, String param2) {
        CourseFragment fragment = new CourseFragment();
        Bundle args = new Bundle();
        args.putString(ARG_PARAM1, param1);
        args.putString(ARG_PARAM2, param2);
        fragment.setArguments(args);
        return fragment;
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if (getArguments() != null) {
            mParam1 = getArguments().getString(ARG_PARAM1);
            mParam2 = getArguments().getString(ARG_PARAM2);
        }
    }

    //9강에 추가된 부분
    private ArrayAdapter yearAdapter;
    private Spinner yearSpinner;
    private ArrayAdapter termAdapter;

    private Spinner termSpinner;
    private ArrayAdapter areaAdapter;
    private Spinner areaSpinner;

    private String courseUniversity = "";
    private String courseYear = "";
    private String courseTerm = "";
    private String courseArea = "";


    //9강에 추가된 부분
    //Life Cycle 상 onCreate다음에 onActivityCreated가 실행됨
    //Activity의 모든 View가 만들어지고 난 다음이기 때문에 View를 변경하는 등의 작업을 할 수 있다.

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);


        final RadioGroup courseUniversityGroup = (RadioGroup)getView().findViewById(R.id.courseUniversityGroup);
        yearSpinner = (Spinner)getView().findViewById(R.id.yearSpinner);
        termSpinner = (Spinner)getView().findViewById(R.id.termSpinner);
        areaSpinner = (Spinner)getView().findViewById(R.id.areaSpinner);

        //라디오 버튼에 따라서 달라짐
        courseUniversityGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                //라디오 버튼 그룹 선언
                RadioButton courseButton = (RadioButton)getView().findViewById(checkedId);

                //현재 라디오 버튼이 눌린 값의 text를 가져옴
                courseUniversity = courseButton.getText().toString();

                //arrays.xml의 내용을 이용해서 단순한 스피너를 만드는 부분
                yearAdapter = ArrayAdapter.createFromResource(getActivity(), R.array.year, android.R.layout.simple_spinner_dropdown_item);
                yearSpinner.setAdapter(yearAdapter);//여기서 스피너뷰에 어댑터패턴을 이용해서 데이터를 연결해줌


                //위와 동일
                termAdapter = ArrayAdapter.createFromResource(getActivity(), R.array.term, android.R.layout.simple_spinner_dropdown_item);
                termSpinner.setAdapter(termAdapter);

                //라디오버튼의 상태에 따라서 학부와 대학원으로 나눔
                if(courseUniversity.equals("undergraduate")){
                    areaAdapter = ArrayAdapter.createFromResource(getActivity(), R.array.universityArea, android.R.layout.simple_spinner_dropdown_item);
                    areaSpinner.setAdapter(areaAdapter);
                }else{
                    areaAdapter = ArrayAdapter.createFromResource(getActivity(), R.array.graduateArea, android.R.layout.simple_spinner_dropdown_item);
                    areaSpinner.setAdapter(areaAdapter);
                }

            }
        });
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragment_course, container, false);
    }

    // TODO: Rename method, update argument and hook method into UI event
    public void onButtonPressed(Uri uri) {
        if (mListener != null) {
            mListener.onFragmentInteraction(uri);
        }
    }

    /*
    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
        if (context instanceof OnFragmentInteractionListener) {
            mListener = (OnFragmentInteractionListener) context;
        } else {
            throw new RuntimeException(context.toString()
                    + " must implement OnFragmentInteractionListener");
        }
    }

강의에서 삭제함    */

    @Override
    public void onDetach() {
        super.onDetach();
        mListener = null;
    }

    /**
     * This interface must be implemented by activities that contain this
     * fragment to allow an interaction in this fragment to be communicated
     * to the activity and potentially other fragments contained in that
     * activity.
     * <p>
     * See the Android Training lesson <a href=
     * >Communicating with Other Fragments</a> for more information.
     */
    public interface OnFragmentInteractionListener {
        // TODO: Update argument type and name
        void onFragmentInteraction(Uri uri);
    }
}



 MainActivity.java

맨 마지막부분에 메인화면에서 백버튼을 두번 누르면 앱이 종료되게 추가했습니다.


package com.example.kch.registration_v9;

import android.os.AsyncTask;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.Toast;

import org.json.JSONArray;
import org.json.JSONObject;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    //7강때 추가된 부분
    private ListView noticeListView;
    private NoticeListAdapter adapter;
    private List<Notice> noticedList;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //7강때 추가된 부분
        noticeListView = (ListView)findViewById(R.id.noticeListView);
        noticedList = new ArrayList<Notice>();
        //8강때 삭제됨
       /* noticedList.add(new Notice("공지사항", "gakari", "2018-09-09"));
        noticedList.add(new Notice("공지사항", "gakari", "2018-09-10"));
        noticedList.add(new Notice("공지사항", "gakari", "2018-09-11"));
        noticedList.add(new Notice("공지사항", "gakari", "2018-09-12"));
        noticedList.add(new Notice("공지사항", "gakari", "2018-09-13"));
        noticedList.add(new Notice("공지사항", "gakari", "2018-09-14"));
        noticedList.add(new Notice("공지사항", "gakari", "2018-09-15"));
        noticedList.add(new Notice("공지사항", "gakari", "2018-09-16"));
        noticedList.add(new Notice("공지사항", "gakari", "2018-09-17"));
        noticedList.add(new Notice("공지사항", "gakari", "2018-09-18"));
        noticedList.add(new Notice("공지사항", "gakari", "2018-09-19"));
        noticedList.add(new Notice("공지사항", "gakari", "2018-09-20"));*/
        adapter = new NoticeListAdapter(getApplicationContext(), noticedList);
        noticeListView.setAdapter(adapter);


        final Button courseButton = (Button)findViewById(R.id.courseButton);
        final Button statisticsButton = (Button)findViewById(R.id.statisticsButton);
        final Button scheduleButton = (Button)findViewById(R.id.scheduleButton);
        final LinearLayout notice = (LinearLayout)findViewById(R.id.notice);

        courseButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                notice.setVisibility(View.GONE);//공지사항이 안보임
                courseButton.setBackgroundColor(getResources().getColor(R.color.colorPrimaryDark));
                statisticsButton.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
                scheduleButton.setBackgroundColor(getResources().getColor(R.color.colorPrimary));

                FragmentManager fragmentManager = getSupportFragmentManager();
                FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
                fragmentTransaction.replace(R.id.fragment, new CourseFragment());//프래그먼트를 바꿔줌
                fragmentTransaction.commit();
            }
        });

        statisticsButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                notice.setVisibility(View.GONE);//공지사항이 안보임
                courseButton.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
                statisticsButton.setBackgroundColor(getResources().getColor(R.color.colorPrimaryDark));
                scheduleButton.setBackgroundColor(getResources().getColor(R.color.colorPrimary));

                FragmentManager fragmentManager = getSupportFragmentManager();
                FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
                fragmentTransaction.replace(R.id.fragment, new StatisticsFragment());//프래그먼트를 바꿔줌
                fragmentTransaction.commit();
            }
        });

        scheduleButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                notice.setVisibility(View.GONE);//공지사항이 안보임
                courseButton.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
                statisticsButton.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
                scheduleButton.setBackgroundColor(getResources().getColor(R.color.colorPrimaryDark));

                FragmentManager fragmentManager = getSupportFragmentManager();
                FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
                fragmentTransaction.replace(R.id.fragment, new ScheduleFragment());//프래그먼트를 바꿔줌
                fragmentTransaction.commit();
            }
        });

        //8강때 추가된부분
        //AsyncTask 실행 부분
        new BackgroundTask().execute();

    }

    //PHP서버에 접속해서 JSON타입으로 데이터를 가져옴
    class BackgroundTask extends AsyncTask<Void, Void, String>{
        String target;

        @Override
        protected void onPreExecute() {
            super.onPreExecute();

            target = "http://10.0.2.2:8080/registration/NoticeList.php";

        }

        //실제 데이터를 가져오는 부분임
        @Override
        protected String doInBackground(Void... voids) {
            try{

                URL url = new URL(target);
                HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();
                InputStream inputStream = httpURLConnection.getInputStream();
                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
                String temp;//결과 값을 여기에 저장함
                StringBuilder stringBuilder = new StringBuilder();

                //버퍼생성후 한줄씩 가져옴
                while((temp = bufferedReader.readLine()) != null){
                    stringBuilder.append(temp + "\n");
                }

                bufferedReader.close();
                inputStream.close();
                httpURLConnection.disconnect();

                return stringBuilder.toString().trim();//결과값이 여기에 리턴되면 이 값이 onPostExcute의 파라미터로 넘어감

            }catch(Exception e){
                e.printStackTrace();
            }

            return null;
        }

        @Override
        protected void onProgressUpdate(Void... values) {
            super.onProgressUpdate(values);
        }

        //여기서는 가져온 데이터를 Notice객체에 넣은뒤 리스트뷰 출력을 위한 List객체에 넣어주는 부분
        @Override
        protected void onPostExecute(String result) {
            super.onPostExecute(result);
            try{
                JSONObject jsonObject = new JSONObject(result);
                JSONArray jsonArray = jsonObject.getJSONArray("response");
                int count = 0;
                String noticeContent, noticeName, noticeDate;


                //json타입의 값을 하나씩 빼서 Notice 객체에 저장후 리스트에 추가하는 부분
                while(count < jsonArray.length()){
                    JSONObject object = jsonArray.getJSONObject(count);
                    noticeContent = object.getString("noticeContent");
                    noticeName = object.getString("noticeName");
                    noticeDate = object.getString("noticeDate");
                    Notice notice = new Notice(noticeContent, noticeName, noticeDate);
                    noticedList.add(notice);
                    count++;
                }

            }catch (Exception e){
                e.printStackTrace();
            }

        }
    }


    //9강때 추가된부분 백버튼을 두번 누르면 앱이 종료되게 함.
    private long pressedTime;

    @Override
    public void onBackPressed() {
       // super.onBackPressed();
        //백버튼이 눌리고 1.5초안에 또 눌리면 종료가됨

        if ( pressedTime == 0 ) {
            Toast.makeText(MainActivity.this, " 한 번 더 누르면 종료됩니다." , Toast.LENGTH_LONG).show();
            pressedTime = System.currentTimeMillis();
        }
        else {
            int seconds = (int) (System.currentTimeMillis() - pressedTime);

            if ( seconds > 1500 ) {
                Toast.makeText(MainActivity.this, " 한 번 더 누르면 종료됩니다." , Toast.LENGTH_LONG).show();
                pressedTime = 0 ;
            }
            else {
                super.onBackPressed();//이걸 따라가다보면 결국 finish()를 실행 시키는 부분이 나옴
                //출처 : http://itpangpang.xyz/135
//                finish(); // app 종료 시키기
            }
        }




    }
}










블로그 이미지

가카리

소프트웨어와 하드웨어 프로그래밍, 취업 및 직장생활 전문 블로그

은행원이 말해주는 몇가지 꿀팁

은행원이 직장인 분들께 조언하고 싶은 몇가지 꿀팁(?)

창구에 오시는 대기업 직장인분들 보면서 느낀 점인데,

의외로 재테크 관련 관념은 전혀 없는 분들이 상당히 많더군요

엄청 기본적인 것들이지만 생각보다 이렇게 하고 계시는 분들이 많지 않은것 같아

몇글자 남깁니다.

이건 제 개인적인 의견일 뿐이니 참고만 해주세요

편의상 문체는 반말로^^

1. 개인연금/퇴직연금은 묻지도 따지지도 말고 연간 700만원 납입 필수다.

-상품 수익률 0프로로 계산해도 세금 환급액만 924,000원

위험한거 싫어서 은행 연금이나 보험으로 굴려도 실제 1~2% 수익률이 나오니 환산 수익률

14%이상. 연봉 칠천만원 이상 쯤되면 소득의 최소 10%는 노후 대비 자금으로 넣는게 넘나 중요한것

오히려 빚내서 넣어도 훨씬 이익이다.

2. 연말 정산시 카드 사용액은 정말 쥐꼬리만큼 반영된다.

연봉6천만원이면 최소 연간 15백만원은 긁어줘야 그 이상 금액부터 공제한도로 인정되기 때문에

사실 별의미없다ㅠㅠ 카드는 소득 많은 배우자로 적당히 몰아서쓰자

3. 주택 구입자금 대출은 굳이 빨리 갚을 필요가 없다

-장기 주택저당차입금 이자상환액 공제는 생각보다 둘려받는게 크다

대충 금리로 따지먼 0.2%는 이익이다.

밎 지고 사는걸 극도로 싫어하거나 돈을 굴릴 방법을

잘모르겠다면 어쩔 수 없지만 주택담보대출이 가낭 싼데 굳이 미리 갚을 필요가 없다

차후 금리 인상시에 돈이 더 필요하게 되서 추가대출을 받으면 더 비싼금리로 써야하고,

보통 자산가들은 자금이 있어도 일부러 대출 받아서 쓰더라...

필자는 주택으로 최대한 대출 받고 월세 줘서 연말정산은 따로 받고

월세로 대출이자 내는거 퉁치고 남은 돈은 ELS로 굴린다.

4. 보장성 보험 백만원 공제 한도를 적절히 활용하자

보험자 형누나들이 더 잘 알겠지만 실비보험이랑 암보험은 필수고

나머지는 알아서 가입해서 연간 납입금액 백만원은 맞추자

길게보면 보험료 내는거 이상으로 환급받는다

5. 저축보험은 자녀 교육비 자금 만들때나 들어라

애초에 이 상품은 은수처, 흙수저가 가입해서 오년 십년씩 길게 가져갈수 있는 상품이 아니다

(금수저는  제외) 물론 장점도 많지만 꼭 들고 싶으면 결혼하고 자녀 이름으로 학비 마련해줄때나 드는게 합리적이다

6. 연금보험과 연금저축보험은 아주 다른 상품이다.

본인이나 부모님 지인 통해서 가입한 상품이 세제적격인지 아닌지꼭 확인해보자

7. 적금의 실제 수익률은 물가상승률보다 낮은 수준이다

고시금리 2%가입시 실 수령금액은 세금 떼고 1프로가 안되는 수준이니 십만원씩 일년 넣어봐야 만원나온다

금리 차이 0.몇%때문에 이은행 저은행 옮겨다니면서 가입하는거는 비추다

그럴시간에 차라리 재테크 관련 서적을 한권 읽는게 낫지 않을까?

요즘 저축은행이나 새마을금고 가도 3프로 넘는 상품은 거의 없더라..

8. 신용카드 결제일을 보통 급여일로 많이들 하는데,

공여일 기간은 1일부터 말일까지로 꼭맞추자

전원실적 기준으로 체크하는 한도로 인해 할인 혜택이나 포인트 적립이 엄청나게 달라진다.

9. 청약저축소득공제는 안받으면 바보다

다만 국세청에서 처음부터 자동 반영되는게 아니니 처음 공제 받을때는 가입한 은행에

주민등록등본 1통을 제출해야한다

10. ISA계좌는 평범한 직장인이라면 그닥 쓸모가 없다.

특히나 적립식은 더더욱. 그나마 쓸만하게 만드려면 여유있는 목돈을 원금보장추구형 ELS로 가입해서 열심히 굴리자

11. 블라인드에 가입되어 있는 직장인이라면 대부분은 개인신용평점(css)적용 대출보다 비적용 대출을 많이 쓸거다.

이 얘기는 본인의 신용등급이나 소득, 직위, 거래 실적보다는 어느 회사에 다니고 어느 직업군에 있냐는게 중요하다

출처 : 블라인드 재테크 게시판


블로그 이미지

가카리

소프트웨어와 하드웨어 프로그래밍, 취업 및 직장생활 전문 블로그


안녕 형 누나들!

추석연휴 다들 잘 마무리하고 있지??! 나는 지금 부산내려가는 기차안에 있는데 지나간 연휴가 너무 아쉽다 ㅠㅠ

저번에 쓴 글이 생각보다 큰 반향을 얻어서 내일 실제 장이 열리기 전에 자잘한 주의사항이나 팁 같은 걸 적어보려고 글 하나 더 올려! 먼지 모르는 사람은 1편글부터 다시~

([수정4]1천~2천 정도 짜투리돈으로 시작할 수 있는 재테크 추천 (ETN & ETF) (직장인 재테크)


무엇보다!!!! 다들 알다시피 나는 증권 전문가도 아니고, 세금이나 재테크도 아직 초보단계인, 대부분의 형들과 비슷한 주린이야.

그냥 몇 달 투자해봤는데, 이득보고, 신기하고, 신나서 형들한테 """"이런걸로도 돈 벌 수 있어!!! 헤헿"""" 이라고 알려주고픈 한 명의 일반인이니까 잘 모르고 서툴러도 이해 부탁해!

그리고 이전 글도, 이번 글도 etn, etf란 상품 전체에 대한 관심 환기 차원이지 특정 종목에 대한 리딩 능력은 없어.... 어떤 종목의 인버스가 좋을지 레버리지가 좋을지는 각자 분석해보고 공부해보고 들어갔으면 해!

나도 몇몇 형들처럼 차트도 잘 읽고 기업들 재무제표도 현란하게 분석하고 할 줄 알면 좋겠지만....내 넷마블은... ����

------

먼저, 이 상품은 해외주식처럼 과세가 되는 것 같아. 복잡하기도 하고, 나도 이걸 제대로 굴린지 한 달 정도밖에 안되서 과세에 대해 잘 아는 증권사 전문가 형 누나들이 추가로 정리 좀 해주면 진짜진짜 *10000 고마울 것 같아.

지금까지 내가 알아낸 사실에 의하면, 이 상품에서 단점 혹은 문제가 될 만한 것들은

1. 실제 매수 매도 가격과 과세표준 가격이 달라서 생각했던 것보다 세금이 적게 혹은 많이 나올 수 있다. (밑에 링크된 블로그 참고, 내 세금 내역도 참고~)

2. 손실 본 금액 + 이득 본 금액의 합산에 대한 과세가 아니라 이득 본 금액에 대해서만 과세가 된다.

3. 금융소득이 2천만원을 넘을 경우 금융종합소득세 과세대상이 된다.

4. 미국에 상장된 ETF나 ETN이용해 원유에 투자하는 경우 매매차익에 대해 22%의 양도소득세가 부과된다. 단 250만원까지는 비과세다.

5. 배당소득세의 경우에는 이익금에 대하여 15.4% 의 세율이 원천징수된다.

6. 복리화 효과에 의해 레버리지나 인버스 *2의 경우 누적 수익률이 실제 예상치와 달라질수 있다. (지속적인 횡보장에서의 장투시 수익률이 0에 수렴할 가능성)

7. etf와 달리 etn 은 증권사가 부도나면 돈을 보증받기 어려울 수 있다.

8. 만기가 선물에 비해선 길지만 있긴 하다. but 선물처럼 투자금 자체가 날아가진 않음.

정도가 있을 것 같아.

다행히도 나같은 경우에는 금융소득이 2천만원에 한~~~~참 못 미치기 때문에, 그리고 이전글에서 추천대상이였던 1천 ~ 2천만원의 투자금을 굴리는 형들한테도 과세부분은 큰 문제가 안 될 것 같긴해.

혹시 이걸 넘어가는 형들은 나보다 더 전문가형들일테니 이미 알아서 잘 하실테고 :)

그리고, 6번 7번 8번항 때문에 이 상품에 대해 막 몇년 존버는 하지 않는게 좋을 것 같아.

나 같은 경우에는 방향을 잘못잡고 반대방향으로 지수가 움직여버리면 그냥 손절을 치고, 이득을 볼 경우에도 막 10프로 20프로를 노리지는 않거든.

대신에 wti나 천연가스는 아직까진 한 번 추세정해지면 몇 일 간은 추세를 따라가는 경향이 있어서, 추세전환 시작지점에서는 """" 혹시 모르니 손절쳐도 되는 소량"""""만 담고, 이후 확실히 추세변환이 된 이후에 추매물량을 크게 늘려서 짧게 먹고 빠지는 식으로 대응해서 좋은 결과를 얻었던 것 같아.

증권사 부도의 경우에는.... 증권사가 부도날만한 경제위기에는 etn이고 나발이고 다들 현금이 최고인거 알지?!

---------

다들 저녁 마무리 잘하고, 가끔씩 올리는 치과관련글도 많은 관심부탁해 ㅎㅎ


출처 : 블라인드 재테크 게시판




블로그 이미지

가카리

소프트웨어와 하드웨어 프로그래밍, 취업 및 직장생활 전문 블로그


1 ~ 2천으로할수있는 ETN

안녕 형들~!

맨날 치과관련글만 올리다 재테크 겔에 제대로 된 글을 올리게 될 줄은 몰랐네.

나처럼 자본이 딸려서 부동산하기는 애매하고, 주식 코인은 넘나 실력이 부족한 형들에게 이런 방법도 있다는걸 알려주려고 글 남겨.

먼저 내 포트에 천연가스를 추가해주신 개발러 형님께 감사드리고!

지금 내가 주식 + @로하고 있는건 ETN. 즉, 상장지수채권이야. 그 중에서도 천연가스랑 원유를 기본베이스로 하고 있고.

뭔지는 한 번 검색해보거나 아니면 댓글 달아주고,

이 놈의 장점은

1. 직접 개별주를 사고 파는게 아닌, 지수 추종상품. 레버리지 / 인버스가 다 있다.

2. 선물처럼 만기일이 짧은게 아님(수정 ; 만기일 5년~10년이래요. 저도 누가 지적해줘서 찾아보고 암)

3. 2016년부터 박스권에 갇혀있는 천연가스는 손절만 안하면, - 가 떠도 짧으면 1주일, 길어도 두어달이면 앵간하면 +로 바뀐다.(아래 차트 확인)

4. 세력 따윈 없음. 추세를 따라가면서 증권사가 제공하는 LP를 따먹는 개념. 더이상 기관, 외인 탓하고 할 필요 없음~

5. 개념이 잡히고 레버리지/인버스 *2 로 들어가면 수익률 증가도 가능(미국 증시에서 *3도 찾아서 할 수 있음 국내는 *2까지만)

6. 개미끼리 눈치보거나 선동할 만한게 아님~ 해보면 알겠지만 누가 선동한다고 오르거나 하는 개념이 아님.

7. 길게 잡고 쭉 먹는 것, 발끝에서 사서 머리에서 파는 것도 가능하지만, 나같은 허접띠기들은 잉여자금을 철저히 분할매수로 접근! 추세변화 보고 무릎쯤 들어가서 목쯤에서 팔기만 해도 수익권 진입가능

.

재테크 게시판 쭉 봐온 형들은 알겠지만

나는 지금도 넷마블에 콱 물려서ㅠㅠ 남는 여유자금으로만 굴려봤는데 (1000~1500, 천연가스 & WTI)

이번달에 꽤 좋은 재테크에 성공한거 같아!

아직 주식판에 꼴아박은거 원복은 멀었지만 ㅠㅠ

가끔 관련글이 올라오는거 같은데 ETF, ETN 하는 형들 모두 성투하고 꽃길 걸어보즈아ㅏㅏㅏㅏ

*******수정

이거 맨 위에 그림은 실제 해외선물하는 차트고

내가 추천하는건 맨 아래에 있는 거야

ETN 으로 들어가서 종목검색하면 되고

천연가스, WTI, 금, 은 머 이거저거 다 있으니까 입맛대로 골라서 자기가 해당 종목 가격변동에 대해 어느정도 감 잡았다하면 그 종목으로 진입 고고!

천연가스는 철저하게 미국내 수요와 공급에 따라 오르락내리락 하고, 선물러들이 워낙 많아서 구글 검색도 쉬움~

---------

수정2

이게 주식보다 조금 더 접근하기 쉬운 이유는,

본질적으로 대상의 현물가 자체에 대한 fundamental을 주식처럼 강력하게 공부할 필요가 없기 때문인거 같아.

이런 녀석들은 상대적인 가격변동, 그러니까 """저번주보다 이번주에 천연가스 재고량이 늘었다"""와 같이 지난 가격대비 지금 수요와 공급이 어케 변했나만 파악하면 되거든

(보통 저러면 가격은 떨어지겠지??)

나같은 경우에는 처음 진입할때 가격변동요인에 대한 공부를 하고,

들어간 이후에는 하루 30분 정도씩? 출근길에 전날 변동사항을 뉴스로 체크하고, 점심때 사고팔기 주문 한 번씩만 누르고 그날 투자 끝내는 편이야 ㅎ

직장인들에게 접근하기 정말 편리한 재테크 수단인듯!

-------

추가3

재테크 핫 게시글됫네 ㅎㅎㅎ

기념으로 천연가스 관련 가격 결정요소 supply / demand 에 관련 EIA에서 정리한 글 올려 놓을께!

처음 관심갖는 형들은 이거부터 보면 될듯~

다들 성투!


출처 : 블라인드 재테크 게시판


블로그 이미지

가카리

소프트웨어와 하드웨어 프로그래밍, 취업 및 직장생활 전문 블로그


해외 주식을 하기 위해서 가장 기본이 되는 것이 증권 수수료가 아닐까라고 생각 된다.

다음 그림을 보자

괄호안의 숫자는 거래 한번 할때의 최소 수수료이다

즉 너가 만약 키움증권으로 미국 시장의 10달러 주식 10개를 100달러에 매수한다면 증권사에 내는 수수료는 무려 7달러가 된다 투자하자마자 -7%손실이다.

반면 미래에셋으로 미국 시장의 같은 주식을 사면 증권 수수료는 0.25달러이다.

한번 거래 하는 비용이 3만달러 이하라면 최소수수료가 없는 증권사를 이용하는게 수익률 올리기 좋다.

3만달러 이상인 형님들은 좋아하는 증권사 쓰세요.

너가 어느 시장에 투자 할지를 정하고 최소수수료가 없는 증권사를 고르면 되겠다

Ps. 비대면 계좌 수수료 무료는 한국 시장만 해당하는 것이다. 해외 시장은 무료가 없다.


출처 : 블라인드 재테크 게시판


블로그 이미지

가카리

소프트웨어와 하드웨어 프로그래밍, 취업 및 직장생활 전문 블로그

예제 출처 : https://www.inflearn.com/course
예제 소스 : https://github.com/GaKaRi/gakari_android/tree/master/Registration_v8

실행화면




공지사항을 위한 테이블 생성
CREATE TABLE NOTICE (
   noticeContent VARCHAR(1000) NOT NULL,
   noticeName VARCHAR(50) NOT NULL,
   noticeDate DATE NOT NULL
);

테스트용 문자열 삽입
INSERT INTO NOTICE VALUES('NOTICE NUMBER1', 'GAKARI', '2017-01-01’);

mysql 디비 확인






NoticeList.php

<?php
    $con = mysqli_connect('localhost:3307', 'root', 'qwer1234', 'registration');
    //접속후에 테이블 내용 최신순서로 나오게
    $result = mysqli_query($con, "SELECT * FROM NOTICE ORDER BY noticeDate DESC;");
    $response = array();
    while($row = mysqli_fetch_array($result))
      array_push($response, array("noticeContent" => $row[0], "noticeName" => $row[1], "noticeDate" => $row[2]));
   
    //다음과 같이 출력함
    //"response":["noticeContent":"NOTICE NUMBER1","noticeName":"GAKARI","noticeDate":"2017-01-03",
    //"noticeContent":"NOTICE NUMBER1","noticeName":"GAKARI","noticeDate":"2017-01-02",
    //"noticeContent":"NOTICE NUMBER1","noticeName":"GAKARI","noticeDate":"2017-01-01"]
    echo json_encode(array("response" => $response));
   mysqli_close($con);
?>

res/layout/activity_main.xml

layout_marginRight만 수정됩니다.


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.kch.registration_v8.MainActivity">
   <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_marginTop="5dp"
        android:layout_marginRight="8dp"
        >
       <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:id="@+id/courseButton"
        android:text="course list"
        android:textStyle="bold"
        android:textColor="#FFFFFF"
        android:textSize="18dp"
        android:background="@color/colorPrimary"
        android:layout_marginLeft="8dp"
        android:layout_marginTop="8dp"
        />
       <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:id="@+id/scheduleButton"
            android:text="schedule"
            android:textStyle="bold"
            android:textColor="#FFFFFF"
            android:textSize="18dp"
            android:background="@color/colorPrimary"
            android:layout_marginLeft="8dp"
            android:layout_marginTop="8dp"
            />
       <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:id="@+id/statisticsButton"
            android:text="statistics"
            android:textStyle="bold"
            android:textColor="#FFFFFF"
            android:textSize="18dp"
            android:background="@color/colorPrimary"
            android:layout_marginLeft="8dp"
            android:layout_marginTop="8dp"
            />
       </LinearLayout>
       <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">
           <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical"
                android:id="@+id/notice">
               <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="200dp"
                    android:orientation="vertical"
                    android:background="@color/colorPrimary"
                    android:layout_marginTop="8dp">
                       <ImageButton
                            android:layout_width="wrap_content"
                            android:layout_height="150dp"
                            android:layout_gravity="center"
                            android:layout_marginTop="5dp"
                            android:src="@drawable/univlogo"
                            android:scaleType="fitCenter"
                            />
                       <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center"
                            android:text="Notice"
                            android:textColor="#ffffff"
                            android:textSize="25dp"
                            android:textStyle="bold"
                            android:layout_marginTop="10dp"
                            />
                   </LinearLayout>
                   <ListView
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:id="@+id/noticeListView"
                        android:layout_margin="10dp"
                        android:dividerHeight="10dp"
                        android:divider="#ffffff"
                        >
                   </ListView>
               </LinearLayout>
           <RelativeLayout
                android:id="@+id/fragment"
                android:layout_width="match_parent"
                android:layout_height="match_parent"></RelativeLayout>
       </FrameLayout>
</LinearLayout>


MainActivity.java

PHP 서버를 통해 디비값을 가져와서 공지사항을 띄워주게 수정합니다.

package com.example.kch.registration_v8;
import android.os.AsyncTask;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.ListView;
import org.json.JSONArray;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity
    //7강때 추가된 부분
    private ListView noticeListView;
    private NoticeListAdapter adapter;
    private List<Notice> noticedList;
    @Override
    protected void onCreate(Bundle savedInstanceState)
        super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
        //7강때 추가된 부분
        noticeListView = (ListView)findViewById(R.id.noticeListView);
        noticedList = new ArrayList<Notice>();
        //8강때 삭제됨
      /* noticedList.add(new Notice("공지사항", "gakari", "2018-09-09"));
       noticedList.add(new Notice("공지사항", "gakari", "2018-09-10"));
       noticedList.add(new Notice("공지사항", "gakari", "2018-09-11"));
       noticedList.add(new Notice("공지사항", "gakari", "2018-09-12"));
       noticedList.add(new Notice("공지사항", "gakari", "2018-09-13"));
       noticedList.add(new Notice("공지사항", "gakari", "2018-09-14"));
       noticedList.add(new Notice("공지사항", "gakari", "2018-09-15"));
       noticedList.add(new Notice("공지사항", "gakari", "2018-09-16"));
       noticedList.add(new Notice("공지사항", "gakari", "2018-09-17"));
       noticedList.add(new Notice("공지사항", "gakari", "2018-09-18"));
       noticedList.add(new Notice("공지사항", "gakari", "2018-09-19"));
       noticedList.add(new Notice("공지사항", "gakari", "2018-09-20"));*/
        adapter = new NoticeListAdapter(getApplicationContext(), noticedList);
        noticeListView.setAdapter(adapter);
        final Button courseButton = (Button)findViewById(R.id.courseButton);
        final Button statisticsButton = (Button)findViewById(R.id.statisticsButton);
        final Button scheduleButton = (Button)findViewById(R.id.scheduleButton);
        final LinearLayout notice = (LinearLayout)findViewById(R.id.notice);
       courseButton.setOnClickListener(new View.OnClickListener()
            @Override
            public void onClick(View view)
                notice.setVisibility(View.GONE);//공지사항이 안보임
                courseButton.setBackgroundColor(getResources().getColor(R.color.colorPrimaryDark));
                statisticsButton.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
                scheduleButton.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
               FragmentManager fragmentManager = getSupportFragmentManager();
               FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
               fragmentTransaction.replace(R.id.fragment, new CourseFragment());//프래그먼트를 바꿔줌
                fragmentTransaction.commit();
           
       );
       statisticsButton.setOnClickListener(new View.OnClickListener()
            @Override
            public void onClick(View view)
                notice.setVisibility(View.GONE);//공지사항이 안보임
                courseButton.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
                statisticsButton.setBackgroundColor(getResources().getColor(R.color.colorPrimaryDark));
                scheduleButton.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
               FragmentManager fragmentManager = getSupportFragmentManager();
               FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
               fragmentTransaction.replace(R.id.fragment, new StatisticsFragment());//프래그먼트를 바꿔줌
                fragmentTransaction.commit();
           
       );
       scheduleButton.setOnClickListener(new View.OnClickListener()
            @Override
            public void onClick(View view)
                notice.setVisibility(View.GONE);//공지사항이 안보임
                courseButton.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
                statisticsButton.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
                scheduleButton.setBackgroundColor(getResources().getColor(R.color.colorPrimaryDark));
               FragmentManager fragmentManager = getSupportFragmentManager();
               FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
               fragmentTransaction.replace(R.id.fragment, new ScheduleFragment());//프래그먼트를 바꿔줌
                fragmentTransaction.commit();
           
       );
        //8강때 추가된부분
       //AsyncTask 실행 부분
        new BackgroundTask().execute();
   
    //PHP서버에 접속해서 JSON타입으로 데이터를 가져옴
    class BackgroundTask extends AsyncTask<Void, Void, String>
       String target;
        @Override
        protected void onPreExecute()
            super.onPreExecute();
            target = "http://10.0.2.2:8080/registration/NoticeList.php";
       
        //실제 데이터를 가져오는 부분임
        @Override
        protected String doInBackground(Void... voids)
            try
               URL url = new URL(target);
               HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();
               InputStream inputStream = httpURLConnection.getInputStream();
               BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
               String temp;//결과 값을 여기에 저장함
                StringBuilder stringBuilder = new StringBuilder();
                //버퍼생성후 한줄씩 가져옴
                while((temp = bufferedReader.readLine()) != null)
                   stringBuilder.append(temp + "");
               
               bufferedReader.close();
               inputStream.close();
               httpURLConnection.disconnect();
                return stringBuilder.toString().trim();//결과값이 여기에 리턴되면 이 값이 onPostExcute의 파라미터로 넘어감
            catch(Exception e)
               e.printStackTrace();
           
            return null;
       
        @Override
        protected void onProgressUpdate(Void... values)
            super.onProgressUpdate(values);
       
        //여기서는 가져온 데이터를 Notice객체에 넣은뒤 리스트뷰 출력을 위한 List객체에 넣어주는 부분
        @Override
        protected void onPostExecute(String result)
            super.onPostExecute(result);
            try
               JSONObject jsonObject = new JSONObject(result);
               JSONArray jsonArray = jsonObject.getJSONArray("response");
                int count = 0;
               String noticeContent, noticeName, noticeDate;
                //json타입의 값을 하나씩 빼서 Notice 객체에 저장후 리스트에 추가하는 부분
                while(count <jsonArray.length())
                   JSONObject object = jsonArray.getJSONObject(count);
                   noticeContent = object.getString("noticeContent");
                   noticeName = object.getString("noticeName");
                   noticeDate = object.getString("noticeDate");
                   Notice notice = new Notice(noticeContent, noticeName, noticeDate);
                    noticedList.add(notice);
                   count++;
               
           catch (Exception e)
               e.printStackTrace();
           
       
   

 

블로그 이미지

가카리

소프트웨어와 하드웨어 프로그래밍, 취업 및 직장생활 전문 블로그

예제 출처 : https://www.inflearn.com/course
예제 소스 : https://github.com/GaKaRi/gakari_android/commit/595d4bd0a74854d8b0d52ea185d5aac8e0b79f0f

실행화면

1. 먼저 로그인을 합니다.



2. 로그인에 성공 후 다음과 같이 리스트뷰로 공지사항이 올라오는 것을 볼 수 있습니다.





예제 구현 시작
 
  1. res/drawable 에서 오른쪽 누르고 Vector Asset선택 후 다음과 같이 Clip Art를 선택해서 지정해줍니다.




res/drawable/ic_textsms_black_24dp.xml
아래 fillColor를 #FFFFFFFF 로 지정합니다.

<vector xmlns:android="http://schemas.android.com/apk/res/android"
        android:width="24dp"
        android:height="24dp"
        android:viewportWidth="24.0"
        android:viewportHeight="24.0">
   <path
        android:fillColor="#FFFFFFFF"
        android:pathData="M20,2L4,2c-1.1,0 -1.99,0.9 -1.99,2L2,22l4,-4h14c1.1,0 2,-0.9 2,-2L22,4c0,-1.1 -0.9,-2 -2,-2zM9,11L7,11L7,9h2v2zM13,11h-2L11,9h2v2zM17,11h-2L15,9h2v2z"/>
</vector>

res/layout/notice.xml

공지사항 리스트뷰의 내용을 채워주는 부분입니다.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
   <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="notice"
        android:layout_gravity="center"
        android:padding="10dp"
        android:textColor="#ffffff"
        android:id="@+id/noticeText"
        android:drawableStart="@drawable/ic_textsms_black_24dp"
        android:drawableLeft="@drawable/ic_textsms_black_24dp"
        android:background="@color/colorPrimary"
        android:textStyle="bold"
        />
   <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/colorPrimary">
       <TextView
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:text="gakari"
            android:layout_gravity="center"
            android:padding="3dp"
            android:layout_marginLeft="8dp"
            android:textColor="#ffffff"
            android:textColorHint="#ffffff"
            android:id="@+id/nameText"
        />
       <TextView
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:text="2017-01-01"
            android:layout_gravity="center"
            android:padding="3dp"
            android:textColor="#ffffff"
            android:textColorHint="#ffffff"
            android:id="@+id/dateText"
            />
   </LinearLayout>
</LinearLayout>
res/layout/activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.kch.registration_v7.MainActivity">
   <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_marginTop="5dp">
       <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:id="@+id/courseButton"
        android:text="course list"
        android:textStyle="bold"
        android:textColor="#FFFFFF"
        android:textSize="18dp"
        android:background="@color/colorPrimary"
        android:layout_marginLeft="8dp"
        android:layout_marginTop="8dp"
        />
       <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:id="@+id/scheduleButton"
            android:text="schedule"
            android:textStyle="bold"
            android:textColor="#FFFFFF"
            android:textSize="18dp"
            android:background="@color/colorPrimary"
            android:layout_marginLeft="8dp"
            android:layout_marginTop="8dp"
            />
       <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:id="@+id/statisticsButton"
            android:text="statistics"
            android:textStyle="bold"
            android:textColor="#FFFFFF"
            android:textSize="18dp"
            android:background="@color/colorPrimary"
            android:layout_marginLeft="8dp"
            android:layout_marginTop="8dp"
            />
       </LinearLayout>
       <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">
           <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical"
                android:id="@+id/notice">
               <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="200dp"
                    android:orientation="vertical"
                    android:background="@color/colorPrimary"
                    android:layout_marginTop="8dp">
                       <ImageButton
                            android:layout_width="wrap_content"
                            android:layout_height="150dp"
                            android:layout_gravity="center"
                            android:layout_marginTop="5dp"
                            android:src="@drawable/univlogo"
                            android:scaleType="fitCenter"
                            />
                       <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center"
                            android:text="Notice"
                            android:textColor="#ffffff"
                            android:textSize="25dp"
                            android:textStyle="bold"
                            android:layout_marginTop="10dp"
                            />
                   </LinearLayout>
              //아래 부분이 추가됬습니다. 리스트뷰를 뿌려주기 위한 부분입니다.
                   <ListView
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:id="@+id/noticeListView"
                        android:layout_margin="10dp"
                        android:dividerHeight="10dp"
                        android:divider="#ffffff"
                        >
                   </ListView>
               </LinearLayout>
           <RelativeLayout
                android:id="@+id/fragment"
                android:layout_width="match_parent"
                android:layout_height="match_parent"></RelativeLayout>
       </FrameLayout>
</LinearLayout>


Notice.java

리스트뷰에 뿌려주는 데이터를 담기 위한 클래스입니다.

package com.example.kch.registration_v7;

public class Notice
   String notice;
   String name;
    public Notice(String notice, String name, String date)
        this.notice = notice;
        this.name = name;
        this.date = date;
   
   String date;
    public String getNotice()
        return notice;
   
    public void setNotice(String notice)
        this.notice = notice;
   
    public String getName()
        return name;
   
    public void setName(String name)
        this.name = name;
   
    public String getDate()
        return date;
   
    public void setDate(String date)
        this.date = date;
   



NoticeListAdapter.java

리스트뷰에 데이터를 어떻게 뿌려줄지 구현하는 부분입니다.

package com.example.kch.registration_v7;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import org.w3c.dom.Text;
import java.util.List;
public class NoticeListAdapter extends BaseAdapter
    private Context context;
    private List<Notice> noticedList;
    public NoticeListAdapter(Context context, List<Notice> noticedList)
        this.context = context;
        this.noticedList = noticedList;
   
    @Override
    public int getCount()
        return noticedList.size();//리스트뷰의 총 갯수
   
    @Override
    public Object getItem(int position)
        return noticedList.get(position);//해당 위치의 값을 리스트뷰에 뿌려줌
   
    @Override
    public long getItemId(int position)
        return position;
   
    //리스트뷰에서 실질적으로 뿌려주는 부분임
    @Override
    public View getView(int position, View convertView, ViewGroup parent)
       View v = View.inflate(context, R.layout.notice, null);
       TextView noticeText = (TextView)v.findViewById(R.id.noticeText);
       TextView nameText = (TextView)v.findViewById(R.id.nameText);
       TextView dateText = (TextView)v.findViewById(R.id.dateText);
       noticeText.setText(noticedList.get(position).getNotice());
       nameText.setText(noticedList.get(position).getName());
       dateText.setText(noticedList.get(position).getDate());
       v.setTag(noticedList.get(position).getNotice());
        return v;
   



 MainActivity.java

리스트뷰에 어떤 데이터를 뿌려줄지 연결하는 부분입니다.

package com.example.kch.registration_v7;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.ListView;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity
    //7강때 추가된 부분
    private ListView noticeListView;
    private NoticeListAdapter adapter;
    private List<Notice> noticedList;
    @Override
    protected void onCreate(Bundle savedInstanceState)
        super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
        //7강때 추가된 부분
        noticeListView = (ListView)findViewById(R.id.noticeListView);
        noticedList = new ArrayList<Notice>();
        noticedList.add(new Notice("공지사항", "gakari", "2018-09-09"));
        noticedList.add(new Notice("공지사항", "gakari", "2018-09-10"));
        noticedList.add(new Notice("공지사항", "gakari", "2018-09-11"));
        noticedList.add(new Notice("공지사항", "gakari", "2018-09-12"));
        noticedList.add(new Notice("공지사항", "gakari", "2018-09-13"));
        noticedList.add(new Notice("공지사항", "gakari", "2018-09-14"));
        noticedList.add(new Notice("공지사항", "gakari", "2018-09-15"));
        noticedList.add(new Notice("공지사항", "gakari", "2018-09-16"));
        noticedList.add(new Notice("공지사항", "gakari", "2018-09-17"));
        noticedList.add(new Notice("공지사항", "gakari", "2018-09-18"));
        noticedList.add(new Notice("공지사항", "gakari", "2018-09-19"));
        noticedList.add(new Notice("공지사항", "gakari", "2018-09-20"));
        adapter = new NoticeListAdapter(getApplicationContext(), noticedList);
        noticeListView.setAdapter(adapter);
        final Button courseButton = (Button)findViewById(R.id.courseButton);
        final Button statisticsButton = (Button)findViewById(R.id.statisticsButton);
        final Button scheduleButton = (Button)findViewById(R.id.scheduleButton);
        final LinearLayout notice = (LinearLayout)findViewById(R.id.notice);
       courseButton.setOnClickListener(new View.OnClickListener()
            @Override
            public void onClick(View view)
                notice.setVisibility(View.GONE);//공지사항이 안보임
                courseButton.setBackgroundColor(getResources().getColor(R.color.colorPrimaryDark));
                statisticsButton.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
                scheduleButton.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
               FragmentManager fragmentManager = getSupportFragmentManager();
               FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
               fragmentTransaction.replace(R.id.fragment, new CourseFragment());//프래그먼트를 바꿔줌
                fragmentTransaction.commit();
           
       );
       statisticsButton.setOnClickListener(new View.OnClickListener()
            @Override
            public void onClick(View view)
                notice.setVisibility(View.GONE);//공지사항이 안보임
                courseButton.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
                statisticsButton.setBackgroundColor(getResources().getColor(R.color.colorPrimaryDark));
                scheduleButton.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
               FragmentManager fragmentManager = getSupportFragmentManager();
               FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
               fragmentTransaction.replace(R.id.fragment, new StatisticsFragment());//프래그먼트를 바꿔줌
                fragmentTransaction.commit();
           
       );
       scheduleButton.setOnClickListener(new View.OnClickListener()
            @Override
            public void onClick(View view)
                notice.setVisibility(View.GONE);//공지사항이 안보임
                courseButton.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
                statisticsButton.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
                scheduleButton.setBackgroundColor(getResources().getColor(R.color.colorPrimaryDark));
               FragmentManager fragmentManager = getSupportFragmentManager();
               FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
               fragmentTransaction.replace(R.id.fragment, new ScheduleFragment());//프래그먼트를 바꿔줌
                fragmentTransaction.commit();
           
       );
   

블로그 이미지

가카리

소프트웨어와 하드웨어 프로그래밍, 취업 및 직장생활 전문 블로그


해외주식 양도세 절세법

또 다른 방법 있음 공유합시다

내가 아는 방법 공유하겠음

1. 250만원까진 기본 공제되니까

    +- 합쳐서 250이내로 조정함

    (선입선출인지 어떻게 계산하는지는 증권사별 문의 필요)

2. 1번의 확장버전으나 마이너스 나는 주식이 없으면 어쩔수 없음

     수익난애를 팜. 마이너스 난 애를 팔고 평가금액만큼 다시 삼. 그럼 마이너스난 애는 동일하게 보유(주식수는 변동가능) 하고 양도세는 팍 줄 수 있늠

   Ex) 수익 1000만원 났음. 지금 계좌에 -1000짜리가 있음. 하지만 마이너스 천짜리는 계속 갖고 있고 싶음. 그럼 일단 팔고 그 평가금액 만큼 다시 삼. 그럼 전체 수익은 0이 되서 양도세는 없음.

3. 부부증여 공제 6억을 활용. 수익난 주식을 배우자에게 증여하고 배우자는 바로 팔아버림.

10년 6억까지는 증여세 없으므로 개인차는 있겠지만 증여한사람은 세금 없음.

배우자는 받자마자 파는데 그 차익이 크지 않을테니 양도세 없거나 작음(배우자는 증여받을때 주식가격이 기초가격임)

출처 : 블라인드 부동산 게시판





블로그 이미지

가카리

소프트웨어와 하드웨어 프로그래밍, 취업 및 직장생활 전문 블로그


부린이 1년차 최근 읽은 책 몇 권 가지고 나름대로 부동산을 정리 해봄

- 문재인 정부의 부동산 시장 전망, 21세기 자본, 땅과 집값의 경제학, 지리의 힘 등

- 심교언, 박원갑, 이상우, 붇옹산, 빠숑, 아기곰 등의 (준)전문가 아재들 책도 많이 읽음

1. 규제 정책 → 부동산 하락 (△)

- 규제로 인하여 과열된 부동산이 쉽게 멈추진 않는다.

- 노무현 정부 때 4~5차례의 규제 후에 겨우 멈춤 (with 서브프라임)

- 노무현 때 욕먹은 정책이 결과적으로 서브프라임 때 긍정적 영향을 준 경우도 있다.

- 글 쓰다보니 규제가 또 나왔네,, 이건 약한 듯,, 규제도 공급도....(동대문구 투기지역 지정? → 호재네요!)

2. 금리 인상 → 부동산 하락 (△)

- 주요변수는 맞지만 부동산은 단순한 일차함수가 아니다

- 경제 성장률이 금리 상승폭 보다 큰 경우 부동산 폭등 (지금은 아닐 듯)

- 시차의 존재 → 거품이 더 끼이게 됨, 비이성적 과열

- 지금 경제가 삐걱거려 금리인상 가능성은 낮다고 봄

3. (서울 기준) 공급 多 → 부동산 하락 (△)

- 기본적으로 공급 수요 법칙은 맞지만 재개발 재건축을 막고 양질의 공급은 어려운 듯

- 서울 2호선 내부에 있는 역세권(행당, 광흥창 등) 이상은 사치재로 접근 필요 (강남 한남은 뭐,,,)

- 성남복정, 구리갈매, 남양주진접 등 30만채 공급을 하여도 그 정도 혹은 근접 동네만 영향,,

(아반떼 사려다가 소나타는 살 수 있지만 제네시스는....)

4. 부동산 폭락?

- 08년도에도 미국처럼 강한 폭락은 없었다 ( → 그래서인지 대부분 겁이 없다)

- 고점을 이제 회복해서 더 오른다? → 그때 고점은 일부 거품이라고 봄

- 하이리스크 하이리턴 → 경기도에 애매한 입지는 그냥 리스크,,

- 한국 경제가 삐걱거리는 듯해서 조금 무섭다 (경제는 잘 몰라염ㅜㅜ)

5. 투자 방법은?

- 입지! 입지! 입지!! (직주근접, 학군, 교통, 신축, 자연환경 등)

- 물가상승률 감안하면 1채는 어깨에서 사도 이득

- 2채는 확신이 드는 아파트 몇 개 골라놓고 매몰 나오면 뛰어드는 것

- 3채 이상을 보면 이미 고수의 영역 (전 소득이 낮아서 씨드머니가 없네요 ㅜㅜ 5천만 더 있었어도...)

6. 내 주위에 집 못사는 사람들 특징?

- 부동산 폭락론이 무서움 (with 김수현, 선대인, 해리덴트 ← 너 이 새끼들 힘내라!!)

- 바닥에서 사서 머리에서 팔 생각뿐 (공부도 안하면서.... 무릎에서 사서 어깨에서 팔아야지!!)

- 전세 2억(= 월세 50~80인데)을 단순히 2억 내고 공짜로 산다는 생각

- 물가상승률에 대한 생각 차이

<부동산 위기의 12단계 진행 가설로 본 현재 상황>

1. 급격한 금리 인하 : 3.25% → 1.25%(12년 7월~ 16년 6월)

2. 저금리 기간 지속 : 1.5% (현재 꿈틀?)

3. 부동산 가격 폭등 : 광풍이 부는 중 (무릎인지 어깨인지는 개인의 판단)

4. 부동산 관련 부채 급증 : 이건 재이니가 일단 막음 (그런데 왜 다른 정책은....)

5. 급격한 단기 금리 인상 : 아직 까지는... 외부충격이 없다면 추후 이게 변수가 되지 않을까?

6. 금리인상 중 부동산 상승세 지속

7. 부동산 가격 폭락

....

마지막으로 글을 남기는 이유는?

- 32살에 성동구에 2채를 갖고 있다 보니 자만심에 확증편향이 생기는 듯

- 시골 출신이라 그런지 부동산 이야기 할 지인도 없고, 회사에는 말해봤자 좋을 거 없잖아....

(부장새끼가 경기도 사는데 자꾸 거주하는 집 얼마 올랐냐고 구체적으로 물어보고 술사라고 해서 개시름)

- 댓글은 잘못된 걸 신랄하게 까줘서,,,그거 보면 슬퍼지겠지만 잘못된 정보나 생각을 바로 잡을 수 있는 기회라고 봄

출처 : 블라인드 부동산 게시판


블로그 이미지

가카리

소프트웨어와 하드웨어 프로그래밍, 취업 및 직장생활 전문 블로그


실거주 한채를 왜사야하는가

  저도 몇 년 전까지는 빨리 집을 사야겠다는 생각이 전혀 없었습니다. 하지만 쭉 안 사겠다는 것은 아니었고 언젠가는 집을 꼭 살거지만, 지금은 굳이 그럴 필요 없다는 정도였죠.

그렇게 생각한 이유는 다음과 같습니다.

1. 집에 수억씩 깔고 앉아 사는 것은 지금 상황에서는 무리이고 과도한 낭비이다,

2. 젊을때 주거비는 최소로 하고 한푼이라도 아껴 투자해서 자산을 불려 놓아야 한다,

3. 우리나라 인구는 장기적으로 줄기 때문에 집 살 사람도 줄것이다(따라서 집 값도 떨어질 것이니 기다렸다 사는게 유리하다),

4. 아파트도 감가상각되는 물건일 뿐이다(욕심 낼 필요가 없다, 노후 아파트는 빵원 된다),

5. 싸게 이용할 수 있는 전세가 있는데 뭐하러 재산세 내고 집을 사야 하나? 등등

지금도 모든 생각이 바뀐 것은 아닙니다.

  집 사는데 수억씩 쓰는거 당연히 아깝고 젋을때부터 투자에 관심 갖고 자산을 불려야 한다고 생각하고 우리나라의 심각한 고령화와 2050년 이후 실질 인구수가 줄거라는 통계 
예측에 크게 걱정하고 있고 아파트 건물가치는 장기적으로 떨어져서 50년쯤되면 0원이 될거라 생각하고 당장 돈이 부족할때 좋은 집을 싸게 이용하는데는 전세 제도가 꽤 유용하
다는 점에 동의합니다.

  하지만 그럼에도 몇 년 전부터는 "실거주 집 한채는 언제 사도 좋다, 아니 하루라도 빨리 사는게 좋다" 라고 생각이 바뀌었습니다.

  주거 비용 아끼며 예적금과 펀드, 주식 등으로 열심히 투자한 결과물이 빚내서 내 집 한채 마련하고 그걸 갚아가고 또 더 좋은 집으로 바꿔가는 사람들을 이기지 못하더군요. (일
부 투자 잘하는 5% 정도 분들은 예외고요.)

  그 이유는 자본주의 시장에서의 꾸준한 통화량 증가와 이에 따른 현금 가치의 하락 그리고 투자의 어려움 때문입니다.

  전세로 살면서 자산의 대부분을 현금으로 묶어두고 나머지 짜투리 자산만을 이용한 투자로는 순자산을 늘리기는 커녕 전세금의 현금가치 하락을 막아내기에도 버겁습니다.

  전세금을 아주 최소로해서 투자금을 최대한 키우고 투자를 안정적으로 잘하면 효과가 있는 방법인데, 일반인들에게는 아주 어려운 일이라고 봅니다.

  주식, 펀드에서 시장을 이기는 투자자는 5% 내외이고 나머지 분들 중에서도 일부는 시장 보다는 못하더라도 손해는 안보겠지만, 상당수는 손해를 보게 됩니다. (장기적인 시각
으로 투자를 한다면 수익 내는게 그다지 어렵지 않은데,  

  대부분 이걸 못 합니다. 그냥 kodex200이나 중국, 인도 지수 추종 펀드를 몇 년간 사모으다가 적당히만 팔아도 수익이 꽤 되는데, 경기 한두 사이클 4~8년 정도도 기다릴수 있는 
사람들이 별로 없습니다.)

  반면에 집을 사게되면 토지(대지지분) 값은 평균적으로 물가상승 수준으로는 오르면서 현금가치 하락을 보전해주고 건물은 실거주 사용가치를 제공해주면서 주거비 부분 비용
을 줄여줍니다. 또 집살 때 대부분 빚을 포함해서 집을 사면서 레버리지 효과도 있습니다.

 주변을 잘 살펴보세요.

  집 여러채 투자한 사람 말고 내 집 한채 대출받아 실거주 하면서 열심히 빚 갚고 살아가는 사람들은 크게 성공은 못해도 지속적으로 순자산이 증가하는 경우가 많습니다.

  반면에 최소 비용으로 전세 살면서 이런저런 투자를 병행하는 분들 보면, 일부는 투자로 성공하지만 많은 분들이 지나고 나면 전세금+@ 정도로 남는게 별로 없는 경우가 많습니
다.

  전 주식, 펀드 투자를 아주 오래 해왔고 나름 성공도 했지만, 돌이켜보면 내 살 집 한채를 마련하는 것이 재테크의 시작이 되는게 실패도 줄이고 안정적이라는 생각입니다.

  자산의 대부분은 전세금에 묶여서 현금 가치 하락으로 줄어들고 나머지 투자금도 부족한 상태에서 투자 성과 마저 좋지 않으면 점점 집주인들과 격차가 벌어지게 됩니다.

  잘 고민들 해보시기 바랍니다.

  부동산으로 투기를 하자는게 아니라 실거주 집 한 채는 재테크의 기본중에 기본이라는 이야기입니다.

>>여기까지 올해 2월에 올린 글 입니다.<<

의견 추가합니다.

순자산이 3~4억 정도나 그 아래로 있는 분들은 어찌해야할까 생각해 봤습니다.

이 분들이 돈을 몇억 더모아 집을 사는게 좋을지?

지금 대출 이용하여 사는게 좋을지?

  본인이 주식투자에 자신있고 성공 노하우가 확실한 분들은 월세 살면서 주식투자로 순자산을 2~3배 정도 더 불리고 절반쯤 빼서 대출받아 집 사고 주식투자는 지속해 나가면 좋
을듯 합니다.

  주식투자 모르거나 해봤는데 손해만 본 분들은, 저라면 전세 사는 금액에 대출 받아서 직장 다닐만한 지역으로 집 사겠습니다.

서울만 집이 아닙니다.

  서울 인기지역 집 가격에 접근이 어려운 분들이라도 1,2기 신도시도 있고 택지지구도 많습니다.

  직장 출퇴근 용이한 지역에 본인 순자산의 100% 정도(순자산 3~4억 미만인 분들 기준임)까지는 대출 받아서 일단 실거주 집 마련하고 열심히 대출 갚아가는게 좀 더 유리할거란 판단입니다.

  제가 예언자도 아니고 미래 집값은 정확히 알수 없습니다. 다만, 한달쯤 전부터 분위기가 심상치 않은데, 서울에서 수도권으로 확산되는게 보입니다.(아직은 확산 시작 단계)

  그리고 단기로는 집값이 오르락내리락 하더라도 결국 장기적으론 물가 올라가는 수준으로는 집값도 올라가리라 판단하고 있습니다.

  전세금에 순자산의 대부분을 넣어두고 현금가치 하락을 이겨내며 집 값을 쫗아가기는 너무 어려울거라는 것이 제 기본 생각이라 다시 한번 글 남겨봅니다.

(주식투자 잘하는 분들이나 청약가점 50점 넘어서 몇 년후를 노려볼만한 분들은 집 살 필요 없어요.)

출처 : 블라인드 부동산 게시판




블로그 이미지

가카리

소프트웨어와 하드웨어 프로그래밍, 취업 및 직장생활 전문 블로그

갭투자 전망

오늘은 자기전에 갭투자에 대해서 좀 써보려고해.

이전과 현재와 미래엔 어떻게 될지.

갭투자란?

- 아파트/빌라/주택 등을 전세를 끼고 매매가와 전세가의 차액으로 구매하는 방법.(쉽게 전세끼고 산다고 함)

  갭투자의 정의가 보통 저렇게 생각하는 사람들이 대부분인데. 내가 생각하는 갭투자는 저게 아냐.

  저건 그냥 전세를 끼고 사는 거고.

  갭투자란 매매가와 전세가의 갭 차이가 작은 매물들을 다수를 구매하는 투자법을 말하는거라 생각해.

  이전 갭투자는 사실 엄청나게 좋았다고 해.

  2010,2011년도에는 지방은 500-1000으로도 가능했어.

  1억이면 10-20채까지 구매가 가능했단 소리지. 그리 10채를 샀다고 하면 전세재계약시 1-2천을 올려서 2억을 벌고 그 2억으로 또 아파트를 20-30개 구매를 하고 그다음재계약시 또 전세금을 올려서 아파트 개수를 늘리는 방식이야.

  그래서 기사들 보면 몇 십채씩 있다는 사람들이 엄청 나게 많은거고. 이 사람들은 돈을 쉽게 많이 벌었던거야.

 나도 이땐 백수여서 머 부동산도 몰랐기에 지금 알고나니 너무 아까운시기였지

  그럼 어떻게 전세금이 계속 오를거란걸 알았을까?? (사실 보통 몰라. 이때 운좋게 한두개 첨으로 사본사람이 운좋게 얻어걸리니 어라? 이게 이렇네 하고 그때부터 막 수십게씩 산사람들이 대부분이지.)

  뒤늦게 찾아보니까 수요와 공급의 법칙때문이지. 이방사람들 다 좋은회사들 다니니까 이해들 할꺼야.

  전세는 없어서 난리고. 리먼 사태 이후로 경기 안좋아 건설회사들 아파트 안짓고 하니까. 공급이 부족한거야.

  그때 나라에서는 아파트 사지말라고 폭락할거라고 하고. 그러니 다들 전세만 살려고 하니. 전세가격은 계속올랐지.

그러다가 2013-14년도 가니 이제 전세가격이 안오르네? 근데 아파트 가격들이 오르는거야.

왜냐? 금리가 떨어지니 돈이 풀리고 유입되는거야.

  그래서 저금리에 돈이 풀리니 사람들이 아파트를 사기 시작하는거지. 그러니. 전세값은 그대로고 매매가가 올라가서 그때부터는 갭차이가 조금씩 벌어지기 시작했어. 그러니 그때 사실 현명한 사람들은 지방꺼 다 팔기시작하고 갭이 좀더 큰 수
도권 서울의 아파트들을 사기 시작했어.

즉 갭투자가 끝물이 되어갔다는거겠지.

그러다가 2017년 8.2 이후 갭투자 잡겠다고 온갖 제한. 그러니 똘똘이 한채 사자. 그러니 집값 폭발.

이미 현명한 투자자들은 이미 다팔고 상가나 똘똘이들로 전환한 사태.

지금도 갭투갭투 하는데 갭투는 매매와전세의 차이가 작은걸 다수를 구매하는건데. 갭으로 겨우 1채 구매하는게 갭투자라고 말하는건 웃기다는얘기야.

현재는 갭투해서 돈벌때는 끝났어. 아니 할수가 없지.

정확히 말하면. 갭차이가 너무 크고. 전세가가 안오르니까.

미래는 어떻게 되겠나??

알 수 없지만. 금리와 수요공급을 잘봐야한다 생각해.

한동안은 갭투는 아니라고 봐. 공급은 서울기준 새아파트들은 항상 부족하지만. 전국적으로 볼땐 넘쳐나거든.

금리도 높아지고 있고.

요약하면.

  갭투자 라고 하는건 매매가와 전세가 작은걸 다수를 구입하는 걸 말하고 이전엔 잘먹혀서 돈 마니들 벌었지만. 현재와 향후 5년이내까지는 갭차이가 크게 줄어들지 않을꺼 같단 소리야.

  난 전문가도 아니고 이래저래 주어듣고 내가 생각해보고 한거 끄적여 봤어. 그러니 전문가들이면 그냥 대강보고 무시해 ㅎ

쓰다보니 엄청 길어지넹 ㅎㅎ 그럼 굿나잇.

출처 : 블라인드 부동산 게시판
블로그 이미지

가카리

소프트웨어와 하드웨어 프로그래밍, 취업 및 직장생활 전문 블로그


양재 시민의숲 VS 수지 아이파크 VS 수지 신정마을

저 둘의 비교가 쌩뜡맞긴 하겠지만 오랫동안 알아보고 고민해왔어. 가용자금 (1~1억2천)

  직장은 엘지 서초캠이고 시민의숲 근처 빌라를 몇년 살아봤는데 겉보기엔 낙후되 보여도 굉장히 살기좋더라구. (학군은 그저그래) 그래서 여기 신축급 빌라 평수 넓은데를 매수할까 아니면 신분당선 라인중 가격 맞는곳 (수지) 할까 고민중이야.

고수분들의 많은 조언 부탁해. 아직 난 초짜라..

목적은 앞으로 나올 애기를 위한 실거주+투자야.

1. 양재2동 신축급빌라 전용면적 18평정도 :

  방세개구조로 아파트로하자면 25평짜린데, 가격이 4억 후반대부터 시작하더라고. 강남 인프라를 누릴수 있고 동네자체가 살기좋은건 맞는데,

주담대가 너무 안나와서 몇년간 자금 모을때까진 전세끼고 갭투자해야해 ㅜ 그래도 강남지역의 교통과 인프라를 누리면서 방세개 신축주택은 탐이 나긴 하더라.

2. 수지 성복역 만현마을 아이파크 10단지 :

  30평대가 4억 후반, 20평대가 4억 초반으로 주담대+mi 대출 풀로 끌어모으면 매수 가능하더라구. 와이프랑 나랑 합쳐서 세후 700~1000정도 벌어서(와이프 자영업자) 상환능력은 될듯해. 여긴 굉장히 살기좋고 롯데몰 호재, 신분당선 연장 호재
등이 있지만...용또속 이라는 말이 무척 맘에 걸려

3. 수지구청역 신정마을 7단지 or 9단지 :

  여기도 성복역이랑 상황 비슷하고 가치도 비슷한거같은데 실거주로 하기엔 왠지 롯데몰이 좀 끌렼ㅋ 여튼 여기도 후보지로 놓고 있어.

  긴글 읽어주고 답변해주는 분들 미리 고마워. 형들 누나들 동생들 좋은 조언 해주면 잘 새겨들을게!

답1

  양시숲도 그렇고 우면동도 그래. 내 경우 우면동 기준으로 우암초, 우솔초는 매우 좋음. 중학교 올라가면 영동중 or 언남중인데 영동중은 학업성취도 서울에서 밑바닥인걸로 알고 있고 언남중은 학교 주변 유해시설이 꽤 많음.

답2

  그래서 중학교 학군 거지같다고 초등학교 때 이사가는 케이스가 많음. 그래서 우암초 기준으로 입학은 한 학년 100명 정도 하는데 중간에 다 빠져나가서 졸업할땐 30명 언저리 남음.

답3

  수지 아이파크 10차 살꺼면 너무 꼭대기로 가지 마요. 돈 더주더라도 상현공원 뷰 사면 나중에 팔 때도 쉽게 팔릴꺼에요. 삶의 만족도도 높아질거임

  포은대로 소음 심한동은 피해야 합니다.

대로가 괜히 대로가 아니에요.

출처 : 블라인드 부동산 게시판